一、构建单层隐藏的神经网络
import tensorflow as tf
import numpy as np
#creat data
x_data = np.random.rand(100).astype(np.float32)
y_data = x_data*10+0.3
#creat tensorflow structure start
#第一个参数表示维度 1维
# -1 1 表示初始化值的范围是[-1,1]
Weights = tf.Variable(tf.random_uniform([1],-1.0,1.0))
biases = tf.Variable(tf.zeros([1]))
y = Weights*x_data+biases
#损失的计算方法
loss = tf.reduce_mean(tf.square(y-y_data))
#优化器的选择 0.5表示学习速率是0.5
optimizer = tf.train.GradientDescentOptimizer(0.5)
#训练的目标是 最小化损失
train = optimizer.minimize(loss)
#所有变量的初始化 很重要
init = tf.initialize_all_variables()
### creat tensortflow structure end ###
#把会话跑起来
sess = tf.Session()
sess.run(init) #Very important
#执行201次 每20次打印,打印的时候 sess.run(参数)是将指针指向参数 获得数值用于打印
for step in range(201):
sess.run(train)
if step % 20 == 0:
print(step,sess.run(Weights),sess.run(biases))
二、运行结果
本文参考资料-----【莫烦Python】 系列教程