日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

树莓派4B (aarch64) 安装PyTorch 1.8 的可行方案

發(fā)布時(shí)間:2025/3/8 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 树莓派4B (aarch64) 安装PyTorch 1.8 的可行方案 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

樹(shù)莓派4B (aarch64) 安裝PyTorch 1.8 的可行方案

最終可行方案

試了一堆方案(源碼編譯、Fast.ai的安裝文件等)之后,終于找到一個(gè)可行的方案。是在 PyTorch 官方討論社區(qū)的一個(gè)帖子中找到的,在回復(fù)中一個(gè)大佬給出了自己在2021年1月為樹(shù)莓派制作的一個(gè) PyTorch 1.8 版本的安裝方案。如果是想在樹(shù)莓派上安裝 PyTorch 的話,只需下載其中的一個(gè) whl 文件,然后 pip install torch-1.8.0a0-cp37-cp37m-linux_aarch64.whl 即可。筆者目前測(cè)試的各功能正常,包括

  • Python 接口 import torch 測(cè)試正常
  • C++ 接口 Libtorch 構(gòu)建自己的文件,并運(yùn)行模型測(cè)試正常,關(guān)于 C++ Libtorch 的具體構(gòu)建過(guò)程,可參考 PyTorch導(dǎo)出JIT模型并用C++ API libtorch調(diào)用。

踩坑過(guò)程碎碎念

筆者這一天試了許多種方案,踩了許多坑,最后才發(fā)現(xiàn)大佬提供的 whl 文件是最快、問(wèn)題最少的方案。當(dāng)然這是在筆者自己的設(shè)備的情況,以下提供幾種嘗試過(guò),但是或多過(guò)少遇到了一些問(wèn)題,有的最終行不通,有的則是功能不全的方案,記錄一下,可能之后會(huì)用得到,也為看到本文的讀者提供一點(diǎn)思路。有清楚下面這些問(wèn)題的產(chǎn)生原因及解決方法的大佬也歡迎留言,感激不盡。

源碼編譯安裝

以下源碼樹(shù)莓派編譯安裝 PyTorch 的步驟是翻譯自 StackOverflow 的一個(gè)問(wèn)答。

預(yù)先準(zhǔn)備

擴(kuò)展交換

首先,如果設(shè)備是樹(shù)莓派3或者更低版本(也就是說(shuō),樹(shù)莓派4及以上,內(nèi)存3GB及以上可跳過(guò)此步),我們需要先擴(kuò)展交換(sawp),因?yàn)榫幾g安裝的過(guò)程非常吃內(nèi)存。

修改文件 /etc/dphys-swapfile:

CONF_SWAPFILE=2048M

然后執(zhí)行下面的命令來(lái)更新修改:

sudo dphys-swapfile setup
安裝基本包

安裝以下包:

sudo apt install build-essential make cmake git python3-pip libatlas-base-dev

Libtorch 的編譯需要 CMake 版本 3.15 及以上,可以通過(guò) cmake --version 來(lái)查看。如果低于 3.15 版本可以通過(guò)以下命令來(lái)安裝新版本:

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 cmake<version> mkdir build cd build cmake .. make sudo make installsudo apt remove cmake sudo ln -s /usr/local/bin/cmake /usr/bin/cmake sudo ldconfig

源碼構(gòu)建 PyTorch 并得到 ARM 后端的 Libtorch

再次提醒一下,如果內(nèi)存小于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 --branch=release/1.6 cd pytorch

初始化所有子模塊:

git submodule update --init --recursive git submodule update --remote third_party/protobuf # 不然這里會(huì)有個(gè)bug

設(shè)置環(huán)境變量,將以下內(nèi)容添加到 ~/.bashrc 文件:

export NO_CUDA=1 export NO_DISTRIBUTED=1 export NO_MKLDNN=1 export NO_NNPACK=1 export NO_QNNPACK=1

更新剛才的修改:

source ~/.bashrc

安裝所需的 Python 依賴(lài):

pip3 install setuptools pyyaml numpy

開(kāi)始構(gòu)建安裝 PyTorch ,別忘了 -E 參數(shù)來(lái)確定環(huán)境變量都被用到,(可以歇會(huì)兒了,時(shí)間巨長(zhǎng)):

sudo -E python setup.py install

檢查安裝是否成功:

python import torch torch.__version__

源碼編譯安裝首先是被被github的網(wǎng)絡(luò)狀況惡心了大半天),因?yàn)橐乱欢炎幽K,經(jīng)常下著下著網(wǎng)絡(luò)突然不行了,在下載完之后 sudo -E python setup.py install ,還是會(huì)遇到報(bào)錯(cuò)。

Fast.ai 安裝文件

pip install torch -f https://torch.kmtea.eu/whl/stable.html

整個(gè)安裝過(guò)程是順利的,然后 import torch 測(cè)試也是沒(méi)有問(wèn)題的,成功后用 Libtorch CMake 構(gòu)建自己的源文件也成功,但是運(yùn)行時(shí)卻報(bào)錯(cuò) 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 的警告信息(雖然有這個(gè)警告,但是整個(gè)編譯過(guò)程順利完成了)應(yīng)該是少庫(kù),筆者又源碼編譯了 kineto_LIBRARY 庫(kù)之后還是不行,還是報(bào) Illegal instruction (core dumped)。

注意,此方法安裝是正常的,在 Python 接口使用時(shí)也沒(méi)遇到什么問(wèn)題,但是用 Libtorch 構(gòu)建出的自己的文件卻不能正常運(yùn)行。

總結(jié)

以上是生活随笔為你收集整理的树莓派4B (aarch64) 安装PyTorch 1.8 的可行方案的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。