当前位置: 首页 > 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.cnnetsun.cn/news/26447.html

相关文章:

  • 计算机毕业设计springboot基于JAVA的校园图书馆管理系统的设计与实现 基于Spring Boot框架的校园图书馆信息化管理系统开发与应用研究 利用Spring Boot与Java技术构建的高
  • 数据结构==LRU Cache ==
  • AMD ROCm平台上的YOLOv8目标检测:从入门到精通的5步优化指南
  • 如何让GPT-5.2成为你职场上的得力助手?这5大功能必看!
  • 如何快速掌握YOLOv12:实时目标检测的完整实践指南
  • PINNs-Torch:用PyTorch轻松实现物理信息神经网络
  • JavaScript学习笔记:5.函数
  • Apache Kvrocks数据库部署实战:从零到一的完整搭建教程
  • 16、远程系统管理与安全防护指南
  • 施耐德BMENOC0321C:高性能模块化驱动控制器(增强通信版)
  • 金融人转AI:从入门到上手,我的“证书认证+技能”学习路线分享
  • 模块化多电平变换器MMC(20子模块、21电平,工作条件220kV(AC)/400kV(DC)...
  • 生态共舞!恭喜10家企业荣获“2025龙蜥社区最佳联合解决方案奖”
  • Java常见开发框架大比拼:Jeesite 、jeecgBoot、smartAdmin、ruoyi
  • IDEA(2020版)实现HttpServletRequest对象
  • 跨平台开发框架选型指南:Uniapp、React Native、Flutter
  • 数字孪生软件开发公司
  • springboot基于vue的校园报修管理系统设计与实现_t45k51ip
  • 嵌入式彩屏单色字体点阵的存储结构设计
  • 《Medical Vision Generalist: Unifying Medical Imaging Tasks in Context》(医学视觉通才:在上下文中统一医学成像任务)的
  • 西安电子科技大学专属信纸模板:3分钟打造专业学术形象
  • 【每日一题】PCIe答疑 - 接大量 GPU 时主板不认设备或无法启动和MMIO的可能关系?
  • 富有的哈佛人 —— 储蓄:财富积累的第一块基石
  • 终极指南:快速掌握eventpp事件处理库的8种集成方法
  • 光刻胶用二正丁基胺增感剂:
  • Spyder vs Jupyter:科学计算效率大比拼
  • 【第八天】08c#今日小结
  • Windows临时文件夹清理指南:释放C盘空间
  • AI助力:用自然语言生成复杂tar命令,告别记忆负担
  • 三相L型并网逆变器:dq坐标系下的控制系统设计与Simulink仿真模型搭建