目录
这是为那些勇敢地直接从VS Code运行代码的人准备的。如果您想简单地将RPi与Coral stick一起使用,请查看Docker文档中的Raspberry Pi(Arm64)选项卡,以便在Raspberry Pi with Coral上的docker镜像中使用CodeProject.AI服务器。
Raspberry Pi是一款非常非常不起眼的小型计算机。它有一个四核Arm64 CPU,运行频率为1.8GHz,4Gb DDR4 RAM,蓝牙,Wi-Fi,一些端口,而不是其他很多。它便宜,体积小,它可以运行Visual Studio Code调试一个.NET 7应用程序,该应用程序产生了六个运行AI推理的Python模块。
让我们来看看这个
第 1 步:升级到64位操作系统
我的Raspberry Pi 400最初是32位操作系统,原因我不知道。让我们通过前往Raspberry Pi站点并抓住成像器来解决此问题。
要使用成像仪,请确保您的机器已连接microSD卡。我最初选择了1Tb SD卡(30美元!)以确保一切都适合,但这似乎会导致成像仪出现问题。在使用成像仪之前格式化卡没有帮助,所以我改用更适中(和更有信誉的品牌)128Gb卡。
运行镜像以在卡上安装新的64位操作系统后,将其插入树莓派并通电。
第 2 步:Visual Studio Code
这很容易,多亏了Microsoft。在Pi上打开终端窗口并键入
sudo apt update
sudo apt install code
启动VS Code,登录,同步您的设置并进行设置,您就可以开始了。树莓派上的VS Code证明了树莓派的强大功能和VS Code的效率。
第 3 步:CodeProject.AI服务器
在VS Code中,像往常一样克隆 CodeProject.AI服务器存储库。确保树莓派的SD卡上有足够的空间。几千兆字节应该足够了。
拉取存储库后,您需要进行设置。同样,这很简单。
打开一个新终端并前往存储库中的 /src 文件夹。最简单的方法是通过VS Code中的终端菜单:选择“新建终端”,然后在终端窗口中只需“cd src”,你就在那里。或者,从树莓派系统菜单中打开一个终端,然后前往CodeProject.AI服务器存储库中的/src 目录。
到达那里后,运行
bash setup.sh
运行时
安装脚本通常很快,除了初始安装Python 3.7的过程非常缓慢。Raspberry Pi安装了Python 3.9,但对于3.7,您需要从源代码编译。值得庆幸的是,Theo van der Sluijs为我们创建了一个处理此问题的脚本。在我的Pi上花了将近一个小时才完成,其中绝大多数时间都花在运行回归测试上。
在Python之后是.NET 7,由于Pete Gallaghar,它由另一个脚本处理。
别担心——你不需要下载任何东西:setup.sh 脚本有你需要的一切,会为你做这件事。
模块
设置运行时后,模块安装与任何其他平台相同。只是让脚本做它的事情。将为每个需要虚拟环境的模块设置Python虚拟环境,并且将下载每个模块将运行的模型并将其放置在正确的位置。
构建和调试
运行安装脚本后,就可以构建和启动了。同样,这有点非事件,因为您只需转到VS Code中的“运行和调试”面板,然后从下拉列表中选择“全部构建和启动服务器Arm64”。
我们有单独的x64和Arm64版本,因为某些模块(如PortraitFilter)使用Microsoft.ML.OnnxRuntime在Arm64中不受支持,因此需要从Arm64版本中排除。
单击下拉列表旁边的箭头将启动服务器。您可以在树莓派上调试和单步执行服务器代码,就像任何其他VS Code安装一样。启动时,将显示相同的仪表板UI,你可以打开相同的资源管理器体验。
同样,我们需要记住,这是一台具有非常有限的 RAM 的微型计算机。我倾向于使用给定模块允许我使用的最小模型,但即便如此,推理时间也可能超过一秒。
提高性能
Raspberry Pi开发的下一步将使用三种方法解决
- 采购更快、更精简、更适应资源有限环境(如Pi)的新模块
- 提供更小、更精简的模型
- 为外部AI加速器提供支持,例如 Coral AI U盘
不过,就目前而言,我们能够调试Python包、.NET安装、服务器怪癖、硬件报告和我们在Pi上的原生设置脚本的问题。这使得瞄准Raspberry Pi变得非常容易,只要有耐心。
https://www.codeproject.com/Articles/5353064/Running-CodeProject-AI-Server-on-a-Raspberry-Pi