ModuleNotFoundError: No module named 'tensorflow.tensorboard.tensorboard'

ModuleNotFoundError: No module named 'tensorflow.tensorboard.tensorboard'

最近的 TensorFlow 构建似乎有问题。 TensorBoard 可视化工具在从源代码编译以与 GPU 一起使用时不会 运行。错误如下:

$ tensorboard
Traceback (most recent call last):
  File "/home/gpu/anaconda3/envs/tensorflow/bin/tensorboard", line 7, in <module>
    from tensorflow.tensorboard.tensorboard import main
ModuleNotFoundError: No module named 'tensorflow.tensorboard.tensorboard'

系统规格:Ubuntu16.04,NVIDIA GTX 1070,cuda-8.0,cudnn 6.0。 使用 Bazel 从源安装,如下所述: https://www.tensorflow.org/install/install_sources

安装到全新的 anaconda3 环境'tensorflow',执行命令时环境被激活。

非常感谢任何帮助!

Tensorboard 附带 tensorflow。如果您无法使用 tensorboard 命令 运行,请尝试以下方法。 tensorboard.py 可能已移动到其他目录。

尝试在安装tensorflow的tensorbard目录中搜索tensorboard.py。转到路径并使用以下行进行可视化:

python tensorboard.py --logdir=path

好的,我找到了一个可行的解决方案,并且还在 github 上收到了来自 tensorflower 的一些解释。

从源代码编译 tensorflow 时,tensorboard 可能会出现问题,因为 tensorboard 现在已移至单独的 repo,不再是 tensorflow 的一部分。 tensorflower 说文档最终会更新,但我想出了一个解决方法来解决不耐烦的问题(比如我自己)。

编辑 tensorflow/bin 中的 tensorboard 文件(在我的例子中是 /home/gpu/anaconda3/envs/tensorflow/bin/tensorboard)并替换

from tensorflow.tensorboard.tensorboard import main

来自

from tensorflow.tensorboard.main import *

现在 tensorboard 应该像往常一样从控制台 运行。

一个简单的修复:

python -m tensorboard.main --logdir=/path/to/logs

经过反复试验,我通过修改 path/to/conda/envs/myenv/Scripts (Windows) 中的文件 tensorboard-script.py 解决了这个问题,如下所示:

if __name__ == '__main__':
    import sys
    #import tensorflow.tensorboard.tensorboard
    import tensorboard.main

    #sys.exit(tensorflow.tensorboard.tensorboard.main())
    sys.exit(tensorboard.main.main())

现在我可以按预期调用 tensorboard: tensorboard --logdir=log/ --port 6006

你应该提前启动 点安装 tensorflow.tensorboard