import tensorflow as tf
#导入绘图表
import matplotlib.pyplot as plt
import test_data as td
train_data = td.get_train_data(200)
trainx = [v[0] for v in train_data]
trainy = [v[1] for v in train_data]
#构造线性回归函数 y = w * x + b
w = tf.Variable(tf.compat.v1.random_uniform([1]))
b = tf.Variable(tf.zeros([1]))
y = w * trainx + b
#代价函数
cost = tf.reduce_mean(tf.square(y-trainy))
#调整假设函数
tf.compat.v1.disable_eager_execution()
optimizer = tf.compat.v1.train.GradientDescentOptimizer(0.08)
train = optimizer.minimize(cost)
with tf.compat.v1.Session() as sess:
init = tf.compat.v1.global_variables_initializer()
sess.run(init)
print("cost = ", sess.run(cost), "W = ", sess.run(w), "b = ", sess.run(b))
for k in range(500):
sess.run(train)
print("cost = ", sess.run(cost), "W = ", sess.run(w), "b = ", sess.run(b))
print("计算完成")
#构造图形结构
plt.plot(trainx, trainy, 'or', lable='train data')
plt.plot(trainx, sess.run(y), lable="train result")
plt.legend()
plt.show()
代码报错为 ValueError: No variables to optimize.
求大神们给个解答
#导入绘图表
import matplotlib.pyplot as plt
import test_data as td
train_data = td.get_train_data(200)
trainx = [v[0] for v in train_data]
trainy = [v[1] for v in train_data]
#构造线性回归函数 y = w * x + b
w = tf.Variable(tf.compat.v1.random_uniform([1]))
b = tf.Variable(tf.zeros([1]))
y = w * trainx + b
#代价函数
cost = tf.reduce_mean(tf.square(y-trainy))
#调整假设函数
tf.compat.v1.disable_eager_execution()
optimizer = tf.compat.v1.train.GradientDescentOptimizer(0.08)
train = optimizer.minimize(cost)
with tf.compat.v1.Session() as sess:
init = tf.compat.v1.global_variables_initializer()
sess.run(init)
print("cost = ", sess.run(cost), "W = ", sess.run(w), "b = ", sess.run(b))
for k in range(500):
sess.run(train)
print("cost = ", sess.run(cost), "W = ", sess.run(w), "b = ", sess.run(b))
print("计算完成")
#构造图形结构
plt.plot(trainx, trainy, 'or', lable='train data')
plt.plot(trainx, sess.run(y), lable="train result")
plt.legend()
plt.show()
代码报错为 ValueError: No variables to optimize.
求大神们给个解答
