模型训练后权值取值错误

2024-05-08 03:50:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我在TensorFlow中实现了线性回归模型。你知道吗

import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'
import time

import numpy as np
import matplotlib.pyplot as plt
import tensorflow as tf

import utils

DATA_FILE = 'data/birth_life_2010.txt'


data, n_samples = utils.read_birth_life_data(DATA_FILE)`
X = tf.placeholder(tf.float32, name ='X')
Y = tf.placeholder(tf.float32,name = 'Y') 
w = tf.Variable(np.random.randn(), name = 'w')
b = tf.Variable(np.random.randn(), name = 'b')
Y_predicted = w * X + b
loss = tf.square(Y - Y_predicted, name='loss')
opt = tf.train.GradientDescentOptimizer(learning_rate = 0.001)
optimizer = opt.minimize(loss)

with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
        for epoch in range(100):

            for x,y in data:
                sess.run([optimizer,loss], feed_dict={X:x,Y:x})

    w_out,b_out = sess.run([w,b])
plt.plot(data[:,0], data[:,1], 'bo', label='Real data')
plt.plot(data[:,0], data[:,0] * w_out + b_out, 'r', label='Predicted 
data')
plt.legend()
plt.show()

下面是情节:

fitted vs actual values

好像我学到了非常糟糕的参数。我做错了什么?你知道吗


Tags: runnameimportdataostfasnp