TensorFlow2.1(Anaconda)学习笔记五之单变量线性回归实践

本文内容基于深度学习应用开发-TensorFlow实践慕课教程。

示例

课程以y=2*x+1为例,人工生成数据集,构建、训练模型,最后进行预测。
下面是我在Anaconda上照猫画虎敲的代码:

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

x_data = np.linspace(-1,1,100)
np.random.seed(5)
y_data = 2 * x_data + 1 + np.random.randn(*x_data.shape) * 0.4#加入噪声
#画出散点图
plt.scatter(x_data,y_data)
plt.plot(x_data,2 * x_data + 1,color = 'red',linewidth=1)

在这里插入图片描述

#前向计算
def model(x,w,b):
    return tf.multiply(x,w)+b

#初始化参数w,b
w =tf.Variable(np.random.randn(),tf.float32)
b = tf.Variable(0.0,tf.float32)

#均方差损失函数(回归问题最常用的损失函数)
def loss(x,y,w,b):
    err = model(x,w,b) - y
    return tf.reduce_mean(tf.square(err))

#超参数设置的不同将直接导致结果的准确性。
epochs = 10
lr = 0.01

#计算梯度
def grad(x,y,w,b):
    with tf.GradientTape() as tape:
        loss_ = loss(x,y,w,b)
        return tape.gradient(loss_,[w,b])
    
#记录训练步数
step = 0
#保存loss值的列表
loss_list = []
#每隔多少步显示一次loss值
display_step = 40

for epoch in range(epochs):
    for xs,ys in zip(x_data,y_data):
        loss_ = loss
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值