美文网首页深度学习最好入门材料推荐系统
PaddlePaddle 源码编译安装(Ubuntu 16.04

PaddlePaddle 源码编译安装(Ubuntu 16.04

作者: X_Dragon | 来源:发表于2017-10-23 01:48 被阅读589次

    PaddlePaddle 是百度开源的一个深度学习框架,Paddle 提供的 Paddle book 对于那些深度学习入门的人简直再方便不过。
    想用Paddle 进行模型训练必然先进行安装,这篇文章主要详细的记录一下Paddle cpu 和gpu 的源码编译安装。 个人认为源码的方式最简单粗暴,而且透明。

    内容

    • 安装依赖
    • PaddlePaddle cpu 源码编译安装
    • PaddlePaddle gpu 源码编译安装

    在正式安装之前必须解决以下几个依赖问题

    Note❕ ⚠️⚠️⚠️ 这块非常关键,以下的依赖只要有一个不满足的话,肯定编译出问题!无论cpu 还是gpu 安装都得解决以下依赖。

    1.1
    gcc --version命令 查看一下自己电脑上gcc 的版本,如果低于4.8, 那么请看这篇文章将gcc 进行升级到4.8以上。
    1.2
    cmake --version 查看cmake的版本,如果版本低于3.0(对于linux)3.4(对于mac os), 请升级自己电脑的cmake版本。以下的命令可以安装cmake3.4。

    curl -sSL https://cmake.org/files/v3.4/cmake-3.4.1.tar.gz | tar -xz && \
        cd cmake-3.4.1 && ./bootstrap && make -j4 && sudo make install && \
        cd .. && rm -rf cmake-3.4.1
    

    1.3
    python --version查看以下自己的python是不是python27, 一般情况,mac 和linux都自带python27。
    1.4
    go version 命令查看自己电脑是否有go的环境,如果没有的话, 用sudo apt-get install golang 这条命令来安装
    1.5 安装其他依赖

    $ sudo apt-get install -y git curl gfortran make build-essential automake swig libboost-all-dev
    $ sudo apt-get install -y python-pip python-numpy libpython-dev bison
    $ pip install --upgrade pip
    $ sudo pip install 'protobuf==3.1.0.post1' 
    $ sudo pip install wheel
    

    Paddle CPU 编译和安装

    1. github 上把Paddle 代码 clone到本地
    $ git clone https://github.com/PaddlePaddle/Paddle.git  paddle
    $ cd paddle
    
    1. cmake 生成Makefile
    $ mkdir build
    $ cd build
    $ cmake ..
    

    Note : 如果使用命令cmake .. 来生成makefile, 最终的paddle 会安装到/usr/local 下,如果想安装到其他路径(我们假定这个路径为$PADDLE_INSTALL_PATH), 我们可以这么写:
    cmake .. -DCMAKE_INSTALL_PREFIX=$PADDLE_INSTALL_PATH, 这样最终编译的paddle会安装到 $PADDLE_INSTALL_PATH 下。

    1. 编译安装
    $ make -j `nproc`
    $ sudo make install
    

    Note : 因为我使用的是默认安装路径,最终要再全局环境(/usr/local下)中生成文件,所以make 时候得加sudo。运行结束后,Paddle已经编译完成, 在我的电脑上会显示以下log:

    这就说明我们的paddle 已经安装完成,我们可以用命令paddle version 来查看是否安装成功:

    $ paddle version
    PaddlePaddle 0.10.0, compiled with
        with_avx: OFF
        with_gpu: OFF
        with_mkldnn: OFF
        with_mklml: OFF
        with_double: OFF
        with_python: ON
        with_rdma: OFF
        with_timer: OFF
    
    1. 安装Paddle python 接口
      根据上一步骤的log可以看出,通过make install后, 生成了一个/usr/local/opt/paddle/share/wheels/paddlepaddle-0.10.0-cp27-none-linux_x86_64.whl文件。 运行以下命令进行paddle python 安装:
    $ sudo pip install -U  /usr/local/opt/paddle/share/wheels/paddlepaddle-0.10.0-cp27-none-linux_x86_64.whl
    
    1. 测试
    $ python
    >>>  import paddle.v2 as paddle
    

    如果没有出现 ImportError: No module named paddle,那恭喜,你
    已成功编译安装paddle for cpu。

    1. 跑一个demo
      从 github上 clone paddle book 中的代码:
    $ cd ~/
    $ git clone https://github.com/PaddlePaddle/book.git  paddle_book
    $ cd paddle_book/01.fit_a_line
    $ python train.py
    

    Paddle GPU 编译和安装

    1. 安装CUDA和cuDNN
      安装CUDA 8.0
    $ sudo apt-get update && sudo apt-get install wget -y --no-install-recommends
    $ wget "http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_8.0.61-1_amd64.deb"
    $ sudo dpkg -i cuda-repo-ubuntu1604_8.0.61-1_amd64.deb
    $ sudo apt-get update
    $ sudo apt-get install cuda
    

    安装cuDNN5.1

    $ wget http://developer.download.nvidia.com/compute/redist/cudnn/v5.1/cudnn-8.0-linux-x64-v5.1.tgz
    $ sudo tar -xzf cudnn-8.0-linux-x64-v5.1.tgz -C /usr/local
    $ rm cudnn-8.0-linux-x64-v5.1.tgz && sudo ldconfig
    
    1. 编译安装(和cpu过程一样)
    $ git clone https://github.com/PaddlePaddle/Paddle.git  paddle_gpu
    $ cd paddle_gpu
    $ mkdir build
    $ cd build
    $ cmake .. 
    $ make -j `nproc`
    $ sudo make install
    $ sudo pip install -U  /usr/local/opt/paddle/share/wheels/paddlepaddle-0.10.0-cp27-none-linux_x86_64.whl  
    
    1. 测试
    $ paddle version
    PaddlePaddle 0.10.0, compiled with
        with_avx: OFF
        with_gpu: ON
        with_mkldnn: OFF
        with_mklml: OFF
        with_double: OFF
        with_python: ON
        with_rdma: OFF
        with_timer: OFF
    

    可以看出with_gpuON的状态

    1. Run a Demo
      从 github上 clone paddle book 中的代码:
    $ cd ~/
    $ git clone https://github.com/PaddlePaddle/book.git  paddle_book
    $ cd paddle_book/01.fit_a_line
    $ export WITH_GPU=1
    $ python train.py
    

    到这里,paddle 的编译安装已经说的差不多了,不过因为每个人的机器环境不一样,很可能你按照上述的方法去安装时候还会遇到问题,可以在下方留言,或者去这里提issue, paddle 的同志们回复还是很快的。

    最后, 非常推荐去看一下paddle book, 对想入门深度学习的筒子来说,这个book能能让你快速的了解学习深度学习在图像nlp以及推荐领域的应用!

    相关文章

      网友评论

        本文标题:PaddlePaddle 源码编译安装(Ubuntu 16.04

        本文链接:https://www.haomeiwen.com/subject/vjvbuxtx.html