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

【PyTorch】论文级可复现性学习笔记

1. 模型对齐速查表

复现对齐步骤:

  • 预处理对齐
  • 模型权值对齐
  • 前向对齐(target对齐)
  • 反向对齐(loss对齐)
  • 后处理对齐(box对齐)

2. 随机因素来源

2.1 Python版本

2.1 DataLoader[doc]

3. 固定随机种子&使用确定性算子

condaenvconfig varssetCUBLAS_WORKSPACE_CONFIG=:4096:8
random.seed(seed)np.random.seed(seed)torch.manual_seed(seed)torch.backends.cudnn.deterministic=Truetorch.use_deterministic_algorithms(True)

[cublas]

3.1 os.urandom()

对齐代码参考:

II. 张量对齐

需要对齐:

  1. 形状:tensor.shape
  2. 均值:tensor.abs().mean()

III. 模型权值转换

权重转换:

  1. 得到MMDet模型的Pytorch权重(.pth
  2. 生成参数名对应列表
  3. 根据列表将MMDet权重转换为native-torch模型权值

Paddle教程参考代码:

defload_torch_model(file_name):weights=torch.load(file_name)state_dict=weights['state dict']forkinstate_dict.keys():state_dict[k]=state_dict[k].numpy()returnstate_dict

参考资料

Paddle冠冠老师权重对齐代码:Debug_gfl/gfl_debug_tools/weight_convert.sh

III. 前向运算对齐

主要原则

Note
在前向对齐的时候,可以将模型设置为eval模式,先验证target张量是否已经对齐。

IV. 反向传播对齐

对齐速查表

  1. 输入数据
  2. 权重参数
  3. 学习策略及超参数

对齐目标

对齐目标量:中间输出值和梯度值。

对齐步骤

  1. 训练几次迭代,对比paddle和torch的训练loss是否一致。若不一致,打印中间参数与梯度,输出并对比差异,定位差异点,并分析问题所在。
  2. 用相同数据集,学习策略,超参数分别训练oaddle和torch模型,对比训练log与可视化效果是否一致。

可以使用模拟数据(“假数据”)进行训练,看一下loss的变化情况;

使用序列化文件对齐的方法

关于使用序列化文件进行反向传播对齐的步骤,请参考《Paddle反向梯度排查方法文档 | 反向对齐核验》

获得梯度信息:可以使用register_hook()

我们可以使用register_hook()钩子函数获得梯度信息;

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

相关文章:

  • MogFace人脸检测模型效果展示:多场景高精度识别案例集
  • Ubuntu Server 20.04 系统安装(六):Linux搭建frp服务,实现内网穿透服务,实现外网到内网的在线访问
  • 【多模态大模型——跨越感知与认知的鸿沟】第7章 视觉指令微调与数据工程 7.1 视觉指令数据的构建方法论
  • Qwen3-ASR在医疗转录中的应用:专业术语识别准确率提升方案
  • 2026年4月亚克力制品厂商推荐,亚克力定制/亚克力手套箱/亚克力制品/亚克力装置/亚克力真空箱,亚克力制品供应商哪家好 - 品牌推荐师
  • 构建企业级知识库:结合Phi-3-vision与数据库实现图文混合检索
  • nli-distilroberta-base在舆情分析中的实战:识别报道与评论间的观点倾向性
  • 【多模态大模型——跨越感知与认知的鸿沟】7.2 视觉表达SFT(Visual Expression SFT)
  • Phi-4-mini-reasoning一键部署详解:VMware虚拟机环境下的完整流程
  • Pixel Aurora Engine 版本管理与升级指南:平滑迁移至新模型
  • 2026保安岗亭技术全解析:移动卫生间/移动厕所/移动垃圾分类房/保安岗亭/值班室/可移动垃圾房/吸烟亭/环卫休息室/选择指南 - 优质品牌商家
  • Qwen Pixel Art效果展示:支持透明背景PNG、Sprite Sheet自动切分、图层分离输出
  • cv_unet_image-colorization批量处理:使用Python脚本自动化企业级工作流
  • Qwen3.5-2B模型在VMware虚拟机中的隔离部署与测试方案
  • Subliminal完整配置指南:如何优化字幕搜索和下载性能
  • Qwen3-8B开箱体验:消费级GPU上的流畅推理与对话效果
  • Qwen1.8B模型数据库课程设计辅助:智能SQL生成与优化建议
  • Splitties与Compose集成指南:如何在现有项目中混合使用
  • stm32步进电机加减速代码 stm32f103 stm32步进电机S型加减速程序源码与详细分析
  • Please缓存机制深度剖析:如何实现极速构建的秘诀
  • Tusimple数据集下载地址
  • Tusky Material Design 3实现:现代Android UI设计的最佳范例
  • AI 时代,计算机专业学生该怎么学?鸭
  • 2026年国内聚氨酯地坪材料品牌排行:固耐特厂家/固耐特地坪/固耐特聚氨酯砂浆/广东固耐特/广州固耐特/聚氨酯砂浆地面/选择指南 - 优质品牌商家
  • 海南大学交友平台登录页开发实战day3(解决python传输并读取登录信息的问题)
  • Charisma与Bootstrap深度集成:打造响应式布局的终极指南
  • LangChain重构多Skill Agent系统:智能工具集成实战
  • ClawdBot新手入门:Windows11系统快速部署AI助手图文教程
  • OpenClaw学习助手:Phi-3-mini-128k-instruct自动整理PDF笔记到Notion
  • 物联网连接指南