PINTO0309/onnx2tf
A tool for converting ONNX files to LiteRT/TFLite/TensorFlow, PyTorch native code (nn.Module), TorchScript (.pt), state_dict (.pt), Exported Program (.pt2), and Dynamo ONNX. It also supports direct conversion from LiteRT to PyTorch.
해결하는 문제
onnx2tf는 ONNX 형식의 AI 모델을 다양한 다른 프레임워크로 변환하도록 설계된 변환 도구입니다. 주로 ONNX 파일을 LiteRT(이전 TFLite) 및 TensorFlow로 변환하여 모바일 또는 엣지 디바이스에 모델을 배포하는 문제를 해결하며, 네이티브 PyTorch 코드, TorchScript 및 기타 PyTorch 호환 형식으로 모델을 변환하는 경로도 제공합니다.
작동 방식
이 도구는 변환을 위한 두 가지 기본 실행 경로를 제공합니다.
flatbuffer_direct(기본값): 레거시 TensorFlow 변환 프로세스를 우회하는 고속 경로입니다. ONNX 그래프 전처리 및 ModelIR로의 직접적인 하위 변환을 수행한 다음 FlatBuffer(TFLite) 파일로 직접 내보냅니다. 이 경로는 레거시 경로보다 훨씬 빠를 수 있습니다(최대 100배).tf_converter(레거시): 표준 TensorFlow Lite Converter를 사용하는 호환성 경로입니다.
TFLite 외에도 이 도구는 state_dict 파일 및 Exported Programs를 포함한 네이티브 PyTorch nn.Module 패키지를 생성할 수 있어 PyTorch 내에서 eager 추론 모드로 모델을 실행할 수 있습니다.
대상 사용자
이 도구는 서로 다른 딥러닝 프레임워크 간에 모델을 이식해야 하는 ML 엔지니어 및 개발자, 특히 ONNX에서 TensorFlow/LiteRT 또는 PyTorch로 변환하여 특정 하드웨어 가속기 또는 배포 대상과의 호환성을 보장해야 하는 사람들을 위해 설계되었습니다.
주요 기능
- 다중 프레임워크 지원: ONNX를 LiteRT/TFLite, TensorFlow 및 네이티브 PyTorch 코드로 변환합니다.
- 고성능:
flatbuffer_direct백엔드는 기존 변환 방법보다 훨씬 빠른 속도를 제공합니다. - 포괄적인 연산자 지원:
tf_converter경로에 대해 방대한 ONNX 연산자를 지원합니다. - 정확도 검증: 변환된 모델의 출력을 원래 ONNX 모델과 비교하는 정확도 보고서를 생성할 수 있습니다.
- 양방향 변환: LiteRT에서 PyTorch로의 직접 변환을 지원합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트