news 2026/6/15 17:02:40

DAY 37 GPU训练及类的call方法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
DAY 37 GPU训练及类的call方法

一、GPU性能的查看:看架构代际、核心数、线程数

二、GPU性能的查看:看显存、看级别、看架构代际

三、GPU训练的方法:数据和模型移动到GPU device上

模型在 GPU 上训练,主要是将模型和数据迁移到 GPU 设备上。

在 PyTorch 里,.to(device) 方法的作用是把张量或者模型转移到指定的计算设备(像 CPU 或者 GPU)上。

- 对于张量(Tensor):调用 .to(device) 之后,会返回一个在新设备上的新张量。

- 对于模型(nn.Module):调用 .to(device) 会直接对模型进行修改,让其所有参数和缓冲区都移到新设备上。

在进行计算时,所有输入张量和模型必须处于同一个设备。要是它们不在同一设备上,就会引发运行时错误。并非所有 PyTorch 对象都有 .to(device) 方法,只有继承自 torch.nn.Module 的模型以及 torch.Tensor 对象才有此方法。

RuntimeError: Tensor for argument #1 'input' is on CPU, but expected it to be on GPU

这个常见错误就是输入张量和模型处于不同的设备。

四、类的call方法:为什么定义前向传播时可以直接写作self.fc1(x)

Python 中,只要一个类定义了 __call__ 方法,这个类的实例就变成了可调用对象(可以像函数一样加括号调用)。

self.fc1(x) 能直接调用的本质是:self.fc1 指向的是一个可调用对象(通常是 PyTorch/TensorFlow 等框架的层类实例,这些类实现了 __call__ 方法),而 __call__ 是 Python 中让实例 “像函数一样被调用” 的核心魔法方法。

self.fc1 通常是 nn.Linear 类的实例,而 nn.Linear(以及所有 nn.Module 子类)都实现了 __call__ 方法,且 __call__ 会关联到层的前向传播逻辑(forward 方法)。

self.fc1(x) 能直接写的核心是:

  • fc1 是 nn.Module 子类(如nn.Linear)的实例;
  • nn.Module 实现了 __call__ 方法,使得实例可被 “函数式调用”;
  • 调用 self.fc1(x) 时,自动触发 __call__ → 调用 forward 方法,完成前向传播。

@浙大疏锦行

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 12:51:32

RulersGuides.js:网页上的Photoshop式辅助线和标尺工具

RulersGuides.js:网页上的Photoshop式辅助线和标尺工具 【免费下载链接】RulersGuides.js Creates Photoshop-like guides and rulers interface on a web page 项目地址: https://gitcode.com/gh_mirrors/ru/RulersGuides.js RulersGuides.js 是一个强大的J…

作者头像 李华
网站建设 2026/6/15 12:55:39

基于COMSOL的冻土路基水热耦合变形模拟研究

COMSOL冻土路基水热耦合变形模拟"青藏高原冻土区修路,路基变形能把施工队逼疯。传统土力学模型遇上相变问题直接歇菜,这时候就得掏出COMSOL搞水热耦合分析。咱们今天用个实际案例,手把手教你怎么用数值模拟预判冻土路基变形。先看物理场…

作者头像 李华
网站建设 2026/6/15 0:26:42

二阶RC电池模型参数在线辨识:基于BMS电池管理系统的实践

二阶RC电池模型参数在线辨识(BMS电池管理系统) 使用遗忘因子最小二乘法 FFRLS 对电池模型进行参数辨识,并利用辨识的参数进行端电压的实时验证,基于动态工况,电压误差不超过20mv,也可以用来与离线辨识做对…

作者头像 李华
网站建设 2026/6/15 14:18:29

Comsol模拟液氮水力压裂。 热-流-固-损伤耦合模型。 展示结果为损伤分布和热场分布,可以...

Comsol模拟液氮水力压裂。 热-流-固-损伤耦合模型。 展示结果为损伤分布和热场分布,可以模拟非均匀的热损伤。液氮压裂这玩意儿最近在油气开采领域挺火的。传统水力压裂用水会产生地层污染,改用液氮不仅环保还能利用低温特性搞事情。不过低温引发的热应力…

作者头像 李华
网站建设 2026/6/15 14:23:05

三篇顶刊代码复现手记:当膀胱癌遇上机器学习

3篇文献复现: [1]综合多组学分析和机器学习改善肌浸润性尿路上皮癌的分子亚型和预后 (1区高分文章)PMID:37449047 [2]单细胞转录组中的免疫原性细胞死亡特征结合101 种机器算法 PMID:37275552 [3]APOBEC介导的突变是膀胱癌患者预后和免疫治疗的有利预测因子:来自泛…

作者头像 李华