news 2026/7/17 12:33:52

pytorch框架训练、推理、模块冻结等各种细节说明

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
pytorch框架训练、推理、模块冻结等各种细节说明

1.张量的requires_grad属性

importtorch x=torch.randn(3,3,requires_grad=False)y=x*2# y = 2xy.requires_grad=Truez=y.mean()# z=(1/9)*(2x),微分是dz/dx = 2/9# z=(1/9)*y,微分是dz/dy = 1/9z.backward()print(x,x.requires_grad)print(y,y.requires_grad,y.grad)print(z.requires_grad)

注意,python中万物都是对象(object),因此基本上都会有一些属性,类比C++中类和对象的关系。张量也是一种对象。

这里对张量的核心属性requires_grad功能进行演示。例子中,x不需要梯度,因此计算得到的y也是不需要梯度的张量,我们可以手动设置y需要梯度,因此影响到z,z变为需要梯度的。

运行结果:

tensor([[-0.2486,1.0678,0.6611],[0.3205, -0.4081, -0.5011],[-1.1482,1.5839, -0.3978]])False tensor([[-0.4972,2.1357,1.3223],[0.6411, -0.8162, -1.0023],[-2.2964,3.1677, -0.7956]],requires_grad=True)True tensor([[0.1111,0.1111,0.1111],[0.1111,0.1111,0.1111],[0.1111,0.1111,0.1111]])True

2.model.train()和model.eval()对模型的行为影响

先搭建一个简单模型

importtorchimporttorch.nnasnn torch.random.manual_seed(42)classSimpleModel(nn.Module):def__init__(self):super(SimpleModel,self).__init__()self.fc=nn.Linear(10,2)# 一个简单的线性层self.bn=nn.BatchNorm1d(2)# 批量标准化self.dropout=nn.Dropout(0.5)# Dropout层,50%的丢弃概率defforward(self,x):x=self.fc(x)# 通过全连接层x=self.bn(x)# 进行批量标准化x=self.dropout(x)# 应用Dropoutreturnx# 创建模型model=SimpleModel()

2.1 获取模型的全部参数

使用方法state_dict()

print(model.state_dict())

返回一个字典

OrderedDict([('fc.weight', tensor([[-0.0290, -0.2516, -0.3142, -0.2079,0.2460, -0.1968, -0.1554, -0.2758,0.2958,0.3105],[0.2236, -0.0511,0.2169,0.2815,0.1189, -0.2317,0.1405,0.2883,0.2088, -0.2837]
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/16 21:18:10

FaceFusion性能优化与生产部署实践

FaceFusion性能优化与生产部署实践 在AI换脸技术逐渐从实验室走向影视制作、内容创作乃至实时直播的今天,FaceFusion 凭借其高精度的人脸对齐、自然的图像融合效果和模块化架构,已成为开源社区中备受青睐的专业级工具。然而,随着输入分辨率提…

作者头像 李华
网站建设 2026/7/17 4:29:04

不同形貌银包铜粉体(组合),是如何显著提升导电油墨的电性能的?

“真正决定油墨导电性的,不只是银含量,而是粉体之间的‘搭接方式’。”在电子行业里,导电油墨早已不是“单纯的高导电材料”,而是一个微观结构工程的问题: 如何让粉体在树脂体系中构建 连续、稳定、低阻抗、耐环境的导…

作者头像 李华
网站建设 2026/7/16 23:17:34

UVa 12788 Smooth Factor

题目描述 给定一个整数数组 a1,a2,…,ana_1, a_2, \ldots, a_na1​,a2​,…,an​ &#xff0c;定义其 平滑因子 为&#xff1a;最长的连续子数组 ap,…,aqa_p, \ldots, a_qap​,…,aq​ 的长度&#xff0c;其中至多存在一个位置 iii &#xff08; p<i≤qp < i \leq qp<…

作者头像 李华
网站建设 2026/7/15 22:37:53

如何在 UOS 等国产系统下备份 WPS 序列号

目前就 UOS 下的国产 office 软件来看&#xff0c;WPS 的兼容性最好&#xff0c;尽管与 Msoffice 有差距&#xff0c;一般的办公足够了&#xff0c;WPS 的序列号一旦输入&#xff0c;就显示***的&#xff0c;无法直接复制&#xff0c;那么如何备份呢&#xff1f;一、在哪里输入…

作者头像 李华
网站建设 2026/7/16 15:43:32

LobeChat能否用于编写Makefile?编译流程自动化生成

LobeChat能否用于编写Makefile&#xff1f;编译流程自动化生成 在嵌入式开发、系统编程或开源项目维护中&#xff0c;你是否曾因一个拼错的 Tab 或遗漏的依赖项而卡住数小时&#xff1f;尽管 make 工具历经数十年仍坚挺于 Unix 世界的底层构建体系&#xff0c;但 Makefile 的编…

作者头像 李华
网站建设 2026/7/17 15:36:30

LobeChat社区活跃度分析:GitHub星标增长趋势解读

LobeChat社区活跃度分析&#xff1a;GitHub星标增长趋势解读 在AI助手如雨后春笋般涌现的今天&#xff0c;一个耐人寻味的现象正在发生&#xff1a;尽管大语言模型&#xff08;LLM&#xff09;能力日益强大&#xff0c;用户真正“用起来”的门槛却依然不低。打开任意一款官方聊…

作者头像 李华