当前位置: 首页 > news >正文

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 方法,完成前向传播。

@浙大疏锦行

http://www.jsqmd.com/news/78887/

相关文章:

  • YYEVA动态MP4播放器:让视频资源真正“动“起来
  • Activiti流程引擎终极指南:从零开始掌握企业级工作流开发
  • GBase 8a数据库统一平台(UP)引擎介绍
  • MATLAB环境下一维时间序列信号的欠定盲源分离方法(基于L1范数最小化算法)
  • Vuetify终极指南:从零构建企业级Vue应用的完整教程
  • Draco 3D压缩技术:如何让你的3D模型体积缩小90%?
  • BLDC直流无刷电机FOC控制:多层次架构的电机驱动与精确控制的探索实践
  • 如何快速掌握YOLOv12:实时目标检测的完整实践指南
  • 终极图像量化神器:libimagequant完全指南
  • CodeGeeX2企业级部署实战:从环境搭建到性能调优的全链路指南
  • EtherCAT 逐帧解析状态机切换过程(初始清零阶段)
  • 5分钟掌握LightVAE:AI视频生成的终极效率革命
  • 掌握BOSL2:OpenSCAD工具库让3D建模简化如虎添翼
  • 开源监控工具Prometheus与商业监控方案选型指南
  • Spring AI与MCP集成实践:构建智能应用的新方式
  • NIST SP800-53中文翻译:信息安全从业者的终极参考指南
  • 调试技巧:从 IDE 调试到生产环境定位问题,提升调试效率的全方位指南 - 指南
  • 构建可信AI系统:从因果推理到强化学习的完整实践指南
  • Python闭包与解释器全解析
  • 矮冬瓜矮砧密植:水肥一体化系统的详细铺设要点
  • 选对远控软件,效率翻倍!2025年十大品牌真实评分大揭秘
  • mysql中高效取子表数据第一条某个字段返回
  • Dify AI 聊天接口后端代理
  • 2026年河北省职业院校技能大赛(中职组)移动应用与开发赛项竞赛样题
  • 施耐德BMEP586040S:高性能模块化变频驱动平台
  • springboot基于vue的《计算机网络》在线学习平台设计与实现_q918md52
  • 从零构建智能开发助手:Trae Agent配置即代码实战解析
  • 一篇文章带你上手批量功能测试
  • ASCII转换
  • zz 基于 llama-index与Qwen大模型实现RAG