# model-converter **Repository Path**: hhy08/model-converter ## Basic Information - **Project Name**: model-converter - **Description**: 面向多硬件平台的一键模型互转工具,覆盖 pth/pt ↔ ONNX ↔ TensorRT,支持 CPU/GPU - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-19 - **Last Updated**: 2026-01-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # model-converter 模型转换库 面向多硬件平台的一键模型互转工具,覆盖 `.pth/.pt` ↔ `ONNX` ↔ `TensorRT`,支持 CPU/GPU。 ## 依赖 - Python 3.8+ - PyTorch(导出 ONNX 时需要) - TensorRT SDK(用于 onnx2trt) - CUDA/cuDNN(若用 GPU/Trt) 安装:`pip install -r requirements.txt`,TensorRT/CUDA 请按机器环境单独安装。 ## 目录 - `scripts/pt2onnx.py`:TorchScript -> ONNX(支持动态 batch / onnxsim) - `scripts/onnx2trt.py`:ONNX -> TensorRT Engine(支持 workspace / FP16 等) - `scripts/ultralytics_export.py`:Ultralytics YOLO 一键 export(onnx/engine 等) - `scripts/torch_env_check.py`:Torch/CUDA/cuDNN 环境自检 - `examples/`:示例脚本(非通用库代码) ## 使用方法 1) TorchScript -> ONNX(推荐) ```bash python scripts/pt2onnx.py \ --model ./weights/model.torchscript.pt \ --output ./outputs/model.onnx \ --input-shape 1 3 224 224 \ --opset 17 \ --dynamic-batch \ --simplify ``` 2) ONNX -> TensorRT (FP16) ```bash python scripts/onnx2trt.py \ --onnx ./outputs/model.onnx \ --engine ./outputs/model_fp16.engine \ --fp16 \ --workspace 4 ``` ## 常用参数约定 - `--input-shape`: N C H W - `--fp16` / `--int8`: TensorRT 精度模式 - `--workspace`: TensorRT workspace 大小(GB) ## 验证 - ONNX:`python -m onnxruntime.tools.onnxruntime_test --model ./outputs/resnet50.onnx` - TensorRT:`trtexec --loadEngine=./outputs/resnet50_fp16.engine --shapes=input:1x3x224x224` ## 其他 - TensorRT 版本需匹配 CUDA/驱动 - 若缺少 GPU/Trt,可仅使用 PyTorch→ONNX/ONNXRuntime 跑通 CPU