MMdeploy在cuda+tensorrt下的配置和编译
- Python安装配置MMdeploy
- 配置openmmlab系列
- 从工程安装mmdeploy
- MMdeploy_runtime以及demo编译安装
- 量化
- 编译runtime和demo
Python安装配置MMdeploy
配置openmmlab系列
pip install -U openmim
如果mim命令遭遇故障,或者安装失败,可以直接使用pip进行安装。
mim install mmengine
mim install mmcv>=2.0.0
mim install mmdet
mim install mmpose
其中,mmcv如果在运行时报错,需要从源码安装:
git clone https://github.com/open-mmlab/mmcv.git
cd mmcv
pip install -e .
从工程安装mmdeploy
pip安装依赖
pip install -r requirements.txt
安装mmdeploy
cd mmdeploy
pip install -e .
MMdeploy_runtime以及demo编译安装
量化
为了测试编译好的功能,需要预先生成量化模型。以下是两例实例命令
#量化目标检测
python tools/deploy.py configs/mmdet/detection/detection_tensorrt-fp16_static-320x320.py ../mmdetection/configs/yolox/yolox_s_8xb8-300e_coco.py ../mmdetection/checkpoints/yolox_s_8x8_300e_coco_20211121_095711-4592a793.pth ../mmdetection/demo/demo.jpg --work-dir mmdeploy_models/yolox_s --device cuda --dump-info
量化配置需要detection_tensorrt-fp16_static-320x320.py
和算法类型yolox_s_8xb8-300e_coco.py
以及模型文件yolox_s_8x8_300e_coco_20211121_095711-4592a793.pth
相匹配。
编译runtime和demo
- mmdeploy_runtime和demo编译命令。过程参考
/docs/install/linux-x86_64.md
的cuda + TensorRT配置部分
cd ${MMDEPLOY_DIR}
mkdir -p build && cd build
cmake .. \
-DCMAKE_CXX_COMPILER=g++ \
-DMMDEPLOY_BUILD_SDK=ON \
-DMMDEPLOY_BUILD_EXAMPLES=ON \
-DMMDEPLOY_BUILD_SDK_PYTHON_API=ON \
-DMMDEPLOY_TARGET_DEVICES="cuda;cpu" \
-DMMDEPLOY_TARGET_BACKENDS=trt \
-Dpplcv_DIR=${PPLCV_DIR}/cuda-build/install/lib/cmake/ppl \
-DTENSORRT_DIR=${TENSORRT_DIR} \
-DCUDNN_DIR=${CUDNN_DIR}
make -j$(nproc) && make install
编译成功后,在编译目录生成bin目录,object_detection和pose_detector均有样例。运行示例如下:
./object_detection cuda mmdeploy_models/yolox_s det.jpg