无法让 pytorch 与 tensorboard 一起工作

Posted

技术标签:

【中文标题】无法让 pytorch 与 tensorboard 一起工作【英文标题】:Can not get pytorch working with tensorboard 【发布时间】:2020-02-29 08:30:48 【问题描述】:

我正在阅读本教程以使用 tensorboard https://pytorch.org/tutorials/intermediate/tensorboard_tutorial.html# 设置 pytorch(v1.3.0 到 conda)

但在台阶上

from torch.utils.tensorboard import SummaryWriter

# default `log_dir` is "runs" - we'll be more specific here
writer = SummaryWriter('runs/fashion_mnist_experiment_1')

我不断收到错误

---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
C:\ProgramData\Anaconda3\envs\fastai_v1\lib\site-packages\torch\utils\tensorboard\__init__.py in 
      1 try:
----> 2     from tensorboard.summary.writer.record_writer import RecordWriter  # noqa F401
      3 except ImportError:

ModuleNotFoundError: No module named 'tensorboard.summary'; 'tensorboard' is not a package

During handling of the above exception, another exception occurred:

ImportError                               Traceback (most recent call last)
c:\Users\matt\Documents\code\playground\tensorboard.py in 
----> 1 from torch.utils.tensorboard import SummaryWriter
      2 
      3 # default `log_dir` is "runs" - we'll be more specific here
      4 writer = SummaryWriter('runs/fashion_mnist_experiment_1')

C:\ProgramData\Anaconda3\envs\fastai_v1\lib\site-packages\torch\utils\tensorboard\__init__.py in 
      2     from tensorboard.summary.writer.record_writer import RecordWriter  # noqa F401
      3 except ImportError:
----> 4     raise ImportError('TensorBoard logging requires TensorBoard with Python summary writer installed. '
      5                       'This should be available in 1.14 or above.')
      6 from .writer import FileWriter, SummaryWriter  # noqa F401

ImportError: TensorBoard logging requires TensorBoard with Python summary writer installed. This should be available in 1.14 or above.

有人有什么建议吗?

【问题讨论】:

你试过conda install -y tensorboard吗?该解决方案有什么问题? 我得到了同样的错误,我尝试了conda install -y tensorboard,它仍然得到同样的错误。我觉得它和我的其他包有冲突。 【参考方案1】:

我遇到了同样的错误,我通过以下步骤解决了:

    从 conda 环境中移除所有 Tensorflow 或 Tensorboard 安装。 然后通过激活相同的 conda 环境,键入“pip install -U tb-nightly” 然后输入“pip install -U future” 完成

【讨论】:

嗨,感谢您的评论。我尝试卸载所有东西,conda remove tensorflow,conda remove tensorboard,pip 卸载 tensorflow,pip 卸载 tensorboard,然后 pip 安装了上面的 2 个包,但仍然出现错误。你有什么建议吗? 没关系,这是我的问题。 github.com/tensorflow/tensorflow/issues/29866 。我还必须做你在上面所做的事情并标记它是正确的 我按照所有步骤操作并收到此错误:TypeError: __new__() got an unexpected keyword argument 'serialized_options' 我正在使用虚拟环境,这对我不起作用。在 pip 卸载 tensorflow 和 tensorboard 之后,我完成了所有步骤。之后,我按照上面答案中的步骤,安装了 tensorflow 和 tensorboard。然后,我在visual studio code中打开了一个notebook,还是一样的错误。【参考方案2】:

我认为是版本问题。

运行这个:

pip install tensorboard==1.14.0

(不是 pip install tensorboard==1.14)

或者只安装 tensorboard 1.14.0,其中包含 tensorboard 1.14.0:

pip install tensorflow==1.14.0

这个版本的 tensorflow 在 pytorch 1.2 中为我工作。

【讨论】:

如果它对某人有帮助,1.15.0 版适用于 Pytorch 1.4【参考方案3】:

错误日志说,除其他外,

ImportError: TensorBoard logging requires TensorBoard with Python summary writer installed. This should be available in 1.14 or above.

因此,当它尝试导入 TensorBoard 时,它无法这样做,因为它在搜索路径中缺少它。您可以安装最新版本(无需指定任何版本号),如下所示:

$ conda install -c conda-forge tensorboard

除此之外,您可能还需要安装 protobuf:

$ conda install -c conda-forge protobuf

这些安装应该修复ImportErrors。

【讨论】:

【参考方案4】:

我已经完成了:

conda install -y tensorboard

之前没有问题,所以我不知道为什么那行不通。这是最简单的。

【讨论】:

【参考方案5】:

你试过Aim吗?它是为 PyTorch 构建的。用于记录和比较指标的最简单、最方便的工具(TensorBoard 中没有许多高级比较功能)。

【讨论】:

【参考方案6】:

我遇到了同样的错误,而且我的conda当时也没有工作,所以我选择使用tensorboardX,它和tensorboard几乎完全一样(也是它的操作)。 只需使用pip install tensorboardX安装即可 你可以用from tensorboardX import SummaryWriter导入它

【讨论】:

以上是关于无法让 pytorch 与 tensorboard 一起工作的主要内容,如果未能解决你的问题,请参考以下文章

[十九]深度学习Pytorch-可视化工具TensorBoard

PyTorch Tensorboard 与文档中的描述不符

Pytorch Note53 TensorBoard 可视化

如何在 pytorch 中使用 tensorboard 调试器?

pytorch中的tensorboard使用

pytorch中的tensorboard使用