RetinaFace Mxnet转TensorRT
1. github开源代码
RetinaFace TensorRT推理的开源代码位置在https://github.com/linghu8812/tensorrt_inference/tree/master/RetinaFace
https://github.com/jacke121/tensorrt_inference
文章目录
RetinaFace MXNet模型转ONNX转TensorRT
1. github开源代码
2. MXNet模型转ONNX模型
3. ONNX模型转TensorRT模型
3.1 概述
3.2 编译
3.3 运行
4. 推理结果
RetinaFace MXNet模型转ONNX转TensorRT
2. MXNet模型转ONNX模型
首先通过命令git clone https://github.com/deepinsight/insightface.gitclone insightface的代码,然后将export_onnx.py文件拷贝到./detection/RetinaFace或者./detection/RetinaFaceAntiCov文件夹中,通过以下命令生成ONNX文件。对于RetinaFace-R50,RetinaFace-MobileNet0.25和RetinaFaceAntiCov这几个模型都可以支持。通过以下命令可以导出模型:
导出resnet50模型
python3 export_onnx.py
导出mobilenet 0.25模型
python3 export_onnx.py --prefix ./model/mnet.25
导出RetinaFaceAntiCov模型
python3 export_onnx.py --prefix ./model/mnet_cov2 --network net3l
同YOLOv4模型一样,对输出结果也做了concat,如下图所示:
输出矩阵的第一列为人脸的得分,第2到5列为人脸检测框的坐标,第6到15列为人脸关键点的位置。
3. ONNX模型转TensorRT模型
3.1 概述
TensorRT模型即TensorRT的推理引擎,代码中通过C++实现。相关配置写在config.yaml文件中,如果存在engine_file的路径,则读取engine_file,否则从onnx_file生成engine_file。
void RetinaFace::LoadEngine() {
// create and load engine
std::fstream existEngine;
existEngine.open(engine_file, std::ios::in);
if (existEngine) {
readTrtFile(engine_file, engine);
assert(engine != nullptr);
} else {
onnxToTRTModel(onnx_file, engine_file, engine, BATCH_SIZE);
assert(engine != nullptr);
}
}
config.yaml文件可以设置batch size,图像的size及模型的anchor等。
RetinaFace:
onnx_file: "../R50.onnx"
engine_file: "../R50.trt"
BATCH_SIZE: 1
INPUT_CHANNEL: 3
IMAGE_WIDTH: 640
IMAGE_HEIGHT: 640
obj_threshold: 0.5
nms_threshold: 0.45
detect_mask: False
mask_thresh: 0.5
landmark_std: 1
feature_steps: [32, 16, 8]
anchor_sizes: [[512, 256], [128, 64], [32, 16]]
3.2 编译
通过以下命令对项目进行编译,生成RetinaFace_trt
mkdir build && cd build
cmake ..
make -j
1
2
3
3.3 运行
通过以下命令运行项目,得到推理结果
RetinaFace模型推理
./RetinaFace_trt../config.yaml ../samples
1
RetinaFaceAntiCov模型推理
./RetinaFace_trt ../config_anti.yaml ../samples
1
4. 推理结果
RetinaFace推理结果:
RetinaFaceAntiCov推理结果:
————————————————
版权声明:本文为CSDN博主「芦花似雪」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/linghu8812/article/details/110677016
RetinaFace Mxnet转TensorRT相关推荐
- Mxnet TensorRT
Optimizing Deep Learning Computation Graphs with TensorRT CUDA9.0或9.2 Pascal或更新架构的显卡 下载并安装TensorRT库 ...
- Retinaface c++
https://github.com/wzj5133329/retinaface_caffe 官方retinaface(mxnet实现) :https://github.com/deepinsight ...
- 【TensorRT】将 PyTorch 转化为可部署的 TensorRT
文章目录 一.什么是 ONNX 二.PyTorch 转 ONNX 三.什么是 TensorRT 四.ONNX 转 TensorRT 在深度学习模型落地的过程中,会面临将模型部署到边端设备的问题,模型训 ...
- ML模型部署-工具箱
ML模型部署-工具箱 Machine Learning模型部署涉及两大工程部分,服务优化和模型优化.服务优化就是大家熟知的后端开发优化,涉及的指标有吞吐量.响应时间.CPU占用和服务内存占用等.而模型 ...
- 采用 NVIDIA DGX A100 系统和 Mellanox 频谱以太网交换机的 NetApp ONTAP AI NVA 设计(上)
采用 NVIDIA DGX A100 系统和 Mellanox 频谱 以太网交换机的 NetApp ONTAP AI NVA 设计 NetApp 公司 David Arnette 和 Sung-Han ...
- TensorRT实现RetinaFace推理加速(一)
一.参考资料 tensorrtx/retinaface TensorRT实现yolov5推理加速(一) TensorRT实现yolov5推理加速(二) 二.实验环境 ##系统环境 Environmen ...
- retinaface tensorRT
https://zhuanlan.zhihu.com/p/86827710 https://www.jianshu.com/p/14ddc581fee8 http://manaai.cn/aicode ...
- ONNX+TensorRT
使用ONNX+TensorRT部署人脸检测和关键点250fps This article was original written by Jin Tian, welcome re-post, firs ...
- TensorRT简介
TensorRT 介绍 引用:https://arleyzhang.github.io/articles/7f4b25ce/ 1 简介 TensorRT是一个高性能的深度学习推理(Inference) ...
最新文章
- xp http文件服务器,在XP sp3下用IIS搭建http服务器总结
- 如何将UI5应用部署到Fiori On-Premise和On-Cloud的Launchpad上去
- python函数type的用意_python之type函数
- ora-03115:不支持的网络数据类型 oracle,Oracle10g新增DBMS_FILE_TRANSFER包(二)
- 平台or职位,你怎么选?
- 字典生成工具_CANOpen系列教程09_CANOpen对象字典
- ajax拼接显示不同样式,Ajax重点整理
- android控件单位,Android控件相对位置及长度单位
- redis php方法,PHP操作Redis的基本方法
- linux C 语言的 system
- 《Arduino开发实战指南:机器人卷》一3.6 编程原理与示例程序
- BZOJ_5369_[Pkusc2018]最大前缀和_状压DP
- #2013年Google官方技术求职大礼包#面试求职技巧篇
- 云原生--k8s之pod
- c语言递归的用法,C语言递归操作用法总结
- 关于参与新星计划的那一刻
- c++判断字符串是否包含指定字符串/判断字符串是否相等/保留小数点后几位
- 企业网站建设的详细教程
- 2015年10月22日CSS学习笔记
- php select sum字段求和,PostgreSQL sum()函数
热门文章
- Linux中设置服务自启动的三种方式
- API Monitor(API监控工具)
- CentOS7.2 开启内网转发
- qemu-kvm部分流程/源代码分析
- 华为备忘录导入印记云笔记_原来华为手机自带会议神器,开会不用手写,这个功能就能搞定...
- python按概率输出分类结果_sklearn例程:多分类输出概率
- m行n列最大值和最小值C语言,找数组最值 按如下函数原型编程从键盘输入一个m行n列的二维数...
- java spring context_java将对象注册到spring context中 | 学步园
- windows安装包安装mysql5.7_Windows7 64位压缩包安装MySQL5.7.9
- mysql8.0远程linux_【Linux】【mysql】mysql8.0开启远程访问及常见问题