pytorch学习(一)线性模型

发布时间:2024年01月16日

文章目录

pytorch是一个基础的python的科学计算库,它有以下特点:

  • 类似于numpy,但是它可以使用GPU
  • 可以用它来定义深度学习模型,可以灵活的进行深度学习模型的训练和使用

线性模型

线性模型的基本形式为: f ( x ) = w T x + b f(x)=w^Tx+b f(x)=wTx+b,线性模型的参数是w和b,它的学习是通过不断减少损失实现的,其损失一般为均方损失

在这里插入图片描述
pytorch代码实现:

# from tkinter import W
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]

def forward(x):
    return x*w

def loss(x,y):
    y_pred=forward(x)
    return (y_pred-y)*(y_pred-y)

w_list=[]
mse_list=[]

# 对于不同的w,手动模拟学习的过程
for w in np.arange(0.0,4.1,0.1):
    print("w=",w)
    l_sum=0# 损失值
    # 一次计算MSE的过程
    for x_val,y_val in zip(x_data,y_data):
        # 计算预测值
        y_pred_val=forward(x_val)
        # 计算损失函数
        loss_val=loss(x_val,y_val)
        l_sum+=loss_val
        print("\t",x_val,y_val,y_pred_val,loss_val)
    print("MSE=",l_sum/3)
    w_list.append(w)
    mse_list.append(l_sum/3)

# 画图
plt.plot(w_list,mse_list)
plt.ylabel("Loss")
plt.xlabel("w")
plt.show()

结果截图:
在这里插入图片描述

文章来源:https://blog.csdn.net/CodePlayMe/article/details/135633048
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。