我正在尝试重新训练tensorflow中的Inception v3模型,以适应我自己的自定义类别。我下载了一些数据并将其格式化到目录中。当我运行时,python脚本会为图像创建瓶颈,然后当它运行时,在第一个训练步骤(步骤0)中,它会出现一个关键错误,它会尝试模块化0。它出现在get_image_path函数中,当计算mod_index时,它是索引% len( category_list ),所以category_list必须是0,对吗?
为什么会发生这种情况,我怎样才能防止它发生?
编辑:这是我在码头看到的确切代码
2016-07-04 01:27:52.005912: Step 0: Train accuracy = 40.0%
2016-07-04 01:27:52.006025: Step 0: Cross entropy = 1.109777
CRITICAL:tensorflow:Category has no images - validation.
Traceback (most recent call last):
File "tensorflow/examples/image_retraining/retrain.py", line 824, in <module>
tf.app.run()
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/platform/app.py", line 30, in run
sys.exit(main(sys.argv))
File "tensorflow/examples/image_retraining/retrain.py", line 794, in main
bottleneck_tensor))
File "tensorflow/examples/image_retraining/retrain.py", line 484, in get_random_cached_bottlenecks
bottleneck_tensor)
File "tensorflow/examples/image_retraining/retrain.py", line 392, in get_or_create_bottleneck
bottleneck_dir, category)
File "tensorflow/examples/image_retraining/retrain.py", line 281, in get_bottleneck_path
category) + '.txt'
File "tensorflow/examples/image_retraining/retrain.py", line 257, in get_image_path
mod_index = index % len(category_list)
ZeroDivisionError: integer division or modulo by zero发布于 2018-01-31 10:42:23
我修改了retrain.py以确保至少有一个图像在验证中(第201行*)
if len(validation_images) == 0:
validation_images.append(base_name)
elif percentage_hash < validation_percentage:(*)行号可能在今后的版本中发生变化。看看这些评论。
发布于 2016-07-08 10:28:15
Fix:
当您在任何子文件夹中的图像数量较少时,就会发生此问题。
当某一类别下的图片总数少于30幅时,我也遇到了同样的问题,请尽量增加图像计数来解决这个问题。
原因:
对于每个标签(子文件夹),tensorflow尝试创建3类图像(列车、测试和验证),并根据概率值(使用标签名称的散列计算)将图像放在下面。
只有当概率值小于类别(列车、测试或验证)大小时,图像才会放置在类别文件夹中。
现在,如果标签内的图像数量较少(例如25),则验证大小计算为10 (默认值),并且概率值通常大于10,因此在验证集中没有图像。
稍后,当所有瓶颈被创建并且tf试图计算验证准确性时,它首先抛出一条致命的日志消息:
关键:tensorflow:类别没有图像-验证。
然后继续执行代码并在其试图除以验证列表大小(即0)时崩溃。
发布于 2017-01-01 06:23:25
在运行retrain.py和错误设置--model_dir参数以及在flower_photos目录中创建初始目录时,我也遇到了同样的问题。
请检查flower_photos目录中是否有没有任何图像的目录。
https://stackoverflow.com/questions/38175673
复制相似问题