Nanodet模型部署(ncnn,openvino)

1. nanodet模型部署在openvino上

step1: 参考链接

step2: 步骤补充

  • 以openvino官方文档为主要参考
  1. 进入openvino官方文档后点击[Install Package]
  2. 然后开始官方文档的step1进行选择下载形如[l_openvino_toolkit_p_2021.4.752.tgz]
    • 选择Linux -> Online & Offline -> 2021 4.2 LTS -> offline (注意选择Version Type时候注意,如果是低点版本可能在Ubuntu20.04上安装protuf(好像是这个名字)会包g++不对) ->然后随便填邮箱,国家即可下载
  3. 后续对比上面三个官方文档(openvino官方文档为主)一步一步即可
  4. openvino将onnx转换成适合openvino的格式是nanodet.xml nanodet.bin nanodet.maping

step3: 使用CLion进行阅读调试代码(Debug)

  1. 先进入clion.sh位置(/home/zranguai/software/CLion-2021.3.2/clion-2021.3.2/bin) 然后sh clion.sh
  2. source /opt/intel/openvino_2021/bin/setupvars.sh
  3. 选择nanodet的demo_openvino项目
  4. 左上角Edit Configuration进行配置main.cpp的参数(例如Program arguments 3 0)进行Debug调试

2. nanodet模型部署在ncnn上

step1: 参考链接

step2: 步骤补充

  • 以mmdeploy安装指南为主要参考
  • 如果需要安装opencv可以参考opencv安装教程
  • 或者上面openvino的GiantPandaCV里也有已经编译好的opencv
  • 在编译好的ncnn里面运行onnx2ncnn产生.param 和 .bin(/home/zranguai/C_C++_Code/C_C++_deploy/ncnn/build/tools下)
  • 使用ncnnoptimize优化ncnn模型(/home/zranguai/C_C++_Code/C_C++_deploy/ncnn/build/)
  • ncnn将onnx转换成适合ncnn的格式是 nanodet.param nanodet.bin

step3: 使用CLion进行阅读调试代码(Debug)

  1. 先进入clion.sh位置(/home/zranguai/software/CLion-2021.3.2/clion-2021.3.2/bin) 然后sh clion.sh
  2. export VULKAN_SDK=(pwd)/1.2.176.1/x86_64 -->其中是mmdeploy官方文档安装vulkansdk的
    • 例如 export VULKAN_SDK=/home/zranguai/C_C++_Code/C_C++_deploy/1.2.176.1/x86_64
  3. export ncnn_DIR=YOUR_NCNN_PATH/build/install/lib/cmake/ncnn
    • 例如 export cnn_DIR=/home/zranguai/C_C++_Code/C_C++_deploy/ncnn/build/install/lib/cmake/ncnn
  4. 配置参数进行Debug阅读代码即可

YOLOX模型部署在TensorRT上

step1: 参考链接

step2步骤补充

  1. TensorRT安装时操作系统,cuda, cudnn需要对上
  2. 安装mmdeploy上将环境变量导入到~/.bashrc
  3. 在yolox是make遇到问题解决方案: (https://github.com/Megvii-BaseDetection/YOLOX/issues/768)
  4. 在yolox的CMakeLists.txt需要更改cuda,cudnn, TensorRT路径
  5. 转换成适合TensorRT的格式是model_trt.engine

使用CLion进行阅读调试代码(Debug)

  • 这里因为之前将环境导入~/.bashrc,and yolox的CMakeLists.txt有路径所以直接打开即可
  • 配置路径进行调试
    • /home/zranguai/Cv-Code/detection/YOLOX-0.2.0/YOLOX_outputs/yolox_s/model_trt.engine -i /home/zranguai/Cv-Code/detection/YOLOX-0.2.0/assets/dog.jpg

Nanodet模型部署(ncnn,openvino)/YOLOX部署(TensorRT)的更多相关文章

  1. 将 ExpressRoute 线路从经典部署模型转移到 Resource Manager 部署模型

    本文概述将 Azure ExpressRoute 线路从经典部署模型转移到 Azure Resource Manager 部署模型的效果. Azure 当前使用两种部署模型:Resource Mana ...

  2. 二进制部署K8S-3核心插件部署

    二进制部署K8S-3核心插件部署 5.1. CNI网络插件 kubernetes设计了网络模型,但是pod之间通信的具体实现交给了CNI往插件.常用的CNI网络插件有:Flannel .Calico. ...

  3. MariaDB Galera Cluster 部署(如何快速部署 MariaDB 集群)

    MariaDB Galera Cluster 部署(如何快速部署 MariaDB 集群)  OneAPM蓝海讯通7月3日 发布 推荐 4 推荐 收藏 14 收藏,1.1k 浏览 MariaDB 作为 ...

  4. MariaDB Galera Cluster 部署(如何快速部署MariaDB集群)

    MariaDB Galera Cluster 部署(如何快速部署MariaDB集群) [日期:--] 来源:Linux社区 作者:Linux [字体:大 中 小] MariaDB作为Mysql的一个分 ...

  5. Activiti 流程部署方式 activi 动态部署(高级源码篇)

    Activiti的流程 部署方式有很多种方式,我们可以根据activit工作流引擎提供的ap方式进行部署. 当然了实际需求决定你要使用哪一种api操作,后面的总结详细介绍了使用场景. 下面看一下部署方 ...

  6. 微服务架构 - 离线部署k8s平台并部署测试实例

    一般在公司部署或者真实环境部署k8s平台,很有可能是内网环境,也即意味着是无法连接互联网的环境,这时就需要离线部署k8s平台.在此整理离线部署k8s的步骤,分享给大家,有什么不足之处,欢迎指正. 1. ...

  7. 基于winserver的Apollo配置中心分布式&集群部署实践(正确部署姿势)

    基于winserver的Apollo配置中心分布式&集群部署实践(正确部署姿势)   前言 前几天对Apollo配置中心的demo进行一个部署试用,现公司已决定使用,这两天进行分布式部署的时候 ...

  8. CentOS7系统 ansible自动化部署多台服务器部署

    CentOS7系统 ansible自动化部署多台服务器部署   Ansible工作机制  从图中可以看出ansible分为以下几个部份: 1> Control Node:控制机器2> In ...

  9. Activiti 流程部署方式 activi 动态部署(高级源代码篇)

    Activiti的流程 部署方式有非常多种方式,我们能够依据activit工作流引擎提供的ap方式进行部署. 当然了实际需求决定你要使用哪一种api操作,后面的总结具体介绍了使用场景. 以下看一下部署 ...

随机推荐

  1. 小白上学のcanvas零基础

    <canvas> 元素 <canvas> 看起来和 <img> 元素很相像,唯一的不同就是它并没有 src 和 alt 属性.实际上,<canvas> ...

  2. React+dva+webpack+antd-mobile 实战分享(二)

    第一篇 https://segmentfault.com/a/11... 在上一篇文章中教给大家了怎么搭建项目的架子:那么今天我们就来说一下项目里的导航和列表的实现 导航 废话不说啦 下面直接给大家讲 ...

  3. mysql基本操作2

    ##DDL控制表结构,不支持事务##DML控制表数据,支持事务       DQL专门做查询  ##TCL 管理事务##DCL 管理数据库权限     ##ORDER BY  子句-根据指定列对结果集 ...

  4. SpringBoot2.x修改Redis序列化方式

    添加一个配置类即可: /** * @Author FengZeng * @Date 2022-03-22 13:43 * @Description TODO */ @Configuration pub ...

  5. 进程的概念及multiprocess模块的使用

    一.进程 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础.在早期面向进程设计的计算机结构中,进程是程序的基本执行实体:在 ...

  6. 微信小程序组件封装及调用-原生

    封装一个弹窗组件 1.新建component文件夹存放我们的组件,里边存放的就是我们所用的组件,我们今天要做的事弹出框,新建文件夹popup存放我们的组件模板,点击右键选择新建component,就会 ...

  7. HTTP和HTTPS有什么不同

    网站的URL会分为两部分:通信协议和域名地址. 域名地址都很好理解,不同的域名地址表示网站中不同的页面,而通信协议,简单来说就是浏览器和服务器之间沟通的语言.网站中的通信协议一般就是HTTP协议和HT ...

  8. docker入门_image、container相关命令

    docker入门_image.container相关命令 镜像仓库服务.镜像仓库.镜像相关概念 镜像仓库服务:docker镜像仓库服务.阿里云镜像服务 镜像仓库:docker镜像仓库服务中会有很多仓库 ...

  9. Postman 正确使用姿势

    前言: 请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i 简介: Postman是一个接口测试工具,在做接口测试的时候,Postman相当于一个客户端,它可以模拟用户发起的各类HTTP请求,将 ...

  10. 使用GO语言通过Stream Load实现Doris数据导入

    Doris github地址欢迎加Star apache/incubator-doris: Apache Doris(Incubating) is an MPP-based interactive S ...