Talmaj/onnx2pytorch
Transform ONNX model to PyTorch representation
解决的问题
允许用户将神经网络模型从 ONNX 格式转换为 PyTorch。这使得开发者能够利用 PyTorch 的后端及其丰富的神经网络操作功能,对原本导出为 ONNX 的模型进行处理。
工作原理
该库提供了一个 ConvertModel 类,接收一个加载的 ONNX 模型作为输入,并将其转换为 PyTorch 模型。它将 ONNX 操作符映射到其 PyTorch 等效操作符,确保那些无法在 PyTorch 中表达的操作符或属性会引发错误,而不是产生错误结果。
适用人群
拥有 ONNX 格式模型并希望将其迁移到 PyTorch 生态系统中用于推理或进一步操作的开发者和研究人员。
主要亮点
- 广泛模型支持:成功转换多种架构,包括 MobileNet、ResNet、BERT-Squad 和 YOLOv4。
- 差分测试:在不同 schema 版本下,操作符均经过
onnxruntime和 ONNX 的ReferenceEvaluator测试。 - 调试模式:包含调试标志,可用于比较 PyTorch 版本与原始 ONNX 运行时的激活值,以精确定位差异。
- 推理就绪:支持大于 1 的批量大小,并对 BatchNorm 层使用推理模式。
相关
- 项目
- 项目
- 项目
- 项目
- 项目