Pytorch: Tensorboard:ValueError:ネームプロジェクターのプラグインが重複しています

作成日 2019年07月10日  ·  36コメント  ·  ソース: pytorch/pytorch

私は紹介に従い、このエラーが発生しました。
cuda 10 、cudnn 7 、pytorchをpipでインストールします。

しかし、私がチェックするとき

> torch.utils.tensorboard import SummaryWriter

、 それは大丈夫です。

Python 3.7.3 | packaged by conda-forge | (default, Jul  1 2019, 21:52:21) 
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from torch.utils.tensorboard import SummaryWriter
>>> 

しかし、私が使用するとき

> tensorboard --logdir=runs, it happens to this error:

`Traceback (most recent call last):
  File "/home/kingsoft/anaconda3/envs/liubiao2/bin/tensorboard", line 10, in <module>
    sys.exit(run_main())
  File "/home/kingsoft/anaconda3/envs/liubiao2/lib/python3.7/site-packages/tensorboard/main.py", line 64, in run_main
    app.run(tensorboard.main, flags_parser=tensorboard.configure)
  File "/home/kingsoft/anaconda3/envs/liubiao2/lib/python3.7/site-packages/absl/app.py", line 300, in run
    _run_main(main, args)
  File "/home/kingsoft/anaconda3/envs/liubiao2/lib/python3.7/site-packages/absl/app.py", line 251, in _run_main
    sys.exit(main(argv))
  File "/home/kingsoft/anaconda3/envs/liubiao2/lib/python3.7/site-packages/tensorboard/program.py", line 228, in main
    server = self._make_server()
  File "/home/kingsoft/anaconda3/envs/liubiao2/lib/python3.7/site-packages/tensorboard/program.py", line 309, in _make_server
    self.assets_zip_provider)
  File "/home/kingsoft/anaconda3/envs/liubiao2/lib/python3.7/site-packages/tensorboard/backend/application.py", line 161, in standard_tensorboard_wsgi
    reload_task)
  File "/home/kingsoft/anaconda3/envs/liubiao2/lib/python3.7/site-packages/tensorboard/backend/application.py", line 194, in TensorBoardWSGIApp
    return TensorBoardWSGI(plugins, path_prefix)
  File "/home/kingsoft/anaconda3/envs/liubiao2/lib/python3.7/site-packages/tensorboard/backend/application.py", line 245, in __init__
    raise ValueError('Duplicate plugins for name %s' % plugin.plugin_name)
ValueError: Duplicate plugins for name projector`
high priority dependency bug tensorboard triage review triaged

最も参考になるコメント

@Biaocsu 、私も問題に遭遇しましたが、私はそれを修正しました。 私の方法は:

  1. https://raw.githubusercontent.com/tensorflow/tensorboard/master/tensorboard/tools/diagnose_tensorboard.pyからテストスクリプトをダウンロードしました
  2. それを実行すると、バージョンの異なる2つのテンソルボードがあることがわかりました。 また、それを修正する方法を教えてくれました。
  3. 私はその指示に従い、テンソルボードを機能させることができます。

このエラーは、プラグインが複製されるように2つのテンソルボードがインストールされていることを意味すると思います。 condaを使用してPython環境を再インストールするという別の方法が役立ちます。

あなたを助けることを願っています。

全てのコメント36件

これは、テンソルボードの設定ミスの問題のように聞こえます。 @lanpaこれがPyTorchのバグかどうか知っていますか?

同じ問題があります。最新バージョンのpytorchとtensorboardXからインポートできますが、どちらも上記と同じエラーが発生します。

この問題はtb-nightlyが原因で発生し、tb-nightlyをアンインストールするのは困難です。
私は環境を再構築し、今回はtb-nightlyなしでtensorflow、tensorboard、tensorboardxを使用しましたが、問題は解決しました。

@ LU4Eどういう意味ですか、tb-nightlyをアンインストールし、tensorflow、tensorbard、tensorboardxをインストールしますか? その後、問題はなくなりますか?

@Biaocsuはい。 私は最初にtb-nightlyを何度もアンインストールしようとしましたが、それでもそこにあります。 理由はわかりません。
新しい環境を構築し、tensorflow、tensorboard、tensorboardxをインストールできます。特に、tb-nightlyをインストールしないでください。

@ LU4Eそれは私には適していません

@Biaocsu同じ問題が発生しましたが、

@杉浦陽介アドバイスありがとう

@Biaocsu 、私も問題に遭遇しましたが、私はそれを修正しました。 私の方法は:

  1. https://raw.githubusercontent.com/tensorflow/tensorboard/master/tensorboard/tools/diagnose_tensorboard.pyからテストスクリプトをダウンロードしました
  2. それを実行すると、バージョンの異なる2つのテンソルボードがあることがわかりました。 また、それを修正する方法を教えてくれました。
  3. 私はその指示に従い、テンソルボードを機能させることができます。

このエラーは、プラグインが複製されるように2つのテンソルボードがインストールされていることを意味すると思います。 condaを使用してPython環境を再インストールするという別の方法が役立ちます。

あなたを助けることを願っています。

@ElegantLinありがとう

同じ問題、そして@ elad663の解決策に感謝します。
ただし、スクリプトによって提供される解決策は、tensorboardXとtb-nightlyをアンインストールし、tensorflowをインストールすることです。
純粋なpytorch環境で他の解決策はありますか?

この問題は多くの人々に影響を及ぼしているように思われるため、優先度のアップグレード

@ ezyang @ ElegantLinが解決策を提供したと思います。 根本的な原因は、テンソルボードのバージョンの競合です。
@TomorrowIsAnOtherDay新しいconda環境を開き、純粋なpytorch設定のpip install torchtensorboardを実行できます。

OK、その場合はこの問題を解決できます。

### Suggestion: Fix conflicting installations

Conflicting package installations found. Depending on the order of
installations and uninstallations, behavior may be undefined. Please
uninstall ALL versions of TensorFlow and TensorBoard, then reinstall
ONLY the desired version of TensorFlow, which will transitively pull
in the proper version of TensorBoard. (If you use TensorBoard without
TensorFlow, just reinstall the appropriate version of TensorBoard
directly.)

Namely:

    pip uninstall tb-nightly tensorboard tensorflow-estimator tensorflow-gpu tf-estimator-nightly
    pip install tensorflow  # or `tensorflow-gpu`, or `tf-nightly`, ...

@ElegantLinのスクリプトによって生成されたこの提案は、私の問題を修正しました。 ありがとう〜

同じ問題が発生しましたが、tensorboardとtensorflowのアンインストールと再インストールは役に立ちませんでした。 私の場合、テンソルボード2.0.0のゴーストコピーがありましたが、完全にアンインストールされていないようです。 それは「-ensorboard」としてpipに登場しました。 Python環境で対応するdist-infoフォルダーを削除すると、問題が修正されました。

誰かats(@)私。 私はいつもcondaを使ってPython環境を管理していました。 そのため、正常にアンインストールできないという問題が発生した場合は、環境を削除して新しい環境を再起動します。 これがお役に立てば幸いです。

colabでこの問題が発生しました。 現在アンインストールすることで解決tensorboardしてインストールtf-nightly

!pip uninstall tensorboard
!pip install -U transformers torch torchvision tensorboardX tf-nightly grpcio==1.24.3

@Biaocsu 、私も問題に遭遇しましたが、私はそれを修正しました。 私の方法は:

  1. https://raw.githubusercontent.com/tensorflow/tensorboard/master/tensorboard/tools/diagnose_tensorboard.pyからテストスクリプトをダウンロードしました
  2. それを実行すると、バージョンの異なる2つのテンソルボードがあることがわかりました。 また、それを修正する方法を教えてくれました。
  3. 私はその指示に従い、テンソルボードを機能させることができます。

このエラーは、プラグインが複製されるように2つのテンソルボードがインストールされていることを意味すると思います。 condaを使用してPython環境を再インストールするという別の方法が役立ちます。

あなたを助けることを願っています。

python2にはtensorflow1.14、python3にはtensorflow 2.0がありますが、このスクリプトにはアクションの提案がありません。 テンソルフローの環境に問題がないということですか?

これが診断ログです:

診断


診断出力

`` `` ``
---チェック:自動識別
情報:diagnose_tensorboard.pyバージョン4725c70c7ed724e2d1b9ba5618d7c30b957ee8a4

---チェック:一般
情報:sys.version_info:sys.version_info(major = 3、minor = 6、micro = 8、releaselevel = 'final'、serial = 0)
情報:os.name:posix
情報:os.uname():posix.uname_result(sysname = 'Linux'、nodename = 'mrt214'、release = '4.15.0-48-generic'、version = '#51-Ubuntu SMP Wed Apr 3 08:28 :49 UTC 2019 '、machine =' x86_64 ')
情報:sys.getwindowsversion():N / A

---チェック:package_management
情報:conda-metaがあります:False
情報:$ VIRTUAL_ENV: '/ home / zwang / env'

---チェック:installed_pa​​ckages
トレースバック(最後の最後の呼び出し):
_run_module_as_mainのファイル "/usr/lib/python3.6/runpy.py"、行183
mod_name、mod_spec、code = _get_module_details(mod_name、_Error)
_get_module_detailsのファイル "/usr/lib/python3.6/runpy.py"、行142
_get_module_details(pkg_main_name、error)を返します
_get_module_detailsのファイル "/usr/lib/python3.6/runpy.py"、行109
__import __(pkg_name)
ファイル "/usr/lib/python3/dist-packages/pip/__init__.py"、29行目、
pip.utilsからimportget_installed_distributions、get_prog
ファイル "/usr/lib/python3/dist-packages/pip/utils/__init__.py"、30行目
pip._vendor.retryingからインポートの再試行
ModuleNotFoundError:「pip._vendor.retrying」という名前のモジュールがありません
トレースバック(最後の最後の呼び出し):
メインのファイル「tensorboarddebug.py」、420行目
提案.extend(チェック())
インストールされたパッケージ内のファイル「tensorboarddebug.py」、行165
フリーズ= pip(["freeze"、 "--all"])。decode( "utf-8")。splitlines()
ファイル「tensorboarddebug.py」、104行目、pip
subprocess.check_output(command)を返します
check_outputのファイル "/usr/lib/python3.6/subprocess.py"、行356
** kwargs).stdout
ファイル "/usr/lib/python3.6/subprocess.py"、438行目、実行中
output = stdout、stderr = stderr)
subprocess.CalledProcessError:コマンド '[' / home / zwang / env / bin / python3 '、' -m '、' pip '、' --disable-pip-version-check '、' freeze '、' --all ' ] 'はゼロ以外の終了ステータス1を返しました。

---チェック:tensorboard_python_version
情報:tensorboard.version.VERSION: '1.14.0'

---チェック:tensorflow_python_version
/home/zwang/.local/lib/python3.6/site-packages/tensorflow/python/framework/dtypes.py:516:FutureWarning:typeの同義語として(type、1)または「1type」を渡すことは非推奨です。 numpyの将来のバージョンでは、(type、(1、))/ '(1、)type'として理解される予定です。
_np_qint8 = np.dtype([( "qint8"、np.int8、1)])
/home/zwang/.local/lib/python3.6/site-packages/tensorflow/python/framework/dtypes.py:517:FutureWarning:typeの同義語として(type、1)または「1type」を渡すことは非推奨です。 numpyの将来のバージョンでは、(type、(1、))/ '(1、)type'として理解される予定です。
_np_quint8 = np.dtype([( "quint8"、np.uint8、1)])
/home/zwang/.local/lib/python3.6/site-packages/tensorflow/python/framework/dtypes.py:518:FutureWarning:typeの同義語として(type、1)または「1type」を渡すことは非推奨です。 numpyの将来のバージョンでは、(type、(1、))/ '(1、)type'として理解される予定です。
_np_qint16 = np.dtype([( "qint16"、np.int16、1)])
/home/zwang/.local/lib/python3.6/site-packages/tensorflow/python/framework/dtypes.py:519:FutureWarning:typeの同義語として(type、1)または「1type」を渡すことは非推奨です。 numpyの将来のバージョンでは、(type、(1、))/ '(1、)type'として理解される予定です。
_np_quint16 = np.dtype([( "quint16"、np.uint16、1)])
/home/zwang/.local/lib/python3.6/site-packages/tensorflow/python/framework/dtypes.py:520:FutureWarning:typeの同義語として(type、1)または「1type」を渡すことは非推奨です。 numpyの将来のバージョンでは、(type、(1、))/ '(1、)type'として理解される予定です。
_np_qint32 = np.dtype([( "qint32"、np.int32、1)])
/home/zwang/.local/lib/python3.6/site-packages/tensorflow/python/framework/dtypes.py:525:FutureWarning:typeの同義語として(type、1)または「1type」を渡すことは非推奨です。 numpyの将来のバージョンでは、(type、(1、))/ '(1、)type'として理解される予定です。
np_resource = np.dtype([( "resource"、np.ubyte、1)])
/home/zwang/.local/lib/python3.6/site-packages/tensorboard/compat/tensorflow_stub/dtypes.py:541:FutureWarning:typeの同義語として(type、1)または '1type'を渡すことは非推奨です。 numpyの将来のバージョンでは、(type、(1、))/ '(1、)type'として理解される予定です。
_np_qint8 = np.dtype([( "qint8"、np.int8、1)])
/home/zwang/.local/lib/python3.6/site-packages/tensorboard/compat/tensorflow_stub/dtypes.py:542:FutureWarning:typeの同義語として(type、1)または「1type」を渡すことは非推奨です。 numpyの将来のバージョンでは、(type、(1、))/ '(1、)type'として理解される予定です。
_np_quint8 = np.dtype([( "quint8"、np.uint8、1)])
/home/zwang/.local/lib/python3.6/site-packages/tensorboard/compat/tensorflow_stub/dtypes.py:543:FutureWarning:typeの同義語として(type、1)または「1type」を渡すことは非推奨です。 numpyの将来のバージョンでは、(type、(1、))/ '(1、)type'として理解される予定です。
_np_qint16 = np.dtype([( "qint16"、np.int16、1)])
/home/zwang/.local/lib/python3.6/site-packages/tensorboard/compat/tensorflow_stub/dtypes.py:544:FutureWarning:typeの同義語として(type、1)または「1type」を渡すことは非推奨です。 numpyの将来のバージョンでは、(type、(1、))/ '(1、)type'として理解される予定です。
_np_quint16 = np.dtype([( "quint16"、np.uint16、1)])
/home/zwang/.local/lib/python3.6/site-packages/tensorboard/compat/tensorflow_stub/dtypes.py:545:FutureWarning:typeの同義語として(type、1)または「1type」を渡すことは非推奨です。 numpyの将来のバージョンでは、(type、(1、))/ '(1、)type'として理解される予定です。
_np_qint32 = np.dtype([( "qint32"、np.int32、1)])
/home/zwang/.local/lib/python3.6/site-packages/tensorboard/compat/tensorflow_stub/dtypes.py:550:FutureWarning:typeの同義語として(type、1)または「1type」を渡すことは非推奨です。 numpyの将来のバージョンでは、(type、(1、))/ '(1、)type'として理解される予定です。
np_resource = np.dtype([( "resource"、np.ubyte、1)])
情報:tensorflow .__ version__: '1.14.0'
情報:tensorflow .__ git_version __: 'v1.14.0-rc1-22-gaf24dc91b5'

---チェック:tensorboard_binary_path
情報:どのテンソルボード:b '/ home / zwang / .local / bin / tensorboardn'

---チェック:読み取り可能_fqdn
情報:socket.getfqdn(): 'mrt214.mrt.uni-karlsruhe.de'

---チェック:stat_tensorboardinfo
情報:ディレクトリ:/tmp/.tensorboard-info
情報:.tensorboard-infoディレクトリが存在しません

---チェック:source_trees_without_genfiles
情報:tensorboard_roots(2):['/ home / zwang / .local / lib / python3.6 / site-packages'、 '/ usr / local / lib / python3.6 / dist-packages']; bad_roots(0):[]

---チェック:full_pip_freeze
トレースバック(最後の最後の呼び出し):
_run_module_as_mainのファイル "/usr/lib/python3.6/runpy.py"、行183
mod_name、mod_spec、code = _get_module_details(mod_name、_Error)
_get_module_detailsのファイル "/usr/lib/python3.6/runpy.py"、行142
_get_module_details(pkg_main_name、error)を返します
_get_module_detailsのファイル "/usr/lib/python3.6/runpy.py"、行109
__import __(pkg_name)
ファイル "/usr/lib/python3/dist-packages/pip/__init__.py"、29行目、
pip.utilsからimportget_installed_distributions、get_prog
ファイル "/usr/lib/python3/dist-packages/pip/utils/__init__.py"、30行目
pip._vendor.retryingからインポートの再試行
ModuleNotFoundError:「pip._vendor.retrying」という名前のモジュールがありません
トレースバック(最後の最後の呼び出し):
メインのファイル「tensorboarddebug.py」、420行目
提案.extend(チェック())
ラッパー内のファイル「tensorboarddebug.py」、77行目
結果= fn()
full_pip_freeze内のファイル「tensorboarddebug.py」、行388
logging.info( "pipfreeze --all :n%s "、pip(["freeze"、 "--all"])。decode( "utf-8"))
ファイル「tensorboarddebug.py」、104行目、pip
subprocess.check_output(command)を返します
check_outputのファイル "/usr/lib/python3.6/subprocess.py"、行356
** kwargs).stdout
ファイル "/usr/lib/python3.6/subprocess.py"、438行目、実行中
output = stdout、stderr = stderr)
subprocess.CalledProcessError:コマンド '[' / home / zwang / env / bin / python3 '、' -m '、' pip '、' --disable-pip-version-check '、' freeze '、' --all ' ] 'はゼロ以外の終了ステータス1を返しました。
`` `` ``

次のステップ

アクションアイテムが特定されていません。 上記の出力をすべてコピーしてください。
バックティックのみを含む行をGitHubの問題に含める
またはコメント。 機密情報は必ず編集してください。

システムに2つのtensorboardインストールされている場合は、次のコードを実行して1つを削除します。

import pkg_resources

for entry_point in pkg_resources.iter_entry_points('tensorboard_plugins'):
    print(entry_point.dist)

テンソルボードの1つのバージョンを選択的に削除するにはどうすればよいですか

次のステップ

アクションアイテムが特定されていません。 上記の出力をすべてコピーしてください。
バックティックのみを含む行をGitHubの問題に含める
またはコメント。 機密情報は必ず編集してください。

@Biaocsu 、私も問題に遭遇しましたが、私はそれを修正しました。 私の方法は:

  1. https://raw.githubusercontent.com/tensorflow/tensorboard/master/tensorboard/tools/diagnose_tensorboard.pyからテストスクリプトをダウンロードしました
  2. それを実行すると、バージョンの異なる2つのテンソルボードがあることがわかりました。 また、それを修正する方法を教えてくれました。
  3. 私はその指示に従い、テンソルボードを機能させることができます。

このエラーは、プラグインが複製されるように2つのテンソルボードがインストールされていることを意味すると思います。 condaを使用してPython環境を再インストールするという別の方法が役立ちます。

あなたを助けることを願っています。

私は自分の問題を解決しました。 どうもありがとう!

次の手順で問題を修正します。

  • pipアンインストールtb-毎晩tensorboardXtensorboard
  • pipインストールテンソルボード

colabでこの問題が発生しました。 現在アンインストールすることで解決tensorboardしてインストールtf-nightly

!pip uninstall tensorboard
!pip install -U transformers torch torchvision tensorboardX tf-nightly grpcio==1.24.3

私は$ 0.02を投入し、
!conda remove tensorboard

Windows環境で実行している場合!

こんにちは、今日も同じ問題が発生しました。次の簡単な手順で修正しました。
エラーが発生したディレクトリ--site-packages--tensorboardに移動しました。
tensorflowオブジェクト検出APIのtf.contribはtensorflow2.0で機能しないため、検出モデルを実行するためにtensorflow1.14をコンピューターにインストールしました。
そのため、site-packages内のディレクトリ「tensorboard」に移動すると、「tensorboar-2.0.2.dist-info、およびtensorflow_estimator-2.0.2.dist-info」が見つかりました。これらのファイルをディレクトリから削除し、問題は解決しました。

システムに2つのtensorboardインストールされている場合は、次のコードを実行して1つを削除します。

import pkg_resources

for entry_point in pkg_resources.iter_entry_points('tensorboard_plugins'):
    print(entry_point.dist)

このコードを実行した後、次の出力が得られました。

-センサーボード2.0.2
テンソルボード2.0.0

2つのテンソルボードを取り付けているということですか?

システムに2つのtensorboardインストールされている場合は、次のコードを実行して1つを削除します。

import pkg_resources

for entry_point in pkg_resources.iter_entry_points('tensorboard_plugins'):
    print(entry_point.dist)

このコードを実行した後、次の出力が得られました。

-センサーボード2.0.2
テンソルボード2.0.0

2つのテンソルボードを取り付けているということですか?

解決しました!
Lib/site-packagesからtensorboard-2.0.0.dist-infoフォルダーを削除すると、テンソルボードが機能します。
しかし、それが別の問題を引き起こすかどうかはわかりません。

私も同じことを考えていましたが、エラーが発生した場合、これまでのところ誰も直面していません...
最も安全な方法は、削除しないことですが、ファイルを別の場所に保持します... pythonはその特定のフォルダー内のファイルのみを検索し、混乱するためです:)

私の場合、tensorboard-plugin-witをアンインストールすると、機能します。

私の場合、tensorboard-plugin-witをアンインストールすると、機能します。

それは私にもうまくいきました。 ありがとうございました!
また、condaコマンドからパッケージを削除できなかったため、tensorboard-plugin-witフォルダーのパスを手動で見つけて、ファイルディレクトリから削除しました。

後発者のために要約すると、個人的には、テンソルフローとテンソルボードをアップグレードおよびダウングレードすることで、これらすべてのエラーに自分で遭遇しました。

症状1 Tensorboard: ValueError: Duplicate plugins for name projector

診断スクリプトのダウンロード:

wget https://raw.githubusercontent.com/tensorflow/tensorboard/master/tensorboard/tools/diagnose_tensorboard.py

それを実行し、その指示に従います。

python diagnose_tensorboard.py

症状2 Tensorboard: ValueError: Duplicate plugins for name projectorおよび診断スクリプトがアクションを示さない

pip freezeを実行して、この警告が表示されるかどうかを確認しますWARNING: Could not generate requirement for distribution -ensorboard 2.1.0

はいの場合、テンソルボードのゴーストコピーがあります。 うまくいけば、以下の修正には副作用がないので、よくわかりません。

cd <site-packages>
rm -rf "~ensorboard"
rm -rf "~ensorboard-2.1.0.dist-info"

症状3: Tensorboard: ValueError: Duplicate plugins for name whatif

pip uninstall tensorboard-plugin-wit

私の場合、tensorboard-plugin-witをアンインストールすると、機能します。

私のためにも働いて、Colabの下でこの問題を抱えていました

次の解決策は、テンソルボードに加えられた更新に関係なく常に機能します(例:2020年2月にリリースされた新しいパッケージtensorboard-plugin-witは、ここで多くの人々に問題を引き起こしており、将来的に他の更新がある可能性があります)。

テンソルボードをロードする前に、すべてのcolabチュートリアルに次のコードスニペットを追加してください。

# Remove all TensorBoard packages.
! pip list --format=freeze | grep tensorboard | xargs pip uninstall -y
# Install TensorFlow again (This command will only install the default TensorBoard package associated with this TensorFlow package). 
! pip install -q tensorflow

@Biaocsu 、私も問題に遭遇しましたが、私はそれを修正しました。 私の方法は:

1. I downloaded a test script from https://raw.githubusercontent.com/tensorflow/tensorboard/master/tensorboard/tools/diagnose_tensorboard.py

2. I run it and it told me that I have two tensorboards with a different version. Also, it told me how to fix it.

3. I followed its instructions and I can make my tensorboard work.

このエラーは、プラグインが複製されるように2つのテンソルボードがインストールされていることを意味すると思います。 condaを使用してPython環境を再インストールするという別の方法が役立ちます。

あなたを助けることを願っています。

VOCEÉUMMONSTRO、UM DEUS O MAIS FODA DE TODOS DENTRO DOS OS PROGRAMADORES

次のステップ

アクションアイテムが特定されていません。 上記の出力をすべてコピーしてください。
バックティックのみを含む行をGitHubの問題に含める
またはコメント。 機密情報は必ず編集してください。

同じ問題

このページは役に立ちましたか?
5 / 5 - 1 評価