news 2026/7/9 9:11:05

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/8 13:10:53

LobeChat能否转换代码格式?编程语言互译实验

LobeChat能否转换代码格式?编程语言互译实验 在现代软件开发中,团队常常面临技术栈割裂的困境:前端用TypeScript,后端跑Python,边缘设备上却要写C。当一个算法原型需要跨平台部署时,手动重写不仅耗时&#…

作者头像 李华
网站建设 2026/7/9 16:30:40

ERP能解决什么问题?企业管理难题如何轻松破解?

引言:在数字化转型加速的当下,中小型企业正面临着 “规模扩张难、管理成本高、决策效率低” 的三重困境。传统管理模式中,各部门数据孤立、流程繁琐、决策滞后等问题,成为制约企业发展的关键瓶颈。而 ERP(企业资源计划…

作者头像 李华
网站建设 2026/7/9 13:31:24

YOLO训练时GPU显存不足怎么办?

YOLO训练时GPU显存不足怎么办? 在部署一个工业质检项目时,团队卡在了最基础的环节:YOLO模型刚一启动训练,就抛出 CUDA out of memory 错误。设备是单张RTX 3080(10GB显存),数据集为640640分辨率…

作者头像 李华
网站建设 2026/7/9 12:25:35

开源界的ChatGPT平替?LobeChat真实使用感受分享

开源界的ChatGPT平替?LobeChat真实使用感受分享 在大模型应用遍地开花的今天,越来越多开发者不再满足于调用OpenAI的API做简单问答。我们更想要一个能真正掌控、可定制、够安全的“私人AI助手”——既能连自家部署的LLaMA 3,又能接入通义千问…

作者头像 李华
网站建设 2026/7/9 14:17:44

基于西门子PLC1200的钢板恒张力放卷收卷系统大揭秘

基于西门子PLC1200的钢板恒张力放卷收卷系统,一共有6种不同的要求,自己注意仔细甄别,防止交错在工业生产中,钢板的放卷与收卷过程保持恒张力至关重要,这直接影响到产品的质量与生产效率。西门子PLC1200凭借其强大的功能…

作者头像 李华