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】:卸载tensorflow
、tensorboard
、tensorboardx
和tensorboard-plugin-wit
。
只安装 tensorboard
和conda
之后。
如果这不起作用,请仅使用 tensorboard
重新创建您的 conda
环境。如果您需要tensorflow
,请提前安装。
编辑:
tensorboard-plugin-wit
是tensorboard
的依赖项,在安装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 吗?我假设您正在安装<1.15.0
,这可能会有所帮助。记得通过pip install tensorboard==2.3.0
固定版本。
我照你说的做。它发生错误。我使用conda list
来查看tensorboard
的版本,即2.3.0。
1.14.0a20190301
是tb-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 install
和pip install
,但是当我在ipynb 文件中使用from torch.utils.tensorboard import SummaryWriter
时仍然出现此错误。我检查了not hasattr(tensorboard, '__version__') or LooseVersion(tensorboard.__version__) < LooseVersion('1.15')
,两者都是False,这意味着它不会引发错误。
最后,我关闭了这个 ipynb 文件并重新启动它,它工作了。你应该试试这个,无需费力重新安装你的 conda env。
【讨论】:
【参考方案5】:就我而言,当我遇到错误时,我只有没有 Tensorflow 的 Tensorboard,所以我必须:
conda uninstall tensorboard
- 这也删除了 PyTorch Lightningconda install tensorboard
conda install -c conda-forge pytorch-lightning
【讨论】:
以上是关于ImportError:TensorBoard 日志记录需要 TensorBoard 1.15 或更高版本的主要内容,如果未能解决你的问题,请参考以下文章
Chapter 2.0 TensorBoard 基本教程(GRAPHS,scale,histogram,image)