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. python --爬虫基础 --爬取今日头条 使用 requests 库的基本操作, Ajax

    '''思路一: 由于是Ajax的网页,需要先往下划几下看看XHR的内容变化二:分析js中的代码内容三:获取一页中的内容四:获取图片五:保存在本地 使用的库1. requests 网页获取库 2.fro ...

  2. 2017 最新的 cocoaPods 安装方法

    经过努力终于发现了最新的 解决cocoaPods安装的办法: taobao Gems 源已停止维护,现由 ruby-china 提供镜像服务 第一步:安装rvm, 不管需不需要升级ruby,rvm可以 ...

  3. ORACLE 动态执行SQL语句

    本文转自 http://zhaisx.iteye.com/blog/856472 Oracle 动态SQL Oracle 动态SQL有两种写法:用 DBMS_SQL 或 execute immedia ...

  4. Spring+SpringMVC+Mybatis整合redis

    SSM整合redis redis是一种非关系型数据库,与mongoDB不同的是redis是内存数据库,所以访问速度很快.常用作缓存和发布-订阅式的消息队列. 这里用的是ssm框架+maven构建的项目 ...

  5. python学习,day3:函数式编程,递归和高阶函数

    # coding=utf-8 # Author: RyAn Bi def calc(n): #递归 print(n) if int(n/2) > 0: #设置条件,否则会循环999 次,报错, ...

  6. RestTemplate--解决中文乱码

    [原文链接]:https://www.tecchen.xyz/rest-template-messycode.html 我的个人博客:https://www.tecchen.xyz 在开发扇贝-每日一 ...

  7. HTML5创业的另一种可能

    当一种新的颠覆式技术出现,是投靠大平台还是坚持走独立的道路? HTML5(下称H5)火了.在多数人还没完全弄清楚什么是H5时,它已悄无声息地潜入移动端,并渐呈燎原之势火速席卷云寻觅云寻觅. 以前,H5 ...

  8. (转)ELK原理与介绍

    原文:https://www.cnblogs.com/aresxin/p/8035137.html 为什么用到ELK: 一般我们需要进行日志分析场景:直接在日志文件中 grep.awk 就可以获得自己 ...

  9. sysv-rc-conf介绍

    sysv-rc-conf简介 sysv-rc-conf是一个强大的服务管理程序,Ubuntu运行级别Linux 系统任何时候都运行在一个指定的运行级上,不同的运行级的程序和服务都不同,所要完成的工作和 ...

  10. centos7.x设置nginx开机自启动

    设置nginx开机自启动(centos7.x) 第一步:进入到/lib/systemd/system/目录 [root@iz2z init.d]# cd /lib/systemd/system/ 第二 ...