• [框架安装趟雷指南]Ubuntu+1060+cuda+cudnn+Keras+TH+TF+MXnet


    [框架安装趟雷指南]Ubuntu+1060+cuda+cudnn+Keras+TH+TF+MXnet

    https://zhuanlan.zhihu.com/p/23480983

    天清天清
    9 个月前

    写这篇文章的问题是为了回报社会,同时纪念长达一周的地狱般的安装(折腾)过程。

    本文不一定是最佳安装方法,也不一定适合每一个人,主要目的是帮助大家避坑。

    已经更到安装完毕keras+th+tf并开启gpu支持,如果发现有任何错误请务必指正。

    感谢一切在安装过程中给予我帮助的文档作者、群友、同行,感谢清华大学开源软件镜像站,感谢x雷。

    重要的话写在前头:

    1:不要尝试Windows安装!不要尝试Windows安装!不要尝试Windows安装!成功安装只属于不可复制的小概率事件!不要想着工作娱乐用Windows,在Windows上搞深度学习会方便!呵呵,等着系统完蛋工作娱乐一起毁吧。>.<

    2:网上文档众多,不少过于老旧或者不适合你的环境,注意避坑!小trick:在用100度搜索时,用筛选功能筛进一周或者一个月的,选择环境硬件与自己相近的。

    正文:

    我的配置:

    华硕主板,双路e5,GTX1060,240gINTEl固态装win,120gINTEL固态装Ubuntu,1T机械放东西。

    最终系统及重要环境:Ubuntu16.04(sever),cuda8.0.44,cudnn5.1

    一.安装ubuntu(最大的坑!已有ubuntu跳过)

    用N卡装ubuntu是一件很坑的事,安装界面都可能进不去。这是最大的坑,过去了以后其他的其实都是小坑。

    避坑方法:安装sever版再安装Desktop!!!!!!!!!

    sever 版优点是无图形界面,可以顺利安装并进入系统(命令行),至少能让计算机活过来。N卡福音。

    缺点也是无图形界面,真的不习惯。

    安装过程:

    1.官网下载:Ubuntu Server

    2启动盘制作

    过程参照这一篇教程:Ubuntu 16.04 U盘安装图文教程_Linux教程_Linux公社-Linux系统门户网站

    *注意,选择镜像类型时要选择Ubuntu sever installer ,这个和教程有区别。

    3.备份!

    4.插u盘重启进bios,设置u盘启动。保存退出(重启)

    5.U盘启动成功,进入grub

    安装过程基本上没坑,不会在那个界面截图,过程参考:Ubuntu Server 13.10 安装配置图解教程

    *分区的时候需要注意,最好准备一块空硬盘单独安装ubuntu,这个和文档不一样

    选择手动》》选择要安装的硬盘的名称那行》》建立空白分区列表》》选择空白分区》》自动分区》》确认写入

    最后别忘了拔u盘,修改BIOS

    6.安装完成,应该是黑屏。。。。

    不要慌,sever就这样,默认进入黑屏!按ctrl+shift+f1进入命令行,输入用户名和密码!

    升级和配置基本环境

    sudo apt update
    sudo apt upgrade
    sudo apt install -y python-dev python-pip python-nose gcc g++ git gfortran vim
    sudo apt install -y libopenblas-dev liblapack-dev libatlas-base-dev
    

    二、配置n卡

    第二大坑,根据另外一个显卡是集显或者核心有不同。

    安装流程:

    安装desktop>>安装驱动>>重启进desktop

    sudo apt-get update
    sudo apt-get install ubuntu-desktop
    

    桌面安装完毕,如果进的去,就在附加驱动里看一看N卡用什么驱动,最好换367以上。

    不过有可能进不去,切到命令行,安装显卡驱动。

    方法1:

    wget:驱动网址

    sudo service lightdm stop
    sudo sh 文件名
    
    
    sudo service lightdm restart
    

    这里网址我是手打,run文件的

    方法2:

    sudo add-apt-repository ppa:graphics-drivers/ppa
    sudo apt-get update 
    sudo apt-get install nvidia-367 
    sudo apt-get install mesa-common-dev 
    sudo apt-get install freeglut3-dev
    sudo service lightdm restart
    

    重启,应该能成功进入桌面系统了

    如果闪退,就尝试重启,再不行就再装一次驱动

    三、安装cuda

    在NVIDIA下载cuda8的runfile local版,注意8.0.44已经解决了gcc版本这个大坑!

    *小trick,可以在Windows下用x雷下载,速度爆快!

    拷到home目录

    sudo sh cuda_8.0.44_linux.run
    

    当它询问是否要安装cuda包里带的驱动时(我记得是367.xx),一般教程都说否,因为他们装cuda8.0.27版本,驱动是361。这里,建议你选否,我也选的no。

    千万不要改路径,默认就好

    安装完成

    下一步要把cuda路径添加到环境变量

    sudo gedit ~/.bashrc
    

    在最后一个fi后面换行

    写入

    export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
    

    保存,关闭

    source ~/.bashrc

    重启

    然后应该无坑

    输入

    nvidia-smi
    

    查看显卡状态

    输入

    nvcc -V
    

    查看cuda状态

    四、安装cudnn

    N家官网下载,需要注册一个开发者账户,每次下载都要答一个问卷

    下载对应的最新版本

    解压,cd到新解压出来的cuda文件夹

    sudo cp include/cudnn.h /usr/local/cuda-8.0/include/ 
    sudo cp lib64/* /usr/local/cuda-8.0/lib64/
    

    五、安装Keras+Theano

    提示,Tensorflow慢成狗,慎用。

    先把pip源改成清华镜像:

    复制自: 清华大学开源软件镜像站

    pypi 镜像使用帮助

    pypi 镜像每 5 分钟同步一次。

    临时使用


    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
    

    注意,simple 不能少, 是 https 而不是 http

    设为默认

    修改 ~/.pip/pip.conf (没有就创建一个), 修改 index-url至tuna,例如

    [global]
    index-url = https://pypi.tuna.tsinghua.edu.cn/simple
    

    好,我们成功的避免了pip安装时超时以及30byte/s的情况,下面安装keras就非常简单了

    sudo pip install -U --pre pip setuptools wheel
    sudo pip install -U --pre numpy scipy matplotlib scikit-learn scikit-image
    sudo pip install -U --pre theano
    sudo pip install -U --pre keras
    

    theano和keras安装完成,注意,此时只有cpu版本,我们要修改theano配置来实现gpu加速

    先把tensorflow改成theano

    gedit ~/.keras/keras.json
    

    先import 一次keras

    python
    import theano 
    import keras
    

    没报错的话就是成功了

    修改theano配置:

    gedit ~/.theanorc
    

    写入

    [global]
    openmp=False 
    device = gpu   
    floatX = float32  
    allow_input_downcast=True  
    [lib]
    cnmem = 0.8 
    [blas]
    ldflags= -lopenblas
    [nvcc]
    fastmath = True
    

    保存退出

    python
    import keras
    

    应该会有warning说正在使用cudnn5.1,theano只支持5.,如果有问题就降级cudnn或者升级theano

    那么恭喜!你已经成功安装keras和theano,并且开启了gpu支持,可以开始用keras愉快的搞♂深度学习了!

    六、安装Tensorflow

    完全按照官网来吧:

    Then, select the correct binary to install:

    # Ubuntu/Linux 64-bit, CPU only, Python 2.7
    $ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.11.0rc2-cp27-none-linux_x86_64.whl
    
    # Ubuntu/Linux 64-bit, GPU enabled, Python 2.7
    # Requires CUDA toolkit 8.0 and CuDNN v5. For other versions, see "Install from sources" below.
    $ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.11.0rc2-cp27-none-linux_x86_64.whl
    
    # Mac OS X, CPU only, Python 2.7:
    $ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-0.11.0rc2-py2-none-any.whl
    
    # Mac OS X, GPU enabled, Python 2.7:
    $ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/mac/gpu/tensorflow-0.11.0rc2-py2-none-any.whl
    
    # Ubuntu/Linux 64-bit, CPU only, Python 3.4
    $ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.11.0rc2-cp34-cp34m-linux_x86_64.whl
    
    # Ubuntu/Linux 64-bit, GPU enabled, Python 3.4
    # Requires CUDA toolkit 8.0 and CuDNN v5. For other versions, see "Install from sources" below.
    $ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.11.0rc2-cp34-cp34m-linux_x86_64.whl
    
    # Ubuntu/Linux 64-bit, CPU only, Python 3.5
    $ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.11.0rc2-cp35-cp35m-linux_x86_64.whl
    
    # Ubuntu/Linux 64-bit, GPU enabled, Python 3.5
    # Requires CUDA toolkit 8.0 and CuDNN v5. For other versions, see "Install from sources" below.
    $ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.11.0rc2-cp35-cp35m-linux_x86_64.whl
    
    # Mac OS X, CPU only, Python 3.4 or 3.5:
    $ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-0.11.0rc2-py3-none-any.whl
    
    # Mac OS X, GPU enabled, Python 3.4 or 3.5:
    $ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/mac/gpu/tensorflow-0.11.0rc2-py3-none-any.whl
    Install TensorFlow:
    
    # Python 2
    $ sudo pip install --upgrade $TF_BINARY_URL
    
    # Python 3
    $ sudo pip3 install --upgrade $TF_BINARY_URL
    
    So easy!可以在keras里切换后端了。

    注意一下keras针对cnn中th和tf卷积核的数据格式

    还是在刚才那个修改后端的文件里修改即可。

    七、安装MXNet

    个人很看好MXNet,简介、速度快、语言多、社区活跃,缺点就是时间段、文档比较少。

    先按照官网教程安装

    We need git to clone MXNet source code repository to your machine.

    # Install git if not already installed.
    sudo apt-get update
    sudo apt-get -y install git
    
    # Clone mxnet repository. In terminal, run the commands WITHOUT "sudo"
    git clone https://github.com/dmlc/mxnet.git ~/MXNet/mxnet --recursive
    
    # Install MXNet dependencies
    cd ~/MXNet/mxnet/setup-utils
    bash install-mxnet-ubuntu.sh
    
    # We have added MXNet Python package path in your ~/.bashrc. 
    # Run below command to refresh environment variables.
    $ source ~/.bashrc
    

    下面我们需要修改config.mk文件使其使用gpu

    cd MXNet/mxnet

    cp make/config.mk .

    到mxnet目录编辑config.mk文件

    改这几处(文件里本身带教程)

    USE_CUDA = 1
    USE_CUDA_PATH = /usr/local/cuda
    USE_CUDNN = 1
    
    保存
    make clean
    make -j4
    

    MXNet至此完成

    打开python,试验一下

    import mxnet as mx
    a = mx.nd.ones((2, 3),
    ... mx.gpu())
    print (a * 2).asnumpy()
    

    至此,框架安装结束!

    如果我的文档能帮你避掉一两个坑,我将感到无比的欣慰

    如有安装过程、代码命令的错误以及侵权等质疑请务必联系我!

  • 相关阅读:
    Android——问题解决之adb not responding;adb不是内部或外部命令;path变量的默认值为多少
    PHP——小尾巴之权限管理
    Android——Android studio项目中如何查看R.java文件(转)
    Genymotion常见问题整合与解决方案(转)
    Android Studio简单设置(转)
    Android——配置环境变量
    Android——寄存器和存储器的区别
    Android——手机尺寸相关的概念 +尺寸单位+关于颜色
    Android——区别DVM与JVM (2)
    Psql 安装问题
  • 原文地址:https://www.cnblogs.com/leoking01/p/7248863.html
Copyright © 2020-2023  润新知