1

我目前正在按照本教程重新训练 Inception v3 神经网络的顶层: https://www.youtube.com/watch ?v=m2D02eZTB4s https://www.tensorflow.org/tutorials/image_retraining

我已经设置了一个运行 Ubuntu 14.04.5 LTS 64bit 的 VirtualBox

蟒蛇2.7.6

张量流 1.3.0

bazel 构建标签:0.5.3

但是,当我使用命令时

bazel-bin/tensorflow/examples/image_retraining/retrain --image_dir /media/myImageDir

然后我的过程与教程不同。发生两个导入错误,通过安装软件包很容易解决。

File "/home/tensorflow/tensorflow/bazel-bin/tensorflow/examples/image_retraining/retrain.runfiles/org_tensorflow/tensorflow/python/framework/ops.py", line 28, in <module>
    from autograd import core as ag_core
ImportError: No module named autograd

File "/home/tensorflow/tensorflow/bazel-bin/tensorflow/examples/image_retraining/retrain.runfiles/org_tensorflow/tensorflow/python/ops/variable_scope.py", line 24, in <module>
    import enum  # pylint: disable=g-bad-import-order
ImportError: No module named enum

安装autograd和enum后,再次尝试执行retrain命令时,出现如下错误:

Traceback (most recent call last):
File "/home/tensorflow/tensorflow/bazel-bin/tensorflow/examples/image_retraining/retrain.runfiles/org_tensorflow/tensorflow/examples/image_retraining/retrain.py", line 108, in <module>
import tensorflow as tf
File "/home/tensorflow/tensorflow/bazel-bin/tensorflow/examples/image_retraining/retrain.runfiles/org_tensorflow/tensorflow/__init__.py", line 24, in <module>
from tensorflow.python import *
File "/home/tensorflow/tensorflow/bazel-bin/tensorflow/examples/image_retraining/retrain.runfiles/org_tensorflow/tensorflow/python/__init__.py", line 63, in <module>
from tensorflow.python.framework.framework_lib import *
File "/home/tensorflow/tensorflow/bazel-bin/tensorflow/examples/image_retraining/retrain.runfiles/org_tensorflow/tensorflow/python/framework/framework_lib.py", line 102, in <module>
from tensorflow.python.framework.importer import import_graph_def
File "/home/tensorflow/tensorflow/bazel-bin/tensorflow/examples/image_retraining/retrain.runfiles/org_tensorflow/tensorflow/python/framework/importer.py", line 30, in <module>
from tensorflow.python.framework import function
File "/home/tensorflow/tensorflow/bazel-bin/tensorflow/examples/image_retraining/retrain.runfiles/org_tensorflow/tensorflow/python/framework/function.py", line 34, in <module>
from tensorflow.python.ops import variable_scope as vs
File "/home/tensorflow/tensorflow/bazel-bin/tensorflow/examples/image_retraining/retrain.runfiles/org_tensorflow/tensorflow/python/ops/variable_scope.py", line 191, in <module>
"""
AttributeError: 'int' object attribute '__doc__' is read-only

文件“/home/tensorflow/tensorflow/bazel-bin/tensorflow/examples/image_retraining/retrain.runfiles/org_tensorflow/tensorflow/python/ops/variable_scope.py”第191行如下:

AUTO_REUSE.__doc__ = """
When passed in as the value for the `reuse` flag, AUTO_REUSE indicates that
get_variable() should create the requested variable if it doesn't exist or, if
it does exist, simply return it.
"""

现在我真的不想干预这段代码,因为它不是我编写的自定义代码。我怀疑还有另一个问题,但我完全不知道它可能是什么。我希望这里有人遇到过类似的问题和/或可以给我任何建议。

4

2 回答 2

2

我也遇到了这个问题,我注意到最近在 tensorflow 中有一个关于这个的问题。解决方案是以下解决方法:

  • 卸载枚举,如果你已经安装了它:sudo pip remove enum
  • 安装此兼容版本的枚举:sudo apt-get install python-enum34
  • 再试一次。
于 2017-08-26T19:20:34.560 回答
-2

我通过粗暴地纠正源代码解决了这个问题!

于 2017-08-21T20:10:21.443 回答