Pytorch: Tensorboard:ValueError:名称投影仪的重复插件

创建于 2019-07-10  ·  36评论  ·  资料来源: pytorch/pytorch

我按照介绍进行,并发生了此错误。
cuda 10 ,cudnn 7 ,通过pip安装pytorch。

但是,当我检查时

> 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. 我运行它,它告诉我我有两个版本不同的张量板。 另外,它告诉我如何修复它。
  3. 我按照它的指示进行操作,可以使我的张量板工作。

我认为此错误意味着您已安装了两个张量板,因此该插件将被复制。 另一种方法将是有用的,那就是使用conda重新安装python环境。

希望对您有所帮助。

所有36条评论

这听起来像是张量板的配置错误问题。 @lanpa您知道这是否是PyTorch错误吗?

我有一个同样的问题:能够从最新版本的pytorch和tensorboardX导入,但是两者都给出了相同的错误

此问题是由tb-nightly引起的,并且tb-nightly很难卸载。
我重建环境并使用tensorflow,tensorboard,tensorboardx,这次没有tb-nightly,这个问题已经解决了。

@ LU4E是什么意思,每晚卸载tb并安装tensorflow,tensorbard,tensorboardx吗? 那么问题会消失吗?

@Biaocsu是的。 我首先尝试每晚多次卸载tb,但是仍然存在。 我不知道为什么
您可以构建一个新环境,安装tensorflow,tensorboard,tensorboardx,尤其是不要每晚安装tb。

@ LU4E它不适合我,我可以每晚成功卸载tb。 是的,我真的在使用其他环境来使用张量板

@Biaocsu我遇到了同样的问题,但是通过卸载tensorboard解决了。 也许剩下的张量板是不好的。

@YosukeSugiura感谢您的建议,但我尝试过,但没有效果

@Biaocsu ,我也遇到了问题,但我已解决。 我的方法是:

  1. 我从https://raw.githubusercontent.com/tensorflow/tensorboard/master/tensorboard/tools/diagnose_tensorboard.py下载了测试脚本
  2. 我运行它,它告诉我我有两个版本不同的张量板。 另外,它告诉我如何修复它。
  3. 我按照它的指示进行操作,可以使我的张量板工作。

我认为此错误意味着您已安装了两个张量板,因此该插件将被复制。 另一种方法将是有用的,那就是使用conda重新安装python环境。

希望对您有所帮助。

@ElegantLin谢谢

同样的问题,感谢@ elad663的解决方案。
但是脚本提供的解决方案是每晚卸载tensorboardX和tb,然后安装tensorflow。
在纯pytorch环境下还有其他解决方案吗?

升级优先级,因为此问题似乎正在影响许多人

@ezyang我认为@ElegantLin提供了解决方案。 根本原因是张量板版本冲突。
@TomorrowIsAnOtherDay您可以打开新的conda环境并通过pip安装torchtensorboard获得纯的pytorch设置。

好的,在这种情况下,我们可以解决此问题。

### 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和ten​​sorflow没有帮助。 就我而言,我有一张tensorboard 2.0.0的幻影副本,显然没有完全卸载。 它在点子中显示为“ -ensorboard”。 在我的python环境中删除相应的dist-info文件夹即可解决此问题。

有人来找我。 我一直使用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. 我运行它,它告诉我我有两个版本不同的张量板。 另外,它告诉我如何修复它。
  3. 我按照它的指示进行操作,可以使我的张量板工作。

我认为此错误意味着您已安装了两个张量板,因此该插件将被复制。 另一种方法将是有用的,那就是使用conda重新安装python环境。

希望对您有所帮助。

我有适用于python2的tensorflow 1.14和适用于python3的tensorflow 2.0,此脚本没有任何操作建议。 这是否意味着我的张量流环境没有问题?

这是诊断日志:

诊断程序


诊断输出

````
---检查:自动识别
INFO:diagnostic_tensorboard.py版本4725c70c7ed724e2d1b9ba5618d7c30b957ee8a4

---检查:一般
信息:sys.version_info:sys.version_info(主要= 3,次要= 6,微型= 8,发行级别='最终',序列= 0)
信息:操作系统名称: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():不适用

---检查:package_management
INFO:具有conda-meta:错误
信息:$ VIRTUAL_ENV:'/ home / zwang / env'

---检查:installed_pa​​ckages
追溯(最近一次通话):
_run_module_as_main中的文件“ /usr/lib/python3.6/runpy.py”,第183行
mod_name,mod_spec,代码= _get_module_details(mod_name,_Error)
_get_module_details中的文件“ /usr/lib/python3.6/runpy.py”,第142行
返回_get_module_details(pkg_main_name,错误)
_get_module_details中的文件“ /usr/lib/python3.6/runpy.py”,行109
__import __(pkg_name)
在第29行的“ /usr/lib/python3/dist-packages/pip/__init__.py”文件中
从pip.utils导入get_installed_distributions,get_prog
在第30行中输入文件“ /usr/lib/python3/dist-packages/pip/utils/__init__.py”
来自pip._vendor.retrying导入重试
ModuleNotFoundError:没有名为“ pip._vendor.retrying”的模块
追溯(最近一次通话):
在主文件中的文件“ tensorboarddebug.py”,第420行
proposal.extend(check())
安装文件中的文件“ tensorboarddebug.py”,第165行
冻结= pip([“冻结”,“ --all”])。decode(“ utf-8”)。splitlines()
pip文件中的“ tensorboarddebug.py”行104
返回subprocess.check_output(命令)
在check_output中的文件“ /usr/lib/python3.6/subprocess.py”,行356
** kwargs).stdout
运行中的文件“ /usr/lib/python3.6/subprocess.py”,行438
输出=标准输出,标准错误=标准错误)
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,1)或'1type'作为type的同义词; 在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,1)或'1type'作为type的同义词; 在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,1)或'1type'作为type的同义词; 在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,1)或'1type'作为type的同义词; 在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,1)或'1type'作为type的同义词; 在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,1)或'1type'作为type的同义词; 在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,1)或'1type'作为type的同义词使用; 在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,1)或'1type'作为type的同义词; 在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,1)或'1type'作为type的同义词; 在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,1)或'1type'作为type的同义词使用; 在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,1)或'1type'作为type的同义词使用; 在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,1)或'1type'作为type的同义词; 在numpy的未来版本中,它将被理解为(type,(1,))/'(1,)type'。
np_resource = np.dtype([(“ resource”,np.ubyte,1)])
INFO:张量流.__ version__:'1.14.0'
信息:张量流。__git_version__:'v1.14.0-rc1-22-gaf24dc91b5'

-检查:tensorboard_binary_path
INFO:哪个张量板:b'/ home / zwang / .local / bin / tensorboardn'

---检查:可读_fqdn
信息:socket.getfqdn():'mrt214.mrt.uni-karlsruhe.de'

-检查:stat_tensorboardinfo
INFO:目录:/tmp/.tensorboard-info
INFO:.tensorboard-info目录不存在

---检查:source_trees_without_genfiles
INFO: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,代码= _get_module_details(mod_name,_Error)
_get_module_details中的文件“ /usr/lib/python3.6/runpy.py”,第142行
返回_get_module_details(pkg_main_name,错误)
_get_module_details中的文件“ /usr/lib/python3.6/runpy.py”,行109
__import __(pkg_name)
在第29行的“ /usr/lib/python3/dist-packages/pip/__init__.py”文件中
从pip.utils导入get_installed_distributions,get_prog
在第30行中输入文件“ /usr/lib/python3/dist-packages/pip/utils/__init__.py”
来自pip._vendor.retrying导入重试
ModuleNotFoundError:没有名为“ pip._vendor.retrying”的模块
追溯(最近一次通话):
在主文件中的文件“ tensorboarddebug.py”,第420行
proposal.extend(check())
包装器中的文件“ tensorboarddebug.py”,行77
结果= fn()
在full_pip_freeze中,文件388行的“ tensorboarddebug.py”
logging.info(“ pip冻结-all :n%s ”,pip([“ freeze”,“ --all”])。decode(“ utf-8”))
pip文件中的“ tensorboarddebug.py”行104
返回subprocess.check_output(命令)
在check_output中的文件“ /usr/lib/python3.6/subprocess.py”,行356
** kwargs).stdout
运行中的文件“ /usr/lib/python3.6/subprocess.py”,行438
输出=标准输出,标准错误=标准错误)
subprocess.CalledProcessError:命令'['/ home / zwang / env / bin / python3','-m','pip','--disable-pip-version-check','freeze','--all' ]'返回非零退出状态1。
````

下一步

没有发现行动项目。 请复制以上所有输出,
包括仅包含反引号的行,进入GitHub问题
或发表评论。 请务必删除所有敏感信息。

如果显示在系统上安装了两个tensorboard ,请运行以下代码,然后删除其中一个。

import pkg_resources

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

如何有选择地删除一个版本的张量板

下一步

没有发现行动项目。 请复制以上所有输出,
包括仅包含反引号的行,进入GitHub问题
或发表评论。 请务必删除所有敏感信息。

@Biaocsu ,我也遇到了问题,但我已解决。 我的方法是:

  1. 我从https://raw.githubusercontent.com/tensorflow/tensorboard/master/tensorboard/tools/diagnose_tensorboard.py下载了测试脚本
  2. 我运行它,它告诉我我有两个版本不同的张量板。 另外,它告诉我如何修复它。
  3. 我按照它的指示进行操作,可以使我的张量板工作。

我认为此错误意味着您已安装了两个张量板,因此该插件将被复制。 另一种方法将是有用的,那就是使用conda重新安装python环境。

希望对您有所帮助。

我解决了我的问题。 非常感谢!

我通过以下步骤解决了该问题:

  • pip卸载tb-nightly tensorboardX tensorboard
  • 点安装tensorboard

我在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环境中运行!

您好,我今天遇到了同样的问题,并通过以下简单步骤解决了问题:
我导航到错误来自的目录-网站包-张量板。
由于tensorflow对象检测API的tf.contrib在tensorflow 2.0中不起作用,因此我在计算机上安装了tensorflow 1.14以运行检测模型。
因此,当我导航到站点包中的目录“ tensorboard”时,我发现“ tensorboar-2.0.2.dist-info和tensorflow_estimator-2.0.2.dist-info”。我从目录中删除了这些文件,问题解决了。

如果显示在系统上安装了两个tensorboard ,请运行以下代码,然后删除其中一个。

import pkg_resources

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

运行此代码后,我得到以下输出:

-ensorboard 2.0.2
张量板2.0.0

这是否意味着我安装了两个张量板?

如果显示在系统上安装了两个tensorboard ,请运行以下代码,然后删除其中一个。

import pkg_resources

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

运行此代码后,我得到以下输出:

-ensorboard 2.0.2
张量板2.0.0

这是否意味着我安装了两个张量板?

解决了!
我从Lib/site-packages删除了tensorboard-2.0.0.dist-info文件夹,然后张量板工作了。
但是我不知道它是否会引起另一个问题。

我也有同样的想法,如果出现一些错误,但是到目前为止都没有遇到过……
最安全的方法是不删除,而是将文件保留在其他位置...因为python仅在该特定文件夹中搜索文件,并感到困惑:)

就我而言,我卸载了tensorboard-plugin-wit,它可以工作。

就我而言,我卸载了tensorboard-plugin-wit,它可以工作。

它对我也起作用。 谢谢!
而且我无法从conda命令中删除软件包,所以我只是手动找到了tensorboard-plugin-wit文件夹的路径,并将其删除到文件目录中。

总结一下后来者,我个人通过升级和降级tensorflow和tensorboard遇到了所有这些错误。

症状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下遇到了这个问题

不管对tensorboard进行了更新,以下解决方案始终对我有用(例如:2020年2月发布的新软件包tensorboard-plugin-wit在这里给很多人造成了问题,将来可能还会有其他更新)。

在加载tensorboard之前,在每个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.

我认为此错误意味着您已安装了两个张量板,因此该插件将被复制。 另一种方法将是有用的,那就是使用conda重新安装python环境。

希望对您有所帮助。

VOCEÉUM MONSTRO,UM DEUS O MAIS FODA DE TODOS DENTRO DOS OS程序

下一步

没有发现行动项目。 请复制以上所有输出,
包括仅包含反引号的行,进入GitHub问题
或发表评论。 请务必删除所有敏感信息。

同样的问题

此页面是否有帮助?
5 / 5 - 1 等级