将jpeg和png图像都输入到预先训练过的inception3模型中?

时间:2016-06-14 17:33:28

标签: tensorflow

我从这个问题及其答案中收集[feeding image data in tensorflow for transfer learning],为导入的图形添加新的操作会有所帮助,但我不清楚结果图是否会自动处理png和jpeg输入,同时。

上述问题的答案表明如下:

png_data = tf.placeholder(tf.string, shape=[])
decoded_png = tf.image.decode_png(png_data, channels=3)
# ...

graph_def = ... 
softmax_tensor = tf.import_graph_def(
    graph_def,
    input_map={'DecodeJpeg:0': decoded_png},
    return_elements=['softmax:0'])

sess.run(softmax_tensor, {png_data: ...})

这是否意味着必须以

方式传入PNG输入
sess.run(softmax_tensor, {png_data: image_array})

必须将JPEG输入作为

提供给图表

sess.run(softmax_tensor,{'DecodeJpeg:0':image_array})

在修改图表并在底部添加操作后,第二个语句是否有效?

1 个答案:

答案 0 :(得分:2)

上一个问题的答案围绕将图表从JPEG转换为PNG。如果指定了网络,则无法同时处理这两种情况。

如果您需要处理这两种类型,您有几个选择。

  1. 使用PIL或TensorFlow自行处理解码,并将解码后的图像字节输入现有解码节点输出的图形中。

  2. 如果您对网络的馈送感到满意,那么请执行两步操作,重新检测输入以从变量读取,并创建两个将解码输出写入该变量的新节点。

  3. sess.run(feed_jpeg,feed_dict = {in_jpg:my_jpg}) sess.run(the_network)

    sess.run(feed_png, feed_dict={in_png: my_png})
    sess.run(the_network)
    
    1. 创建一个更复杂的条件输入路径,您可以在其中提供一个标志值,告诉它它是什么数据类型,并使用TF条件仅拉取指定的解码节点。

    2. Write a new op根据数据开头的格式字符串,根据需要调度decode_png或decode_jpeg。

    3. 我希望我们会暴露一些字符串比较操作,以便你可以在纯TensorFlow中编写(4),但我没有任何时间表。