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

文档更新时间:<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。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容