想知道在哪台设备上运行
#准备好数据集 y=0.8*x + 0.7
#建立模型 y=w*x + b (权重W和偏置b)
# 随机初始化W1和b1
X=tf.random_normal([100,1],mean=0.0,stddev=1.0)
X.eval()
#回归曲线函数
# y_predict=tf.matmul(X,weights)+bias 这是真实的数据
y_true=tf.matmul(X,[[0.8]])+[[0.7]]
#样本 建立模型 随机W1和 b1
#初始化w b 必须使用变量op去初始化 需要被训练 tf.Variable(shape,trainable=False) 如果为false则为不被训练
weights=tf.Variable(initial_value=tf.random_normal(shape=(1,1)),trainable=False)
bias=tf.Variable(initial_value=tf.random_normal(shape=(1,1)))
y_predict= tf.matmul(X,weights)+bias
#确定损失函数(预测值与真实值之间的误差)-均方差
#均方差 ((y-y_predict)^2)/m
loss=tf.reduce_mean(tf.square(y_predict-y_true))
#梯度下降优化损失:需要指定学习率(超参数)
# W2= W1-学习率*(方向)
# b2=b1-学习率*(方向)
optimizer= tf.train.GradientDescentOptimizer(learning_rate=0.01).minimize(loss)
#初始化变量op
initop=tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(initop)
for i in range(300):
sess.run(optimizer)
print("loss:",sess.run(loss))
print("weights:",sess.run(weights))
print("bias:",sess.run(bias))