tensorflow 学习笔记4 搭建神经网络基本流程
来源:互联网 发布:沈阳开盘数据恢复 编辑:程序博客网 时间:2024/06/05 14:35
搭建神经网络主要有以下几步:
1.训练的数据
2.定义节点准备接收数据
3.定义神经层:隐藏层和预测层
4.定义 loss 表达式
5.选择 optimizer 使 loss 达到最小
import tensorflow as tfimport numpy as np# 添加层def add_layer(inputs,in_size,out_size,activation_function): # add one more layer and return the output of this layer #变量Weights in_size行 out_size列 Weights=tf.Variable(tf.random_normal([in_size,out_size])) #变量biases 1行 out_size列 由于biases最好不为0加上0.1 biases=tf.Variable(tf.zeros([1,out_size])+0.1) #Wx_plus_b=inputs*Weights+biases Wx_plus_b=tf.matmul(inputs,Weights)+biases #激活函数 if activation_function is None: outputs=Wx_plus_b else: outputs=activation_function(Wx_plus_b) return outputs#x值# 1.生成训练的数据# Make up some real datax_data=np.linspace(-1,1,300)[:,np.newaxis]#噪声 均值为mean 0,标准差为stdev的高斯随机数 0.05,size与x一致noise = np.random.normal(0, 0.05, x_data.shape)#y值 x的平方减去0.5 加上噪声y_data=np.square(x_data)-0.5+noise# 2.定义节点准备接收数据# define placeholder for inputs to network#placeholder x与y 类型tf.float32,输入的行任意,列为1xs=tf.placeholder(tf.float32,[None,1])ys=tf.placeholder(tf.float32,[None,1])# 3.定义神经层:隐藏层和预测层# add hidden layer 输入值是 xs,为1个神经元,在隐藏层有 10 个神经元,激活函数为relul1=add_layer(xs,1,10,activation_function=tf.nn.relu)# add output layer 输入值是隐藏层 l1,在预测层输出 1 个结果,预测层是输出层,参数为l1输入值,10个输入神经元,1个输出神经元,激活函数为Noneprediction=add_layer(l1,10,1,activation_function=None)# 4.定义 loss 表达式# the error between prediciton and real# datareduction_indices是指沿tensor的哪些维度求和loss=tf.reduce_mean(tf.reduce_sum(tf.square(ys-prediction),reduction_indices=[1]))# 5.选择 optimizer 使 loss 达到最小# 这一行定义了用什么方式去减少 loss,学习率是 0.1#选择 Gradient Descent 这个最基本的 Optimizertrain_step=tf.train.GradientDescentOptimizer(0.1).minimize(loss)# important step 对所有变量进行初始化 前面是定义,在运行模型前先要初始化所有变量init=tf.initialize_all_variables()sess=tf.Session()# 上面定义的都没有运算,直到 sess.run 才会开始运算sess.run(init)# 迭代 1000 次学习,sess.run optimizerfor i in range(1000): # training train_step 和 loss 都是由 placeholder 定义的运算,所以这里要用 feed 传入参数 sess.run(train_step,feed_dict={xs:x_data,ys:y_data}) if i%50==0: print(sess.run(loss,feed_dict={xs:x_data,ys:y_data}))结果输出损失函数值:
0.3402380.01304770.009199540.006560350.00587860.005523450.005229620.004981960.004780040.00460190.004433020.004298280.004184430.004088150.003990370.003895030.003807640.003715890.003623690.00353318
阅读全文
0 0
- tensorflow 学习笔记4 搭建神经网络基本流程
- TensorFlow学习笔记(九)tf搭建神经网络基本流程
- TensorFlow学习笔记5:神经网络搭建
- TensorFlow学习笔记(十)tf搭建神经网络可视化结果
- TensorFlow学习笔记6:神经网络搭建(layer,estimator等)
- 莫烦 tensorflow 笔记 (一)搭建神经网络
- TensorFlow学习(七):基本神经网络相关
- TensorFlow学习笔记(4)——深层神经网络
- TensorFlow 深度学习笔记 卷积神经网络
- TensorFlow深度学习笔记 循环神经网络实践
- TensorFlow学习笔记(二):实现神经网络
- TensorFlow学习笔记(三):深层神经网络
- tensorflow卷积神经网络例子学习笔记
- TensorFlow学习笔记02:TensorFlow基本简介
- tensorflow之搭建神经网络
- TensorFlow 深度学习笔记 TensorFlow实现与优化深度神经网络
- TensorFlow 深度学习笔记 TensorFlow实现与优化深度神经网络
- TensorFlow 深度学习笔记 TensorFlow实现与优化深度神经网络
- 关于引用类型的值改变(Object)
- bzoj1007
- Idea 使文件不受SVN版本控制
- Python数据分析之利用pandas查询数据
- Dancing link x(DLX)算法 模板讲解
- tensorflow 学习笔记4 搭建神经网络基本流程
- 一个 JDBC 实现对 mysql 进行分页查询的 实例
- 用Thymeleaf在前台下拉列表取值
- git常用命令记录
- Python3.5安装Scrapy
- 【js基础】javascript中的原型总结
- 拉格朗日多项式插值法
- nyoj97兄弟郊游问题
- RT-5种模式