PyTorch学习(一)--线性模型

第二讲--线性模型(作业)

教程视频:https://www.bilibili.com/video/av92862340

作业题目:实现线性模型(y=wx+b)并输出loss的3D图像。

实现代码:

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

#这里设函数为y=3x+2
x_data = [1.0,2.0,3.0]
y_data = [5.0,8.0,11.0]

def forward(x):
    return x * w + b

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

mse_list = []
W=np.arange(0.0,4.1,0.1)
B=np.arange(0.0,4.1,0.1)
[w,b]=np.meshgrid(W,B)

l_sum = 0
for x_val, y_val in zip(x_data, y_data):
    y_pred_val = forward(x_val)
    print(y_pred_val)
    loss_val = loss(x_val, y_val)
    l_sum += loss_val

fig = plt.figure()
ax = Axes3D(fig)
ax.plot_surface(w, b, l_sum/3)
plt.show()

结果图:
在这里插入图片描述
**注:**本代码为学生,也就是我自己编写,不一定准确,如果有错误,希望大家可以在评论区指出来,谢谢。

发布了10 篇原创文章 · 获赞 0 · 访问量 134

猜你喜欢

转载自blog.csdn.net/weixin_44841652/article/details/105017087