香橙派AI Pro开箱初体验

2024-06-04 08:52
文章标签 ai pro 开箱 初体验 香橙

本文主要是介绍香橙派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提供的测评机会!

这篇关于香橙派AI Pro开箱初体验的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Spring AI ectorStore的使用流程

《SpringAIectorStore的使用流程》SpringAI中的VectorStore是一种用于存储和检索高维向量数据的数据库或存储解决方案,它在AI应用中发挥着至关重要的作用,本文给大家介... 目录一、VectorStore的基本概念二、VectorStore的核心接口三、VectorStore的

Spring AI集成DeepSeek三步搞定Java智能应用的详细过程

《SpringAI集成DeepSeek三步搞定Java智能应用的详细过程》本文介绍了如何使用SpringAI集成DeepSeek,一个国内顶尖的多模态大模型,SpringAI提供了一套统一的接口,简... 目录DeepSeek 介绍Spring AI 是什么?Spring AI 的主要功能包括1、环境准备2

Spring AI集成DeepSeek实现流式输出的操作方法

《SpringAI集成DeepSeek实现流式输出的操作方法》本文介绍了如何在SpringBoot中使用Sse(Server-SentEvents)技术实现流式输出,后端使用SpringMVC中的S... 目录一、后端代码二、前端代码三、运行项目小天有话说题外话参考资料前面一篇文章我们实现了《Spring

Spring AI与DeepSeek实战一之快速打造智能对话应用

《SpringAI与DeepSeek实战一之快速打造智能对话应用》本文详细介绍了如何通过SpringAI框架集成DeepSeek大模型,实现普通对话和流式对话功能,步骤包括申请API-KEY、项目搭... 目录一、概述二、申请DeepSeek的API-KEY三、项目搭建3.1. 开发环境要求3.2. mav

C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)

《C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)》本文主要介绍了C#集成DeepSeek模型实现AI私有化的方法,包括搭建基础环境,如安装Ollama和下载DeepS... 目录前言搭建基础环境1、安装 Ollama2、下载 DeepSeek R1 模型客户端 ChatBo

Spring AI集成DeepSeek的详细步骤

《SpringAI集成DeepSeek的详细步骤》DeepSeek作为一款卓越的国产AI模型,越来越多的公司考虑在自己的应用中集成,对于Java应用来说,我们可以借助SpringAI集成DeepSe... 目录DeepSeek 介绍Spring AI 是什么?1、环境准备2、构建项目2.1、pom依赖2.2

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

Spring AI Alibaba接入大模型时的依赖问题小结

《SpringAIAlibaba接入大模型时的依赖问题小结》文章介绍了如何在pom.xml文件中配置SpringAIAlibaba依赖,并提供了一个示例pom.xml文件,同时,建议将Maven仓... 目录(一)pom.XML文件:(二)application.yml配置文件(一)pom.xml文件:首

SpringBoot整合DeepSeek实现AI对话功能

《SpringBoot整合DeepSeek实现AI对话功能》本文介绍了如何在SpringBoot项目中整合DeepSeekAPI和本地私有化部署DeepSeekR1模型,通过SpringAI框架简化了... 目录Spring AI版本依赖整合DeepSeek API key整合本地化部署的DeepSeek