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)

@浙大疏锦行

相关推荐
晚霞的不甘15 分钟前
CANN 在工业质检中的亚像素级视觉检测系统设计
人工智能·计算机视觉·架构·开源·视觉检测
island131417 分钟前
CANN HIXL 高性能单边通信库深度解析:PGAS 模型在异构显存上的地址映射与异步传输机制
人工智能·神经网络·架构
前端摸鱼匠30 分钟前
YOLOv8 环境配置全攻略:Python、PyTorch 与 CUDA 的和谐共生
人工智能·pytorch·python·yolo·目标检测
结局无敌35 分钟前
构建百年工程:cann/ops-nn 的可持续演进之道
人工智能·cann
MSTcheng.35 分钟前
CANN算子开发新范式:基于ops-nn探索aclnn两阶段调用架构
人工智能·cann
renhongxia136 分钟前
如何基于知识图谱进行故障原因、事故原因推理,需要用到哪些算法
人工智能·深度学习·算法·机器学习·自然语言处理·transformer·知识图谱
做人不要太理性37 分钟前
CANN Runtime 运行时与维测组件:异构任务调度、显存池管理与全链路异常诊断机制解析
人工智能·自动化
算法备案代理39 分钟前
大模型备案与算法备案,企业该如何选择?
人工智能·算法·大模型·算法备案
酷酷的崽79839 分钟前
CANN 生态可维护性与可观测性:构建生产级边缘 AI 系统的运维体系
运维·人工智能
哈__40 分钟前
CANN加速Inpainting图像修复:掩码处理与边缘融合优化
人工智能