简单的y=0.1x+0.3。
用TensorFlow搭建最简单的网络并学习出权重和偏置。
import tensorflow as tf
import numpy as np
#生成数据
x_data= np.random.rand(100).astype(np.float32)
y_data= x_data*0.1+0.3
#生成tensorflow架构
Weights= tf.Variable(tf.random_uniform([1],-1.0, 1.0))#生成一个在-1到1内均匀分布的宽度为1的变量
biases=tf.Variable(tf.zeros([1]))#生成一个宽度为1的零变量
y=Weights*x_data+biases
loss=tf.reduce_mean(tf.square(y-y_data))
optimizer=tf.train.GradientDescentOptimizer(0.5)#构建一个学习率为0.5的梯度下降优化器
train= optimizer.minimize(loss)#训练过程是最小化loss
init=tf.global_variables_initializer()#定义初始化过程是初始化所有变量
#开始学习
sess=tf.Session()#创建TensorFlow会话
sess.run(init)#初始化
for step in range(201):
sess.run(train)#训练
if step%20 == 0:
print(step,sess.run(Weights),sess.run(biases))