MMdeploy在cuda+tensorrt下的配置和编译

2024-06-11 20:44

本文主要是介绍MMdeploy在cuda+tensorrt下的配置和编译,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

在这里插入图片描述

这篇关于MMdeploy在cuda+tensorrt下的配置和编译的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1052234

相关文章

Keepalived+Nginx双机配置小结

《Keepalived+Nginx双机配置小结》本文主要介绍了Keepalived+Nginx双机配置小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1.1 软硬件要求1.2 部署前服务器配置调优1.3 Nginx+Keepalived部署1.3

Apache伪静态(Rewrite).htaccess文件详解与配置技巧

《Apache伪静态(Rewrite).htaccess文件详解与配置技巧》Apache伪静态(Rewrite).htaccess是一个纯文本文件,它里面存放着Apache服务器配置相关的指令,主要的... 一、.htAccess的基本作用.htaccess是一个纯文本文件,它里面存放着Apache服务器

nginx配置多域名共用服务器80端口

《nginx配置多域名共用服务器80端口》本文主要介绍了配置Nginx.conf文件,使得同一台服务器上的服务程序能够根据域名分发到相应的端口进行处理,从而实现用户通过abc.com或xyz.com直... 多个域名,比如两个域名,这两个域名其实共用一台服务器(意味着域名解析到同一个IP),一个域名为abc

nginx生成自签名SSL证书配置HTTPS的实现

《nginx生成自签名SSL证书配置HTTPS的实现》本文主要介绍在Nginx中生成自签名SSL证书并配置HTTPS,包括安装Nginx、创建证书、配置证书以及测试访问,具有一定的参考价值,感兴趣的可... 目录一、安装nginx二、创建证书三、配置证书并验证四、测试一、安装nginxnginx必须有"-

springboot rocketmq配置生产者和消息者的步骤

《springbootrocketmq配置生产者和消息者的步骤》本文介绍了如何在SpringBoot中集成RocketMQ,包括添加依赖、配置application.yml、创建生产者和消费者,并展... 目录1. 添加依赖2. 配置application.yml3. 创建生产者4. 创建消费者5. 使用在

SpringBoot使用Jasypt对YML文件配置内容加密的方法(数据库密码加密)

《SpringBoot使用Jasypt对YML文件配置内容加密的方法(数据库密码加密)》本文介绍了如何在SpringBoot项目中使用Jasypt对application.yml文件中的敏感信息(如数... 目录SpringBoot使用Jasypt对YML文件配置内容进行加密(例:数据库密码加密)前言一、J

MySQL zip安装包配置教程

《MySQLzip安装包配置教程》这篇文章详细介绍了如何使用zip安装包在Windows11上安装MySQL8.0,包括下载、解压、配置环境变量、初始化数据库、安装服务以及更改密码等步骤,感兴趣的朋... 目录mysql zip安装包配置教程1、下载zip安装包:2、安装2.1 解压zip包到安装目录2.2

MySQL 中的服务器配置和状态详解(MySQL Server Configuration and Status)

《MySQL中的服务器配置和状态详解(MySQLServerConfigurationandStatus)》MySQL服务器配置和状态设置包括服务器选项、系统变量和状态变量三个方面,可以通过... 目录mysql 之服务器配置和状态1 MySQL 架构和性能优化1.1 服务器配置和状态1.1.1 服务器选项

IDEA编译报错“java: 常量字符串过长”的原因及解决方法

《IDEA编译报错“java:常量字符串过长”的原因及解决方法》今天在开发过程中,由于尝试将一个文件的Base64字符串设置为常量,结果导致IDEA编译的时候出现了如下报错java:常量字符串过长,... 目录一、问题描述二、问题原因2.1 理论角度2.2 源码角度三、解决方案解决方案①:StringBui

SpringBoot+MyBatis-Flex配置ProxySQL的实现步骤

《SpringBoot+MyBatis-Flex配置ProxySQL的实现步骤》本文主要介绍了SpringBoot+MyBatis-Flex配置ProxySQL的实现步骤,文中通过示例代码介绍的非常详... 目录 目标 步骤 1:确保 ProxySQL 和 mysql 主从同步已正确配置ProxySQL 的