本文主要是介绍在imx8qm上开心把玩Machine Learning,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在imx8qm上搭建ARM-NN+Compute-Library的软件开发环境
- ARM-NN与Compute-Library简介
- 环境搭建
- 程序运行
- 总结
本篇,将带领大家进入imx8qm的世界,讲述如何在imx8qm上搭建机器学习开发环境,以其让AI在imx8qm上飞奔
OS:Linux-Ubuntu-16.04
ARM-NN与Compute-Library简介
ARM-NN是一套由ARM公司所提供的开源Linux软件和工具,以支持在嵌入式设备上运行机器学习算法。特别的,针对于ARM处理架构有着特别friendly的支持!桥接了几近所有的神经网络框架与高效能的Arm cortex CPUs ( cortex-mM or cortex-A )、Arm Mali GPU ( with openCL )或Arm机器学习处理器。如图所示,为ARM所提供的机器学习框架:
特别的,针对于Cortex-A系列处理器,其系统架构:
针对于广大的MCU群体,ARM-NN同样有所涉猎:
因此,可以这样理解,ARM-NN其实是ARM所提供的一套上层开发套件,通过他,即可进行ML的架设!可以称之为指挥官,那么问题来了,冲锋陷阵的战士在哪里呢?当然,这个时候就要轮到Compute-Library以及CMSIS-NN(将在下期为大家进行分解)登场了,顾名思义,Compute-Library指代了一系列的数学计算库,以Cortex-A CPU和Mali GPU等可编程内核为目标,尽可能的提高算法执行效率,其利用ARM指令级对ML操作进行汇编级的优化,同时利用openCL充分利用Mali GPU的优势,利用GPU对算法进行加速。
首次发布的ARM-NN版本提供了对于Caffe的支持,同时,ARM后续还会依次发布支持TensorFlow以及其他神经网络框架的版本。那么ARM-NN是如何实现机器学习的移植的呢:
首先,ARM-NN将神经网络框架中的网络转换为内部ARM-NN的格式,然后通过Compute-Library将它们高效地部署在Cortex-A CPU和Mali-G71及Mali-G72等Mali GPU上(当然,如果你确定使用了ARM的Mali-GPU的话)。
环境搭建
下面将介绍如何进行软件开发环境的搭建,请切记一定要保证版本的一致!!!
- 安装编译交叉编译器
执行sh fsl-imx-xwayland-glibc-x86_64-fsl-image-qt5-aarch64-toolchain-4.9.51-mx8-beta.sh,安装路径选择默认,即/opt/文件夹下 - 安装SCons
使用linux自带的python进行安装,python版本2.7,路径为/usr/bin/python。若系统本身自带SCons3.0的版本,请卸载后安装:
rm /usr/local/bin/scons*
rm -r /usr/l
这篇关于在imx8qm上开心把玩Machine Learning的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!