首页 > 其他 > 详细

实验6-使用TensorFlow完成线性回归

时间:2021-04-10 16:41:44      阅读:29      评论:0      收藏:0      [点我收藏+]

一、环境

tensorflow2.3.1   matplotlib-1.5.1  numpy-1.18.5 python3.5

二、代码

技术分享图片
import numpy as np
import tensorflow as tf
import matplotlib.pyplot as plt
plt.rcParams["figure.figsize"] = (14,8)

n_observations = 100
xs = np.linspace(-3, 3, n_observations)
ys = np.sin(xs) + np.random.uniform(-0.5, 0.5, n_observations)
plt.scatter(xs, ys)
plt.show()
X = tf.placeholder(tf.float32, name=X)
Y = tf.placeholder(tf.float32, name=Y)
W = tf.Variable(tf.random_normal([1]), name=weight)
b = tf.Variable(tf.random_normal([1]), name=bias)
Y_pred = tf.add(tf.multiply(X, W), b)

loss = tf.square(Y - Y_pred, name=loss)

learning_rate = 0.01
optimizer = tf.train.GradientDescentOptimizer(learning_rate).minimize(loss)
n_samples = xs.shape[0]
with tf.Session() as sess:
    # 记得初始化所有变量
    sess.run(tf.global_variables_initializer())

    writer = tf.summary.FileWriter(./graphs/linear_reg, sess.graph)

    # 训练模型
    for i in range(50):
        total_loss = 0
        for x, y in zip(xs, ys):
            # 通过feed_dic把数据灌进去
            _, l = sess.run([optimizer, loss], feed_dict={X: x, Y: y})
            total_loss += l
        if i % 5 == 0:
            print(Epoch {0}: {1}.format(i, total_loss / n_samples))

    # 关闭writer
    writer.close()

    # 取出w和b的值
    W, b = sess.run([W, b])
print(W,b)
print("W:"+str(W[0]))
print("b:"+str(b[0]))
plt.plot(xs, ys, bo, label=Real data)
plt.plot(xs, xs * W + b, r, label=Predicted data)
plt.legend()
plt.show()
View Code

三、运行结果

技术分享图片

四、遇到的问题

4.1 numpy.core.umath failed to import   

 

numpy版本问题。我的解决方法是安装最新版本的 numpy

 

 在Anaconda Prompt的tensorflow模式下输入以下两条命令

 

pip uninstall numpy

 

pip install numpy

 

 

4.2 No module named ‘tensorflow‘  

配置python解释器的问题

技术分享图片

选择Anaconda下的envs\tersorflow\python.exe

技术分享图片

 

 

 

 

 

 

实验6-使用TensorFlow完成线性回归

原文:https://www.cnblogs.com/wangzhaojun1670/p/14639717.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!