今天我正在测试一些tensorflow(python)代码。这是著名的MNIST装置上的神经网络。
一切正常,所以我只是通读了代码并研究了该网络的结构。
在图像输入方面,我找到了以下代码:
image_string = tf.read_file(filename)
image_decoded = tf.image.decode_jpeg(image_string, channels=3)
该代码使用的是“ decode_jpeg”而不是“ decode_png”。而且我没有看到任何错误。
但是,我100%确定图片为PNG格式。
我用过
od -c -b 1.png
查看这些图像,它们是PNG。
那么,为什么“ decode_jpeg”可用于PNG?并可能由此引起任何潜在的问题吗?
答案 0 :(得分:2)
documentation for tensorflow指出:
此操作还支持解码PNG和非动画GIF,因为接口相同,尽管使用tf.image.decode_image更为干净。
从本质上说,这是一个设计决策,因为只需要处理接口就可以了,而不是抛出会迫使用户使用正确的API调用的错误。
答案 1 :(得分:0)
img = tf.image.decode_png(file_bytes, channels=3)
您可以将 decode_png
用于 png 文件