zoukankan      html  css  js  c++  java
  • PaddlePaddle tutorial

    什么是PaddlePaddle

    PaddlePaddle,百度旗下深度学习开源平台。Paddle(Parallel Distributed Deep Learning,并行分布式深度学习)。
    2016年9月27日,百度宣布其全新的深度学习开源平台PaddlePaddle在开源社区Github及百度大脑平台开放,供广大开发者下载使用。

    以下内容,主要拷贝于 《PaddlePaddle系列》笔记一——PaddlePaddle的安装
    blog.csdn.net/qq_33200967/article/details/79071926

    安装与编译 (我的笔记本,只能用3代码编译,因为我的笔记本不支持AVX)

    环境

    系统:Ubuntu 16.0.4(64位)
    处理器:Intel(R) Celeron(R) CPU
    内存:4G

    安装依赖环境

    在一切开始之前,先要安装好依赖环境,下面表格是官方给出的依赖环境

    依赖 	版本 	说明
    
    GCC 	4.8.2 	推荐使用CentOS的devtools2
    CMake 	>=3.2 	
    Python 	2.7.x 	依赖libpython2.7.so
    pip 	 >=9.0 	
    numpy 		
    SWIG 	>=2.0 	
    Go 	>=1.8 	可选
    

    使用pip安装

    如果你还没有在pip命令的话,首先要安装pip,要确保安装的pip版本是大于9.0.0的,否则可能无法安装paddlepaddle。
    安装pip命令如下:

    sudo apt install python-pip
    

    安装之后,还有看一下pip的的版本pip --version,如果版本低于9.0.0,那要先升级pip,先要下载一个升级文件,命令如下:

    wget https://bootstrap.pypa.io/get-pip.py
    

    下载完成之后,可以使用这个文件安装最新的pip了

    python get-pip.py
    

    安装pip就可以动手安装paddlepaddle了。如果权限不够,请在root下执行命令

    pip install paddlepaddle
    

    现在就测试看看paddlepaddle有没有,在python的命令终端中试着导入paddlepaddle包:

    import paddle.v2 as paddle
    paddle.init(use_gpu=False, trainer_count=1)
    

    如果没有报错的话就证明paddlepaddle安装成功了

    使用Docker安装运行

    为什么要使用Docker安装paddlepaddle呢,Docker是完全使用沙箱机制的一个容器,在这个容器安装的环境是不会影响到本身系统的环境的。通俗来说,它就是一个虚拟机,但是它本身的性能开销很小。在使用Docker安装paddlepaddle前,首先要安装Docker,通过下面的命令就可以安装了:

    sudo apt-get install -y docker.io
    

    安装完成之后,可以使用docker --version查看Docker的版本,如果有显示,就证明安装成功了。可以使用docker images查看已经安装的镜像。
    一切都没有问题之后,就可以用Docker安装paddlepaddle了,命令如下:

    docker pull docker.paddlepaddle.org/paddle
    

    在Docker中执行PaddlePaddle训练程序

    假设您已经在当前目录(比如在/home/work)编写了一个PaddlePaddle的程序 train.py (可以参考 PaddlePaddleBook 编写),就可以使用下面的命令开始执行训练:

    cd /home/work
    docker run -it -v $PWD:/work paddlepaddle/paddle /work/train.py
    

    用代码编译PaddlePaddle

    安装GCC

    一般现在的Ubuntu都是高于个版本了,可以使用gcc --version查看安装的版本。比如笔者的是4.8.4,如果你的是版本是低于4.8.2的就要更新一下了

    sudo apt-get install gcc-4.9
    

    安装CMake

    命令行安装

    sudo apt-get install cmake
    

    或者源码安装

    wget https://cmake.org/files/v3.8/cmake-3.8.0.tar.gz
    

    解压源码

    tar -zxvf cmake-3.8.0.tar.gz
    

    依次执行下面的代码

    # 进入解压后的目录
    cd cmake-3.8.0
    # 执行当前目录的bootstrap程序
    ./bootstrap
    # make一下
    make
    # 开始安装
    sudo make install
    

    查看是否安装成功,cmake --version,如果正常显示版本,那已经安装成功了。

    安装pip

    关于安装pip9.0.0以上的版本,在上面的使用pip安装部分已经讲了,这里就不在熬述了

    安装numpy

    安装numpy很简单,一条命令就够了

    sudo apt-get install python-numpy
    

    顺便多说一点,matplotlib这个包也经常用到,顺便安装一下

    sudo apt-get install python-matplotlib
    

    安装SWIG

    执行下面代码安装SWIG,安装成功之后,使用swig -version检查安装结果

    sudo apt-get install -y git curl gfortran make build-essential automake swig libboost-all-dev
    

    安装Go

    官方说可选择,那看情况吧,如果像安装安装吧,笔者顺便安装了,就一条代码的事情,老规则go version

    sudo apt-get install golang
    

    到这里,依赖环境就已经安装好了,准备安装paddlepaddle

    首先要在GitHub上获取paddlepaddle源码

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

    进入刚下载的Paddle里面

    cd Paddle
    # 创建一个build文件夹
    mkdir build
    # 进入build文件夹里
    cd build
    # 这就要选好你的需求了,比如笔者没有使用GPU,不支持AVX,不要少了..
    cmake .. -DWITH_GPU=OFF -DWITH_AVX=OFF
    # 最后make,生成你想要的安装包,这个可能很久,一定要有耐心, ....(我的笔记本跑了4个多小时)
    make
    

    经过长久的make之后,终于生成了我们想要的安装包,它的路径在Paddle/build/python/dist下,比如笔者在该目录下有这个安装包paddlepaddle-0.0.0-cp27-cp27mu-linux_x86_64.whl,你的命名可能不是这个。之后就可以安装了,使用pip安装:
    请切入到该目录

    cd build/python/dist/
    # 每个人的安装包名字可能不一样。如果权限不够,请在root下执行命令
    pip install paddlepaddle-0.0.0-cp27-cp27mu-linux_x86_64.whl
    

    这个我们就已经安装了paddlepaddle,现在就测试看看paddlepaddle有没有安装成功了,在python的命令终端中试着导入paddlepaddle包:

    import paddle.v2 as paddle
    paddle.init(use_gpu=False, trainer_count=1)
    

    如果没有报错的话就证明paddlepaddle安装成功了
    结果还是报错,Illegal instruction (core dump) ,我猜是不是之前安装版本未覆盖。

    sudo rm /usr/local/lib/python2.7/dist-packages/paddl*
    pip install paddlepaddle-0.0.0-cp27-cp27mu-linux_x86_64.whl
    

    重试OK!

  • 相关阅读:
    UVA401
    CodeForces 1330A
    CodeForces 1328C
    FZU 1759
    LightOJ 1259
    LightOJ 1341
    SDUT3930
    java入门 学习日志九(面向对象七)
    html 制作简单网页
    java入门 学习日志八(面向对象六)
  • 原文地址:https://www.cnblogs.com/freebird92/p/8318030.html
Copyright © 2011-2022 走看看