何不花个做核酸排队的时间来编译一下Paddle?

何不花个做核酸排队的时间来编译一下Paddle?

今天长沙出了个通知——《关于做好常态化便民新冠病毒核酸检测工作的通知》,规定以7天为一个周期至少完成一次核酸检测。这边建议大家做核酸排队的时候别玩手机,可以闭目养神,把本来用于休息的时间来尝试编译一下Paddle。

一、环境准备

安装Docker注意一个问题:

之前安装都是用的20.04版本,此处我们尝试安装一下。

二、安装Docker

第一步我们更新apt包索引并安装几个包——目的了为了使用HTTPS来下载存储库。

 $ sudo apt-get update
 
 $ sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

接下来添加 Docker 的官方 GPG 密钥:

 $ sudo mkdir -p /etc/apt/keyrings
 $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

最后使用以下命令设置存储库,就完成看设置存储库的步骤了。

$ echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

接下来安装Docker引擎:

 $ sudo apt-get update
 $ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

如果我们需要安装指定版本,可以使用下列语句列出所有可用版本。

apt-cache madison docker-ce

sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io docker-compose-plugin

安装命令如上,假如我们选择:

 docker-ce | 5:20.10.17~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages

这个版本,我们就提取5:20.10.17~3-0~ubuntu-focal作为<VERSION_STRING>,替换掉再执行即可。

sudo apt-get install docker-ce=5:20.10.17~3-0~ubuntu-focal docker-ce-cli=5:20.10.17~3-0~ubuntu-focal containerd.io docker-compose-plugin

三、使用Docker编译Paddle

先clone PaddlePaddle到本地:

git clone https://github.com/PaddlePaddle/Paddle.git
cd Paddle

CPU版本的PaddlePaddle使用以下命令拉去镜像:

sudo docker pull registry.baidubce.com/paddlepaddle/paddle:latest-dev

GPU版本使用:

sudo nvidia-docker pull registry.baidubce.com/paddlepaddle/paddle:latest-gpu-cuda10.2-cudnn7-dev

创建并进入已配置好编译环境的 Docker 容器

sudo docker run --name paddle-test -v $PWD:/paddle --network=host -it registry.baidubce.com/paddlepaddle/paddle:latest-dev /bin/bash

进入 Docker 后进入 paddle 目录下,切换到develop版本:

cd /Paddle

git checkout develop

创建并进入/paddle/build 路径下

mkdir -p /paddle/build && cd /paddle/build

安装 protobuf、安装 patchelf:

pip3.7 install protobuf

apt install patchelf

cmake进行编译:

time cmake .. -DPY_VERSION=3.7 -DWITH_GPU=OFFcd 

执行编译:

time make -j$(nproc)

四、使用AI Studio体验Paddle编译

向Paddle工作人员申请即可开通此权限。

1. clone Paddle

里面是个在线的VS code开发环境,像往常一样clone Paddle即可。

2.在paddle建立build目录,执行cmake、编译。

在终端运行以下命令:

mkdir build && cd build

对于需要编译CPU 版本 PaddlePaddle的用户:

cmake ../.. -DPY_VERSION=3.7 -DWITH_GPU=OFF

对于需要编译GPU 版本 PaddlePaddle的用户:

cmake ../.. -DPY_VERSION=3.7 -DWITH_GPU=ON
3. 执行编译命令make -j$(nproc)

4. 然后进行单元测试。

首先重新运行cmake命令:cmake .. -DPY_VERSION=3.7 -DWITH_GPU=OFF -DWITH_TESTING=ON(在原来的cmake命令后加入-DWITH_TESTING=ON

然后执行编译命令make -j$(nproc)

再安装依赖:

pip3.7 install -r ../../python/requirements.txt

然后执行:

/home/cmake-3.16.0-Linux-x86_64/bin/ctest -R test_logsumexp

这样就完成编译了呀~

相关文章

学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习...
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面...
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生...
Can’t connect to local MySQL server through socket \'/v...
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 ...
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服...