尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
pytorch深度学习实践(刘二大人)课堂代码作业——线性模型
一、课堂代码np.arange( )用于创建一个等间隔的数组类似于 Python 中的range()函数其参数包括起始值、终止值和步长。np.arange()函数生成的数组不包括终止值本身即从起始值开始依次加上步长直到小于终止值为止。zip( )将多个可迭代对象的元素配对创建具有相应元素的元组。如list1 [1, 2, 3]list2 [a, b, c]那么zip(list1, list2)将list1和list2中的相应元素配对创建了(1, a)、(2, b)和(3, c)这样的元组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均方误差MSE w_list [] mse_list [] #计算各个权重对应的预测值以及损失并记录权重和对应损失 for w in np.arange(0.0, 4.1, 0.1): #输出只会到4.0 print(w,w) l_sum 0 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()二、课后作业np.meshgrid( )目的是生成一个网格矩阵矩阵包含了在给定参数组合下的所有可能的点。以下面代码中的W, B np.meshgrid(W, B)为例W是一个包含水平轴通常是 x 轴或 w 轴上的坐标点的一维数组。B是一个包含垂直轴通常是 y 轴或 b 轴上的坐标点的一维数组。函数将这两个一维数组作为输入并生成两个二维矩阵这两个矩阵的行数和列数由W和B的长度决定第一个输出W是一个二维矩阵其每个元素 W[i, j]的值对应于W中第j个元素。第二个输出B是一个二维矩阵其每个元素 B[i, j]的值对应于B中第i个元素。import numpy as np import matplotlib.pyplot as plt from matplotlib import cm from mpl_toolkits.mplot3d import Axes3D x_data [1.0, 2.0, 3.0] y_data [2.0, 4.0, 6.0] def forward(x): return x * W B def loss(x, y): y_pred forward(x) return (y_pred - y) * (y_pred - y) W np.arange(0.0, 4.1, 0.1) B np.arange(-2.0, 2.1, 0.1) W, B np.meshgrid(W, B) #输出两个二维数组对应的到每个w,b坐标 l_sum 0 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 MSE l_sum / 3 fig plt.figure() #创建新的空白图形窗口 ax Axes3D(fig) #创建一个三维坐标轴对象 surf ax.plot_surface(W, B, MSE, cmapcm.coolwarm) #ax.plot_surface()用来绘制三维表面图cmapcm.coolwarm是冷暖色调的颜色映射 fig.colorbar(surf, shrink0.5, aspect5) #在图形fig里添加一个颜色条颜色条尺寸缩小为原尺寸的一半宽高比为5 ax.set_xlabel(w) ax.set_ylabel(b) ax.set_zlabel(loss) ax.set_title(Cost Value) plt.show()结果
RELATED

相关推荐

计算机毕业设计之jsp基于Java的旅游网站的设计与实现

计算机毕业设计之jsp基于Java的旅游网站的设计与实现

系统根据现有的管理模块进行开发和扩展,采用面向对象的开发的思想和结构化的开发方法对旅游管理的现状进行系统调查。采用结构化的分析设计,该方法要求结合一定的图表,在模块化的基础上进行系统的开发工作。在设计中采用“自下而上”的思想&a…

📅 2026/10/10 8:14:36
运维相关安装包下载地址统计(持续更新)

运维相关安装包下载地址统计(持续更新)

通用软件: jdk: https://www.oracle.com/java/technologies/downloads/#java17 (可更改最后面的版本号来下载自己所需要的版本) docker: https://download.docker.com/linux/centos/7/ , https://download.docker.com/linux/static/stable/ d…

📅 2026/10/10 8:14:36
AlgoNote 算法通关手册:LeetCode 0973 最接近原点的 K 个点(K Closest Points to Origin)堆与优先队列解法全解析

AlgoNote 算法通关手册:LeetCode 0973 最接近原点的 K 个点(K Closest Points to Origin)堆与优先队列解法全解析

教程文档知识库 【免费下载链接】AlgoNote ⛽️「算法通关手册」:从零开始的「算法与数据结构」学习教程,200 道「算法面试热门题目」,1000 道「LeetCode 题目解析」,持续更新中! 项目地址: https://gitcod…

📅 2026/10/10 8:14:36
MORE NEWS

更多资讯

📰

微信小程序外卖管理系统毕设全流程解析:从选题到答辩避坑指南

做毕业设计选题的时候,外卖管理系统经常出现在第一轮筛选里。尤其是资源包里写着“基于微信小程序实现微信外卖管理系统【附项目源码论文说明】”这类标题,很多人觉得这是最省事的方向。可实际解压之后,导入前端、启动后台、改数据库配置&…

📰

缓存降级实战:Redis故障时如何保住系统可用性

半夜两点被报警电话炸醒这件事,干过后端的人多少都经历过几回。我当时维护的某个系统——一个面向移动端的点赞/收藏服务,平时流量不算夸张但峰值很陡——突然收到一堆告警,接口超时率肉眼可见地往上爬。第一反应登服务器,缓存客户…

📰

Claude外置记忆层:跨会话记忆架构与向量召回实战

很多时候我在本地跑Claude做长期项目时都会遇到同一个尴尬:昨天明明聊得好好的,今天打开新会话,它完全不记得你是谁,也不知道你们之前定过什么方案。上下文窗口再大,也架不住“跨会话失忆”这个硬伤。我为了解决这个问…

📰

NURBS 3.0.11 源码在 VS2010 下的编译调试与避坑指南

简介:Nurbs3.0.11开源库VS2010源代码面向C开发者与计算机图形学、CAD方向的学习者,提供在Windows平台下创建与操作NURBS曲线曲面的完整实现。NURBS凭借非均匀性与权重控制,能精确表达复杂几何形状,该库封装了控制点、权重值、阶数…

📰

电场诱导聚合物微纳图案化:Comsol三物理场耦合仿真指南

第一次把Comsol里那个“静电-层流-移动网格”三物理场耦合模型跑出完整聚合物柱状突起时,我盯着后处理动画反复看了很久。这个标题听起来很长,但落到仿真层面,其实是把一个很经典的微纳制造问题变成了可复现的数值实验:聚合物薄膜…

📰

Java入门实战指南:从环境搭建到面向对象与避坑技巧

Java入门这件事,我在不同阶段被问过很多次。有人把课程视频存在网盘里吃灰,有人在笔记软件里收藏了二十篇“新手必看”然后就没有然后了。我理解这种状态:Java不是一门看几眼就能上手的语言,它有一整套名词、概念、工具链&#xf…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬