《PyTorch深度学习实践》第2讲—线性模型
知识点
- 使用matplotlib进行3D曲面绘图
- numpy.meshgrid函数
使用matplotlib进行3D曲面绘图
matplotlib包本身不具有绘制3D图形功能,需要借助它依赖的Axes3D工具实现绘制3D图形
同时需要注意,plot_surface函数接收的数据参数都是numpy.ndarray类型。
numpy.meshgrid函数
numpy.meshgrid函数的功能是对两个向量进行扩展,扩展成为一个n*n的矩阵
作业代码
import numpy as np
from matplotlib import pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
xData = [1.0, 2.0, 3.0]
yData = [2.0, 4.0, 6.0]
# predict function
def predict(x : float, w : np.ndarray, b : np.ndarray) -> np.ndarray:
return x * w + b
# loss function
def loss(predictY : np.ndarray, realY : float) -> float:
return (predictY - realY) ** 2
wList = np.arange(0.0, 4.1, 0.1)
bList = np.arange(-2.0, 2.0, 0.1)
w, b = np.meshgrid(wList, bList)
mse = np.zeros(w.shape)
# enum w and b to predict
for x, y in zip(xData, yData):
predictY = predict(x, w, b)
mse += loss(predictY, y)
mse /= len(xData)
# draw
# add axes
fig = plt.figure()
ax = Axes3D(fig)
# After matplotlib 3.4, Axes3D will need to be explicitly added to the figure
fig.add_axes(ax)
plt.xlabel(r'w', fontsize=20, color='cyan')
plt.ylabel(r'b', fontsize=20, color='cyan')
ax.plot_surface(w, b, mse, rstride = 1, cstride = 1, cmap = 'rainbow')
plt.show()
分类:
PyTorch深度学习实践
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」