我已成功在ubuntu 16.04中重新训练了tensorflows image_retrain inception v3模型,用于我自己的图像分类。性能结果很好,所以我尝试使用label_image.py
脚本来预测新图像(.jpg)。但我在
predictions = sess.run(softmax_tensor, {'DecodeJpeg/contents:0': image_data})
错误日志
InvalidArgumentError(参见上面的回溯):NodeDef提到了attr' dct_method'不在Op图像中:uint8; ATTR =渠道:整型,默认= 0; ATTR =比:整型,默认= 1; ATTR = fancy_upscaling:布尔,默认= TRUE; ATTR = try_recover_truncated:布尔,默认= FALSE; ATTR = acceptable_fraction:浮子,默认= 1取代; NodeDef:DecodeJpeg = DecodeJpegacceptable_fraction = 1,channels = 3,dct_method ="",fancy_upscaling = true,ratio = 1,try_recover_truncated = false,_device =" / job:localhost / replica:0 /任务:0 / CPU:0" [[Node:DecodeJpeg = DecodeJpegacceptable_fraction = 1,channels = 3,dct_method ="",fancy_upscaling = true,ratio = 1,try_recover_truncated = false,_device =" / job:localhost / replica: 0 /任务:0 / CPU:0"]]
请帮我解决
谢谢
答案 0 :(得分:2)
我自己也遇到过这个问题。
据我所知,用于生成输出图的tensorflow版本与您现在用于运行label_image.py脚本的版本不匹配。
我花了很多时间试图追踪变化并找出如何在我之前用来生成图形的版本中运行tensorflow。
最后,我找到了解决问题的黑客解决方案:
从文件加载图表后
graph_def.ParseFromString(f.read())
添加
del(graph_def.node[1].attr["dct_method"])
这不是一个好方法,如果可能的话,你应该尝试重新训练图形并确保张量流版本是相同的。