建设网站一般过程,东莞seo关键词,黄骅港自驾游景点,现在开天猫店需要多少钱树莓派4B (aarch64) 安装PyTorch 1.8 的可行方案
最终可行方案
试了一堆方案#xff08;源码编译、Fast.ai的安装文件等#xff09;之后#xff0c;终于找到一个可行的方案。是在 PyTorch 官方讨论社区的一个帖子中找到的#xff0c;在回复中一个大佬给出了自己在2021年1…树莓派4B (aarch64) 安装PyTorch 1.8 的可行方案
最终可行方案
试了一堆方案源码编译、Fast.ai的安装文件等之后终于找到一个可行的方案。是在 PyTorch 官方讨论社区的一个帖子中找到的在回复中一个大佬给出了自己在2021年1月为树莓派制作的一个 PyTorch 1.8 版本的安装方案。如果是想在树莓派上安装 PyTorch 的话只需下载其中的一个 whl 文件然后 pip install torch-1.8.0a0-cp37-cp37m-linux_aarch64.whl 即可。笔者目前测试的各功能正常包括
Python 接口 import torch 测试正常C 接口 Libtorch 构建自己的文件并运行模型测试正常关于 C Libtorch 的具体构建过程可参考 PyTorch导出JIT模型并用C API libtorch调用。
踩坑过程碎碎念
笔者这一天试了许多种方案踩了许多坑最后才发现大佬提供的 whl 文件是最快、问题最少的方案。当然这是在笔者自己的设备的情况以下提供几种尝试过但是或多过少遇到了一些问题有的最终行不通有的则是功能不全的方案记录一下可能之后会用得到也为看到本文的读者提供一点思路。有清楚下面这些问题的产生原因及解决方法的大佬也欢迎留言感激不尽。
源码编译安装
以下源码树莓派编译安装 PyTorch 的步骤是翻译自 StackOverflow 的一个问答。
预先准备
扩展交换
首先如果设备是树莓派3或者更低版本也就是说树莓派4及以上内存3GB及以上可跳过此步我们需要先扩展交换sawp因为编译安装的过程非常吃内存。
修改文件 /etc/dphys-swapfile
CONF_SWAPFILE2048M然后执行下面的命令来更新修改
sudo dphys-swapfile setup安装基本包
安装以下包
sudo apt install build-essential make cmake git python3-pip libatlas-base-devLibtorch 的编译需要 CMake 版本 3.15 及以上可以通过 cmake --version 来查看。如果低于 3.15 版本可以通过以下命令来安装新版本
wget https://github.com/Kitware/CMake/releases/download/v3.18.0-rc1/cmake-3.18.0-rc1.tar.gz
tar -xzf cmake-3.18.0-rc1.tar.gz
cd cmakeversion
mkdir build
cd build
cmake ..
make
sudo make installsudo apt remove cmake
sudo ln -s /usr/local/bin/cmake /usr/bin/cmake
sudo ldconfig源码构建 PyTorch 并得到 ARM 后端的 Libtorch 再次提醒一下如果内存小于3GB则需要将交换增加到 2048MB。 安装所需的包
sudo apt-get update
sudo apt-get install build-essential tk-dev libncurses5-dev libncursesw5-dev libreadline6-dev libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev下载 PyTorch 源码
git clone --recursive https://github.com/pytorch/pytorch --branchrelease/1.6
cd pytorch初始化所有子模块
git submodule update --init --recursive
git submodule update --remote third_party/protobuf # 不然这里会有个bug设置环境变量将以下内容添加到 ~/.bashrc 文件
export NO_CUDA1
export NO_DISTRIBUTED1
export NO_MKLDNN1
export NO_NNPACK1
export NO_QNNPACK1更新刚才的修改
source ~/.bashrc安装所需的 Python 依赖
pip3 install setuptools pyyaml numpy开始构建安装 PyTorch 别忘了 -E 参数来确定环境变量都被用到可以歇会儿了时间巨长
sudo -E python setup.py install检查安装是否成功
python
import torch
torch.__version__源码编译安装首先是被被github的网络状况恶心了大半天因为要下一堆子模块经常下着下着网络突然不行了在下载完之后 sudo -E python setup.py install 还是会遇到报错。
Fast.ai 安装文件
pip install torch -f https://torch.kmtea.eu/whl/stable.html整个安装过程是顺利的然后 import torch 测试也是没有问题的成功后用 Libtorch CMake 构建自己的源文件也成功但是运行时却报错 Illegal instruction (core dumped)。
CMake Warning at /home/pisong/miniconda3/lib/python3.7/site-packages/torch/share/cmake/Torch/TorchConfig.cmake:22 (message):static library kineto_LIBRARY-NOTFOUND not found.
Call Stack (most recent call first):/home/pisong/miniconda3/lib/python3.7/site-packages/torch/share/cmake/Torch/TorchConfig.cmake:127 (append_torchlib_if_found)CMakeLists.txt:4 (find_package)看 CMake 的警告信息虽然有这个警告但是整个编译过程顺利完成了应该是少库笔者又源码编译了 kineto_LIBRARY 库之后还是不行还是报 Illegal instruction (core dumped)。
注意此方法安装是正常的在 Python 接口使用时也没遇到什么问题但是用 Libtorch 构建出的自己的文件却不能正常运行。