Tensorflow 构造一个简单的神经网络
来源:互联网 发布:二手书上哪里淘宝 编辑:程序博客网 时间:2024/06/08 17:42
神经层里常见的参数通常有weights、biases和激励函数。
看demo
#coding:utf-8import tensorflow as tf import numpy as np#定义添加神经层的函数def add_layer(),它有四个参数:#输入值、输入的大小、输出的大小和激励函数,我们设定默认的激励函数是Nonedef add_layer(inputs,input_size,output_seiz,activation_function = None): #开始定义weights和biases Weights = tf.Variable(tf.random_normal([input_size,output_seiz]))#in_size行, out_size列的随机变量矩阵 #机器学习中,biases的推荐值不为0,所以我们这里是在0向量的基础上又加了0.1 biases = tf.Variable(tf.zeros([1,output_seiz])+0.1) #定义神经网络未激活的值。tf.matmul()是矩阵的乘法。 Wx_plus_b = tf.matmul(inputs,Weights)+biases #当activation_function——激励函数为None时,输出就是当前的预测值——Wx_plus_b, #不为None时,就把Wx_plus_b传到activation_function()函数中得到输出 if activation_function is None: # None 表示线性关系 无需激励函数 output_seiz = Wx_plus_b else: output_seiz = activation_function(Wx_plus_b) # 返回输出 添加一个神经层的函数——def add_layer()就定义好了。 return output_seizx_data = np.linspace(-1,1,300)[:,np.newaxis] #-1到1这个区间里有300个单位,维度 二维noise = np.random.normal(0, 0.05, x_data.shape).astype(np.float32) #噪点y_data = np.square(x_data)-0.5 #x_data的二次放 - 0.5#输入x_input = tf.placeholder(tf.float32,[None,1])y_input = tf.placeholder(tf.float32,[None,1])#简单的三层神经网络:# 输入层1个神经元 | 隐藏层假设10个神经元 | 输出层1个神经元#定义隐藏层layer_hint = add_layer(x_input,1,10,activation_function = tf.nn.relu)#定义输出层layer_output = add_layer(layer_hint,10,1,activation_function = None)loss =tf.reduce_mean(tf.reduce_sum(tf.square(y_input - layer_output),reduction_indices=[1]))#二者差的平方求和再取平均#每一个练习的步骤 通过 优化器以0.1的学习效率对误差进行更正提升,下一次就会有更好的结果。train_step = tf.train.GradientDescentOptimizer(0.1).minimize(loss)#初始init = tf.global_variables_initializer()with tf.Session() as sess: sess.run(init) for i in range(1000): sess.run(train_step, feed_dict={x_input:x_data,y_input:y_data}) if i% 50: print sess.run(loss,feed_dict={x_input:x_data,y_input:y_data})
输出
1.02167
0.882461
…
0.164712
…
0.0363653
…
0.00902714
…
0.00333527
…
0.00140666
….
0.000842972
….
0.000661918
…
0.000372133
可以看出误差越来越小了
阅读全文
0 0
- Tensorflow 构造一个简单的神经网络
- 利用tensorflow构造一个简单的神经网络
- tensorflow笔记(二)之构造一个简单的神经网络
- tensorflow笔记(二)之构造一个简单的神经网络
- Tensorflow构建一个简单的神经网络
- Tensorflow简单的神经网络
- 利用tensorflow keras搭建一个简单的卷积神经网络
- tensorflow学习:建立一个最简单的神经网络
- tensorflow:1)简单的神经网络
- 神经网络在tensorflow的简单应用
- tensorflow实现简单的卷积神经网络
- tensorflow入门之训练简单的神经网络
- 简单卷积神经网络的tensorflow实现
- Tensorflow实例:实现简单的卷积神经网络
- tensorflow实现的一个三层神经网络
- Tensorflow进行简单的神经网络的尝试(建造神经网络)
- tensorflow学习笔记二——建立一个简单的神经网络
- tensorflow学习笔记二——建立一个简单的神经网络拟合二次函数
- LeetCode-16-3Sum-Closest 贪心
- HDU 1087
- 第十二篇 JavaScript(简称JS) 实现显示与隐藏
- 一次Hadoop 奇异故障之旅
- 优秀博文
- Tensorflow 构造一个简单的神经网络
- HDU 1069
- 关于解决jq不同版本兼容性问题
- 295. Find Median from Data Stream
- openfire + spark + red5
- caioj.1032 搜索初步
- hive使用中常见错误
- 全选
- Swift 中的构造函数和析构函数