CNN中tensorboard数据可视化

1.CNN_my_test.py

import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data

mnist = input_data.read_data_sets(‘data/‘, one_hot=True)

print(‘数据ok‘)

print(mnist.train.images[0].shape)

def weight_initializer(shape):
    initializer = tf.truncated_normal(shape, stddev= 0.1)
    return tf.Variable(initializer)

def biases_initializer(shape):
    initializer = tf.constant(0.1, shape=shape)
    return tf.Variable(initializer)

x = tf.placeholder(tf.float32, shape=[None, 784])
y = tf.placeholder(tf.float32, shape=[None, 10])

x_image = tf.reshape(x, [-1, 28, 28, 1])
tf.summary.image(‘input‘, x_image, 1)

wc1 = weight_initializer([5, 5, 1, 32])
bc1 = biases_initializer([32])
hc1 = tf.nn.relu(tf.nn.conv2d(x_image, wc1, strides=[1, 1, 1, 1], padding=‘SAME‘) + bc1)
pool_hc1 = tf.nn.max_pool(hc1, ksize=[1, 2, 2, 1], strides=[1, 2, 2, 1], padding=‘SAME‘)

wc2 = weight_initializer([5, 5, 32, 64])
bc2 = biases_initializer([64])
hc2 = tf.nn.relu(tf.nn.conv2d(pool_hc1, wc2, strides=[1, 1, 1, 1], padding=‘SAME‘) + bc2)
pool_hc2 = tf.nn.max_pool(hc2, ksize=[1, 2, 2, 1], strides=[1, 2, 2, 1], padding=‘SAME‘)

wd1 = weight_initializer([7*7*64, 1024])
bd1 = biases_initializer([1024])
hc2_flat = tf.reshape(pool_hc2, [-1, 7*7*64])
hd1 = tf.nn.relu(tf.matmul(hc2_flat, wd1) + bd1)
hd1_dp = tf.nn.dropout(hd1, keep_prob=0.7)

wd2 = weight_initializer([1024, 10])
bd2 = biases_initializer([10])
y_conv = tf.nn.softmax(tf.matmul(hd1_dp, wd2) + bd2)

cross_entropy = tf.reduce_sum(tf.nn.softmax_cross_entropy_with_logits(logits=y_conv, labels=y))
tf.summary.scalar(‘cross entropy‘, cross_entropy)

train_step = tf.train.AdamOptimizer(learning_rate=1e-4).minimize(cross_entropy)
corr = tf.equal(tf.argmax(y_conv, 1), tf.argmax(y, 1))
acc = tf.reduce_mean(tf.cast(corr, tf.float32))

sess = tf.Session()
sess.run(tf.global_variables_initializer())

merged = tf.summary.merge_all()
log_dir = ‘./log‘
train_writer = tf.summary.FileWriter(log_dir + ‘/train‘, sess.graph)

for i in range(2000):
    if i % 100 != 0:
        batch = mnist.train.next_batch(50)
        train_step.run(session=sess, feed_dict={x: batch[0], y: batch[1]})
        summary, _ = sess.run([merged, train_step], feed_dict={x: batch[0], y: batch[1]})
        train_writer.add_summary(summary, i)

    else:
        batch = mnist.train.next_batch(50)
        train_accuracy = acc.eval(session=sess, feed_dict={x: batch[0], y: batch[1]})
        test_accuracy = acc.eval(session=sess, feed_dict={x: mnist.test.images[0:50], y: mnist.test.labels[0:50]})
        print(‘train_acc: %.5f, test_acc: %.5f‘ % (train_accuracy, test_accuracy))
        run_metadata = tf.RunMetadata()
        train_writer.add_run_metadata(run_metadata, ‘step%03d‘ % i)

        summary, _ = sess.run([merged, train_step], feed_dict={x: batch[0], y: batch[1]})
        train_writer.add_summary(summary, 1)

print(‘训练完成!!‘)
train_writer.close()

分3个部分

1.将需要记录的变量用一下函数记录

图像

tf.summary.image(‘input‘, x_image, 1)

散点图

tf.summary.scalar(‘cross entropy‘, cross_entropy)

2.生成实现变量记录的对象,和记录文件路径

merged = tf.summary.merge_all()
log_dir = ‘./log‘
train_writer = tf.summary.FileWriter(log_dir + ‘/train‘, sess.graph)

3.训练时进行记录

        summary, _ = sess.run([merged, train_step], feed_dict={x: batch[0], y: batch[1]})
        train_writer.add_summary(summary, 1)

  

原文地址:https://www.cnblogs.com/CK85/p/10289164.html

时间: 2024-10-16 21:54:32

CNN中tensorboard数据可视化的相关文章

Python利用Plotly实现对MySQL中的数据可视化

Mysql表数据: demo.sql内容 create table demo( id int ,product varchar(50) ,price decimal(18,2) ,quantity int ,amount decimal(18,2) ,orderdate datetime ); insert into demo select 1,'AAA',15.2,5,76,'2017-09-09' union all select 2,'BBB',10,6,60,'2016-05-18' u

数据可视化利器pyechart和matplotlib比较

python中用作数据可视化的工具有多种,其中matplotlib最为基础.故在工具选择上,图形美观之外,操作方便即上乘. 本文着重说明常见图表用基础版matplotlib和改良版pyecharts作图间的差异 一.maplotlib 基本用法如下: import numpy as np import pandas as pd from pandas import Series, DataFrame import matplotlib.pyplot as plt import matplotli

Python数据可视化——散点图

PS: 翻了翻草稿箱, 发现居然存了一篇去年2月的文章...虽然naive,还是发出来吧... 本文记录了python中的数据可视化--散点图scatter, 令x作为数据(50个点,每个30维),我们仅可视化前两维.labels为其类别(假设有三类). 这里的x就用random来了,具体数据具体分析. label设定为[1:20]->1, [21:35]->2, [36:50]->3,(python中数组连接方法:先强制转为list,用+,再转回array) 用matplotlib的s

Python - matplotlib 数据可视化

在许多实际问题中,经常要对给出的数据进行可视化,便于观察. 今天专门针对Python中的数据可视化模块--matplotlib这块内容系统的整理,方便查找使用. 本文来自于对<利用python进行数据分析>以及网上一些博客的总结. 1  matplotlib简介 matplotlib是Pythom可视化程序库的泰斗,经过几十年它仍然是Python使用者最常用的画图库.有许多别的程序库都是建立在它的基础上或直接调用它,比如pandas和seaborn就是matplotlib的外包, 它们让你使用

数据可视化的常用工具都有哪些?

很多技术都涉及到了不少工具,数据分析也不例外.数据分析中的数据可视化也是有很多的工具支撑的,大家可能普遍认为只要学会了Excel.Photoshop就可以了,其实并不是这样的.数据可视化有很多的工具可以给我们的工作和展示起到如虎添翼的效果.我们在这篇文章中就给大家介绍一下数据可视化中经常用到的工具. 首先我们说的是echarts.很多人认为echarts识百度为数不多的良心产品,其实这种硕大是正确的,一般来说,这个库跟d3相反(d3我们在后面会讲到),它离应用层更近,提供了许多示例模板,把代码复

可视化中的数据

当下随着大数据热潮的到来,数据可视化作为一个新兴的领域,受到了学术界和工业界的重视.从可视分析.数据新闻到商业报表,各个领域都在越来越多的使用它.既然是数据可视化,说明数据是主体,可视化只是将数据以可视的形式表达的手段.接下来小编就与大家一起揭开可视化中数据的面纱,一探究竟. 可视化什么:数据抽象 既然是数据可视化,无可非议,可视化的元素肯定是数据,这里所指的数据是广义上的数据,包括文本.图片.声音等超媒体数据.ECharts在可视化过程中所涉及的四种基本数据集类型分别是表格数据.网状数据.场数

在Python中实现交互式数据可视化

最近,我一直在看美国德克萨斯州奥斯汀举办的SciPy 2015会议上的一段视频——“用Blaze和Bokeh创建Python数据应用程序”,并且情不自禁地反复思考这两个库赋予世界各地使用Python的数据科学家们的强大能力.在本文中,我将带你体验使用Bokeh实现数据可视化的各种可能途径,以及Bokeh为什么是每位数据科学家的必备“神器”. ◆ ◆ ◆ 什么是Bokeh? Bokeh是一个专门针对Web浏览器的呈现功能的交互式可视化Python库.这是Bokeh与其它可视化库最核心的区别.正如下

Salesforce Lightning组件中使用Chart.JS实现数据可视化

之前尝试过Google Chart来实现数据可视化(可以查看我之前的博客Google Chart 之 Area Chart案例),但是很遗憾,Google Chart是无法集成到Salesforce Lightning中的,理由嘛,Google JavaScript会跟Google通信,而且具有脚本的外部引用,但是Sales force的安全策略是不允许这样做的,据我所知,到目前为止是没有解决方法的,所以我们来学习下Chart.JS,这个开源的第三方JS库提供了交互式可视化组件,关键是,它是可以

Tensorflow搭建神经网络及使用Tensorboard进行可视化

创建神经网络模型 1.构建神经网络结构,并进行模型训练 import tensorflow as tfimport numpy as npimport matplotlib.pyplot as plt #python的结果可视化模块 """定义一个添加神经层的函数 inputs:输入数据 in_size:输入神经元的个数 out_size:输出神经元的个数 activation_function:激活函数"""def add_layer(inpu