TensorFlow学习笔记(六)--简单神经网络搭建
2018-01-28 00:11
417 查看
本次神经网络的搭建需要三层,第一层为输入层,第二层为隐藏层,第三层为输出层。以下贴出代码:
import tensorflow as tf import numpy as np #定义一个添加神经网络层数的函数,函数参数包括输入的变量值,输入的神经节点的个数 #输出的神经节点的个数和激活函数 def add_layer(inputs, in_size, out_size, activation_function=None): #有TensorFlow的正态随机数发生器生成一个矩阵的变量 Weights = tf.Variable(tf.random_normal([in_size, out_size])) #tf.zeros生成了一个一行out_size列的里面元素都为0的行向量 biases = tf.Variable(tf.zeros([1, out_size])+0.1) #Weights和inputs相乘再加上偏倚biases得到Wx_plus_b Wx_plus_b = tf.matmul(inputs, Weights) + biases #如果激励函数为零则直接输出Wx_plus_b #若激励函数不为零则将Wx_plus_b传入activation_function, #最后返回outputs if activation_function is None: outputs = Wx_plus_b else: outputs = activation_function(Wx_plus_b) return outputs #输入层;x_data由np.linspace产生300个-1到1等差数列的值 #利用正态分布随机产生一个干扰值noise #利用x_data的平方减去0.5再加上干扰值noise生成y_data x_data = np.linspace(-1,1,300)[:,np.newaxis] noise = np.random.normal(0,0.05,x_data.shape) y_data = np.square(x_data) - 0.5 + noise #定义placeholder xs = tf.placeholder(tf.float32,[None, 1]) ys = tf.placeholder(tf.float32,[None, 1]) #增加隐藏层l1和输出层prediction l1 = add_layer(xs, 1, 10, activation_function=tf.nn.relu) prediction = add_layer(l1, 10, 1, activation_function=None) #求出预测值和观察值的损失函数loss loss = tf.reduce_mean(tf.reduce_sum(tf.square(ys - prediction), reduction_indices=[1])) #设定训练效率为0.1并最小化损失函数loss train_step = tf.train.GradientDescentOptimizer(0.1).minimize(loss) #初始化变量 init = tf.global_variables_initializer() sess = tf.Session() sess.run(init) #训练1000次,每50步输出一次loss for i in range(1000): 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到1搭建简单深度神经网络
- PyTorch上搭建简单神经网络实现回归和分类
- 深度学习一:搭建简单的全连接神经网络
- 简单神经网络搭建;使用不同的损失函数实验
- 《TensorFlow学习笔记》 MINST数字识别问题-简单的神经网络实现
- 简单神经网络的搭建
- TensorFlow学习笔记(九)tf搭建神经网络基本流程
- TensorFlow学习笔记(十)tf搭建神经网络可视化结果
- PyTorch上搭建简单神经网络实现回归和分类的示例
- Tensorflow 搭建简单神经网络 | Python
- tensorflow之安装及简单神经网络搭建
- 用tensorflow搭建一个简单的神经网络
- tensorflow学习笔记(4)softmax分类和简单神经网络比较
- 【懒懒的Tensorflow学习笔记三之搭建简单的神经网络模型】
- 菜鸟尝试超简单三层神经网络回归分析失败
- Tensorflow搭建第一个神经网络
- 深度学习1---最简单的全连接神经网络
- 简单理解LSTM神经网络
- 搭建与Android 交互的简单的网络服务端