一、先安装基础环境 :
Step 0. 从官网下载安装conda环境(具体步骤略.)
自行安装, 此处不做重点(略过)
Step 1. 创建一个conda虚拟环境,并进入该环境下.
conda create --name mmdeploy_v1.0.0 python=3.8 -y
source activate mmdeploy_v1.0.0 或者 conda activate mmdeploy_v1.0.0
Step 2. 安装pytorch(官网地址: Previous PyTorch Versions | PyTorch).
具体版本依据自己的cuda版本, 本人cuda11.3, 或者自行输入 nvcc -V 命令查看自己的cuda
版本.
pip install torch==1.11.0+cu113 torchvision==0.12.0+cu113 torchaudio==0.11.0 --extra-index-url https://download.pytorch.org/whl/cu113
至此基础环境安装完毕.
二、安装MMDeploy和MMDet环境 :
Step 0. 安装mmcv:
pip install -U openmim
mim install mmengine
mim install "mmcv>=2.0.0rc2"
Step 1. 安装 MMDeploy 推理引擎(Linux-x86_64架构下的):
# 1. install MMDeploy model converter
pip install mmdeploy==1.0.0
# 2. install MMDeploy sdk inference, support onnxruntime-gpu, tensorrt
pip install mmdeploy-runtime-gpu==1.0.0
# 3. 安装tensorrt的python接口
pip install TensorRT-8.2.3.0/python/tensorrt-8.2.3.0-cp38-none-linux_x86_64.whl
pip install pycuda
# 配置环境变量
vim ~/.bashrc
# 下载tensorrt, cudnn 解压后添加下面内容
# tensorrt的lib库
export TENSORRT_DIR=$(pwd)/TensorRT-8.2.3.0
export LD_LIBRARY_PATH=${TENSORRT_DIR}/lib:$LD_LIBRARY_PATH
# cudnn的lib库
export CUDNN_DIR=$(pwd)/cuda
export LD_LIBRARY_PATH=$CUDNN_DIR/lib64:$LD_LIBRARY_PATH
#添加完成后执行
source ~/.bashrc
# 3.2 install ONNX Runtime, onnxruntime-gpu
pip install onnxruntime-gpu==1.8.1
wget https://github.com/microsoft/onnxruntime/releases/download/v1.8.1/onnxruntime-linux-x64-gpu-1.8.1.tgz
tar -zxvf onnxruntime-linux-x64-gpu-1.8.1.tgz
# 配置环境变量
export ONNXRUNTIME_DIR=$(pwd)/onnxruntime-linux-x64-gpu-1.8.1
export LD_LIBRARY_PATH=$ONNXRUNTIME_DIR/lib:$LD_LIBRARY_PATH
#添加完成后执行
source ~/.bashrc
二、下载MMDeploy和MMDet代码 :
① 下载mmdeploy v1.0.0 版本的代码
git clone -b v1.0.0 https://github.com/open-mmlab/mmdeploy.git
② 下载mmdet v3.0的代码
git clone -b v3.0 https://github.com/open-mmlab/mmdetection.git
cd mmdetection-3.0.0
mim install -v -e .
cd ..
三、下载模型测试 :
① 转换 faster-rcnn 模型到tensorrt加速测试:
wget -P checkpoints https://download.openmmlab.com/mmdetection/v2.0/faster_rcnn/faster_rcnn_r50_fpn_1x_coco/faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth
python mmdeploy-1.0.0/tools/deploy.py \
mmdeploy-1.0.0/configs/mmdet/detection/detection_tensorrt_dynamic-320x320-1344x1344.py \
mmdetection-3.0.0/configs/faster_rcnn/faster-rcnn_r50_fpn_1x_coco.py \
mmdetection-3.0.0/checkpoints/faster_rcnn/faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth \
mmdetection-3.0.0/demo/demo.jpg \
--work-dir mmdeploy_model/faster-rcnn \
--device cuda \
--dump-info
②转换RTMDet 到tensorrt测试:
python mmdeploy-1.0.0/tools/deploy.py \
mmdeploy-1.0.0/configs/mmdet/detection/detection_tensorrt_static-640x640.py \
mmdetection-3.0.0/configs/rtmdet/rtmdet_s_8xb32-300e_coco.py \
mmdetection-3.0.0/checkpoints/rtmdet_s_8xb32-300e_coco_20220905_161602-387a891e.pth \
mmdetection-3.0.0/demo/demo.jpg \
--work-dir ./work_dirs/rtmdet \
--device cuda:0 \
--show
等待转换成功后的结果!