一.香橙派 AIPro简单介绍
香橙派AIPro 开发板是香橙派联合华为精心打造的高性能 AI 开发板,可谓是国产在芯片领域的一大创新之作,在性能开发板上提供了另一选择。在硬件方面上,其搭载了华为自研的昇腾 AI 处理器,官方称可提供 8TOPS INT8 的计算能力。所以本文就准备跑一些AI样例,来测试一下这个开发板的实际性能到底能达到多少。 根据官方表示,内存类型为LPDDR4X,用在开发板上是妥妥的够。存储上板载了32MB 的 SPI Flash,还有SD接口,惊喜的是,还有M.2接口,以前买过的开发板都没出现过,这对想组NAS的玩家,提供了新的方案还省了一笔费用,并且集成度更高,组起来更省空间。同时,香橙派AIPro支持蓝牙跟WiFi,频段也升级到了5GHZ。具体信息如下表:
二.开箱体验
先上图
![](https://img-blog.csdnimg.cn/direct/1aaefa87f3024836b5cf79a91365932e.png)
这是香橙派 AIPro的外部包装,拿到后里面保护的非常好,上下两层海绵,里面是真空包装袋,很用心的保护。
下面这张是开发板实拍图
官方贴心的放上了散热风扇,可以做到自调节,上面也有两个USB接口,一个网口,两个HDMI,一个耳机口,两个Type,接口上中规中矩,下面是40个pin扩展口,有特殊需求可以自己扩展。左边是一个WiFi模块,伸长这么多,笔者觉得有点不太方便。
这张是背面图,可以看到一个M.2接口跟一个SD卡接口。
三.开机配置
- 开机
拿到开发板后,就要对其进行简单的配置,如果是出厂自带的系统开机密码为Mind@123
- 配置网络
大部分人可能需要对其进行SSH连接,所以需要对其进行一个简单的网络配置,首先在右上角点WiFi标签连接WiFi,连上后就要配置所有用户可自动连接WiFi,这样就可以在香橙派 AIPro没有进入该用户的时候还能连接,可以不要在香橙派 AIPro上输入密码即可连接。
先在WiFi界面点击Edit Connections,进入以下页面
在这个页面点击设置后进入以下页面。
把上图的第二个√打上。这样就设置了自动连接网络。
然后就要设置一个静态IP,保证每次连接的WiFi的IP地址一样,我们可以先查一下 当前的IP地址,这样锁定当前IP就能保证输入的IP地址可被分配。打开Terminal,输入ifconfig
在得道的信息上找到wlan0,即我们所连的WiFi信息
第二个框和第三个框即为我们所需要的信息,接下来配置静态IP,如下图所示
也可以在终端直接输入route -n就可以直接查看到IP地址,子网掩码跟网关,注意,是wlan0。这样就配置了同一路由下的静态IP,就可以用连接同一路由器的电脑进行访问,我用的是Finalshell,连接后如图:
就可以在电脑上进行操作
- 配置swap,扩展内存
如果是要跑什么案例,但是内存不够,这时候就需要配置swap内存
1.开一个空间
sudo fallocate -l 16G /swapfile
- 设置权限
sudo chmod 600 /swapfile
- 设置成swap
sudo mkswap /swapfile
- 启用
sudo swapon /swapfile
这样就成功开了一个扩展内存,可以使用free -h查看
扩展内存后,就可以跑一些爆内存的程序,比如深度学习转Om格式的就需要大内存,这时候很有必要。
四.测试AI样例
- MobileNet垃圾分类
首先测试了一个典型的案例,图像分类,来了解AI算力
首先 输入命令,现在开源的mobileNet文件
git clone samples: CANN Samples
下载后会得到一个sample的文件夹,进入/samples/python/contrib/garbage_picture/model
这个model文件夹后,下载模型文件
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/cartoonization/cartoonization.pb
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/cartoonization/insert_op.cfg
下载后就要对其进行转换成AI处理器能识别的Om格式文件,使用命令
atc --output_type=FP32 --input_shape="train_real_A:1,256,256,3" --input_format=NHWC --output="./cartoonization" --soc_version=Ascend310 --insert_op_conf=insert_op.cfg --framework=3 --save_original_model=false --model="./cartoonization.pb" --precision_mode=allow_fp32_to_fp16
atc命令中各参数的含义如下:
- --model:ResNet50的ONNX模型文件存储路径。
- --framework:原始框架类型,5表示ONNX。
- --output:离线om模型的路径以及文件名,此处文件名配置为resnet50,直接存储在当前目录下。请注意,请记录保存该om模型文件的路径,后续推理应用程序需要使用。
- --input_shape:执行推理时模型输入数据的shape。
- --soc_version:昇腾AI处理器的型号。
注意!!这里运行的时候就会很吃内存,如果开发板的内存是8G,后面就会报错,试过14G还是报错,最后调到17才成功转化,所以需要上文的swap扩展内存
完成模型转化后进入
samples/python/contrib/cartoonGAN_picture/data
下载照片
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/cartoonGAN_picture/scenery.jpg
最后进入src即cartoonGAN_picture/src文件夹,运行
python3 cartoonization.py ../data/
如果运行成功就会显示如图
然后就会在上一级的out目录下生成所识别的图片,并且带上标签,如下三图所示
在转成Om格式的模型后,识别效果比较好,优化非常可以。
- AnimeGAN生成图
在同样的案例下,进入cartoonGAN_picture 目录,再进这个目录的model下。
输入命令下载模型
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/cartoonization/cartoonization.pb
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/cartoonization/insert_op.cfg
然后再转换模型
atc --output_type=FP32 --input_shape="train_real_A:1,256,256,3" --input_format=NHWC --output="./cartoonization" --soc_version=Ascend310B1 --insert_op_conf=insert_op.cfg --framework=3 --save_original_model=false --model="./cartoonization.pb" --precision_mode=allow_fp32_to_fp16
得到如图的信息就是转换成功
然后再进data下,下载测试文件
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/cartoonGAN_picture/scenery.jpg
最后进入src测试
cd ../src
python3 cartoonization.py ../data/
得到如图的结果
生成成功,在out目录查看结果
对比两张图,效果比较明显,并且整个过程用了不到0.23秒,硬件效果非常给力。
- 测试眼底视网膜血管图像分割
第三个测试方法和前两个差不多,依次命令
得到模型文件
下载测试文件
运行后得到最后结果
速度比较快,得到的结果也比较好。能够准确分割。
五 总结
作为一款跟华为合作的产品,在性能上确实表现出十分强劲。通过三种案例,分类任务、生成图、图像分割,也是图像领域三大板块。得到的结果十分可观,运行的速度很快。并且跑完后温度也在较好的范围内。由于我的电脑上没有安装虚拟机,所以转化Om格式均在开发板上进行,在格式转化上会花点时间,CPU的性能有待提高,可能是因为AI开发板,算力确实很强大。在刚上手开发板时,并不知道是怎么转om模型,完全没有利用上强大的算力,在找到方法后,发现只能在Linux上转,在windows下似乎操作不了(可能我没找对方法),这种方法还是比较麻烦,建议官方出一个Windows下的Om模型转化方式。不可否认,在转化成om模型后,开发板在AI领域性能很强大,大大推动国产开发板的发展。在使用的过程中也发现,香橙派 AIPro的外壳卖的较贵,也希望官方能出点简单外壳,对于个人玩家而言,毕竟裸露的电子元件,很还是很危险。此外,在使用中好几次发现,插上U盘后,鼠标就没法移动,好像是发生一点卡顿,希望官方能够修复这个问题。
最后,希望国产开发板能走在世界前列,国产AI生态也能走在世界前列。