什么是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!

PaddlePaddle tutorial的更多相关文章

  1. [翻译+山寨]Hangfire Highlighter Tutorial

    前言 Hangfire是一个开源且商业免费使用的工具函数库.可以让你非常容易地在ASP.NET应用(也可以不在ASP.NET应用)中执行多种类型的后台任务,而无需自行定制开发和管理基于Windows ...

  2. Django 1.7 Tutorial 学习笔记

    官方教程在这里 : Here 写在前面的废话:)) 以前学习新东西,第一想到的是找本入门教程,按照书上做一遍.现在看了各种网上的入门教程后,我觉得还是看官方Tutorial靠谱.书的弊端一说一大推 本 ...

  3. thrift 服务端linux C ++ 与客户端 windows python 环境配置(thrift 自带tutorial为例)

    关于Thrift文档化的确是做的不好.摸索了很久才终于把跨linux与windows跨C++与python语言的配置成功完成.以下是步骤: 1)                 Linux下环境配置 ...

  4. Hive Tutorial(上)(Hive 入门指导)

    用户指导 Hive 指导 Hive指导 概念 Hive是什么 Hive不是什么 获得和开始 数据单元 类型系统 内置操作符和方法 语言性能 用法和例子(在<下>里面) 概念 Hive是什么 ...

  5. Home / Python MySQL Tutorial / Calling MySQL Stored Procedures in Python Calling MySQL Stored Procedures in Python

    f you are not familiar with MySQL stored procedures or want to review it as a refresher, you can fol ...

  6. Using FreeMarker templates (FTL)- Tutorial

    Lars Vogel, (c) 2012, 2016 vogella GmbHVersion 1.4,06.10.2016 Table of Contents 1. Introduction to F ...

  7. Oracle Forms 10g Tutorial Ebook Download - Oracle Forms Blog

    A step by step tutorial for Oracle Forms 10g development. This guide is helpful for freshers in Orac ...

  8. Tutorial - Deferred Rendering Shadow Mapping 转

    http://www.codinglabs.net/tutorial_opengl_deferred_rendering_shadow_mapping.aspx Tutorial - Deferred ...

  9. anguar.js tutorial demo

    http://docs.angularjs.cn/tutorial angular 入门demo : PhoneCat Tutorial App 别人的DEMO(官方版):http://angular ...

随机推荐

  1. 理解JS中的this的指向

    原文地址:https://www.cnblogs.com/pssp/p/5216085.html#1 首先必须要说的是,this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到 ...

  2. Mac 安装md5sum等

    一.安装md5sum 方案1.使用brew 安装 方案2.使用源码编译安装 源码下载地址:http://www.microbrew.org/tools/md5sha1sum/md5sha1sum-0. ...

  3. bootstrap table导出功能无效报错Uncaught INVALID_CHARACTER_ERR: DOM Exception 5和导出中文乱码问题

    由于表格数据中含有中文导致的,在网页的开发者选项中报一个 Uncaught INVALID_CHARACTER_ERR: DOM Exception 5 问题.这个问题是由于BootStrap tab ...

  4. Physical Limits of ASM

    Oracle version 7, only 1,022 datafiles per database could be used.  Oracle version 11g, support 65,5 ...

  5. js 日期格式化函数(可自定义)

    js 日期格式化函数 DateFormat var DateFormat = function (datetime, formatStr) { var dat = datetime; var str ...

  6. html 多媒体使用

    HTML插件 辅助应用程序(helper application)是由浏览器启动的程序,辅助应用程序也称为插件. 辅助应用程序可用于播放音频和视频(或其他 ).辅助程序是使用<Object> ...

  7. php 图片添加水印和二维码

    $host = $_SERVER['HTTP_HOST']; $save_code_file = './qrcodes/qrcode.png'; QrCode::format()->backgr ...

  8. 最完整的mac安装caffe

    Dependencies : [TIP : Though the official documentation suggests installing Anaconda, it would be be ...

  9. java编写本月日历

    代码如下: import java.time.*; public class Main { public static void main(String arg[]){ LocalDate date ...

  10. dns资源记录类型

    资源记录的定义格式: 语法:name [TTL] IN RR_TYPE value SOA: name:当前区域的名字,例如"magedu.com.",或者"2.168. ...