web-dev-qa-db-fra.com

ModuleNotFoundError: aucun module nommé 'tensorflow.tensorboard.tensorboard'

Il semble y avoir un problème avec la version récente de TensorFlow. L'outil de visualisation TensorBoard ne s'exécuterait pas lorsqu'il est compilé à partir de sources à utiliser avec le GPU. L'erreur est la suivante:

$ 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'

Spécifications du système: Ubuntu 16.04, NVIDIA GTX 1070, cuda-8.0, cudnn 6.0. Installé en utilisant Bazel à partir de sources comme décrit ici: https://www.tensorflow.org/install/install_sources

Installé dans un nouvel environnement anaconda3 "tensorflow", l'environnement est activé lors de l'exécution de la commande.

J'apprécierais toute aide!

13
Andriy Lazorenko

Une solution simple:

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

Après quelques essais et erreurs, j'ai résolu ce problème en adaptant le fichier tensorboard-script.py dans path/to/conda/envs/myenv/Scripts (Windows) comme suit:

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

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

Maintenant, je peux invoquer le tensorboard comme prévu: tensorboard --logdir=log/ --port 6006

4
Martin

D'accord, j'ai trouvé une solution qui fonctionne et j'ai également reçu des explications de tensorflower sur github.

Il peut y avoir un problème avec tensorboard lors de la compilation de tensorflow à partir de sources car tensorboard est maintenant supprimé dans un référentiel séparé et ne fait pas partie de tensorflow. Le tensorflower a déclaré que les documents seront éventuellement mis à jour, mais j'ai pensé à une solution pour les impatients (comme moi).

Modifier le fichier tensorboard dans tensorflow/bin (/home/gpu/anaconda3/envs/tensorflow/bin/tensorboard dans mon cas) et remplacer

from tensorflow.tensorboard.tensorboard import main

par

from tensorflow.tensorboard.main import *

Le tensorboard devrait maintenant fonctionner à partir de la console comme d'habitude.

2
Andriy Lazorenko

Tensorboard est livré avec tensorflow. Si vous ne parvenez pas à exécuter à l'aide de la commande tensorboard, essayez l'approche ci-dessous. tensorboard.py peut avoir été déplacé vers un répertoire différent.

Essayez de rechercher tensorboard.py dans le répertoire tensorbard où tensorflow est installé. Accédez au chemin et utilisez la ligne suivante pour la visualisation:

python tensorboard.py --logdir=path
1
Harman