我实在不明白为什么这不工作,基本上我只是想取回m和q的值来打印它们,但总是得到[nan, nan]
import tensorflow as tfimport pandas as pdimport matplotlib.pyplot as pltm = tf.Variable(tf.random_uniform(shape=()), dtype=tf.float32)q = tf.Variable(tf.random_uniform(shape=()), dtype=tf.float32)X = tf.placeholder(tf.float32)y = tf.placeholder(tf.float32)linear_model = m * X + qcost = tf.reduce_sum(tf.square(linear_model - y))optimizer = tf.train.GradientDescentOptimizer(0.01)gdescent = optimizer.minimize(cost)train, test = [pd.read_csv(file) for file in ["train.csv", "test.csv"]]if False: # 散点图显示训练点 plt.scatter(train['x'], train['y'], s=1) plt.show()with tf.Session() as sess: sess.run(tf.global_variables_initializer()) _, m, q = sess.run([gdescent, m, q], feed_dict={X: train['x'].values, y: train['y'].values}) print(m, q)
train.csv和test.csv都是带有标题行和两列值的文件,分别是x和y
train.csv的前10行
x,y24,21.5494519650,47.4644630515,17.2186563438,36.5863980387,87.2889838936,32.4638749312,10.7808968381,80.763398625,24.61215147
回答:
已解决,错误是train.csv在第215行缺少y值