news 2026/4/23 11:27:47

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/4/18 10:31:28

传统IT运维的转型之路:一段关于思维与技能的升级记录

在IT基础设施领域工作多年后,我逐渐观察到一种趋势:单纯的系统稳定与响应速度已不再是衡量运维价值的唯一标尺。随着云原生、微服务架构的普及,系统的复杂性呈指数级增长,传统的监控与响应模式开始显得捉襟见肘。作为一名在运维一…

作者头像 李华
网站建设 2026/4/19 17:31:11

计算机毕业设计springboot基于Java的游乐园管理系统设计与实现 基于Spring Boot框架的Java游乐园综合管理系统开发与应用 Java技术驱动的Spring Boot游乐园运营管理系

计算机毕业设计springboot基于Java的游乐园管理系统设计与实现47q0x9 (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。随着电子科技的飞速发展,游乐园作为现代休闲娱乐…

作者头像 李华
网站建设 2026/4/19 17:42:41

ArkUI-X iOS跨平台开发实战:从入门到精通的5个关键步骤

ArkUI-X iOS跨平台开发实战:从入门到精通的5个关键步骤 【免费下载链接】arkui_for_ios ArkUI-X adaptation to iOS | ArkUI-X支持iOS平台的适配层 项目地址: https://gitcode.com/arkui-x/arkui_for_ios 你是否在为跨平台应用开发中iOS端适配的复杂性而困扰…

作者头像 李华
网站建设 2026/4/18 9:57:12

Linux 安全加固:检查并去除 SUID/SGID 特权文件

在日常运维和安全加固中,SUID/SGID 特权文件是一个常见的风险点。攻击者可能利用这些文件进行权限提升,因此我们需要定期检查并处理。🔎 什么是 SUID 和 SGID SUID (Set User ID):程序运行时会以文件所有者的身份执行,…

作者头像 李华
网站建设 2026/4/20 2:21:19

适用于相控阵雷达的宽温、高动态DC-DC电源模块设计与测试

专用于雷达供电系统的DC-DC模块电源是一个非常专业和关键的领域。这类电源与普通工业电源有本质区别,必须满足雷达系统的特殊严苛要求。 以下是对雷达专用DC-DC模块电源的全面解析: 1.核心特点与要求 雷达系统(尤其是相控阵雷达、脉冲多普勒雷…

作者头像 李华