如何搭建边缘计算盒子IVP02E环境部署?

news/2024/7/5 9:00:44

本文旨在为已购买IVP02E盒子的用户提供设备端的部署指南,使用此指南的前提:在开发系统上已安装搭建好相应的框架;已完成模型的处理,包括:模型量化、模型转换等;且已完成代码工程的编译,并通过相应框架生成设备端适配的可执行程序,具体的操作流程请参考相应的《开发环境搭建指南》完成系统环境搭建。

开发环境:

➢操作系统及架构:Ubuntu 18.04 x86_64

➢内存:大于4G

➢储存空间:大于10G

➢系统语言:en_US.UTF-8(MindStudio)

➢编译器:g++或aarch64-linux-gnu-g++

➢python及依赖的库:python3.7.5

➢边缘计算盒子型号:IVP02E

声明——IVP02E内包含NNN以及SVP_NNN两个算力核,适配昇腾以及SVP架构,架构图如下:

现在开始进行设备端环境部署!

步骤1:安装CH340驱动;

步骤2:设备端插入网线、电源线、且通过Type-C线连接电脑;

步骤3:连接后,要在设备管理器查看是否连接成功,并记录端口号

步骤4:通过串口工具连接设备端,可使用MobaXterm、Xshell等工具,选择端口号,bps为115200;

步骤5:连接设备端后,执行命令加载设备端驱动及ko文件,./insmod.sh以及./init.sh;

步骤6:根据连接的网口配置ip地址以及网关地址

ifconfig eth0 xxx.xxx.xxx.xxx netmask 255.255.255.0 up  // ip地址,请自行填入

执行route命令,进行网关配置

route add default gw xxx.xxx.xxx.xxx  // 网关地址,请自行填入

配置完毕后,需要ping通本机的ip;

步骤7:yolov5网络模型需要开发者自行准备,因昇腾框架暂不支持pt模型的转换,所以需要开发者下载yolov5-master并通过脚本把pt模型转换为onnx模型;

参考命令:

python3.7.5 models/export.py --weights yolov5ts.pt --img 640 --batch 1

步骤8:通过MindStudio工具启动ATC功能进行模型转换,把yolov5的onnx模型文件转换为SoC设备端识别的离线模型(.om模型),把转换后的模型放入工程文件中,并进行编译生成可执行程序;

步骤9:需要在虚拟机以及设备端上安装nfs,并且把编译后的工程文件及所需的动态库放在nfs文件夹下,之后在设备端通过nfs挂载到虚拟机的文件夹;

参考命令:

mount -t nfs ip地址:/xxx/xxx/xxx /mnt -o nolock

ip地址为您虚拟机的IP地址

/xxx/xxx/xxx为您虚拟机内nfs文件夹挂载路径

步骤10:声明SDK包内动态库;

参考命令:

export LD_LIBRARY_PATH=/mnt/mpp/out/lib/npu

export ASCEND_AICPU_KERNEL_PATH=/mnt/mpp/out/lib/npu

声明路径为sdk包内mpp文件夹下动态库的路径

步骤11:Yolov5样例共有3个功能

➢0.识别输入数据并打印相关信息

➢1.多线程识别输入数据并打印相关信息

➢2.使用MMZ内存进行动态批次识别输入数据并打印相关信息

步骤12:执行命令进行推理后会打印相关数据;

./sample_npu_main 0

以下为输出示例

步骤13:配置了profiling相关参数的代码后,模型推理完成时会在工程目录下生成一个JOB文件夹,该文件夹内记录了模型推理的性能指标;

步骤14:采集完成后需要执行脚本进行解析性能指标,需要进入到msprof下执行脚本,解析后会在JOB文件夹下生成sqlite文件夹,里面包含了各性能指标的db文件;

参考命令:

python3.7.5 msprof.py import -dir /home/hyq/rootfs/npu2 /src

步骤15:得到解析坐标后,执行相应命令即可导出指标为可视化表格;

参考命令:

python3.7.5 msprof.py export summary -dir /home/hyq/rootfs/npu2/src --format csv

步骤16:以下为op_summary的表格示例,该表格内记录了每一层算子的时间、推理耗时、调用接口耗时等性能指标。

至此,IVP02E智能视频分析边缘计算盒子的设备端环境部署成功!


http://lihuaxi.xjx100.cn/news/31191.html

相关文章

python机器人编程——差速机器人小车的控制,控制模型、轨迹跟踪,轨迹规划、自动泊车(中)未完待续...

目录一、前言二、轨迹的跟随控制策略(1)利用模型预测控制(MPC)的思想控制(2) 仿真验证一、前言 本篇我们依然试着用一些浅显的数学知识,来研究和实现一下常用机器人小车(如AGV&…

Filter概述、接口及配置

目录 一、Filter概述 二、Filter接口 三、Filter配置 一、Filter概述 ● Filter称为过滤器,位于客户端与处理程序之间,能够对请求和响应进行检查和修改 ● 当客户端对服务器资源发送请求时,服务器根据过滤规则进行检查,如果满足…

2021-第五空间智能安全大赛-PNG图片转换器 | 管道符与反引号的配合、open()函数绝杀

目录一、原理二、操作过程一、原理 1、base64 -d🍺 从标准输入中读取已经进行base64编码的内容,解码输出 2、管道符 |🍺 使用此管道符"|"可以将两个命令分隔开,"|"左边命令的输出就会作为"|"右边…

Vmware部署Linux无人值守安装Centos7系统

🚀 优质资源分享 🚀 学习路线指引(点击解锁)知识定位人群定位🧡 Python实战微信订餐小程序 🧡进阶级本课程是python flask微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一…

datart在windows的源码部署

datart在windows的源码部署IDEA克隆master分支编译Parser.jj安装javaCC插件编译项目创建mysql数据库修改后端配置启动后端启动前端登录页面参考这篇微博:【datart】数据可视化工具datart在IDEA中进行代码调试 IDEA克隆master分支 https://gitee.com/running-eleph…

数据结构day13

昨天写了一天transformer代码,就写了一题简单模拟题,今天打了球,也没补上,花费1.5h左右; 题目详情 - 1042 Shuffling Machine (pintia.cn) 思路:用两个数组储存,start装着一开始的0-53编号&am…

Web前端:如何评估前端开发人员

前端开发人员在弥合任何web或应用程序开发项目的技术和非技术方面的差距方面发挥着关键作用。它们建立在后端开发人员的工作基础上,创建我们在网站和应用程序上与之交互的面向用户的内容。 鉴于他们角色的双重性,他们的工作需要在功能和形式之间取得平衡…

Android 实现seekBar仿抖音拖动后改变thumb kotlin实现

Android 实现seekBar仿抖音拖动后改变thumb kotlin实现 又是一个没被甲方采用的方案哈哈哈 抖音的进度条默认状态下是半透明的灰色,thumb是一个同样的灰色的圆 点击、拖动后,progress变为白色,高度变高,thumb变为圆角矩形&#xf…