香橙派Aipro 入门体验(1)
收藏回复举报
香橙派Aipro 入门体验(1)
新人帖
发表于2024-05-16 21:28:08
0 查看

1 购买与组装

1.1 购买 

偶然间发现了这块昇腾芯片的板子,比较好奇华为的边缘计算技术栈,遂购入一块来学习。

就个人近期使用体验而言,芯片发热量较大,主动散热还是需要的,套装里的散热套件效果挺好。

1.2 组装

外壳精致小巧,WiFi天线的粘贴不太好操作,想要贴正位置需要点耐心。

我手上这个外壳固定孔位的攻丝和铜柱的螺纹并不匹配,为了紧固板卡我只能大力出奇迹,然后铜柱就断在里面了。

需要注意的是,在装好壳体后,控制启动设备的拨码开关会被壳体封闭,看不到更摸不着,所以需要先行拨至需要的状态再进行壳体安装。

2 系统烧录与硬件信息查询

2.1 系统烧录

参照用户手册,使用香橙派提供的工具,烧录Linux系统到TF卡的过程很顺利,桌面系统的登录以及网络连接过程也很顺利。

2.2 硬件信息查询

这个开发板最让人好奇的莫过于它的芯片信息。芯片信息可使用npu-smi命令查询,结果如下图所示,显存容量数值比较特别。

1.png

3 ATC模型转换

自本节开始的后续内容,主要参考了在线课程“从图片分类入门推理应用开发”,课程提供了完善的开发指南文档资料和视频讲解课程,很赞。

3.1 MindStudio方法转模型

视频教程没有细说需要在MindStudio中创建哪种项目来进入编辑页面才能找到“模型转换操作入口”,我尝试创建空项目进入编辑页面,没有找到它们。

2.png

在创建“Ascend Operator”类型项目时,需要选择CANN版本,这条路径看起来像是能够完成模型转换的路径,但是由于存在权限问题,我没有完成这条路径的尝试。

3.png

3.2 命令行方法转模型

课程文档中提供了atc命令行样例,我下载了一个resnet34的预训练模型resnet34-333f7ec4.pth,使用pytorch把它转换成了onnx模型,最后使用atc命令完成了到om模型的转换。

atc --framework=5 --soc_version=Ascend310B4 --model=resnet34.onnx --input_shape="input:1,3,224,224" --output=onnx_resnet34
模型转换的速度比较慢,文档中有提到“可以使用numactl工具指定CPU核后进行模型转换”,这个方法我尚未尝试,不知道能对转换速度有多大提升。

4 HelloWorld

4.1 编译依赖项的路径查找

在课程示例的CMakeLists.txt文件中,先行查找了环境变量中的“DDK_PATH”和“NPU_HOST_LIB”,从CMakeLists.txt文件内容来看“DDK_PATH”对应了ACL的头文件路径,“NPU_HOST_LIB”对应库文件路径。在我刷的这版系统中,初始环境变量中没有“DDK_PATH”,但有与之功能等价的“NPU_HOST_INC”。

4.png

4.2 helloworld的编译运行

完成CMakeLists.txt文件修改之后,编译顺利完成。按课程示例创建了空的acl.json文件之后,helloWorld程序得到了预期运行结果。

5.png

5 图片分类实验

参考示例程序,resnet34模型的加载和推理也得到了预期的结果。

示例中的比格犬图片分类运行结果如下,"162": ["n02088364", "beagle"]。

6.png

趴在地上的实心白色小博美被识别成了有些形似的大家伙,"258": ["n02111889", "Samoyed"]。

7.png

6 小结

在线课程中的学习资料很完善,对入门使用有很大帮助。

本次实验遗留问题:①需要尝试使用MindStudio完成模型转换;②需要尝试使用numactl工具加速Arm架构下的模型转换速度。

另外,论坛发帖编辑器到底怎么灵活设置首行缩进?

我要发帖子