基于tensorflow的神经网络简单实例
2018-01-12 11:48
543 查看
基于tensorflow的神经网络简单实例
* 发布世家:2018年01月12日11:44:49 更新时间:2018年01月12日11:44:54*内容摘要:
通过构建一个简单的拟合直线的神经网络来简单的讲解基于tensorflow框架的神经网络构建方法。讲解简单的使用tensorboard 来展示、分析神经网络流图的方法。
# coding:utf-8 # 调用tensorflow import tensorflow as tf import numpy as np LOG_PATH = "/home/lucky/mylog.log"
# 这里生成了100对数字,作为整个神经网络的input x_data = np.random.rand(100).astype("float32")
# 使用with,让我们的数据以节点的方式落在tensorflow的报告上。 with tf.name_scope('y_data'): y_data = x_data * 2.5 + 0.8 #权重2.5,偏移设置2.5 tf.summary.histogram("method_demo"+"/y_data",y_data) #可视化观看变量y_data
<tf.Tensor 'y_data/method_demo/y_data:0' shape=() dtype=string>
# 指定W和b变量的取值范围,随机在[-200,200] with tf.name_scope('W'): W = tf.Variable(tf.random_uniform([1], -200.0, 200.0)) tf.summary.histogram("method_demo"+"/W",W) #可视化观看变量
<tf.Tensor 'W/method_demo/W:0' shape=() dtype=string>
# 指定偏移值b,同时shape等于1 with tf.name_scope('b'): b = tf.Variable(tf.zeros([1])) tf.summary.histogram("method_demo"+"/b",b) #可视化观看变量
<tf.Tensor 'b/method_demo/b:0' shape=() dtype=string>
with tf.name_scope('y'): y = W * x_data + b #sigmoid神经元 tf.summary.histogram("method_demo"+"/y",y) #可视化观看变量
<tf.Tensor 'y/method_demo/y:0' shape=() dtype=string>
# 最小化均方 with tf.name_scope('loss'): loss = tf.reduce_mean(tf.square(y - y_data)) tf.summary.histogram("method_demo"+"/loss",loss) #可视化观看变量 tf.summary.scalar("method_demo"+'loss',loss) #可视化观看常量
<tf.Tensor 'loss/method_demo/loss:0' shape=() dtype=string> <tf.Tensor 'loss/method_demoloss:0' shape=() dtype=string>
# 定义学习率,我们先使用0.7来看看效果 optimizer = tf.train.GradientDescentOptimizer(0.7) with tf.name_scope('train'): train = optimizer.minimize(loss)
# 初始化TensorFlow参数 init = tf.global_variables_initializer()
# 运行数据流图 sess = tf.Session() #合并到Summary中 merged = tf.summary.merge_all() #选定可视化存储目录 writer =tf.summary.FileWriter(LOG_PATH,sess.graph) sess.run(init)
# 开始计算 for step in range(500): sess.run(train) if step % 20 == 0: print(step, "W:",sess.run(W),"b:", sess.run(b)) result = sess.run(merged) #merged也是需要run的 writer.add_summary(result,step) #result是summary类型的
0 W: [ 3.31470919] b: [ 0.79210788] 20 W: [ 2.60540962] b: [ 0.74690092] 40 W: [ 2.51701379] b: [ 0.79122424] 60 W: [ 2.50275946] b: [ 0.798576] 80 W: [ 2.50044751] b: [ 0.79976904] 100 W: [ 2.50007224] b: [ 0.7999627] 120 W: [ 2.50001168] b: [ 0.79999393] 140 W: [ 2.50000167] b: [ 0.79999912] 160 W: [ 2.50000072] b: [ 0.79999965] 180 W: [ 2.50000072] b: [ 0.79999965] 200 W: [ 2.50000072] b: [ 0.79999965] 220 W: [ 2.50000072] b: [ 0.79999965] 240 W: [ 2.50000072] b: [ 0.79999965] 260 W: [ 2.50000072] b: [ 0.79999965] 280 W: [ 2.50000072] b: [ 0.79999965] 300 W: [ 2.50000072] b: [ 0.79999965] 320 W: [ 2.50000072] b: [ 0.79999965] 340 W: [ 2.50000072] b: [ 0.79999965] 360 W: [ 2.50000072] b: [ 0.79999965] 380 W: [ 2.50000072] b: [ 0.79999965] 400 W: [ 2.50000072] b: [ 0.79999965] 420 W: [ 2.50000072] b: [ 0.79999965] 440 W: [ 2.50000072] b: [ 0.79999965] 460 W: [ 2.50000072] b: [ 0.79999965] 480 W: [ 2.50000072] b: [ 0.79999965]
#在终端中打开下面一句话 #tensorboard --logdir /home/lucky/mylog.log
tensorboard 的使用
在op上增加可视化变量声明:tf.summary.histogram(“method_demo”+”/y_data”,y_data)在op上增加可视化常量声明:tf.summary.scalar(“method_demo”+’loss’,loss)
合并到Summary中:merged = tf.summary.merge_all()
选定可视化存储目录:writer =tf.summary.FileWriter(LOG_PATH,sess.graph)其中路径声明:LOG_PATH = “{the_log_dir_path}”例如:“/home/lucky/mylog.log”,当运行sess.run的时候,sess.graph就会写入log_path当中。
在每步训练的时候写入当时的数据信息:result = sess.run(merged) #merged也是需要run的;
writer.add_summary(result,step) #result是summary类型的
在终端当中运行:tensorboard –logdir {the_log_dir_path},然后打开提供的链接就行啦!
相关文章推荐
- RNN循环神经网络的直观理解:基于TensorFlow的简单RNN例子
- tensorflow 学习笔记(四) - mnist实例--用简单的神经网络来训练和测试
- tensorflow学习笔记四:mnist实例--用简单的神经网络来训练和测试
- tensorflow学习笔记四:mnist实例--用简单的神经网络来训练和测试
- tensorflow学习笔记四:mnist实例--用简单的神经网络来训练和测试(MNIST For ML Beginners)
- tensorflow 学习笔记11 最简单的循环神经网络(RNN)
- tensorflow入门之训练简单的神经网络方法
- 学习笔记TF055:TensorFlow神经网络简单实现一元二次函数
- 基于Tensorflow的机器学习(5) -- 全连接神经网络
- 用tensorflow搭建一个简单的神经网络
- 基于回归神经网络的中文语句模型实践(Python+Tensorflow+阿里云)
- [置顶] TensorFlow入门之简单实现神经网络的结构
- 用tensorflow建造一个简单的神经网络
- 使用tensorflow实现全连接神经网络的简单示例,含源码
- 一个基于Tensorflow的神经网络机器翻译系统
- tensorflow学习笔记二——建立一个简单的神经网络拟合二次函数
- 基于RNN神经网络和BPTT算法实现的简单二进制计数器
- Tensorflow实战1:最简单神经网络实现
- 基于回归神经网络的中文语句模型实践(Python+Tensorflow+阿里云)
- 【懒懒的Tensorflow学习笔记三之搭建简单的神经网络模型】