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)

  

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

  1. ubuntu之路——day19.2 开源框架与迁移、CNN中的数据扩充

    开源框架与迁移 上面介绍了一些已经取得很好成绩的CNN框架,我们可以直接从GitHub上下载这些神经网络的结构和已经在ImageNet等数据集上训练好的权重超参数. 在应用于我们自己的数据时. 1.如 ...

  2. (在模仿中精进数据可视化05)疫情期间市值增长top25公司

    本文完整代码及数据已上传至我的Github仓库https://github.com/CNFeffery/FefferyViz 1 简介 新冠疫情对很多实体经济带来冲击的同时,也给很多公司带来了新的增长 ...

  3. TensorFlow实战第四课(tensorboard数据可视化)

    tensorboard可视化工具 tensorboard是tensorflow的可视化工具,通过这个工具我们可以很清楚的看到整个神经网络的结构及框架. 通过之前展示的代码,我们进行修改从而展示其神经网 ...

  4. (在模仿中精进数据可视化03)OD数据的特殊可视化方式

    本文完整代码已上传至我的Github仓库https://github.com/CNFeffery/FefferyViz 1 简介 OD数据是交通.城市规划以及GIS等领域常见的一类数据,特点是每一条数 ...

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

    Mysql表数据: demo.sql内容 create table demo( id int ,product varchar(50) ,price decimal(18,2) ,quantity i ...

  6. Python - matplotlib 数据可视化

    在许多实际问题中,经常要对给出的数据进行可视化,便于观察. 今天专门针对Python中的数据可视化模块--matplotlib这块内容系统的整理,方便查找使用. 本文来自于对<利用python进 ...

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

    python中用作数据可视化的工具有多种,其中matplotlib最为基础.故在工具选择上,图形美观之外,操作方便即上乘. 本文着重说明常见图表用基础版matplotlib和改良版pyecharts作 ...

  8. Python数据可视化——散点图

    PS: 翻了翻草稿箱. 发现竟然存了一篇去年2月的文章...尽管naive.还是发出来吧... 本文记录了python中的数据可视化--散点图scatter, 令x作为数据(50个点,每一个30维), ...

  9. 利用AJAX JAVA 通过Echarts实现豆瓣电影TOP250的数据可视化

    mysql表的结构   数据(数据是通过爬虫得来的,本篇文章不介绍怎么爬取数据,只介绍将数据库中的数据可视化):   下面就是写代码了: 首先看一下项目目录:   数据库层   业务逻辑层   pac ...

随机推荐

  1. 耗时 2 年,用 8.5 万块乐高积木最牛复刻 Apple Park

    简评:国外大佬复刻 Apple Park,看了一下细节,确实厉害!只有你想不到,没有乐高拼不起来的,有没有乐高大神挑战一下? 苹果公园以各种各样的方式鼓舞人心,让人感兴趣.从建筑.可持续性和成本,到像 ...

  2. mybaits中"#"和"$"的区别

    动态 sql 是 mybatis 的主要特性之一,在 mapper 中定义的参数传到 xml 中之后,在查询之前 mybatis 会对其进行动态解析.mybatis 为我们提供了两种支持动态 sql ...

  3. P3698 [CQOI2017]小Q的棋盘

    题目链接 题意分析 首先 我们肯定会贪心的走从根节点到叶子结点最长的一条链 首先没有过剩的就好办了 但是有的话 我们就一边往下走 一边走分支 分支上每一个点平均走过两次 所以我们把剩下的除以\(2\) ...

  4. Flowportal-BPM——环境配置

    环境配置: 一.控制面板→程序和功能→打开或不关闭Window功能→选择选项 二.控制面板→管理工具→Internet信息服务(IIS)管理器→左侧第一个→ISAPI和CGI限制→全部选为[允许] 三 ...

  5. (Lua) C++ 加入 Lua 環境擴充應用強度

    Lua 在網上有非常多的介紹,就是一個小而巧的語言,可以放入嵌入式系統 也可以在一般的應用上非常強大,這邊主要記錄如何讓Lua加入C++裡頭應用 Lua source code 是以 C 語言下去編寫 ...

  6. Windows开发经验 - Visual Studio 2017

    1. 调试子进程 Visual Studio 2017及更早的版本原生不支持调试子进程,不确定未来是否会支持.可以通过官方插件让Visual Studio能够调试子进程. https://market ...

  7. 服务器端控件同html控件的区别

    ●ASP.NET中共有几种类型的控件? 三种:1-asp.net控件(动态) 2-标准的html控件(静态) 3-标准的html控件加runat="server"属性(动态) 动态 ...

  8. Sublime Text 3插件收集

    0.Package Control 这个是必须装的,就不多解释了 1.ConvertToUTF8 支持 GBK, BIG5, EUC-KR, EUC-JP, Shift_JIS 等编码的插件. 2.B ...

  9. webpack使用 babili-webpack-plugin 报错 "original.line and original.column are not numbers"

    按照这个解决 https://github.com/chentsulin/electron-react-boilerplate/issues/1300 changing "babili-we ...

  10. JVM启动报错: Could not reserve enough space for object heap error

    首先了解一下参数的含义: 参数 含义 -Xms2G -Xmx2G 代表jvm可用的heap内存最小和最大 -XX:PermSize -XX:MaxPermSize 代表jvm的metadata内存的大 ...