我需要一些帮助,使用TensorFlow在植物叶片分类程序中查看特征图。
我有一个功能,可以摄取任意数量的图像(尺寸为128x128x3),并使用某些滤镜(尺寸为3x3x32)对图像进行卷积。
layer_conv1 = create_convolutional_layer(input=x,
num_input_channels=num_channels,
conv_filter_size=filter_size_conv1,
num_filters=num_filters_conv1)
print(layer_conv1)
代码输出打印的张量:Tensor("Relu_182:0", shape=(?, 64, 64, 32), dtype=float32)
我试图从张量在控制台上显示图像,并且尝试了以下代码(使用matplotlib.pyplot):
session.run(tf.global_variables_initializer())
img = session.run(layer_conv1)
plt.imshow(img)
plt.show()
和
""
img = layer_conv1[0,:,:,:].eval(session=session)
""
""
两者都不起作用。
You must feed a value for placeholder tensor 'x_54' with dtype float and shape [?,128,128,3]
是发生的错误之一。
答案 0 :(得分:0)
您可以使用
定义图层layer_conv1 = create_convolutional_layer(input=x,...)
在这里,x
是一个占位符,定义为类似
x = tf.Placeholder(tf.float32, [None, 128, 128, 3])
调用img = session.run(layer_conv1)
时,您需要像这样输入x
的值
img = session.run(layer_conv1, feed_dict={x: myImage})
其中myImage
是代表图像的[1, 128, 128, 3]
形状的数字数组。