用Tensorflow 对一个随机产生的数据的权值和偏置进行预测
import tensorflow as tf
import numpy as np
#创建一些随机数据
x_data = np.random.rand(100).astype(np.float32)
#这就是y_data 我们要训练数据得到0.1的权值和0.3的偏置
y_data = x_data *0.1 +0.3
#创建训练数据结构
#生成了一个随机数列,范围是-1.0,1.0的范围
Weights = tf.Variable(tf.random_uniform([1],-1.0,1.0))
#偏置是0
biases = tf.Variable(tf.zeros([1]))
#训练的Y值就是
y = Weights*x_data +biases
#定义损失值
loss = tf.reduce_mean(tf.square(y-y_data))
#神经网络要做的即是优化参数减小误差
#优化器 梯度下降 0.5代表学习效率
optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(loss)
#开始初始化所有的变量
init = tf.global_variables_initializer()
#激活神经网络
sess = tf.Session()
sess.run(init)
#让神经网络一步一步的训练
for step in range(300):
sess.run(train)
if step % 20 == 0:
#输出我们的权重和偏重是多少
print(step,sess`
un(Weights),sess.run(biases))