Я новичок в тензорном потоке.У меня есть небольшие изменения в коде статьи, но веса нэн.Я разместил здесь правильный код и модифицированный.Пожалуйста, помогите мне разобраться в проблемах.Правильный код:
import tensorflow as tf
import numpy as np
import pandas as pd
df=pd.read_csv('D:/newcars.csv')
# mileage, cylinder,doors are placeholders for our training data
mileage = tf.placeholder("float")
cylinder = tf.placeholder("float")
doors = tf.placeholder("float")
price = tf.placeholder("float")
a=tf.Variable(1.0)
b=tf.Variable(1.0)
c=tf.Variable(1.0)
d=tf.Variable(1.0)
y_model = tf.multiply(mileage, a) + tf.multiply(cylinder, b) +
tf.multiply(doors, c) + d
error = tf.square(price - y_model)
train_op = tf.train.GradientDescentOptimizer(0.5).minimize(error)
model = tf.global_variables_initializer()
with tf.Session() as session:
session.run(model)
for i in range(len(df)):
mileage_value = np.random.rand()
cylinder_value = np.random.rand()
doors_value = np.random.rand()
price_value = 2*mileage_value+ 3*cylinder_value+4*doors_value+1
print(str(mileage_value) + ' ' + str(cylinder_value) + ' ' +
str(doors_value) + ' ' + str(price_value))
session.run(train_op, feed_dict={mileage: mileage_value, cylinder:
cylinder_value,doors:doors_value,price:price_value})
a_value = session.run(a)
b_value = session.run(b)
c_value = session.run(c)
d_value = session.run(d)
print(str(a_value)+' ' + str(b_value)+ ' ' + str(c_value) + ' ' +
str(d_value))
Модифицированный код: я только заменил
mileage_value = np.random.rand()
cylinder_value = np.random.rand()
doors_value = np.random.rand()
price_value = 2*mileage_value+ 3*cylinder_value+4*doors_value+1
на:
mileage_value = df.loc[i]['Mileage']
cylinder_value = df.loc[i]['Cylinder']
doors_value = df.loc[i]['Doors']
price_value = df.loc[i]['Price']
, и ошибки nan произошли, хотя mipal_value, цилиндр_значение, doors_value и цена_значениевсе было правильно.