×

如何构建与AI/ML的主要必要库兼容的Linux映像

消耗积分:0 | 格式:zip | 大小:1.11 MB | 2023-02-03

分享资料个

描述

介绍:

SAMA7G54 是最后一款超低功耗 MPU 32 位。其卓越的性能使其能够运行基于 AI/ML 的应用程序。在本教程中,您将学习如何构建与 AI/ML 的主要必要库兼容的 Linux 映像。这些主要库是 tflite_runtime 和 SciPy。目前两者都没有集成到 buildroot 中。

I) 下载 Microchip 产品的 buildroot

您必须在主机上的 Linux 环境中工作。

首先,在您选择的位置,创建一个名为:“buildroot_for_ML”的文件夹并输入:

 

mkdir buildroot_for_ML
cd buildroot_for_ML

 

然后 :

 

git clone https://github.com/linux4sam/buildroot-at91.git
cd buildroot-at91
git checkout tags/linux4sam-2022.04

 

提示:最好使用最新的buildroot-at91标签。为此,您可以通过以下链接在我们的 GitHub 存储库中查看最近的标签列表:Linux4SAM/buildroot-at91 标签

下一步是:

 

cd ..
git clone https://github.com/linux4sam/buildroot-external-microchip
cd buildroot-external-microchip
git checkout tags/linux4sam-2022.04

 

完成所有这些步骤后,您需要在 buildroot-at91 目录中进行一些更改。

II) 使安装与用于 AI/ML 目的的库兼容

1) 更改 Python 版本

首先,如简介中所述,您将需要使用tflite_runtime。此 python 库与最新版本的 python (Python 3.10) 不兼容,但仅与 Python 3.8 兼容。

转到“buildroot_for_ML/buildroot-at91/package”目录并删除“python3”目录。

现在重要的是去选择之前版本buildroot中的python3.8.6。

为此,请通过以下链接下载所需的特定版本的 buildroot:

使用 python 3.8.6 构建根目录

警告:

不要将其下载到buildroot_for_ML”目录中,但请下载到另一个目录中。

下载此文件后:

解压缩

浏览到目录

复制“python3”目录

将其粘贴到此位置:buildroot_for_ML/buildroot-at91/package”

现在完成了。恭喜!您更改了 buildroot 中的 python 版本。

2) 将 SciPy 添加到 buildroot。

SciPy 库是一个数学库,通常用于音频 ML 模型中的音频预处理。

请按照以下步骤将其添加到我们的 buildroot 安装中:

转到https://patchwork.ozlabs.org/project/buildroot/list/?series=287352

通过单击其链接和“MBOX”下载每个补丁:

image_D6z5cbLzal.png?auto=compress%2Cformat&w=740&h=555&fit=max

下载四个补丁后,将文件放在buildroot_for_ML/buildroot-at91/”目录中

在此目录下打开一个终端

然后键入这些命令:

 

git apply v4-1-4-package-python-gast-new-host-only-package.patch
git apply v4-2-4-package-python-beniget-new-host-only-package.patch
git apply v4-3-4-package-python-pythran-new-host-only-package.patch
git apply v4-4-4-package-python-scipy-new-package.patch

 

完成这些步骤后,SciPy 库现在可以在 buildroot 中使用。但这不是它的最新版本,即 SciPy 版本 1.8.1。

要更新 SciPy 版本,请按照以下步骤操作:

转到“buildroot_for_ML/buildroot-at91/package/python-SciPy”目录

使用诸如 gedit 之类的代码编辑器打开文件“ python-scipy.mk ”。

将 SciPy 版本从 1.7.3 更改为 1.8.1:

image_zycwvO6dJw.png?auto=compress%2Cformat&w=740&h=555&fit=max

完成后,保存文件并关闭它。

使用代码编辑器打开文件“python-scipy.hash”

删除第 3 行;4;5; 6; 7; 8; 9

用这一行替换第 2 行的内容:

 

sha256 0140dd24d14ce194fdb3df496c2190f0896ca84ac98bf5d69c3b3fb7bde1a1e9 scipy-1.8.1.tar.xz

 

像这样:

image_AdD31cpXeJ.png?auto=compress%2Cformat&w=740&h=555&fit=max

现在终于完成了!您拥有与 buildroot 集成的最新版本的 SciPy。

三)配置Buildroot

1)默认配置

由于我们要为 SAMA7G54-Ek 板构建 Linux 映像,我们需要通过设置环境变量将其指示给 buildroot。

在您的终端中转到“buildroot-at91/”目录

运行此命令:

 

BR2_EXTERNAL=../buildroot-external-microchip/ make sama7g5ek_headless_defconfig

 

2)制作菜单配置

现在外部工具链已设置,您可以通过键入以下命令运行配置 GUI:

 

make menuconfig

 

为了能够将 python-scipy 添加到您的配置中,您必须使用您的工具链启用 Fortran 支持。

为此:

转到“工具链--->”选项

按空格键激活“启用 Fortran 支持”选项。

双击“ESC”返回主页面。

现在已经完成,您可以根据需要添加任意数量的包。

Microchip 的 MPU32 营销团队至少向您推荐以下这些:

BR2_PACKAGE_PYTHON3

BR2_PACKAGE_PYTHON_PIP

BR2_PACKAGE_NUMPY

BR2_PACKAGE_PILLOW

BR2_PACKAGE_PSUTIL

BR2_PACKAGE_SCIPY

BR2_PACKAGE_PSYCOPG2

提示:您可以通过按“/”键盘键在 menuconfig 中搜索您想要的任何包。

警告:

默认情况下启用某些软件包,但它们会导致兼容性问题,因为它们不支持 SAMA7G54-Ek 板并且不是必需的,因此请禁用它们:

· 搜索“cryptoauthlib”

· 选择第一个结果并禁用两个包:

image_oYH8T7IrA2.png?auto=compress%2Cformat&w=740&h=555&fit=max

现在一切都已完成,您可以构建图像。

IV) 构建并刷入镜像

1)建立形象

要构建图像:

在您的终端中,在目录“ buildroot-at91”中

确定可用于图像生成的 CPU 数量 N

将以下命令中的 N 替换并运行

 

make -jN

 

现在你必须等待几个小时才能完成这一代:

image_GU5GbCKS7c.png?auto=compress%2Cformat&w=740&h=555&fit=max

2) 刷写 SD 卡

生成完成后,转到“/buildroot_for_ML/buildroot-at91/output/images”目录。文件“sdcard.img”是将在您的 SD 卡上闪烁的 Linux 映像。

请按照本教程学习如何操作:

Linux4SAM 闪存 SD 卡

五)安装tflite_runtime

1)运行图像

SD 卡刷入后,您可以将其插入 SAMA7G54-Ek 板上的 SD 卡接收器,然后按“重置按钮”和“开始按钮”运行操作系统。

如果您在设置硬件时遇到一些困难,请按照此图片的指示进行操作:

tflite_runtime_workflow-demo_setup_generic_Hx22ckMOaw.jpg?auto=compress%2Cformat&w=740&h=555&fit=max

提示

如果您需要帮助安装 TTL 转 USB 连接器 (UART) 的驱动程序,您可以按照本教程进行操作:

Linux4Sam - SAMA7G54-Ek - TTL 转 USB 连接器

2) 安装 tflite_runtime

要安装 tflite_runtime,您必须使用“pip”。但首先你需要将电路板连接到互联网:

将以太网电缆插入“1Gbps 以太网”模块。

激活界面:

 

ifup eth0

 

设置当前日期和时间(出于 SSL 证书兼容性原因):

 

date YYYY-MM-DD
date HH:MM:SS

 

安装 tflite_runtime :

 

pip install tflite_runtime

 

结论:

感谢您使用本教程。现在你有了一个工作图像,你可以安装其他包,如果兼容的话,再次使用“pip”。如果您需要帮助,请随时与我联系

 

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !