我创建了一个对图像进行分类的卷积网络。所有的图像都是jpeg文件格式,但我必须创建一个函数来处理图像,然后再将它送入我的网络。
这是我定义的导入功能:
import tensorflow as tf
def import_image(image_location):
image_contents = tf.read_file(image_location)
decoded_image = tf.image.decode_jpeg(contents=image_contents, channels=3)
cropped_image = tf.image.resize_image_with_crop_or_pad(decoded_image, 100, 100)
return cropped_image
运行程序22次后,我发现分类准确性很差。起初,我把它的失败归咎于我所负责的迭代次数。我很快添加了TensorBoard功能,并使用函数tf.summary.image("Cropped Image", cropped_image)
,我看到输入图像是完全黑色的。然后我添加了显示交叉熵与迭代的直方图和摘要标量,这就是出现的结果:
看到输入图像完全变黑后,结果才有意义。网络根本没有接受过培训。那么,导入功能有什么问题?或者我没有恰当地使用tf.summary.image()
?任何帮助表示赞赏。感谢。