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深度学习平台