Tensorflow 六次多项式回归无结果

Tensorflow 六次多项式回归无结果,tensorflow,polynomial-approximations,Tensorflow,Polynomial Approximations,我刚刚了解了tensorflow。为了更熟悉语法,我构建了一个玩具模型来执行多项式回归 我创建的玩具数据集是 x_data = np.linspace(-1, 1, 300) + np.random.uniform(-0.05, 0.05, 300) y_data = np.linspace(-1, 1, 300) ** 2 + np.random.uniform(-0.05, 0.05, 300) 我建立的模型是 batch_size = 20 x = tf.placeholder(tf.f

我刚刚了解了tensorflow。为了更熟悉语法,我构建了一个玩具模型来执行多项式回归

我创建的玩具数据集是

x_data = np.linspace(-1, 1, 300) + np.random.uniform(-0.05, 0.05, 300)
y_data = np.linspace(-1, 1, 300) ** 2 + np.random.uniform(-0.05, 0.05, 300)
我建立的模型是

batch_size = 20
x = tf.placeholder(tf.float64, [1, batch_size])
y = tf.placeholder(tf.float64, [1, batch_size]) 
a0 = tf.Variable(np.random.rand(1))
a1 = tf.Variable(np.random.rand(1))
a2 = tf.Variable(np.random.rand(1))
a3 = tf.Variable(np.random.rand(1))
a4 = tf.Variable(np.random.rand(1))
a5 = tf.Variable(np.random.rand(1))
a6 = tf.Variable(np.random.rand(1))
op = a6 * x ** 6 + a5 * x ** 5 + a4 * x ** 4 + a3 * x ** 3 + a2 * x ** 2 + a1 * x ** 1 + a0
error = tf.reduce_sum(tf.square(op - y))

init = tf.global_variables_initializer()
optimizer = tf.train.GradientDescentOptimizer(0.0001)
train = optimizer.minimize(error)
sess = tf.Session()

steps = 100000
sess.run(init)

for i in range(steps):

    rand_int = np.random.randint(0, 300, batch_size)
    x_temp = x_data[rand_int].reshape(1, batch_size)
    y_temp = y_data[rand_int].reshape(1, batch_size)
    feed = {x: x_temp, y: y_temp}
    sess.run(train, feed)
a0, a1, a2, a3, a4, a5, a6= sess.run([a0, a1, a2, a3, a4, a5, a6])
但是,在运行模型后,我得到的结果是:

[a0, a1, a2, a3, a4, a5, a6] = [array([ nan]), array([ nan]), array([ nan]), array([ nan]), array([ nan]), array([ nan]), array([ nan])]

为什么模特什么也没学到?我已经将学习率降低了一个数量级,但结果仍然是一样的

我没有得到南斯<代码>[array([0.01168764])、array([0.020555])、array([0.78541259])、array([-0.11046838])、array([0.56289744])、array([0.11454655])、array([-0.39754509])