Day 36GPU的训练以及类的call方法

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

GPU在计算的时候,相较于cpu多了3个时间上的开销

  1. 数据传输开销 (CPU 内存 <-> GPU 显存)

  2. 核心启动开销 (GPU 核心启动时间)

  3. 性能浪费:计算量和数据批次

losses.append(loss.item()) 本身是轻量级操作(只是把一个数值存到列表里,耗时极短,可能只有微秒级)。而深度学习训练的主要耗时在:GPU 的前向 / 反向传播(占总耗时的 95% 以上);数据加载、内存拷贝等其他系统操作。且剩余时长本身是估算值,系统动态随机因素影响。

2.__call__方法让类的实例拥有了 "函数调用" 的能力

python 复制代码
# 定义一个类,实现__call__方法
class MyCalculator:
    def __init__(self, factor):
        self.factor = factor  # 初始化一个乘法因子
    
    def __call__(self, x):
        # 当实例被调用时,执行这个方法
        return x * self.factor
 
# 实例化:因子为2
calc = MyCalculator(2)
 
# 把实例当作函数调用
result = calc(5)
print(result)  # 输出10(5*2)

@浙大疏锦行

相关推荐
万里鹏程转瞬至20 小时前
InternVL(1~3.5版本)多模型大模型训练中的数据集构造总结
人工智能
badhope1 天前
Mobile-Skills:移动端技能可视化的创新实践
开发语言·人工智能·git·智能手机·github
吴佳浩1 天前
GPU 编号进阶:CUDA\_VISIBLE\_DEVICES、多进程与容器化陷阱
人工智能·pytorch·python
吴佳浩1 天前
GPU 编号错乱踩坑指南:PyTorch cuda 编号与 nvidia-smi 不一致
人工智能·pytorch·nvidia
小饕1 天前
苏格拉底式提问对抗315 AI投毒:实操指南
网络·人工智能
卧蚕土豆1 天前
【有啥问啥】OpenClaw 安装与使用教程
人工智能·深度学习
GoCodingInMyWay1 天前
开源好物 26/03
人工智能·开源
AI科技星1 天前
全尺度角速度统一:基于 v ≡ c 的纯推导与验证
c语言·开发语言·人工智能·opencv·算法·机器学习·数据挖掘
zhangfeng11331 天前
Windows 的 Git Bash 中使用 md5sum 命令非常简单 md5做文件完整性检测 WinRAR 可以计算文件的 MD5 值
人工智能·windows·git·bash
monsion1 天前
OpenCode 学习指南
人工智能·vscode·架构