Jetson系列是Arm裝置,而PaddlePaddle的whl檔案不支援Arm裝置,是以隻能通過源碼編譯安裝,以下是gpu版本安裝記錄。
直接下載下傳:
https://download.csdn.net/download/qq_41426807/87260820
一、環境準備
裝置:Nvidia Jetson Agx Xavier
Linux版本:Ubuntu18.04
Jetpack4.6.1
首先,確定Jetson裝置安裝了CUDA,cudnn等sdk,如未安裝,執行以下指令進行安裝
sudo apt install nvidia-jetpack
二、安裝步驟
在 Linux 的系統下有 2 種編譯方式,推薦使用 Docker 編譯。 Docker 環境中已預裝好編譯 Paddle 需要的各種依賴,相較本機編譯環境更簡單。
1、使用 Docker 編譯
1.1請首先選擇您希望儲存 PaddlePaddle 的路徑,然後在該路徑下使用以下指令将 PaddlePaddle 的源碼從 github 克隆到本地目前目錄下名為 Paddle 的檔案夾中:
git clone https://github.com/PaddlePaddle/Paddle.git
1.2. 進入 Paddle 目錄下:
cd Paddle
1.3. 拉取 PaddlePaddle 鏡像
GPU 版的 PaddlePaddle:
nvidia-docker pull registry.baidubce.com/paddlepaddle/paddle:latest-gpu-cuda10.2-cudnn7-dev
1.4. 建立并進入已配置好編譯環境的 Docker 容器:
nvidia-docker run --name paddle-test -v $PWD:/paddle --network=host -it registry.baidubce.com/paddlepaddle/paddle:latest-gpu-cuda10.2-cudnn7-dev /bin/bash
-
-
:為您建立的 Docker 容器命名為 paddle-test;--name paddle-test
-
: 将目前目錄挂載到 Docker 容器中的/paddle 目錄下(Linux 中 PWD 變量會展開為目前路徑的絕對路徑);-v $PWD:/paddle
-
: 與主控端保持互動狀态;-it
-
:使用名為registry.baidubce.com/paddlepaddle/paddle:latest-gpu-cuda10.2-cudnn7-dev
的鏡像建立 Docker 容器,/bin/bash 進入容器後啟動/bin/bash 指令。registry.baidubce.com/paddlepaddle/paddle:latest-gpu-cuda10.2-cudnn7-dev
-
注意: 請確定至少為 docker 配置設定 4g 以上的記憶體,否則編譯過程可能因記憶體不足導緻失敗。
1.5. 進入 Docker 後進入 paddle 目錄下:
cd /paddle
1.6. 切換到較穩定版本下進行編譯:
#git checkout [分支名]
#例如
git checkout release/2.4
1.7. 建立并進入/paddle/build 路徑下:
mkdir -p /paddle/build && cd /paddle/build
1.8. 使用以下指令安裝相關依賴:
安裝 protobuf。
pip3.6 install protobuf
注意:以上用 Python3.6 指令來舉例,如您的 Python 版本為 3.7/3.8/3.9/3.10,請将上述指令中的 pip3.6 改成 pip3.7/pip3.8/pip3.9/pip3.10
安裝 patchelf,PatchELF 是一個小而實用的程式,用于修改 ELF 可執行檔案的動态連結器和 RPATH。
apt install patchelf
1.9. 執行 cmake:
對于需要編譯GPU 版本 PaddlePaddle的使用者:
cmake .. -DPY_VERSION=3.6 -DWITH_GPU=ON
注意修改參數
-DPY_VERSION
為您希望編譯使用的 python 版本, 例如
-DPY_VERSION=3.6
表示 python 版本為 3.6
1.10. 執行編譯:
使用多核編譯
make -j$(nproc)
注意: 編譯過程中需要從 github 上下載下傳依賴,請確定您的編譯環境能正常從 github 下載下傳代碼。
1.11. 編譯成功後進入
/paddle/build/python/dist
目錄下找到生成的
.whl
包:
cd /paddle/build/python/dist
1.12. 在目前機器或目标機器安裝編譯好的 .whl
包:
.whl
#可建立虛拟環境進行安裝
pip3 install -U [whl 包的名字]
參考Linux 下從源碼編譯-使用文檔-PaddlePaddle深度學習平台