什么是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. ABAP游标

    DATA: BEGIN OF count_line, carrid TYPE spfli-carrid, count TYPE i, END OF count_line, spfli_tab TYPE ...

  2. 大数据分析引擎Apache Flink

    Apache Flink是一个高效.分布式.基于Java实现的通用大数据分析引擎,它具有分布式 MapReduce一类平台的高效性.灵活性和扩展性以及并行数据库查询优化方案,它支持批量和基于流的数据分 ...

  3. SQL - 数据查询

    数据查询是数据库的核心操作.SQL 提供了 select 语句进行数据查询,该语句的一般格式为: select  [ ALL | distinct ] <目标列表达式>  [ ,<目 ...

  4. echarts3使用总结2

    接着上一篇文章补充一点项目中遇到的问题及解决方法 1.y轴正负轴调换  yAxis: {     inverse: false,  //y轴正负轴调换 }, 2.去掉图表背景线 yAxis: [   ...

  5. 3.Liunx网络管理命令

    大纲: 1.网络信息:hostname.netstat.ifconfig ,route 2.网络配置:netconfig 3.网络测试:ping

  6. oracle 分组查询

    常用的函数:            ·:统计个数:COUNT(),根据表中的实际数据量返回结果:            ·:求和:SUM(),是针对于数字的统计,求和            ·:平均值 ...

  7. 微信小程序页面无法跳转

    推荐网址:https://www.jianshu.com/p/e56b55334585 1.无法跳转原因分析 要跳转的路径在app.js里未注册过或路径写错   要跳转的路径是否位于TabBar中 页 ...

  8. JNDI学习总结(一)——JNDI数据源的配置(转)

    一.数据源的由来 在Java开发中,使用JDBC操作数据库的四个步骤如下:   ①加载数据库驱动程序(Class.forName("数据库驱动类");)   ②连接数据库(Conn ...

  9. mybatis-ResultMappingResolver类信息

    ResultMappingResolver类介绍 一个ResultMap元素对应一个ResultMap对象 resultMap元素中的idArg/result/association/collecti ...

  10. bzoj2946

    题解: 和poj1226差不多 把翻转去掉 然后不要忘记开大数组和二分的上限答案 代码: #include<bits/stdc++.h> using namespace std; type ...