TensorFlow(七):tensorboard网络执行

# MNIST数据集 手写数字
import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data

# 参数概要
def variable_summaries(var):
    with tf.name_scope(‘summaries‘):
        mean=tf.reduce_mean(var)
        tf.summary.scalar(‘mean‘,mean)# 平均值
        with tf.name_scope(‘stddev‘):
            stddev=tf.sqrt(tf.reduce_mean(tf.square(var-mean)))
        tf.summary.scalar(‘stddev‘,stddev)# 标准差
        tf.summary.scalar(‘max‘,tf.reduce_max(var)) # 最大值
        tf.summary.scalar(‘min‘,tf.reduce_min(var)) # 最小值
        tf.summary.histogram(‘histogram‘,var) # 直方图

# 载入数据集
mnist=input_data.read_data_sets(‘MNIST_data‘,one_hot=True)

# 每个批次的大小
batch_size=100
# 计算一共有多少个批次
n_batch=mnist.train.num_examples//batch_size

# 命名空间
with tf.name_scope(‘input‘):
    # 定义两个placeholder
    x=tf.placeholder(tf.float32,[None,784],name=‘x-input‘)
    y=tf.placeholder(tf.float32,[None,10],name=‘y-input‘)

with tf.name_scope(‘layer‘):
    # 创建一个简单的神经网络
    with tf.name_scope(‘wights‘):
        W=tf.Variable(tf.zeros([784,10]),name=‘W‘)
        variable_summaries(W)
    with tf.name_scope(‘biases‘):
        b=tf.Variable(tf.zeros([10]),name=‘b‘)
        variable_summaries(b)
    with tf.name_scope(‘wx_plus_b‘):
        wx_plus_b=tf.matmul(x,W)+b
    with tf.name_scope(‘softmax‘):
        prediction=tf.nn.softmax(wx_plus_b)

with tf.name_scope(‘loss‘):
    # 二次代价函数
    loss=tf.reduce_mean(tf.square(y-prediction))
    tf.summary.scalar(‘loss‘,loss) # 一个值就不用调用函数了
with tf.name_scope(‘train‘):
    # 使用梯度下降法
    train_step=tf.train.GradientDescentOptimizer(0.2).minimize(loss)

# 初始化变量
init=tf.global_variables_initializer()

with tf.name_scope(‘accuracy‘):
    with tf.name_scope(‘correct_prediction‘):
        # 求最大值在哪个位置,结果存放在一个布尔值列表中
        correct_prediction=tf.equal(tf.argmax(y,1),tf.argmax(prediction,1))# argmax返回一维张量中最大值所在的位置
    with tf.name_scope(‘accuracy‘):
        # 求准确率
        accuracy=tf.reduce_mean(tf.cast(correct_prediction,tf.float32)) # cast作用是将布尔值转换为浮点型。
        tf.summary.scalar(‘accuracy‘,accuracy) # 一个值就不用调用函数了

# 合并所有的summary
merged=tf.summary.merge_all()

with tf.Session() as sess:
    sess.run(init)
    writer=tf.summary.FileWriter(‘logs/‘,sess.graph) # 写入文件

    for epoch in range(10):
        for batch in range(n_batch):
            batch_xs,batch_ys=mnist.train.next_batch(batch_size)
            summary,_=sess.run([merged,train_step],feed_dict={x:batch_xs,y:batch_ys})

        # 添加样本点
        writer.add_summary(summary,epoch)
        #求准确率
        acc=sess.run(accuracy,feed_dict={x:mnist.test.images,y:mnist.test.labels})
        print(‘Iter:‘+str(epoch)+‘,Testing Accuracy:‘+str(acc))
        

准确率

可以修改代码,增加训练时每个点的样本。

原文地址:https://www.cnblogs.com/felixwang2/p/9184344.html

时间: 2024-10-13 15:54:09

TensorFlow(七):tensorboard网络执行的相关文章

网络结构----ISO/OSI七层网络模型和TCP/IP四层网络模型

对等实体在一次交互作用中传送的信息单位称为协议数据单元,它包括控制信息和用户数据两部分.上下层实体之间的接口称为服务访问点. ISO/OSI参考模型分为:物理层.数据链路层.网络层.传输层.会话层.表示层和应用层. 物理层:表示一些物理设备,还包括网络拓扑结构.信令与编码方法等,涉及到在信道上传输的原始比特流,在信号传输中,物理层处理数据传输速率,监控数据出错频率并处理电压电平. 数据链路层:将物理层提供的可能出错的物理连接改造成逻辑上无差错的数据链路,并对物理层的原始数据进行封装,也就是负责在

梳理Linux下OSI七层网络与TCP/IP五层网络架构

作为一个合格的运维人员,一定要熟悉掌握OSI七层网络和TCP/IP四层网络结构知识. 一.OSI七层网络协议 OSI是Open System Interconnect的缩写,意为开放式系统互联. OSI参考模型各个层次的划分遵循下列原则: 1)根据不同层次的抽象分层 2)每层应当有一个定义明确的功能 3)每层功能的选择应该有助于制定网络协议的国际标准. 4)各层边界的选择应尽量节省跨过接口的通信量. 5)层数应足够多,以避免不同的功能混杂在同一层中,但也不能太多,否则体系结构会过于庞大 6)同一

2017-2018-2 20155228 《网络对抗技术》 实验七:网络欺诈防范

2017-2018-2 20155228 <网络对抗技术> 实验七:网络欺诈防范 1. 实践内容 本实践的目标理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法.具体实践有 1.1 简单应用SET工具建立冒名网站 1.2 ettercap DNS spoof 1.3 结合应用两种技术,用DNS spoof引导特定访问到冒名网站 2. 基础问题回答 2.1 通常在什么场景下容易受到DNS spoof攻击 在局域网中,攻击者很容易冒充网关对被害者进行DNS欺骗从而进行DNS spoof

20155328 《网络对抗》 实验七:网络欺诈防范

20155328 <网络对抗> 实验七:网络欺诈防范 实践内容及过程记录 一.简单应用SET工具建立冒名网站 首先,在kali终端输入命令sudo vi /etc/apache2/ports.conf修改Apache的端口配置文件,将监听端口修改为http对应的80号端口. 输入netstat -tupln |grep80命令查看80端口是否被占用,如果被占用则输入kill 进程号 杀死该进程,没有则继续,输入apachectl start开启Apache服务. 在新终端内输入setoolki

20165309 《网络对抗技术》实验七:网络欺诈防范

20165309 <网络对抗技术>实验七:网络欺诈防范 1.基础问题回答 (1)通常在什么场景下容易受到DNS spoof攻击? (2)在日常生活工作中如何防范以上两攻击方法. 2.实践总结与体会 (1)遇到的问题与解决 (2)实验感受 3.实践过程记录 (1)简单应用SET工具建立冒名网站 (2)ettercap DNS spoof (3)结合应用两种技术,用DNS spoof引导特定访问到冒名网站 1.基础问题回答 (1)通常在什么场景下容易受到DNS spoof攻击 在使用公共网络时,和

Tensorflow机器学习入门——网络可视化TensorBoard

一.在代码中给变量和操作命名并输出Graph到指定的文件夹 import tensorflow as tf import numpy as np import matplotlib.pyplot as plt import os #设置当前工作目录 os.chdir(r'H:\Notepad\Tensorflow') def add_layer(inputs, in_size, out_size, activation_function=None): with tf.name_scope('la

学习TensorFlow,TensorBoard可视化网络结构和参数

在学习深度网络框架的过程中,我们发现一个问题,就是如何输出各层网络参数,用于更好地理解,调试和优化网络?针对这个问题,TensorFlow开发了一个特别有用的可视化工具包:TensorBoard,既可以显示网络结构,又可以显示训练和测试过程中各层参数的变化情况.本博文分为四个部分,第一部分介绍相关函数,第二部分是代码测试,第三部分是运行结果,第四部分介绍相关参考资料. 一. 相关函数 TensorBoard的输入是tensorflow保存summary data的日志文件.日志文件名的形式如:e

tensorflow使用tensorboard实现数据可视化

撰写时间:2017.5.17 网上关于这方面的教程很多,不过都偏向与如何整理图,就是通过增加命名域使得图变得好看.下面主要讲解如何搭建起来tensorboard. 系统环境:ubuntu14.04,python2.7,tensorflow-0.11 创建summary op 1.需要在图中创建summary的操作.常用的summary操作有tf.summary.scalar和tf.summary.histogram. 注:图中必须存在summary节点.不然会报错,如下图报错 merge合并操作

OSI的七层网络结构图和TCP/IP的结构图

   一.OSI参考模型和TCP/IP协议模型的定义         OSI(Open System Interconnection),开放式系统互联参考模型 ,它把网络协议从逻辑上分为了7层.每一层都有相关.相对应的物理设备,比如常规的路由器是三层交换设备,常规的交换机是二层交换设备.这7层是:物理层.数据链路层.网络层.传输层.会话层.表示层.应用层.         TCP/IP协议(Transmission Control Protocol/Internet Protocol),传输控制