什么是香橙AIPro?
OrangePi AIpro(8T)采用昇腾AI技术路线,具体为4核64位处理器+AI处理器,集成图形处理器,支持8TOPS AI算力,拥有8GB/16GB LPDDR4X,可以外接32GB/64GB/128GB/256GB eMMC模块,支持双4K高清输出。
Orange Pi AIpro引用了相当丰富的接口,包括两个HDMI输出、GPIO接口、Type-C电源接口、支持SATA/NVMe SSD 2280的M.2插槽、TF插槽、千兆网口、两个USB3.0、一个USB Type-C 3.0、一个Micro USB(串口打印调试功能)、两个MIPI摄像头、一个MIPI屏等,预留电池接口,可广泛适用于AI边缘计算、深度视觉学习及视频流AI分析、视频图像分析、自然语言处理、智能小车、机械臂、人工智能、无人机、云计算、AR/VR、智能安防、智能家居等领域,覆盖 AIoT各个行业。 Orange Pi AIpro支持Ubuntu、openEuler操作系统,满足大多数AI算法原型验证、推理应用开发的需求。
开箱!开箱!
开发板到手的感觉就是,很精巧,很规整!
启动!启动!开搞!
准备工作
相关资料可以查看官方提供的参考资料 香橙派 AIpro 资料汇总
-
下载开发板的 镜像
-
烧录ubuntu镜像到SD卡中(官方推荐balenaEtcher)
- 烧录完,把TF卡插入开发板。(注意后面的拨码开关)
- 启动,LED指示灯绿色常亮,表示启动正常。刚开始风扇转的巨快,慢慢的平稳很多!
官方demo
在HwHiAiUser账户下,官方内置了9个demo,在notebook里面,大家可以仔细启动尝试。
cd ~/samples/notebooks
./start_notebook.sh
- 01 yolov5目标检测
- 02 ocr文字识别
- 03 ResNet目标分类
- 04 HDR图像曝光增强
- 05 GAN卡通图像生成
- 06 人体蛋白分类
- 07 细胞图像分割
- 08 Portrait的背景替换
- 09 WeNet语音识别
训练与测试
- 通过SSH链接树莓派
管理账号:root
密码:Mind@123
普通账号:HwHiAiUser
密码:Mind@123
- 环境准备
- 下载安装torch_npu、PyTorch2.1.0、torchvision0.16.0(这里板子是装好的)
- 设置环境变量,确保程序能够找到Ascend AI处理器NPU相关必要的库文件和执行文件。
export DDK_PATH=/usr/local/Ascend/ascend-toolkit/latest
export NPU_HOST_LIB=$DDK_PATH/runtime/lib64/stub
可以输入printven查看当前环境变量
- 安装ffmpeg
apt-get install ffmpeg libavcodec-dev libswscale-dev libavdevice-dev
- 安装ACLLite库
git clone https://gitee.com/ascend/ACLLite.git
- 打开ACLLite,运行bash build_so.sh进行编译安装
- 克隆代码仓库
git clone https://gitee.com/ascend/EdgeAndRobotics/
- 打开下载好文件夹,安装python库
pip3 install -r requirements.txt
- 设置环境变量减小算子编译内存占用
export TE_PARALLEL_COMPILER=1
export MAX_COMPILE_CORE_NUMBER=1
这里如果不减小算子,会报下面错误,超出内存
报错:
/usr/local/miniconda3/lib/python3.9/multiprocessing/resource_tracker.py:216: UserWarning: resource_tracker: There appear to be 97 leaked semaphore objects to clean up at shutdown
- 在data文件夹中添加一张测试图片
- 训练
- 安装对应版本的PyTorch2.1.0、torchvision1.16.0版本
torch_npu由于需要源码编译,速度可能较慢,可以使用官方提供 python3.9,torch2.1版本的torch_npu whl包
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
python3 main.py
- 运行main.py 自动下载数据集
下载的Mnist数据集,数据集目录结构如下
可以在main.py里面修改参数
- 将训练生成的mnist.pt转换mnist.onnx模型
python3 export.py
- 在线推理
- 用我们下载的图片执行在线推理
cd ../onnxInfer/
python3 infer.py
推理结果如下:
[inferssession_time:347 pictures/s] [output:3]
infer.py加载数据和模型的关键代码
- 离线推理
- 在omInfer/data 里面保存我们要测试的数据
cd omInfer/data
- 将PyTorch框架的onnx转换为昇腾AI处理器能识别的模型(*.om)。
(1)将在线推理时导出的mnist.onnx模型拷贝到model目录下
(2)获取AIPP配置文件
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/wanzutao/mnist/ecs/aipp.cfg
(3)模型转换
atc --model=mnist.onnx --framework=5 --insert_op_conf=aipp.cfg --output=mnist --soc_version=Ascend310B4
●–model:转换前模型文件的路径。
●–framework:原始框架类型。5表示ONNX。
●–output:转换后模型文件的路径。请注意,记录保存该om模型文件的路径,后续开发应用时需要使用。
●–input_shape:模型输入数据的shape。
●–soc_version:昇腾AI处理器的版本。
(4)编译并获得推理结果
cd ../scripts
bash sample_build.sh
bash sample_run.sh
这里在测试一张8.jpg(这里main好像只能读取jpg,png的图片识别不到)
总结
总体感觉香橙派AIPro开发板还是比较有趣的,从外观上就看起来整洁美观,论坛、文档都很齐全,可玩性比较高,后面有机会结合双目相机搞一下!