[框架安装趟雷指南]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版本这个大坑!

https://developer.nvidia.com/cuda-downloads

*小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

https://developer.nvidia.com/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

完全按照官网来吧:

https://www.tensorflow.org/versions/r0.11/get_started/os_setup.html#pip-installation

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()

至此,框架安装结束!

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

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

深度学习(Deep Learning)TheanoTensorFlow

[框架安装趟雷指南]Ubuntu+1060+cuda+cudnn+Keras+TH+TF+MXnet的更多相关文章

  1. Nutch相关框架安装使用最佳指南(转帖)

    Nutch相关框架安装使用最佳指南 Chinese installing and using instruction  -  The best guidance in installing and u ...

  2. 【AI】Ubuntu NVIDIA CUDA CUDNN安装配置

    https://blog.csdn.net/qq_33200967/article/details/80689543 https://blog.csdn.net/sinat_29963957/arti ...

  3. ubuntu 16.04安装nVidia显卡驱动和cuda/cudnn踩坑过程

    安装深度学习框架需要使用cuda/cudnn(GPU)来加速计算,而安装cuda/cudnn,首先需要安装nvidia的显卡驱动. 我在安装的整个过程中碰到了驱动冲突,循环登录两个问题,以至于最后不得 ...

  4. Ubuntu上CUDA和CUDNN的安装

    Ubuntu上CUDA的安装 下载路径: CUDA下载 `sudo dpkg -i cuda-repo-ubuntu1504-7-5-local_7.5-18_amd64.deb` `sudo apt ...

  5. ubuntu 16.04 安装 tensorflow-gpu 包括 CUDA ,CUDNN,CONDA

    ubuntu 16.04 安装 tensorflow-gpu 包括 CUDA ,CUDNN,CONDA 显卡驱动装好了,如图: 英文原文链接: https://github.com/williamFa ...

  6. 真实机下 ubuntu 18.04 安装GPU +CUDA+cuDNN 以及其版本选择(亲测非常实用)【转】

    本文转载自:https://blog.csdn.net/u010801439/article/details/80483036 ubuntu 18.04 安装GPU +CUDA+cuDNN : 目前, ...

  7. Ubuntu系统---“NVIDIA 驱动+CUDA+cuDNN ”之后 OpenCV安装

    Ubuntu系统---“NVIDIA 驱动+CUDA+cuDNN ”之后 OpenCV安装 目录: 一.OpenCV安装包下载 二.cmake安装 三.OpenCV安装 正文 一.OpenCV安装包下 ...

  8. Ubuntu系统---安NVIDIA 驱动后 CUDA+cuDNN 安装

    Ubuntu系统---安NVIDIA 驱动后  CUDA+cuDNN 安装 --------------------------------------------@20190726--------- ...

  9. ubuntu显卡(NVIDIA)驱动以及对应版本cuda&cudnn安装

    (已禁用集显,禁用方法可自行百度) 驱动在线安装方式进入tty文本模式ctrl+alt+F1关闭显示服务sudo service lightdm stop卸载原有驱动sudo apt-get remo ...

随机推荐

  1. 【bzoj4031】[HEOI2015]小Z的房间 Matrix-Tree定理+高斯消元

    [bzoj4031][HEOI2015]小Z的房间 2015年4月30日3,0302 Description 你突然有了一个大房子,房子里面有一些房间.事实上,你的房子可以看做是一个包含n*m个格子的 ...

  2. 卸载重安firefox

    把firefox完全卸载掉重装: 查看安装的firefox版本: dpkg --get-selections |grep firefox 根据命令结果卸载重装 比如: $ dpkg --get-sel ...

  3. android 设置app root权限简单方法

    vim frameworks/base/core/java/com/android/internal/os/ZygoteConnection.java +709 private static void ...

  4. 关于toggle的用法

    //一个关于鼠标点击 切换场景的代码段 $(document).on('click', '.create-advice-elseparm', function () { $('.advice-else ...

  5. yii 数据库添加,修改,删除相关操作总结

    yii中关于数据信息的添加数据,修改数据,删除数据的相关操作,刚刚学习没几天,仅记录了一些,以后慢慢再充实,有需要的朋友可以看看. 添加数据的方法 (1)save 方法(对象形式操作) $user=n ...

  6. HTML-在canvas画图中,图片的线上链接已配置允许跨域后,仍然出错提示跨域,怎么解决?

    这个问题我已经遇到了2次,第一次解决了后,第二次又遇到了,所以这次做个笔记,怕以后再次遇到 举例: 1.要实现的问题:我需要在canvas画布上画上我的微信头像 2.后台配置已经完成了允许我头像地址的 ...

  7. js-点击按钮页面滚动到顶部,底部,指定位置

    之所以笔记一下这个,因为我在项目中经常用到. $('.scroll_top').click(function(){$('html,body').animate({scrollTop: '0px'}, ...

  8. 如何让一个现有的程序集运行在Silverlight环境中

    故事是这样的:我们有一个组件,是一个标准的Class Library,里面有一些代码是实现了某些计算或者业务逻辑.例如下面这样 然后,我们做了一个Silverlight的应用程序,和一个用于运行该程序 ...

  9. Codeforces 691F Couple Cover

    可以暴力预处理出每一种小于3000000的乘积有几种.询问的时候可以用总的方案减去比p小的有几种o(1)输出. #pragma comment(linker, "/STACK:1024000 ...

  10. ASP.NET Core 依赖注入基本用法

    ASP.NET Core 依赖注入 ASP.NET Core从框架层对依赖注入提供支持.也就是说,如果你不了解依赖注入,将很难适应 ASP.NET Core的开发模式.本文将介绍依赖注入的基本概念,并 ...