ImportError:TensorBoard 日志记录需要 TensorBoard 1.15 或更高版本

Posted

技术标签:

【中文标题】ImportError:TensorBoard 日志记录需要 TensorBoard 1.15 或更高版本【英文标题】:ImportError: TensorBoard logging requires TensorBoard version 1.15 or above 【发布时间】:2020-12-01 02:12:50 【问题描述】:

我按照pytorch.org 中的教程进行操作 出现错误:TensorBoard logging requires TensorBoard version 1.15 or above,但我已经安装了TensorBoard。 代码如下:

#from torch.utils.tensorboard import SummaryWriter
from tensorboardX import SummaryWriter
writer = SummaryWriter('runs/fashion_mnist_experiment_1')
#get some random training images
dataiter = iter(trainloader)
images , labels = dataiter.next()
#create grid of images
img_grid = torchvision.utils.make_grid(images)
matplotlib_imshow(img_grid,one_channel=True)
writer.add_image('four_fashion_images',img_grid)
writer.add_graph(net, images)
writer.close()

错误:

ImportError                               Traceback (most recent call last)
<ipython-input-12-d38808675cb4> in <module>
----> 1 writer.add_graph(net, images)
      2 writer.close()

~\anaconda3\envs\torch2\lib\site-packages\tensorboardX\writer.py in add_graph(self, model, input_to_model, verbose)
    791 
    792         """
--> 793         from torch.utils.tensorboard._pytorch_graph import graph
    794         self._get_file_writer().add_graph(graph(model, input_to_model, verbose))
    795 

~\anaconda3\envs\torch2\lib\site-packages\torch\utils\tensorboard\__init__.py in <module>
      2 from distutils.version import LooseVersion
      3 if not hasattr(tensorboard, '__version__') or LooseVersion(tensorboard.__version__) < LooseVersion('1.15'):
----> 4     raise ImportError('TensorBoard logging requires TensorBoard version 1.15 or above')
      5 del LooseVersion
      6 del tensorboard

ImportError: TensorBoard logging requires TensorBoard version 1.15 or above

环境:

tensorboard               2.3.0                    pypi_0    pypi
tensorboard-plugin-wit    1.7.0                    pypi_0    pypi
tensorboardx              2.1                      pypi_0    pypi
tensorflow                1.2.1                    py36_0    defaults
pytorch                   1.6.0           py3.6_cuda102_cudnn7_0    pytorch
torchvision               0.7.0                py36_cu102    pytorch
future                    0.18.2                   py36_1    defaults
protobuf                  3.12.3           py36h33f27b4_0    defaults

我一开始用from torch.utils.tensorboard import SummaryWriter,但出现和上面一样的错误,然后我用from tensorboardX import SummaryWriter

【问题讨论】:

我很困惑。你究竟做了什么来解决它?你知道是什么导致了你的错误吗? 【参考方案1】:

卸载tensorflowtensorboardtensorboardxtensorboard-plugin-wit

只安装 tensorboardconda 之后。

如果这不起作用,请仅使用 tensorboard 重新创建您的 conda 环境。如果您需要tensorflow,请提前安装。

编辑:

tensorboard-plugin-wittensorboard 的依赖项,在安装tensorboard 本身时应根据其pypi 描述自动安装。

【讨论】:

我用 pytorch1.6 和 tensorboard 重新创建了我的 conda 环境。当我安装 tensorboard 时,tensorboard-plugin-wit 将自动安装。对于 [from torch.utils.tensorboard import SummaryWriter],它发生错误 ImportError: TensorBoard logging requires TensorBoard version 1.15 or above 这个错误让我困惑了好几天。 @zhan 你能在 conda 中安装pip,然后再安装this package 吗?我假设您正在安装&lt;1.15.0,这可能会有所帮助。记得通过pip install tensorboard==2.3.0 固定版本。 我照你说的做。它发生错误。我使用conda list 来查看tensorboard 的版本,即2.3.0。 1.14.0a20190301tb-nightly 的版本。我卸载了tb-nightly,它可以工作。但我不记得我以前安装过tb-nightly【参考方案2】:

我的问题是我工作的目录被命名为tensorboard,所以它试图从当前目录而不是从已安装的包中导入。 所以我建议尝试重命名目录,看看是否有帮助。

【讨论】:

【参考方案3】:

conda uninstall tensorflow
conda uninstall tensorboard
conda uninstall tensorboardx
conda uninstall tensorboard-plugin-wit
conda uninstall cloud-tpu-client
pip uninstall tensorflow
pip uninstall tensorboard
pip uninstall tensorboardx
pip uninstall tensorboard-plugin-wit
pip uninstall cloud-tpu-client

然后

conda install tensorboard

【讨论】:

【参考方案4】:

我都尝试过conda installpip install,但是当我在ipynb 文件中使用from torch.utils.tensorboard import SummaryWriter 时仍然出现此错误。我检查了not hasattr(tensorboard, '__version__') or LooseVersion(tensorboard.__version__) &lt; LooseVersion('1.15'),两者都是False,这意味着它不会引发错误。

最后,我关闭了这个 ipynb 文件并重新启动它,它工作了。你应该试试这个,无需费力重新安装你的 conda env。

【讨论】:

【参考方案5】:

就我而言,当我遇到错误时,我只有没有 Tensorflow 的 Tensorboard,所以我必须:

  conda uninstall tensorboard - 这也删除了 PyTorch Lightningconda install tensorboardconda install -c conda-forge pytorch-lightning

【讨论】:

以上是关于ImportError:TensorBoard 日志记录需要 TensorBoard 1.15 或更高版本的主要内容,如果未能解决你的问题,请参考以下文章

TensorFlow——TensorBoard可视化

87使用TensorBoard进行可视化学习

Chapter 2.0 TensorBoard 基本教程(GRAPHS,scale,histogram,image)

tensorboard开启对性能的影响

tensorboard-理解tensorboard IMAGE标签

Pytorch Note53 TensorBoard 可视化