最近因为有计算量较大的Python程序要跑,然而主机又得有一些“重要的事情”要办,所以不得不把目光放在了手边这块闲置的树莓派4B上。虽然小破核性能不太行,但它有的是时间(^ ^ ) 。在运行程序之前,需要为它安装程序中必要的Pytorch库。
系统要求:Linux(64-bit)
这里建议是Raspberry Pi OS (64-bit),因为64位的系统大多数情况下效率可能高一点,同时兼容性也更好一点。附上官方镜像链接:Operating system images – Raspberry Pihttps://www.raspberrypi.com/software/operating-systems/
下载whl包:
这里建议去Pytorch官网下载,这里不建议对较大的库文件使用pip等下载,因为一旦网络状况不佳又得重来一篇,同时再移植程序到其他设备时容易出现版本兼容性等环境问题。注意这里要下载的版本为 manylinux2014_aarch64.whl,因为树莓派4B搭载的是armv8 A72的内核,详细原理参见该文章:【CPU】关于x86、x86_64/x64、amd64和arm64/aarch64 - 简书 (jianshu.com)https://www.jianshu.com/p/2753c45af9bf需要下载有三个whl文件:torch torchvision torchaudio,找到自己所需的版本即可,例如(torch==1.11.0 torchvision==0.12.0 torchaudio==0.11.0)为一组,注意要与适配的python版本一致。
附上官方下载连接,点击其中链接即可下载:
使用pip3安装下载的whl文件:
将三个whl文件拷贝至树莓派某一文件夹下,然后右键该文件夹使用bash打开。
例如:
之后输入命令让pip3安装该3个whl包,例如:
pip3 install torch-1.10.1-cp39-cp39-manylinux2014_aarch64.whl
pip3 install torchvision-0.11.2-cp39-cp39-manylinux2014_aarch64.whl
pip3 install torchaudio-0.10.1-cp39-cp39-manylinux2014_aarch64.whl
当然也可以用sh脚本完成命令,这样不仅安装大量库时效率高而且一劳永逸。 这样就安装完成了。
# 一些使用体会
貌似Pytorch在Linux的aarch64版本下,并不存在使用多线程加快运算速度的情况,实测一个神经网络的一次forward只会占用 cpu 25%的资源,与amd64下对没有超线程的cpu占用率直接达到100%不同,所以这也就正可能是相比amd64版aarch64版的whl包要小很多的原因叭。因此在大规模网络的并行计算情况下可以考虑适当使用多进程来解决问题。
(图中原本开启了4个进程,在两个进程运行结束后,右下角cpu利用率来到了50%)
Thanks !