13 个版本 (1 个稳定版本)
1.0.0 | 2022年10月6日 |
---|---|
0.9.1 | 2022年9月27日 |
0.8.1 | 2022年9月22日 |
#179 in #deployment
每月455次 下载
用于 mmdeploy
13KB
233 代码行(不含注释)
rust-mmdeploy-sys
MMDeploy 的 Rust 绑定。
该仓库是 MMDeploy 的低级抽象,如果您想在 Rust 中使用 MMDeploy,可以直接使用 rust-mmdeploy。如果该库无法满足您的需求,可以基于此仓库轻松构建高级抽象。
MMDeploy 支持矩阵
支持所有设备和平台是这项个人项目的巨大挑战。因此,我只支持并测试了主要设备和平台。
支持 : ✔️ MMDeploy 不支持 : - 不确定(未测试):❓
设备 / 平台 | Linux | Windows | macOS | Android |
---|---|---|---|---|
x86_64 CPU | ✔️ONNX Runtime ❓pplnn ❓ncnn ❓OpenVINO ❓LibTorch |
❓ONNX Runtime ❓OpenVINO |
- | - |
ARM CPU | ❓ncnn | - | - | ❓ncnn |
RISC-V | ❓ncnn | - | - | - |
NVIDIA GPU | ✔️ONNX Runtime ✔️TensorRT ❓pplnn ❓LibTorch |
❓ONNX Runtime ❓TensorRT ❓pplnn |
- | - |
NVIDIA Jetson | ❓TensorRT | ❓TensorRT | - | - |
Huawei ascend310 | ❓CANN | - | - | - |
Rockchip | ❓RKNN | - | - | - |
Apple M1 | - | - | ❓CoreML | - |
Adreno GPU | - | - | - | ❓ncnn ❓SNPE |
Hexagon DSP | - | - | - | ❓SNPE |
先决条件
为了成功构建此仓库,您需要安装一些预装包。
步骤 1. 安装 Clang,这是 Bindgen
所需的。
apt install llvm-dev libclang-dev clang
步骤 2.1.(对于 ONNXRuntime) 下载并安装预构建的 mmdeploy 包和 ONNXRuntime。
wget https://github.com/open-mmlab/mmdeploy/releases/download/v0.9.0/mmdeploy-0.9.0-linux-x86_64-onnxruntime1.8.1.tar.gz
tar -zxvf mmdeploy-0.9.0-linux-x86_64-onnxruntime1.8.1.tar.gz
cd mmdeploy-0.9.0-linux-x86_64-onnxruntime1.8.1
export MMDEPLOY_DIR=$(pwd)/sdk
wget https://github.com/microsoft/onnxruntime/releases/download/v1.8.1/onnxruntime-linux-x64-1.8.1.tgz
tar -zxvf onnxruntime-linux-x64-1.8.1.tgz
cd onnxruntime-linux-x64-1.8.1
export ONNXRUNTIME_DIR=$(pwd)
export LD_LIBRARY_PATH=$ONNXRUNTIME_DIR/lib:$LD_LIBRARY_PATH
步骤 2.2.(对于 TensorRT) 下载并安装预构建的 mmdeploy 包和 TensorRT。
wget https://github.com/open-mmlab/mmdeploy/releases/download/v0.9.0/mmdeploy-0.9.0-linux-x86_64-cuda11.1-tensorrt8.2.3.0.tar.gz
tar -zxvf mmdeploy-0.9.0-linux-x86_64-cuda11.1-tensorrt8.2.3.0.tar.gz
cd mmdeploy-0.9.0-linux-x86_64-cuda11.1-tensorrt8.2.3.0
export MMDEPLOY_DIR=$(pwd)/sdk
快速入门
更新您的 Cargo.toml
mmdeploy-sys = "1.0.0"
构建
将此仓库的根目录切换到当前目录,然后
cargo build
无运行时依赖
~0–1.9MB
~36K SLoC