1. ホーム
  2. python

ImportError: tensorflow.tensorboard.tensorboard' という名前のモジュールはありません。

2022-02-11 09:26:48
<パス

システム:ubuntu14.04
anaconda経由でtensorflowをインストールし(Python 3.6版)、今日からtensorboardを使いたいと思います。

(tensorflow) yang@yang-HP-Pavilion-g4-Notebook-PC:~/eclipse_workspace/tensorflow$ tensorboard --logdir=path/to/log-directory
Traceback (most recent call last):
  File "/home/yang/anaconda3/envs/tensorflow/bin/tensorboard", line 4, in <module>
    import tensorflow.tensorboard.tensorboard
ModuleNotFoundError: No module named 'tensorflow.tensorboard'

実行時のエラー: import tensorflow.tensorboard.tensorboard
ModuleNotFoundError: tensorflow.tensorboard'という名前のモジュールはありません。

しばらく探したがわからず、findコマンドでtensorboard関連のファイルを調べると

find /home/yang/anaconda3/ -name *tensorboard*

実行後の結果は

/home/yang/anaconda3/envs/tensorflow/bin/tensorboard
/home/yang/anaconda3/envs/tensorflow/lib/python3.6/site-packages/tensorflow/contrib/tensorboard
/home/yang/anaconda3/envs/tensorflow/lib/python3.6/site-packages/tensorflow/python/training/__pycache__/tensorboard_logging. cpython-36.pyc
/home/yang/anaconda3/envs/tensorflow/lib/python3.6/site-packages/tensorflow/python/training/tensorboard_logging.py
/home/yang/anaconda3/pkgs/tensorflow-1.3.0-py36_0/bin/tensorboard
/home/yang/anaconda3/pkgs/tensorflow-1.3.0-py36_0/lib/python3.6/site-packages/tensorflow/contrib/tensorboard
/home/yang/anaconda3/pkgs/tensorflow-1.3.0-py36_0/lib/python3.6/site-packages/tensorflow/python/training/__pycache__/tensorboard_ logging.cpython-36.pyc
/home/yang/anaconda3/pkgs/tensorflow-1.3.0-py36_0/lib/python3.6/site-packages/tensorflow/python/training/tensorboard_logging.py

確かにtensorboard.pyファイルがないことが判明。

そこで、tensorflowをアップデートします。

yang@yang:~/osgi_workspace/tensorflow$ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
yang@yang:~/osgi_workspace/tensorflow$ source activate tensorflow
(tensorflow) yang@yang:~/eclipse_workspace/tensorflow$ conda update tensorflow

そして、次のようなプロンプトが表示されます。

The following packages will be SUPERSEDED by a higher-priority channel:

    tensorflow: 1.3.0-py36_0 conda-forge --> 1.2.1-py36_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free

Proceed ([y]/n)? 

yを入力してアップデートに成功したら、findコマンドでtensorboardに関連するファイルを探すと、tensorboard.pyのファイルが見つかるはずです。また、tensorboardコマンドはエラーにならずに実行することができます。
ということで、ImportError: No module named 'tensorflow.tensorboard.tensorboard' に遭遇したことは、tensorflow を更新することで解決しました。
注意:アップデートする際は、まずtensorflowを起動し、コマンドプロンプトの前にある(tensorflow)に注意してください。

参考ドキュメントです。
anacondaをソースに。 http://blog.csdn.net/u013055678/article/details/59107932