Python 导致NaN的张量流

Python 导致NaN的张量流,python,machine-learning,tensorflow,Python,Machine Learning,Tensorflow,我正在尝试将TensorFlow在入门页面上提供的线性回归示例程序改编为二次回归。为此,我只添加了另一个变量并更改了函数。然而,这似乎导致了NaN值。这是我的密码: import numpy as np import os import tensorflow as tf os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' sess = tf.Session() a = tf.Variable([1.], dtype=tf.float32) b = tf.Variab

我正在尝试将TensorFlow在入门页面上提供的线性回归示例程序改编为二次回归。为此,我只添加了另一个变量并更改了函数。然而,这似乎导致了NaN值。这是我的密码:

import numpy as np
import os
import tensorflow as tf
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
sess = tf.Session()
a = tf.Variable([1.], dtype=tf.float32)
b = tf.Variable([0.3], dtype=tf.float32)
c = tf.Variable([0.3], dtype = tf.float32)
x = tf.placeholder(tf.float32)
x_train = [1,2,3,4]
y_train =[1,4,9,16]
quad_model = a * x * x + b * x + c
init = tf.global_variables_initializer()
sess.run(init)
y = tf.placeholder(tf.float32) # Model Data
squared_deltas = tf.square(quad_model - y)
loss = tf.reduce_sum(squared_deltas)
optimizer = tf.train.GradientDescentOptimizer(0.01)
train = optimizer.minimize(loss)
for i in range(1000):
    sess.run(train, {x:x_train, y:y_train})
    print(sess.run([a,b,c]))

print(sess.run([a, b, c]))

任何帮助都将不胜感激

可能是由于过度装配造成的,您可以降低学习率和培训次数。

您的学习率太高,请尝试将其更改为例如
0.001
,您会得到正确的结果。是的,这是我的疏忽。谢谢