用 tensorboard 显示 生成网络(generator)中间层图像

为了对比,还需要一个能显示 tensorflow 中间层图像的方法

搜索了一下,有几种方法,先按《TensorFlow人工智能引擎入门教程之四 TensorBoard面板可视化管理》来试试

要运行该文,先运行前一篇《TensorFlow人工智能引擎入门教程之三 实现一个自创的CNN卷积神经网络》
先下载数据集
https://raw.githubusercontent.com/petar/GoMNIST/master/data/train-images-idx3-ubyte.gz
https://raw.githubusercontent.com/petar/GoMNIST/master/data/train-labels-idx1-ubyte.gz
https://raw.githubusercontent.com/petar/GoMNIST/master/data/t10k-images-idx3-ubyte.gz
https://raw.githubusercontent.com/petar/GoMNIST/master/data/t10k-labels-idx1-ubyte.gz

载入数据:

from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets("./data/", one_hot=True)

如果有错误了,按《TENSORFLOW1.0运行之前版本代码报错解决》《TensorFlow不同版本引起的错误》等文章来修改

......

运行结束后,启动 tensorflow tensorborad 面板

python c:\users\k\anaconda3\lib\site-packages\tensorflow\tensorboard\tensorbord.py --logdir=./logs

然后打开网页可以看到输入层的图像了。

再把中间层的多通道图像转换为单通道(因为1.0版本的tf.summary.image不能显示多于4通道图):

# 把图像转换多通道到 1通道(64->1)
def zhuanhuan64_1(name, tensor_64):
    for i in range(64):
        begin=[0,0,0,i]
        size=[1,-1,-1,1]
        tensor_1 = tf.slice(tensor_64,begin, size)
        tf.summary.image(name,tensor_1 ,max_outputs=64)#
    return

然后把它放在第一层输出位置中就可以显示64通道的图像了:

zhuanhuan64_1("conv1", conv1) 

最后按照它的样子,在 SRGAN 的 main.py 和 model.py 加上相应的语句,就是可以显示我们的图像了:

结束。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值