使用deb包在Ubuntu上安装PaddlePaddle

PaddlePaddle目前支持使用deb包安装。Paddle的 deb 安装包在ubuntu 14.04中正确,但理论上支持其他的 debian 发行版。

PaddlePaddle的ubuntu安装包分为四个版本,他们是 cpu、gpu、cpu-noavx、gpu-noavx 四个版本。其中 noavx 用于不支持AVX指令集的cpu。安装包的下载地址是: https://github.com/baidu/Paddle/releases/

用户需要先将PaddlePaddle安装包下载到本地,然后执行如下 gdebi 命令即可完成安装。

gdebi paddle-*-cpu.deb

如果 gdebi 没有安装,则需要使用 sudo apt-get install gdebi, 来安装 gdebi

或者使用下面一条命令安装.

dpkg -i paddle-*-cpu.deb
apt-get install -f

dpkg -i 的时候如果报一些依赖未找到的错误是正常的, 在 apt-get install -f 里会继续安装 PaddlePaddle。

需要注意的是,如果使用GPU版本的PaddlePaddle,请安装CUDA 7.5 和CUDNN 5到本地环境中, 并设置好对应的环境变量(LD_LIBRARY_PATH等等)。

安装完成后,可以使用命令 paddle version 查看安装后的paddle 版本。可能的输出为

PaddlePaddle 0.8.0b1, compiled with
    with_avx: ON
    with_gpu: OFF
    with_double: OFF
    with_python: ON
    with_rdma: OFF
    with_glog: ON
    with_gflags: ON
    with_metric_learning:
    with_timer: OFF
    with_predict_sdk:

可能遇到的问题

libcudart.so/libcudnn.so找不到

安装完成PaddlePaddle后,运行 paddle train 报错:

0831 12:36:04.151525  1085 hl_dso_loader.cc:70] Check failed: nullptr != *dso_handle For Gpu version of PaddlePaddle, it couldn't find CUDA library: libcudart.so Please make sure you already specify its path.Note: for training data on Cpu using Gpu version of PaddlePaddle,you must specify libcudart.so via LD_LIBRARY_PATH.

PaddlePaddle使用运行时动态连接CUDA的so,如果在 LD_LIBRARY_PATH里面找不到这些动态 库的话,会报寻找不到这些动态库。

解决方法很简单,就是将这些动态库加到环境变量里面。比较可能的命令如下。

export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

CUDA Driver找不到

运行 paddle train 报错:

F0831 12:39:16.699000  1090 hl_cuda_device.cc:530] Check failed: cudaSuccess == cudaStat (0 vs. 35) Cuda Error: CUDA driver version is insufficient for CUDA runtime version

PaddlePaddle运行时如果没有寻找到cuda的driver,变会报这个错误。解决办法是将cuda driver添加到LD_LIBRARY_PATH中。比较可能的命令如下。

export LD_LIBRARY_PATH=/usr/lib64:$LD_LIBRARY_PATH

config文件找不到

运行 paddle train 得到结果:

F0831 20:53:07.525789  1302 TrainerMain.cpp:94] Check failed: config != nullptr no valid config

PaddlePaddle在运行时找不到对应的config文件,说明命令行参数 config 没有设置。 而这个一般说明PaddlePaddle已经安装完毕了。