首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关键:tensorflow:类别没有图像-验证

关键:tensorflow:类别没有图像-验证
EN

Stack Overflow用户
提问于 2016-07-04 00:59:49
回答 12查看 10.6K关注 0票数 16

我正在尝试重新训练tensorflow中的Inception v3模型,以适应我自己的自定义类别。我下载了一些数据并将其格式化到目录中。当我运行时,python脚本会为图像创建瓶颈,然后当它运行时,在第一个训练步骤(步骤0)中,它会出现一个关键错误,它会尝试模块化0。它出现在get_image_path函数中,当计算mod_index时,它是索引% len( category_list ),所以category_list必须是0,对吗?

为什么会发生这种情况,我怎样才能防止它发生?

编辑:这是我在码头看到的确切代码

代码语言:javascript
复制
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
EN

回答 12

Stack Overflow用户

回答已采纳

发布于 2018-01-31 10:42:23

我修改了retrain.py以确保至少有一个图像在验证中(第201行*)

代码语言:javascript
复制
if len(validation_images) == 0:
   validation_images.append(base_name)
elif percentage_hash < validation_percentage:

(*)行号可能在今后的版本中发生变化。看看这些评论。

票数 12
EN

Stack Overflow用户

发布于 2016-07-08 10:28:15

Fix:

当您在任何子文件夹中的图像数量较少时,就会发生此问题。

当某一类别下的图片总数少于30幅时,我也遇到了同样的问题,请尽量增加图像计数来解决这个问题。

原因:

对于每个标签(子文件夹),tensorflow尝试创建3类图像(列车、测试和验证),并根据概率值(使用标签名称的散列计算)将图像放在下面。

只有当概率值小于类别(列车、测试或验证)大小时,图像才会放置在类别文件夹中。

现在,如果标签内的图像数量较少(例如25),则验证大小计算为10 (默认值),并且概率值通常大于10,因此在验证集中没有图像。

稍后,当所有瓶颈被创建并且tf试图计算验证准确性时,它首先抛出一条致命的日志消息:

关键:tensorflow:类别没有图像-验证。

然后继续执行代码并在其试图除以验证列表大小(即0)时崩溃。

票数 21
EN

Stack Overflow用户

发布于 2017-01-01 06:23:25

在运行retrain.py和错误设置--model_dir参数以及在flower_photos目录中创建初始目录时,我也遇到了同样的问题。

请检查flower_photos目录中是否有没有任何图像的目录。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38175673

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档