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()
结果截图: