상세 컨텐츠

본문 제목

[Tensorboard]ValueError: Duplicate plugins for name projector

Error

by [성운] 2019. 12. 5. 22:43

본문

Tensorflow를 이용하여 딥러닝을 공부하면, 학습 정도를 확인하는 Tensorboard 수행해야 합니다. 오늘은 Tensorboard를 수행하면서 겪었던 에러내용을 정리해 보겠습니다. 개인적인 생각으로는 이런 에러는 한국어는 많지가 않아, 앞으로 에러를 처리할 때 마다 정리를 할려고합니다. 

Tensorboard 실행

우선 옵션으로 Tensorboard를 실행시키는 방법을 보겠습니다.  Conda Prompt 창을 띄우고 명령어를 수행해야 합니다. 여러 곳에서 수행이 가능하지만 저는 Tensorboard로 표시한 log 디렉토리로 이동하여 다음 명령어를 수행합니다. 

tensorboard를 path로 잡혀있어서 아무 곳에서 수행이 가능하고 설정해줘야 하는 건 logdir 위치를 적절하게 잡아줘야 합니다.

(tensorflow) C:\workspace\logs>tensorboard --logdir=./

 

Error Messge: ValueError: Duplicate plugins for name projector

(tensoflow2.0) C:\workspace\logs>tensorboard --logdir=./
W1205 21:57:53.632897  6124 plugin_event_accumulator.py:294] Found more than one graph event per run, or there was a metagraph containing a graph_def, as well as one or more graph events.  Overwriting the graph with the newest event.
Traceback (most recent call last):
  File "c:\users\ynebu\anaconda3\envs\tensoflow2.0\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\users\ynebu\anaconda3\envs\tensoflow2.0\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Users\ynebu\Anaconda3\envs\tensoflow2.0\Scripts\tensorboard.exe\__main__.py", line 7, in 
  File "c:\users\ynebu\anaconda3\envs\tensoflow2.0\lib\site-packages\tensorboard\main.py", line 64, in run_main
    app.run(tensorboard.main, flags_parser=tensorboard.configure)
  File "c:\users\ynebu\anaconda3\envs\tensoflow2.0\lib\site-packages\absl\app.py", line 299, in run
    _run_main(main, args)
  File "c:\users\ynebu\anaconda3\envs\tensoflow2.0\lib\site-packages\absl\app.py", line 250, in _run_main
    sys.exit(main(argv))
  File "c:\users\ynebu\anaconda3\envs\tensoflow2.0\lib\site-packages\tensorboard\program.py", line 229, in main
    server = self._make_server()
  File "c:\users\ynebu\anaconda3\envs\tensoflow2.0\lib\site-packages\tensorboard\program.py", line 310, in _make_server
    self.assets_zip_provider)
  File "c:\users\ynebu\anaconda3\envs\tensoflow2.0\lib\site-packages\tensorboard\backend\application.py", line 163, in standard_tensorboard_wsgi
    reload_task)
  File "c:\users\ynebu\anaconda3\envs\tensoflow2.0\lib\site-packages\tensorboard\backend\application.py", line 196, in TensorBoardWSGIApp
    return TensorBoardWSGI(plugins, path_prefix)
  File "c:\users\ynebu\anaconda3\envs\tensoflow2.0\lib\site-packages\tensorboard\backend\application.py", line 248, in __init__
    raise ValueError('Duplicate plugins for name %s' % plugin.plugin_name)
ValueError: Duplicate plugins for name projector

처음 이 에러를 봤을때는 버전 에러로 판단해서 처음에는 tensorboard, tb-nightly, tf-estimator-nightly 세개 library를 업데이트 시켰습니다.

업그래이드 전 Library Version

...
sklearn              0.0
tb-nightly           1.15.0a20190806
tensorboard          2.0.1
tensorflow           2.0.0
tensorflow-estimator 2.0.1
termcolor            1.1.0
terminado            0.8.2
testpath             0.4.2
tf-estimator-nightly-2.0.0.dev2019120509
...

Library Delete

  • pip uninstall tensorboard 

  • pip uninstall tb-nightly 

  • pip uninstall tf-estimator-nightly 

Library Install

  • pip uninstall tensorboard 

  • pip uninstall tb-nightly 

  • pip uninstall tf-estimator-nightly

업그래이드 후 Library Version

....

sklearn              0.0
tb-nightly           2.1.0a20191205
tensorboard          2.0.2
tensorflow           2.0.0
tensorflow-estimator 2.0.1
termcolor            1.1.0
terminado            0.8.2
testpath             0.4.2
tf-estimator-nightly-2.0.0.dev2019120509

....

다시 Tensorboard를 수행했지만, 같은 에러가 발생했습니다. 그래서 혹시 다시 시작해야 하나? 하고 생각되어 Prompt 창을 재 시작하고 수행했지만, 역시 같은 에러가 발생했습니다.

그래서 다르게 생각을 해봤습니다. "ValueError: Duplicate plugins for name projector" 에러 메시지의 의미를 보니 중복이라 안되다고 생각이 들었습니다. 구글링을 해보니 tensorboard를 지우고 tb-nightly를 설치하라는 글을 확인했습니다.
처음에는 이해가 되지 않았지만 어차피 다시 설치하면 되니깐 tensorboard library를 지우고 다시 tensorboard를 수행했습니다.

tensorboard library 삭제

- pip uninstall tensorboard

(tensoflow2.0) C:\workspace\logs>tensorboard --logdir=./ 
W1205 22:15:48.631925 11308 plugin_event_accumulator.py:294] Found more than one graph event per run, or there was a metagraph containing a graph_def, as well as one or more graph events.  Overwriting the graph with the newest event. 
Serving TensorBoard on localhost; to expose to the network, use a proxy or pass --bind_all 
TensorBoard 2.1.0a20191205 at http://localhost:6006/ (Press CTRL+C to quit) 

Tensorboard

두둥.... tensorboard가 실행되었습니다. 어이가 없었습니다. 기본 설치만 했는데 library 충돌이 난건지.. 또 왜 이름을 저렇게 지었는지.... 누가 봐도 전혀 중복이 될 일이 없는 이름 아닌가.
오늘도 아깝지만 보람찬 한 시간의 삽질이었습니다.

비고) 만약 위 방법으로 텐서보드가 수행이 안된다면, tensorboard와 tb-nightly를 둘 다 지우고 tb-nightly만 설치하시고 재 수행하시기 바랍니다.

글이 도움되셨다면 공감 부탁 드립니다.

감사합니다.

관련글 더보기

댓글 영역