香橙派AI Pro开箱初体验

一、前言

上周很荣幸在CSDN上收到香橙派的测评邀请,这是一款专为边缘计算和嵌入式AI应用设计的高性能计算平台。因为之前一直做的是GPU Tensorrt部署相关工作,对边缘计算平台也不是很熟悉,花了一些时间摸索,今天我就简单与大家分享我对这款设备的一些初步体验。

二、板子硬件介绍

当我打开香橙派AI Pro的包装时,第一印象是它的小巧与精致。

img

img

板子配备4核64位处理器+AI处理器,集成图形处理器,支持8TOPS AI算力,拥有8GB/16GB LPDDR4X,可以外接32GB/64GB/128GB/256GB eMMC模块,支持双4K高清输出(我的显示器是2K的,只有插上中间那个HDMI2.1接口有用不知道为什么)。详细硬件接口如下:

板子配备4核64位处理器+AI处理器,集成图形处理器,支持8TOPS AI算力,拥有8GB/16GB LPDDR4X,可以外接32GB/64GB/128GB/256GB eMMC模块,支持双4K高清输出(我的显示器是2K的,只有插上中间那个HDMI2.1接口有用不知道为什么)。详细硬件接口如下:

img

拿到板子,系统已经烧录好了,直接登录即可,登录密码Mind@123。另外,需要烧录系统可以自行官网下载工具:官网烧录系统

img

terminal输入npu-smi info可查看npu状态:

img

可以看到这块板子的一些信息:昇腾AI处理器的版本为310B4,芯片温度为47度,总内存为7.5G,已使用4.2G左右。

三、Windows下SSH远程登录开发板

因为只有一套鼠键,所以自己主机和开发板来回切换很麻烦,所幸找到官网教程用户手册中有Windows下SSH远程登录开发板的方法。
先链接好开发板wifi,然后再终端输入ip addr show,查看当前板子ip地址,一般为192.168.xx.xx。
然后windows电脑下载mobaxterm软件。打开软件界面,打开Session,在SessionSetting中点SSH,然后在Remotehost中输入开发板的IP地址,Specifyusername中输入Linux系统的用户名root,点击ok,根据提示输入密码,回车,如下图所示windows中登录成功,即可在windows中远程操作板子。

img

四、简单测试:图片分类

cd /opt/opi_test/ResnetPicture
sudu bash sample_run.sh

输出resnet50输出样例图片的top5类别index、score分数和类别名class:
img

五、推理yolov7样例

下面以昇腾gitee推理样例sampleYOLOV7,将YOLOv7模型部署在香橙派AI Pro上进行推理。

  1. 下载代码
// 开发环境,非root用户命令行中执行以下命令下载源码仓。    
cd ${HOME}     
git clone https://gitee.com/ascend/samples.git
  1. 设置Ascend环境变量
export DDK_PATH=$HOME/Ascend/ascend-toolkit/latest
export NPU_HOST_LIB=$DDK_PATH/runtime/lib64/stub
export THIRDPART_PATH=${DDK_PATH}/thirdpart
export LD_LIBRARY_PATH=${THIRDPART_PATH}/lib:$LD_LIBRARY_PATH
mkdir -p ${THIRDPART_PATH}
  1. 安装x264、ffmpeg、acllite、opencv
// 下载x264
cd ${HOME}
git clone https://code.videolan.org/videolan/x264.git
cd x264
// 安装x264
./configure --enable-shared --disable-asm
make
sudo make install
sudo cp /usr/local/lib/libx264.so.164 /lib// 下载ffmpeg
cd ${HOME}
wget http://www.ffmpeg.org/releases/ffmpeg-4.1.3.tar.gz --no-check-certificate
tar -zxvf ffmpeg-4.1.3.tar.gz
cd ffmpeg-4.1.3
// 安装ffmpeg
./configure --enable-shared --enable-pic --enable-static --disable-x86asm --enable-libx264 --enable-gpl --prefix=${THIRDPART_PATH}
make -j8
make install// 安装acllite
cd ${HOME}/samples/inference/acllite/cplusplus
make
make install// 安装opencv
sudo apt-get install libopencv-dev
  1. 安装ACLLite
git clone https://gitee.com/ascend/ACLLite.git
cd ACLLite
export NPU_HOST_LIB=$DDK_PATH/runtime/lib64/stub
// 编译ACLLite
sudo bash build_so.sh

img

  1. 数据和模型准备
cd  samples/inference/modelInference/sampleYOLOV7/data
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/aclsample/dog1_1024_683.jpg
cd ../model
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/003_Atc_Models/yolov7/yolov7x.onnx
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/003_Atc_Models/yolov7/aipp.cfg
  1. 使用ATC进行模型转换,这个步骤比较慢
// 查询OS版本
lsb_release -a
// 转换
atc --model=yolov7x.onnx --framework=5 --output=yolov7x --input_shape="images:1,3,640,640"  --soc_version=Ascend310B4  --insert_op_conf=aipp.cfg
  1. 样例编译和运行
cd ../scripts
bash sample_build.sh
bash sample_run.sh

img

六、推理统计人物数量案例

  1. 安装第三方库
// 安装python-acllite
echo 'export THIRDPART_PATH=$HOME/Ascend/ascend-toolkit/latest/thirdpart'>> ~/.bashrc    
echo 'export PYTHONPATH=${THIRDPART_PATH}/python:$PYTHONPATH'>> ~/.bashrcsource ~/.bashrc
mkdir -p ${THIRDPART_PATH}cp -r ${HOME}/samples/inference/acllite/python ${THIRDPART_PATH}// 安装numpy
pip3 install numpy
  1. 数据准备
cd ./sampleCrowdCounting/data
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/sampleCrowdCounting/people.jpg --no-check-certificate
  1. ATC模型转换
cd ../model
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/sampleCrowdCounting/CrowdCounting.onnx --no-check-certificate
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/sampleCrowdCounting/aipp.cfg --no-check-certificate
atc --model=CrowdCounting.onnx --framework=5 --output=CrowdCounting --soc_version=Ascend310B4  --insert_op_conf=aipp.cfg                                                                     
  1. 运行脚本
cd ../scripts
bash sample_run.sh

img

七、训练、推理口罩识别模型

  1. 下载案例
cd ${HOME}     
git clone https://gitee.com/ascend/EdgeAndRobotics.git
// 切换到样例目录
cd EdgeAndRobotics/Samples/ClassficationRetrainingAndInfer
  1. 环境配置
// torch-npu
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/wanzutao/torch_npu-2.1.0rc1-cp39-cp39-linux_aarch64.whl
pip3 install torch_npu-2.1.0rc1-cp39-cp39-linux_aarch64.whl// 安装包
pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple// 配置程序编译依赖的头文件与库文件路径
export DDK_PATH=/usr/local/Ascend/ascend-toolkit/latest 
export NPU_HOST_LIB=$DDK_PATH/runtime/lib64/stub
  1. 模型训练
// 设置环境变量减小算子编译内存占用
export TE_PARALLEL_COMPILER=1
export MAX_COMPILE_CORE_NUMBER=1// 下载口罩数据集
cd dataset
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/wanzutao/detection/mask.zip
unzip mask.zip// 划分训练集和测试集
cd ..
python3 predata.py// 下载预训练模型
cd models
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/wanzutao/detection/mobilenet-v1-ssd-mp-0_675.pth// 训练
cd ..
python3 main.py

如图划分训练集和测试集成功:

img

如图程序开始训练:

img

  1. 模型推理
// pt->onnx
python3 export.py// 下载测试集
cd omInfer/data
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/wanzutao/detection/mask.jpg// 设置最小进程
export TE_PARALLEL_COMPILER=1
export MAX_COMPILE_CORE_NUMBER=1cd ../model
cp ../../mobilenet-ssd.onnx ./
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/wanzutao/detection/aipp/aipp.cfg// onnx->om
atc --model=mobilenet-ssd.onnx --framework=5 --soc_version=Ascend310B4 --output=mobilenet-ssd --insert_op_conf=aipp.cfg// 编译源码
cd ../scripts 
bash sample_build.sh// 推理
bash sample_run.sh

如图显示推理结果:

img

八、总结

总体来说,香橙派AI Pro以其强大的计算性能、丰富的接口和灵活的扩展性,为开发者提供了一个强大且多功能的AI开发平台。无论是用于边缘计算还是嵌入式AI应用,这款设备都展示了其卓越的性能和广泛的应用潜力。
未来,我计划继续深入探索香橙派AI Pro的更多功能,并尝试将其应用于更多实际项目中。如果你对边缘计算和AI开发感兴趣,不妨亲自体验一下这款设备,相信你也会对它的表现感到惊喜。
期待在未来的博客中与大家分享更多使用心得和项目经验。感谢CSDN提供的测评机会!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/22086.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

动态二维码与静态二维码,有何区别,如何使用?

近年来,二维码势不可挡席卷而来,并在我们的生活中占据了一席之地,付款、加好友、点餐、活动签到、电子门票、商品信息查询、分享内容等等,哪都有它。 二维码诞生于日本,就是用特定几何图形,按规律在平面上分…

使用python绘制华夫饼图

使用python绘制华夫饼图 华夫饼图效果代码 华夫饼图 华夫饼图(Waffle Chart)是一种数据可视化图表,用于显示数据在一个网格中的分布情况。它类似于饼图,通过将数据划分为等大小的方块来表示不同类别的比例。华夫饼图的优势在于它…

解决 Mac Django 连接Mysql 出现 image not found 问题

最近在使用 Django 框架,因为升级到4.2版本了,对应的本机 Mysql 5.7 就不适用了,于是升级到了 Mysql 8.0,写好代码之后出现如下错误: 仔细分析一下错误的描述: ImportError: dlopen(/Library/Frameworks/P…

1122 找奇葩

solution 目标数&#xff1a;出现次数为奇数次&&该数本身为奇数 #include<iostream> using namespace std; const int maxn 1e5 10; int flag[maxn] {0}; int main(){int n, x;scanf("%d", &n);for(int i 1; i < n; i){scanf("%d&qu…

EIS 2019 webshell

请求中可以确定是http POST流量 同时可以判断是 蚁剑的流量 进一步过滤 http.request.method "POST" 直接追踪其tcp流 得到 列举部分 eVAl(cHr(0x40).ChR(0x69).ChR(0x6e).ChR(0x69).ChR(0x5f).ChR(0x73).ChR(0x65).ChR(0x74).ChR(0x28)直接输出一下 内容 <…

DeepMind:从LLMs到VLMs,不用看图就能理解图?

论文标题&#xff1a; FlexCap: Generating Rich, Localized, and Flexible Captions in Images 论文作者&#xff1a; Debidatta Dwibedi, Vidhi Jain, Jonathan Tompson, Andrew Zisserman, and Yusuf Aytar 参与机构&#xff1a; Google DeepMind, Carnegie Mellon Uni…

Quantlab 4.1:基于Deap遗传算法多股票因子挖掘

原创文章第549篇&#xff0c;专注“AI量化投资、世界运行的规律、个人成长与财富自由"。 遗传算法本身并不复杂&#xff0c;但gplearn的实现&#xff0c;把问题复杂化了&#xff0c;尤其在因子挖掘这个场景。 使用deap进行因子挖掘的代码在如下位置&#xff1a; import …

Nexus3(nexus-3.19.1-01)忘记管理员密码

1、停服 ./nexus stop 2、进入OrientDB控制台&#xff1a; cd /apply/nexus3/nexus-3.42.0-01/lib/support/ java -jar ./nexus-orient-console.jar 3、在控制台执行&#xff1a; connect plocal:/apply/nexus3/sonatype-work/nexus3/db/security admin admin 4、重置密码…

Redis之常用实战场景

1.Redis数据丢失场景 1.1 持久化丢失 采用RDB或者不持久化&#xff0c;就会有数据丢失&#xff0c;因为是手动或者配置以快照的形式来进行备份。 解决: 启用AOF&#xff0c;以命令追加的形式进行备份&#xff0c;但是默认也会有1s丢失&#xff0c;这是在性能与数据安全性中寻…

深入解析Spring Cloud Config:构建高可用分布式配置中心

在微服务架构中&#xff0c;配置管理是一个关键问题。Spring Cloud Config提供了一种解决方案&#xff0c;它是一个高可用、分布式的外部配置中心。本文将深入探讨Spring Cloud Config的原理、架构及其在实际项目中的应用&#xff0c;帮助读者掌握如何构建一个高效、可靠的分布…

SD NAND(贴片式TF卡)在储能领域的应用

储能系统&#xff08;Energy Storage System&#xff0c;简称ESS&#xff09;是指能将电能以化学能、势能、动能等形式储存起来&#xff0c;并在需要时将其转化为电能供应给用户的设备。主要由电池管理系统&#xff08;BMS&#xff09;、能量管理系统&#xff08;EMS&#xff0…

拿到Offer了才知道,这家公司年终奖只有几百块~

我也挠头了 最近又有不少粉丝上岸了&#xff0c;其中一位分享的事情比较有意思&#xff0c;和你分享一下&#xff1a; 以后你对比Offer的时候也可以多个经验。 事情是这样的&#xff1a; 他在经过2个多月空窗期之后终于拿到了Offer&#xff0c;月薪涨幅不大&#xff0c;但是…

java的clone

一、clone的用法&#xff1a; package chatRoom.F5;class Person implements Cloneable{//1.public String name;public Person(String name) {this.name name;}//2.protected Person clone() throws CloneNotSupportedException {return (Person)super.clone();//重写Object…

媒体有入口,发稿有入口 是什么意思?

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 媒体有入口&#xff0c;发稿有入口是指在新闻媒体发稿时&#xff0c;稿件可以通过一定的路径被访问和浏览。具体来说&#xff0c;有入口的新闻稿件可以通过点击链接&#xff0c;逐步深入…

芯片验证分享1 —— 开篇及名词解释

大家好&#xff0c;我是谷公子的藏经阁&#xff0c;今天和大家很高兴能和大家分享的是芯片验证中的一些内容&#xff0c;希望对大家的日常工作有所帮助&#xff0c;如果这些内容有帮助到大家的话&#xff0c;那么此次的分享就很值得。另外&#xff0c;对于这个课题&#xff0c;…

ChatTTS增强版,增强音质、批量处理、固定音色、支持长文本

大家好&#xff0c;最近ChatTTS文字生成语音项目挺火。只需要输入一段文字&#xff0c;就可以生成一段非常逼真的声音。声音的效果非常不错。它支持英文和中文两种语言。我在原版的基础上做了一些改动&#xff0c;整合包分享给大家。 功能介绍 除了基础的文本生成音频功能以外…

实验10 RIP协议配置

实验10 RIP协议配置 一、原理描述二、RIPv1配置&#xff08;一&#xff09;实验目的&#xff08;二&#xff09;实验内容&#xff08;三&#xff09;实验配置&#xff08;四&#xff09;实验步骤 三、 RIPv2配置&#xff08;一&#xff09;实验目的&#xff08;二&#xff09;实…

IT闲谈——什么是容器?

目录 什么是容器一、容器的起源与发展二、目前使用较多的容器三、容器能用来做什么四、容器的应用场景 什么是容器 随着云计算和微服务的兴起&#xff0c;容器技术逐渐成为IT行业的热门话题。容器&#xff0c;简而言之&#xff0c;是一种轻量级的、可移植的、独立的软件包&…

【Python】轻松打包:CentOS7上使用PyInstaller将Shell脚本转换为可执行文件的完美指南

【Python】轻松打包&#xff1a;CentOS7上使用PyInstaller将Shell脚本转换为可执行文件的完美指南 大家好 我是寸铁&#x1f44a; 总结了一篇【Python】轻松打包&#xff1a;CentOS7上使用PyInstaller将Shell脚本转换为可执行文件的完美指南✨ 喜欢的小伙伴可以点点关注 &#…

【CXL协议-控制和状态寄存器(8)】

8.0 控制和状态寄存器 Compute Express Link 设备控制和状态寄存器被映射到单独的空间&#xff1a;配置空间和内存映射空间。配置空间寄存器使用配置读取和配置写入进行访问。内存映射寄存器使用内存读取和内存写入进行访问。表 123 总结了本章中定义的寄存器位的属性。除非另…