Tensorflow AttributeError:' NoneType'对象没有属性'键'

时间:2018-03-28 23:48:47

标签: python tensorflow machine-learning deep-learning

我正在尝试使用Tensorflow制作一个简单的图像分类器。 从这里 https://medium.com/@linjunghsuan/create-a-simple-image-classifier-using-tensorflow-a7061635984a

我在Windows 10(64位)上使用Anaconda2 使用的包 将安装以下新软件包:

certifi:        2016.2.28-py35_0
pip:            9.0.3-py35_1
python:         3.5.4-0
setuptools:     36.4.0-py35_1
vc:             14-0
vs2015_runtime: 14.0.25420-0
wheel:          0.29.0-py35_0
wincertstore:   0.2-py35_0

我从中下载了retrain.py https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/image_retraining/retrain.py

当我尝试使用

训练数据时
python {$your-working_directory}/retrain.py

我收到这些错误

[tensorflow] C:\Users\user>python F:\Tensorflow\retrain.py
ERROR:tensorflow:Image directory '' not found.
Traceback (most recent call last):
  File "F:\Tensorflow\retrain.py", line 1409, in <module>
    tf.app.run(main=main, argv=[sys.argv[0]] + unparsed)
  File "F:\Coursera ML\Anaconda2\envs\tensorflow\lib\site-packages\tensorflow\python\platform\app.py", line 126, in run
    _sys.exit(main(argv))
  File "F:\Tensorflow\retrain.py", line 1061, in main
    class_count = len(image_lists.keys())
AttributeError: 'NoneType' object has no attribute 'keys'

在F:\ Tensorflow中有一个包含数据集图像和retrain.py的文件夹

我是初学者,这是我第一次使用Tensorflow和Deep Learning。 我通过StackOverflow和Github进行了清理,但我找不到任何有效的解决方案。 我想我正在对数据集的图像目录进行错误。 任何帮助表示赞赏。 提前致谢。 (如果您需要有关任何事情的其他信息,请告诉我们)

2 个答案:

答案 0 :(得分:1)

您未在命令行中提供所有必需参数

您链接的帖子中的Windows示例: example(我不会让我发布图片。)

如果文件存储在C:\training_data中,并且假设您的工作目录为F:\Tensorflow,则命令为

python F:\Tensorflow\retrain.py --image_dir C:\training_data --how_many_training_steps 500 --model_dir F:\Tensorflow\inception --output_graph=F:\Tensorflow\retrained_graph.pb --output_labels=F:\Tensorflow\retrained_labels.txt

答案 1 :(得分:0)

对于发现相同错误的MAC用户

“ Palash Taneja”解决方案可以提供帮助(在Mac上,路径会有所不同):

MAC用户从图像创建训练模型的示例命令:

python3 code/retrain.py --image_dir flower_photos --bottleneck_dir=bottleneck --how_many_training_steps 500 --model_dir=model --output_graph=graph/retrained_graph.pb --output_labels=graph/retrained_labels.txt

终端工作目录的文件和目录树:(此处ML是工作目录)

ML / code / retain.py

ML / flower_photos / {鲜花或各种图片的各种目录}

ML /图

机器学习/模型

ML /瓶颈