Agent Skills
返回列表
PyTorch 开发模式

PyTorch 开发模式

开发编程 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_e514343f/xrqtest。

技能介绍

解决的问题

PyTorch 项目里,问题往往不在模型结构,而在训练细节:device 被写死、随机种子缺失、tensor shape 没校验、train() 和 eval() 漏切、GPU 内存增长、数据加载成为瓶颈。这个技能把这些高频细节整理成可检查的模式,帮助写新模型、训练脚本、做代码审查、调试训练循环和数据管道。

核心能力与工作方式

它围绕三组约束展开:设备无关、结果可复现、显式形状管理。常见做法包括使用 .to(device) 代替硬编码 GPU,用 torch.manual_seed 固定随机源,在 nn.Module 中明确输出 shape,并用 torch.no_grad()、optimizer.zero_grad(set_to_none=True)、model.train()/model.eval() 组成标准训练与验证循环。数据侧覆盖 Dataset、DataLoader、pin_memory=True 和变长样本的 collate_fn。实验管理覆盖 checkpoint 保存加载,并提示 weights_only=True 的安全加载。性能部分给出 torch.amp.autocast 混合精度、gradient_checkpointing 和 torch.compile 的使用场景,同时提醒用 torch.profiler 与 torch.cuda.memory_summary() 做验证。

适用边界

它适合 PyTorch 训练代码与推理服务的工程化检查,不是完整的分布式训练、数据科学实验平台或模型压缩方案。torch.compile、混合精度、显存策略都与具体版本、算子和输入形状相关,落地前需要按真实数据 profile。

使用场景

  • 写 PyTorch 模型时检查 device、随机种子与 tensor shape。
  • 审查训练循环是否漏掉 train/eval、no_grad 和 zero_grad。
  • 调试数据管道,配置 pin_memory、collate_fn 和 DataLoader。
  • 优化显存与速度,使用 autocast、checkpointing 和 torch.compile。

适合人员

  • 负责训练脚本的算法工程师:希望固定随机种子、切好 train/eval 并减少显存问题。
  • 做 PyTorch 代码评审的工程师:需要检查 device、shape、checkpoint 和安全加载。
  • 维护数据管道的 ML 工程师:要优化 DataLoader、pin_memory 和变长 collate。
  • 部署推理服务的工程师:想用 no_grad、autocast 和 torch.compile 检查性能。