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


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

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

    一、环境准备

    安装Docker注意一个问题:

    image-20220831192726072

    之前安装都是用的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
    

    image-20220831200415847

    sudo apt-get install docker-ce= docker-ce-cli= 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作为,替换掉再执行即可。

    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)
    

    image-20220901122043758

    四、使用AI Studio体验Paddle编译

    image-20220919151911458

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

    1. clone Paddle

    image-20220919152034293

    里面是个在线的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)

    image-20220919180725820

    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
    

    image-20220919183020553

    这样就完成编译了呀~

  • 相关阅读:
    LeetCode 0523. 连续的子数组和
    沁恒 CH32V208(五): CH32V208 运行FreeRTOS示例的说明
    什么是以太坊域名服务(ENS)?
    数据库作业
    es和kibana单机搭建
    SpringCloud-15-Ribbon实现负载均衡
    【THM】SQL Injection(SQL注入)-初级渗透测试
    CentOS 7设置固定IP地址
    01-spring源码概述
    设计模式在交易系统的应用
  • 原文地址:https://blog.csdn.net/qq_36045898/article/details/126939357