#deployment #bindings #build #mmdeploy #mm-deploy

sys mmdeploy-sys

FFI 绑定到 MMDeploy

13 个版本 (1 个稳定版本)

1.0.0 2022年10月6日
0.9.1 2022年9月27日
0.8.1 2022年9月22日

#179 in #deployment

Download history 12/week @ 2024-04-04 4/week @ 2024-05-30 3/week @ 2024-06-06 2/week @ 2024-06-13 2/week @ 2024-06-20

每月455次 下载
用于 mmdeploy

Apache-2.0

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