深度学习(七)-可视化

1. 为什么需要可视化?

 在训练庞大的深度神经网络,为了能够更好的理解运算过程,需要使用可视化的工具将其过程进行描述,在tensorflow中使用TensorBoard 来绘制图像生成的定量指标图以及附加数据;

2. 主要流程

TensorBoard 通过读取tensorflow的事件文件来运行,在事件文件中包含运行中设计的主要数据。

(1) 创建tensorflow图,对节点进行汇总操作,使用  tf.summary.scalar('loss',loss) 

(2) 将所有的汇总操作合并,使用: merged = tf.summary.merge_all()

(3) 获取写文件的工具  writer = tf.summary.FileWriter('logs/',sess.graph)

(4) 将需要统计信息写入文件  writer.add_summary(summary,epoch)#将变量和迭代次数写入

3. TensorBoard 使用

(1) cmd打开命令提示框,切换到指定文件根目录;(如,e:)
(2) 输入命令:tensorboard --logdir=E:\Python\tensorflow_test\tensorborad\logs
(3) 在浏览器访问:http://DESKTOP-MQ30F76:6006

3. 流程可视化(模块命名)

# coding=utf-8
'''
tensorborad图示化网络的执行流程
'''
import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data

#1.加载数据
mnist = input_data.read_data_sets('data/MNIST_data',one_hot=True)
#2.使用小批量训练,定义批次大小
batch_size = 100
#计算训练次数
batch_num = mnist.train.num_examples//batch_size
#3.定义占位符
#创建命名空间
with tf.name_scope('input'):
    x = tf.placeholder(tf.float32,[None,784],name='x_input')#输入的占位符
    y = tf.placeholder(tf.float32,[None,10],name='y_input')#输出的占位符
#4.定义网络结构
with tf.name_scope('layer'):
    with tf.name_scope('weights'):
        W = tf.Variable(tf.zeros([784,10]),name='W')
    with tf.name_scope('biase'):
        b = tf.Variable(tf.zeros([10]),name='b')
    #预测
    with tf.name_scope('wx_plus_b'):
        wx_plus_b = tf.matmul(x,W)+b
    with tf.name_scope('softmax'):
        predict = tf.nn.sigmoid(wx_plus_b,name='softmax')
#代价函数
with tf.name_scope('loss'):
    loss = tf.reduce_mean(tf.square(y-predict))
#梯度下降
with tf.name_scope('train'):
    train_step = tf.train.GradientDescentOptimizer(0.2).minimize(loss)
#5.开始训练
init = tf.global_variables_initializer()
#结果存储在布尔列表中(概率最大的位置是否相等)
with tf.name_scope('accuracy'):
    with tf.name_scope('correct_prediction'):
        correct_prediction = tf.equal(tf.a
  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
深度学习热力图可视化是一种通过在图像上叠加透明的热力图来可视化深度学习模型对图像的响应区域的技术。这种可视化技术可以帮助我们直观地理解哪些区域对于图像分类最为重要。\[1\] 在深度学习中,我们可以使用卷积神经网络(CNN)来进行图像分类任务。CNN的卷积层可以学习图像的特征,并将这些特征传递到后续层进行分类。通过在CNN中添加类似于全局平均池化的降维层,我们可以确定每个类别对于哪些图像特征区域最为敏感。\[3\] 要进行深度学习热力图可视化,我们可以首先将热力图的最大值缩放到0-255之间的uint8类型,然后将热力图转化成彩色图像。可以使用OpenCV中的函数cv2.applyColorMap来实现这一步骤。接下来,我们可以将热力图和原始图像进行加权叠加,得到一个可视化的热力图图像。这可以通过将热力图乘以一个权重因子,再加上原始图像乘以另一个权重因子,最后将结果转换为uint8类型来实现。\[2\] 深度学习热力图可视化可以用于分析CNN的性能并优化其结构,也可以用于可视化医学图像中的病变区域,从而帮助医生做出更准确的诊断。这种技术在深度学习领域具有广泛的应用前景。 #### 引用[.reference_title] - *1* *3* [【深度学习】pytorch 可视化类激活的热力图 Visualizing heatmaps of class activation](https://blog.csdn.net/x1131230123/article/details/129216557)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [深度学习热力图可视化的方式](https://blog.csdn.net/weixin_37707670/article/details/125231591)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值