版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/baidu_27643275/article/details/80613776
1、tensorboard显示:
tf.summary.image(name="?" , tensor=?)
主要问题:卷积层特征图通道都很大,需要进行重新reshape成Tensorboard可以显示的通道数(1或3或4)
方法一:
def _concact_features(conv_output):
"""
对特征图进行reshape拼接
由于卷积层特征图通道都很大,需要进行重新reshape成Tensorboard可以显示的通道数(1或3或4),这里全部变成了单通道的特征图
:param conv_output:输入多通道的特征图
:return:
"""
num_or_size_splits = conv_output.get_shape().as_list()[-1]
each_convs = tf.split(conv_output, num_or_size_splits=num_or_size_splits, axis=3)
concact_size = int(math.sqrt(num_or_size_splits) / 1)
all_concact = None
for i in range(concact_size):
row_concact = each_convs[i * concact_size]
for j in range(concact_size - 1):
row_concact = tf.concat([row_concact, each_convs[i * concact_size + j + 1]], 1)
if i == 0:
all_concact = row_concact
else:
all_concact = tf.concat([all_concact, row_concact], 2)
return all_concact
方法二
2、plt显示:
普通图片展示
from PIL import Image
import matplotlib.pyplot as plt
test_img = Image.open(test_path)
plt.figure(0)
########如果图片不想要改变大小
plt.imshow(test_img)
########如果图片需要改变大小
test_img_plt=tf.image.resize_images(test_img,(new_height, new_width),0)
plt.imshow(test_img_plt.eval())
plt.show()
卷积特征图展示:
plt.figure(1)
conv=sess.run(tensor,feed_dict=)
#conv为四维
conv_plt=_concact_features(conv)
#conv_plt为三维
plt.imshow(conv_plt)
主要问题:Image data cannot be converted to float
尚未解决