我已经按照Tensorflow For Poets(link)的步骤使用tensorflow训练我自己的数据集,并获得非常好的预测结果。这为我提供了retrained.py,label_images.py,retrained_graph.pb,retrained_labels .txt files。所以我有自己的模型图和标签文件。
之后我从github下载了适用于iOS的Tensorflow示例项目。该项目在iOS平台上成功运行。但当我使用我自己的retrained_graph.pb,retrained_labels.txt文件代表示例模型和标签文件时,我收到如下错误 -
错误:
无法创建TensorFlow Graph:无效参数:没有注册OpKernel以支持使用这些attrs的Op'DecodeJpeg'。已注册的设备:[CPU],已注册的内核:
[[Node:DecodeJpeg = DecodeJpegacceptable_fraction = 1,channels = 3,dct_method =“”,fancy_upscaling = true,ratio = 1,try_recover_truncated = false]]
和,
无法加载模型:无效参数:没有注册OpKernel以支持使用这些attrs的Op'DecodeJpeg'。已注册的设备:[CPU],已注册的内核:
[[Node:DecodeJpeg = DecodeJpegacceptable_fraction = 1,channels = 3,dct_method =“”,fancy_upscaling = true,ratio = 1,try_recover_truncated = false]]
你能帮帮我吗?我一直在寻找它。 感谢答案 0 :(得分:0)
您正在将图像解码操作放在GPU上,而此操作仅适用于在CPU上执行。
如果您希望TensorFlow自动选择现有且受支持的设备以在指定的设备不存在的情况下运行操作,则可以在创建会话时在配置选项中将
allow_soft_placement
设置为True。 / p>
因此,您只需使用
更改会话初始化 tf.Session(config=tf.ConfigProto(
allow_soft_placement=True))
答案 1 :(得分:0)