服务器深度学习环境安装备忘

文档更新时间:<b>2017-07-16</b>
GPU: GeForce GTX 1080 Ti
Linux:Ubuntu 16.04
Kernel:4.8.0
gcc:5.4.0


安装目录


一、基础

<h3 id="anaconda3">1. Anaconda3</h3>

1.1 安装说明

    
安装更新时间:<b>2017-07-15</b>
    
安装版本:<b>Anaconda3 4.4.0 Python 3.5.2 x86</b>
    
官方网站:Anaconda
    
下载地址:Anaconda Downloads

    
<b>安装:</b>
    
1)下载安装shell文件。
    
2)运行shell文件直到安装完毕。
    
3)添加 anaconda bin 目录至配置文件,比如将下行添加至 /etc/profile 文件:

export PATH=/path to anaconda/anaconda3/bin:$PATH

    
source 生效。


<h3 id="pip">2. Pip </h3>

2.1 说明:

    
一般来说,安装anaconda后会自动安装对应pip,但在具体使用过程中可能出现提示pip需要更新,在anaconda中使用pip进行更新 “pip install --upgrade pip”,可能出现更新了不正确的pip的情况。
    
需要执行 “conda update pip”。
    


<h3 id="ssh">3. SSH</h3>

3.1 安装说明

    
<b>安装:</b>
    
1)[服务器端] 安装 open ssh,执行命令(若已经安装则进入后续步骤):

sudo apt-get install openssh-server

    
安装结束后开启服务,用户可以自己的用户名与密码进入系统。

    
2)* 若需要允许root用户通过ssh进入系统,需编辑配置文件,设置为允许root使用密码连接入服务器:

sudo vi /etc/ssh/sshd_config

# 搜索以下行 并添加#以禁用
# PermitRootLogin prohibit-password

# 添加以下行
PermitRootLogin yes

    
3)* 重启ssh服务,执行命令:

sudo service ssh restart

二、数据库

<h3 id="pymongo">1. MongoDB Python 连接 - PyMongo</h3>

1.1 安装说明

    
安装更新时间:<b>2017-07-15</b>
    
安装版本:<b>PyMongo 3.4.0</b>
    
MongoDB 官方网站: MongoDB
    
PyMongo 官方文档: PyMongo 3.4.0 Documentation
    
安装指南: PyMongo Installation

    
<b>安装:</b>
    

  1. 一步安装,执行命令 “python -m pip install pymongo”。

    
<b>测试:</b>
    
执行以下指令,若无异常报错则安装成功:
    

from pymongo import MongoClient()

<h3 id="postgresql">2. Postgresql Python 连接 - psycopg2</h3>

2.1 安装说明

    
安装更新时间:<b>2017-07-15</b>
    
Postgresql安装版本:<b>Postgresql 3.4.0</b>
    
Psycopg2安装版本:<b>Psycopg2 </b>
    
Psycopg2官方安装指南:Psycopg2

    
<b>安装:</b>
    
2)一步安装Psycopg2,执行命令 “pip install psycopg2”。

    
<b>测试:</b>
    
执行以下指令,若无异常报错则安装成功:
    

import psycopg2

<h3 id="oracle">3. Oracle Python 连接 - cx oracle</h3>

3.1 安装说明

    
安装更新时间:<b>2017-07-16</b>
    
安装版本:<b>cx Oracle 5.2.1</b>
    
下载地址:cx Oracle 5.2.1 - source 压缩包。

    
<b>安装:</b>
    
1)解压压缩包到任意指定位置,然后打开终端进入该文件夹。
    
2)一步安装,执行命令 “sudo python setup.py install”。

    
<b>测试:</b>
    
执行以下指令,若无异常报错则安装成功:
    

3.2 安装遇到的问题

    
a. "cannot locate an Oracle software installation".
    
说明没有安装 Oracle instant client,进入官网下载并解压至对应路径即可。
    
1)在本开发环境中需要安装oracle g11对应的客户端,下载地址 oracle instant client for Linux x86_64
    
找到 version 11 的最新版本,下载 Instant Client Package - Basic | rpm
    
2)解压值根目录“/”。
    
3)打开“/etc/profile”添加以下行:

export ORACLE_HOME=/usr/lib/oracle/11.2/client64

    
执行命令 “source /etc/profile”.

    
b. "cannot locate Oracle Instant Client SDK RPM header file".
    
说明没有安装客户端对应sdk,在客户端下载链接中寻找同版本的SKD解压至对应路径即可。
    
1)下载 sdk .
    
2)解压至根目录 “/”。

    
c. import cx_Oracle时报错 "libaio.so.1: cannot open shared object file".
    
是因为系统中没有安装libaio-dev,使用apt-get安装即可。
    
执行命令:

sudo apt-get install libaio-dev

三、机器学习

<h3 id="CUDA">1. CUDA Toolkit</h3>

1.1 为什么要安装 CUDA Toolkit?

    
CUDA Toolkit 是英伟达的统一计算架构,程序可通过 CUDA Toolkit 调用英伟达 GPU 进行高性能计算。

1.2 安装说明

    
安装更新时间:<b>2017-07-14</b>
    
安装版本:<b>CUDA 8.0</b>
    
官方安装指南:Nvidia CUDA installation Guide for Linux.

    
<b>检查:</b>
    
CUDA 支持GPU查询:CUDA GPUs.

    
<b>安装:</b>
    
1)下载安装包:CUDA Toolkit. [<b>Version: Linux - x86_64 - Ubuntu - 16.04 - runfile(local)</b>]
    

  • 下载后得到cuda_8.0.61_375.26_linux.run
        
    2)运行安装包:“sudo sh cuda_8.0.61_375.26_linux.run” 直到命令行安装运行完毕。
        
    3)安装好后,程序默认安装路径为 “\usr\local\cuda-8.0\”。将该文件夹建立一个指向路径为 “\usr\local\cuda\” 的软连接。
        

  • 因为许多后续程序的默认 CUDA 路径即为 “\usr\local\cuda\”,建立软连接便于后续安装。
        
    4)打开文件 “/etc/profile”,并添加以下行:

    export PATH=/usr/local/cuba/bin:$PATH
    export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

    
保存后执行命令 “source /etc/profile”。

1.3 安装遇到的问题

    
a. 重启后出现循环登陆的问题,停留在登陆界面无法进入。
    
重装显卡驱动即可。步骤如下:
    
1)禁用ubuntu自带显卡驱动,创建文件/etc/modprobe.d/blacklist-nouveau.conf,并输入以下内容:

blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off

    
2)重启系统,“sudo reboot”。重启后“Ctrl+Alt+F1”从图形化界面进入终端。
    
3)执行命令 “lsmod | grep nouveau” 检查驱动是否禁用。若无任何输出则为正常。
    
4)重装驱动,执行以下命令:

sudo /etc/init.d/lightdm stop
sudo ./NVIDIA-Linux-x86_64-375.20.run --no-opengl-files
# 注:这里需要一份已经下载好的驱动安装文件。可在终端使用mount命令接入U盘,从U盘考入系统进行安装。
# 驱动安装过程中的选项建议:
# - License
# -- Accept
# - Install 32-Bit compatibility libraries?
# -- No
# - Would you like to run the nvidia-xconfig utility to automatically update your X Configuration file so set the NVIDIA X driver will be used when you restart X?
# -- No
sudo /etc/init.d/lightdm start

    
完成。


<h3 id="cuDNN">2. cuDNN</h3>

2.1 安装说明

    
安装更新时间:<b>2017-07-14</b>
    
安装版本:<b>cuDNN 6.0.21</b>

    
<b>安装:</b>
    
cuDNN 是已经预编好的文件,不需要运行安装,只需要在官网上下载并放置到指定的文件夹下即可。
    
1)下载cuDNN:Nvidia cuDNN
    

  • 下载得到 cudnn-8.0-linux-x64-v5.1.tgz .
        

  • 截止此安装日期,TensorFlow 和 Keras 只能与 cuDNN 5.1 版本兼容,因此不能安装 cuDNN 的最新版本 6.0.
        
    2)解压该压缩包中的 cuda 文件夹到任意指定位置。
        
    3)依次执行以下命令:

    cd cuda
    sudo cp include/cudnn.h /usr/local/cuda/include/
    sudo cp lib64/libcudnn* /usr/local/cuda/lib64/
    sudo chmod a+r /usr/local/cuda/include/cudnn.h
    sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
    cd /usr/local/cuda/lib64/
    sudo rm libcudnn.so.5
    sudo rm libcudnn.so
    sudo ln -s libcudnn.so.5.1.10 libcudnn.so.5
    sudo ln -s libcudnn.so.5 libcudnn.so

    
4)打开 “/etc/profile”,添加如下行:

export PATH=/usr/local/cuda/bin:$PATH

    
保存后执行命令 “source /etc/profile”。
    
5)添加lib库路径,在/etc/ld.so.conf.d/ 下加入 cuda.conf,内容如下:

/usr/local/cuda/lib64

    
保存后执行命令 “sudo ldconfig”。
    


<h3 id="BLAS">3. BLAS</h3>

3.1 安装说明

    
安装更新时间:<b>2017-07-14</b>

    
<b>安装:</b>
    
BLAS 是基础线性代数程序集,有多重库可以选择,如 MKL/Altas/OpenBLAS。
    
其中 ALTAS 为免费使用,选择安装这个版本。
    
1)一步安装,执行命令 “sudo apt-get install libatlas-base-dev”。


<h3 id="caffe2">4. Caffe2</h3>

4.1 安装说明

    
安装更新时间:<b>2017-07-16</b>
    
安装版本:<b>Caffe2 v0.7.0</b>
    
官方网站:Caffe2.ai
    
安装指南:caffe2 install

    
<b>安装:</b>
    
(注意使用conda创建Python2环境)
    
(严重建议时常使用命令“which python”与“which pip”来确定当前使用的python与pip路径。)
    
(可先安装“五、其他 1.OpenCV”)
    
1)创建python2环境,执行以下命令:

conda create --name python2 python=2

    
2)进入环境,执行命令 “source activate python2”。
    
3)安装caffe2依赖,执行命令:

sudo apt-get update
sudo apt-get install -y --no-install-recommends \
      build-essential \
      cmake \
      git \
      libgoogle-glog-dev \
      libprotobuf-dev \
      protobuf-compiler \
      python-dev \
      python-pip                          
sudo pip install numpy protobuf

    
4)安装其余依赖(可选),执行命令:

# for Ubuntu 16.04
sudo apt-get install -y --no-install-recommends libgflags-dev

# for both Ubuntu 14.04 and 16.04
sudo apt-get install -y --no-install-recommends \
      libgtest-dev \
      libiomp-dev \
      libleveldb-dev \
      liblmdb-dev \
      libopencv-dev \
      libopenmpi-dev \
      libsnappy-dev \
      openmpi-bin \
      openmpi-doc \
      python-pydot
sudo pip install \
      flask \
      future \
      graphviz \
      hypothesis \
      jupyter \
      matplotlib \
      pydot python-nvd3 \
      pyyaml \
      requests \
      scikit-image \
      scipy \
      setuptools \
      six \
      tornado

    
5)下载caffe2源码,并生成:

git clone --recursive https://github.com/caffe2/caffe2.git && cd caffe2
make && cd build && sudo make install
# 注:caffe2 会自动检测系统中是否已经安装了 cuda、OpenCV等依赖,以及Python版本是否符合。
# 注:一个tip,make时使用“make -j16”可以多线程make,多核cpu时极大加快速度,建议使用。
# 注:其中j是指线程数目。

    
执行以下命令检查生成结果是否正确(在build文件夹中运行):

python -c 'from caffe2.python import core' 2>/dev/null && echo "Success" || echo "Failure"

    
6)运行以下指令检查GPU支持是否成功安装(在build文件夹中运行):

python -m caffe2.python.operator_test.relu_op_test

    
若返回OK则成功。
    
7)打开 /etc/profile,添加以下行:

export PYTHONPATH=/usr/local:$PYTHONPATH
export PYTHONPATH=$PYTHONPATH:/home/ubuntu/caffe2/build
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

    
执行命令,“source /etc/profile”。

4.2 安装遇到的问题

    
a. 不支持python3.5.
    
截止此安装时间,caffe2仍不能支持python3.5,只支持python2.7。
    
需要换到python2.7上重新安装。
    
截止安装目前,Ubuntu 16.04 系统默认安装的是Python2.7,所以直接安装至系统默认Python即可。但更建议使用anaconda直接创造一个python2环境,在环境中安装(不需要安装anaconda2)。


<h3 id="tensorflow">5. TensorFlow</h3>

5.1 安装说明

    
安装更新时间:<b>2017-07-14</b>
    
安装版本:<b>TensorFlow r1.2 with GPU Support</b>
    
官方安装指南:Install TensorFlow on Ubuntu.

    
<b>检查:</b>
    
CUDA® Toolkit >= 8.0
    
cuDNN >= v5.1
    
GPU card with CUDA Compute Capability >= 3.0
    
libcupti-dev 需预先安装好。若未安装,则执行命令 “sudo apt-get install libcupti-dev”。

    
<b>安装:</b>
    
(使用Anaconda安装)
    
1)创建tensorflow虚拟环境:执行命令 “conda create -n tensorflow”。
    
2)激活虚拟环境(每次使用前均需激活):执行命令 “source activate tensorflow”。
    
3)按照需要选择合适的版本进行安装:执行命令 “pip install --ignore-installed --upgrade <b>版本URL</b>
    

    
保存后,执行命令 “source /etc/profile”。

    
<b>测试:</b>
    
激活虚拟环境。
    
在Python命令行中执行以下代码段:

    import tensorflow as tf
    hello = tf.constant('Hello, TensorFlow!')
    sess = tf.Session()
    print(sess.run(hello))

[1] Hello, TensorFlow!  

    
若获得以上输出,则说明 TensorFlow 已正确安装。

5.2 安装遇到的问题

    
a. import tensorflow 时,报错找不到 libcudnn.so.5,或该文件不存在。
    
本系统安装了最新的 cuDNN,即为 cuDNN 6,然而到当前安装日为止,TensorFlow 仍不支持 cuDNN 6,因此必须安装旧版本 cuDNN 5。Stackoverflow 解决方法

    
b. import tensorflow 时,报错 “SyntaxError: invalid syntax”。
    
一般而言,这种情况说明TensorFlow已经正常安装,但是有依赖库过于老旧,只需要更新依赖库即可。


<h3 id="pytorch">6. PyTorch</h3>

6.1 安装说明

    
安装更新时间:<b>2017-07-14</b>
    
安装版本:<b>PyTorch 0.1.12_2</b>
    
官方网站、指南:PyTorch.

    
<b>安装:</b>
    
(使用Anaconda安装)
    
一步安装,执行命令 “conda install pytorch torchvision cuda80 -c soumith”。

    
<b>测试:</b>
    
运行PyTorch样例:Pytorch Examples
    
或者打开Python命令行,执行命令 “import torch”,查看是否成功引入库。

6.2 安装遇到的问题

    
a. 无法连接到 Anaconda3 网站。
    
网络原因访问超时,换到更稳定的网络重新尝试即可。


<h3 id="keras">7. Keras</h3>

7.1 安装说明

    
安装更新时间:<b>2017-07-16</b>
    
安装版本:<b>Keras 2.0.6</b>
    
官方文档: Keras .
    
安装指南: Keras Installation .

    
<b>安装:</b>
    
1)一步安装,执行命令 “sudo pip install keras”。

    
<b>测试:</b>
    
打开python命令行执行命令,若无异常则说明安装成功:

import keras
7.2 安装遇到的问题

    
a. 预装Tensorflow、CNTK、theano。
    
Keras 支持以上三个版本的后台,默认使用tensorflow,本机在之前的安装过程中已经安装了tensorflow。

    
b. keras 未安装至指定python。
    
本次安装keras被安装到了python2.7中,实际上需要安装至3.5.
    
系统默认的python版本为3.5,此时只需要在指定pip进行安装即可,执行命令:

python -m pip install keras

    
c. import Keras时报错 “module ‘pandas’ has no attribute ‘computation’”。
    
执行命令:

conda update dask

四、 NLP

<h3 id="gensim">1. Gensim</h3>

1.1 安装说明

    
安装更新时间:<b>2017-07-15</b>
    
Gensim 是一个自然语言处理语义分析库。
    
官方安装指南:Gensim Installation

    
<b>安装:</b>
    
1)一步安装,执行命令 “pip install --upgrade gensim”。


<h3 id="jieba">2. 结巴分词</h3>

2.1 安装说明

    
安装更新时间:<b>2017-07-16</b>
    
安装版本:<b>Jieba 0.38</b>
    
结巴是一个中文分词工具包。

    
<b>安装:</b>
    
1)一步安装,执行命令 “pip install jieba”。

    
<b>测试:</b>
    
运行以下命令,若无异常报错则安装成功:

import jieba

五、 其他

<h3 id="opencv">1. OpenCV</h3>

1.1 安装说明

    
安装更新时间:<b>2017-07-14</b>
    
安装版本:<b>OpenCV 2.4.9.1</b>
    
OpenCV 是一个跨平台计算机视觉库。

    
<b>安装:</b>
    
1)一步安装,执行命令 “sudo apt-get install libopencv-dev”。


<h3 id="jdk">2. JDK</h3>

2.1 安装说明

    
安装更新时间:<b>2017-07-16</b>
    
安装版本:<b>JDK 8u131</b>
    
下载地址:JDK 8u131

    
<b>安装:</b>
    
1)下载压缩包。
    
2)解压压缩包至任意指定目录。(在该系统中解到了“~/Software/”目录中)
    
3)打开 “/etc/profile”,并加入以下行:

export JAVA_HOME=/home/pagi/Software/jdk1.8.0_131
export JRE_HOMW=$JAVA_HOME/jre
export CLASSPATH=.:4JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

    
然后执行命令 “source /etc/profile”.
    
4)设置默认JDK。
执行以下命令:

sudo update-alternatives --install "/usr/bin/java" "java" "/home/pagi/Software/jdk1.8.0_131/bin/java" 2000
sudo update-alternatives --install "/usr/bin/javac" "javac" "/home/pagi/Software/jdk1.8.0_131/bin/javac" 2000
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/home/pagi/Software/jdk1.8.0_131/bin/javaws" 2000

<h3 id="py2neo">3. Py2Neo</h3>

3.1 安装说明

    
安装更新时间:<b>2017-07-16</b>

    
<b>安装:</b>
    
1)一步安装,执行命令 “pip install py2neo”。


<h3 id="others">4. Others</h3>

    
除以上写明的各软件与依赖库,还有以下python库已经安装入系统:
    
机器学习:sklearn,theano。
    
自然语言处理:NLTK。
    
数据科学:Numpy,Scipy,Pandas。
    
制图:matplotlib。

推荐阅读更多精彩内容