Talmaj/onnx2pytorch
Transform ONNX model to PyTorch representation
해결하는 문제
ONNX 형식의 신경망 모델을 PyTorch로 변환할 수 있게 해줍니다. 이로 인해 개발자들은 원래 ONNX로 내보낸 모델에 대해 PyTorch의 백엔드와 넓은 범위의 신경망 조작 기능을 활용할 수 있습니다.
작동 방식
이 라이브러리는 로드된 ONNX 모델을 입력으로 받아 PyTorch 모델로 변환하는 ConvertModel 클래스를 제공합니다. ONNX 연산자를 그에 해당하는 PyTorch 연산자로 매핑하며, PyTorch에서 표현할 수 없는 연산자나 속성은 잘못된 결과를 생성하는 대신 오류를 발생시킵니다.
대상 사용자
ONNX 형식의 모델을 보유하고 있으며, 추론이나 추가 조작을 위해 PyTorch 생태계로 이동하고자 하는 개발자 및 연구자입니다.
주요 특징
- 광범위한 모델 지원: MobileNet, ResNet, BERT-Squad, YOLOv4 등 다양한 아키텍처를 성공적으로 변환합니다.
- 차이 테스트: 다양한 스키마 리비전에서
onnxruntime과 ONNX의ReferenceEvaluator를 기반으로 연산자를 테스트합니다. - 디버그 모드: PyTorch 버전과 원본 ONNX 런타임 간의 활성화 값을 비교하여 불일치를 정밀하게 파악할 수 있는 디버그 플래그를 포함합니다.
- 추론 준비 완료: 배치 크기가 1보다 큰 경우에도 지원하며, BatchNorm 레이어에서는 추론 모드를 사용합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트