天天看点

Nvidia Jetson Agx Xavier 从源码编译安装PaddlePaddle_gpu一、环境准备二、安装步骤

        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
           
    • --name paddle-test

      :为您创建的 Docker 容器命名为 paddle-test;
    • -v $PWD:/paddle

      : 将当前目录挂载到 Docker 容器中的/paddle 目录下(Linux 中 PWD 变量会展开为当前路径的绝对路径);
    • -it

      : 与宿主机保持交互状态;
    • registry.baidubce.com/paddlepaddle/paddle:latest-gpu-cuda10.2-cudnn7-dev

      :使用名为

      registry.baidubce.com/paddlepaddle/paddle:latest-gpu-cuda10.2-cudnn7-dev

      的镜像创建 Docker 容器,/bin/bash 进入容器后启动/bin/bash 命令。

注意: 请确保至少为 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

包:

#可创建虚拟环境进行安装
pip3 install -U [whl 包的名字]
           

     参考Linux 下从源码编译-使用文档-PaddlePaddle深度学习平台

继续阅读