导入错误:TensorBoard日志记录需要TensorBoard版本1.15或更高版本。

3

我按照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


我感到困惑。你具体是怎么解决这个问题的?你知道导致错误的原因吗? - Charlie Parker
5个回答

4

卸载 tensorflowtensorboardtensorboardxtensorboard-plugin-wit

之后使用 conda 安装 只有 tensorboard

如果这样还不行,就只用 tensorboard 重新创建你的 conda 环境。如果你需要 tensorflow ,那么在安装 tensorboard 前先安装它。

编辑:

tensorboard-plugin-wittensorboard 的一个依赖项,根据他们在 pypi 上的说明,应该在安装 tensorboard 时自动安装。


1
“1.14.0a20190301”是“tb-nightly”的版本。我卸载了“tb-nightly”,它可以正常工作。但我不记得以前是否安装过“tb-nightly”。 - zhan
如果我没记错的话,这会发生在你安装了过期版本的 tensorboardX 而 PyTorch 不再使用它(而是直接依赖于 tensorboard)的情况下。 你有 tensorboardX 吗? - Szymon Maszke
@SzymonMaszke 我没有tensorboardX,但我有tensorboard 2.4.0 pyhc547734_0tensorboard-plugin-wit 1.6.0 py_0tensorflow-estimator 2.4.0 pypi_0 pypi,这些都是按照你的建议安装的。这真的很奇怪。 - Charlie Parker
虽然如果我去终端导入它是可以的```$ python Python 3.8.2 (default, Mar 26 2020, 15:53:00) [GCC 7.3.0] :: Anaconda, Inc. on linux Type "help", "copyright", "credits" or "license" for more information.
import KeyboardInterrupt from torch.utils.tensorboard import SummaryWriter
- Charlie Parker
让我们在聊天中继续这个讨论 - Charlie Parker
显示剩余9条评论

2

我的问题是我正在使用的目录名为tensorboard,所以它尝试从当前目录而不是安装的包中导入内容。因此,我建议尝试重新命名该目录以查看是否有所帮助。


2

Do

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

0
在我的情况下,当我遇到错误时,我只有 Tensorboard 而没有 Tensorflow,所以我必须执行以下操作:

  conda uninstall tensorboard - 这也会移除 PyTorch Lightning
  conda install tensorboard
  conda install -c conda-forge pytorch-lightning


0

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

最后,我关闭了这个ipynb文件并重新启动它,它就可以工作了。你应该尝试一下,不需要在重新安装conda环境上挣扎。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接