Pytorch学习笔记

本文记录了作者通过观看B站视频并复现PyTorch线性回归代码的过程,以加深对深度学习的理解。代码实现了前向传播、损失函数计算及训练过程,通过循环遍历寻找最小误差的权重w。最终,通过matplotlib绘制了w与损失函数值的关系图,展示了模型的学习过程。
摘要由CSDN通过智能技术生成

记录一下自己的学习笔记

看了B站刘二大人的pytorch视频,想复现一下代码来加深对深度学习的理解,以下是代码和注解,以及测试结果

import numpy as np
import matplotlib.pyplot as plt

x_data = [1.0, 2.0, 3.0]  #创建两个测试数据集列表
y_data = [2.0, 4.0, 6.0]

'''w是我们要通过测试找出来的那个误差最小时w的值'''
def forword(x):
    return x * w #需要下面for循环来定义,并赋值给w

'''计算MSE(平均平方误差)'''
def loss(x,y):
    y_pred = forword(x)
    return (y - y_pred)*(y - y_pred) #或者可以写成(y-y_pred)**2

'''training'''
w_list = []  #创建两个空列表,用来存放模拟数据集
mse_list = []
'''遍历'''
'''for循环中,同一个循环中的语句的前端要对齐,当有两个嵌套循环时,注意各语句所属位置'''
for w in np.arange(0.0, 4.0, 0.1): #以0.0为初始值循环赋值给w,每次增加0.1,终止值为4.0
    print('w=', w) #输出w的值
    l_sum = 0
    for x_val,y_val in zip(x_data,y_data): #通过zip函数使得数据集能够拼成所测试函数
        y_pred_val = forword(x_val) #计算预算值并打印输出
        loss_val = loss(x_val,y_val)   #loss = (x_val - y_pred_val)**2
        l_sum += loss_val
        print('\t', x_val,y_val,y_pred_val,loss_val)
    print('mse', l_sum/3)  #由于只有三个测试数据,所以平均平方误差要除以三
    # matplotlib实现可视化
    w_list.append(w)  #空列表添加数据用append
    mse_list.append(l_sum/3)

plt.plot(w_list,mse_list)
plt.xlabel('w')
plt.ylabel('loss')
plt.show()

![这是在知道w为2的时候得到的数据模型为线性函数y=w*x,
一般数据模型需要我们自己去推导(https://img-blog.csdnimg.cn/c7c348a053e1478ea10ae7524575436b.png#pic_center)














评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值