《PyTorch深度学习实践》第二讲 线性模型 课后练习

《PyTorch深度学习实践》第二讲 线性模型 课后练习

问题描述

代码实现

python 复制代码
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

# 假设函数为 y = 2x + 1
x_data = [1.0, 2.0, 3.0]
y_data = [3.0, 5.0, 7.0]

# 定义模型
def forward(x):
    return x * w + b

# 定义损失函数
def loss(x, y):
    y_pred = forward(x)
    return (y_pred - y) * (y_pred - y)

# mes 平方误差
mes_list = []
# w, b权重
W = np.arange(0.0, 3.1, 0.1)
B = np.arange(0.0, 3.1, 0.1)
# 画3D曲面图时,传入的参数必须是数据值或二维矩阵
# 利用meshgrid函数讲w,b两列数据转化为二维矩阵
[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

# 绘3D图展示
fig = plt.figure()
ax =fig.add_axes(Axes3D(fig))
ax.plot_surface(w, b, l_sum/3)
plt.show()

实现效果

相关推荐
whaosoft-1431 分钟前
51c自动驾驶~合集61
人工智能
拭心1 分钟前
转型 AI 工程师:重塑你的能力栈与思维
大数据·人工智能
数据饕餮4 分钟前
Agent智能体的搭建与应用02:智能体类型划分标准、类型和案例
人工智能·agent·智能体
weixin_423196178 分钟前
# Python 深度学习 初始化(超参数、权重、函数输入列表)避坑指南:None 占位、可变共享与工厂函数
人工智能·深度学习
CNU-ZQQ10 分钟前
opencv Cmake CUDA问题
人工智能·opencv·计算机视觉
ar012310 分钟前
AR远程指导:工业行业的新型生产力引擎
人工智能·ar
冰封剑心12 分钟前
适用于单张图片、多张图片和高帧率视频理解的GPT-4o级别的MLLM手机应用
人工智能·计算机视觉
默 语13 分钟前
用Java撸一个AI聊天机器人:从零到一的踩坑实录
java·人工智能·spring·ai·机器人·spring ai
Skrrapper20 分钟前
【大模型开发之数据挖掘】2.数据挖掘的核心任务与常用方法
数据库·人工智能·数据挖掘
围炉聊科技21 分钟前
尝鲜 AWS Agentic IDE:Kiro 一周使用初体验
ide·人工智能·ai编程·aws