ubuntu18.04下搭建深度学习环境anaconda2+ cuda9.0+cudnn7.0.5+tensorflow1.7【原创】【学习笔记】
PC:ubuntu18.04、i5、七彩虹GTX1060显卡、固态硬盘、机械硬盘
作者:庄泽彬(欢迎转载,请注明作者)
说明:记录在ubuntu18.04环境下搭建深度学习的环境,之前安装了cuda9.1,与cudnn7.0.5版本的,但是无论怎么安装tensorflow-gpu都是失败,后来找到原因了,目前的tensorflow暂不支持cuda9.1,因此更换成cuda9.0,cudnn7.0.7安装成功,而且在英伟达官网下载各个安装包的时候出现在下载到99.9%时候总是下载失败,在某个时间段总是下载失败,个人经验在晚上8点之后下载是最顺利的,我在下午5点下载的cuda的时候总是在99.9%的时候下载失败,本文记录本人的安装过程方便以后安装,顺便也给其他小伙伴参考一下.
一、安装anaconda2:
本人下载的版本是:Anaconda2-5.2.0-Linux-x86_64.sh
anaconda2官网下载地址:https://www.anaconda.com/download/#linux
anaconda2清华源下载地址:https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/
安装anaconda2:
输入下面命令进行安装:
bash Anaconda2-5.2.-Linux-x86_64.sh
按回车进入安装说明,最后输入yes
设置文件的安装位置按回车选择默认的安装位置:
设置是否加入环境变了,本人选择yes:
安装到最后会显示是否安装Microsoft VSCode ,这个软件不需要,本人选择no,到这里就算安装完成了:
安装完之后执行如下命令把conda更新为清华源:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
执行运行 conda install numpy
测试一下吧,看看有没有问题
进入ananconda的安装目录进入bin,执行./spyer,但是竟然出现了下面这个错误,咋办呢,哎只能google,百度看看有没有人遇到过。
t通过各种途径最后还是解决spyder运行失败问题,运行下面命令:
conda install pyopengl
时间会比较久等待它安装完成即可:
重新运行,并且输入一个比较简单的helloworld程序,成功输出,到这里anaconda2的安装完成:
./spyder
默认的spyder是不支持中文输入的,按照下面的操作可以修复,本人使用的是基于fcitx的搜狗输入法 :
进入anaconda的安装目录之后进行下面操作:
//先备份之前的文件
1 mv plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so.bak
// 复制fcitx的库
cp /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so plugins/platforminputcontexts/
重启spyder生效,看看下图内容可以输入中文:
设置spyder的动画显示不在console显示,在独立的窗口运行,在console不能播放动画,只能看到第一帧的图片,因此需要设置
tool->preferences-> 显示下面的对话框,选择qt5,之后点击ok,重启spyder生效.
二、安装GTX1060显卡驱动.
先禁止系统自带的显卡驱动nouveau:
sudo vim /etc/modprobe.d/blacklist.conf //修改这个文件,在文件的后面添加第2行的内容
blacklist nouveau
sudo update-initramfs -u //执行这条语句之后重启系统
lsmod | grep no //如果没有任何输出证明禁止nouveau驱动成功
我们采用比较简单的方式安装显卡驱动,点击软件更新-->附加驱动,选择NVIDIA驱动,之后点击应用更改,等待系统下载驱动,安装完之后重启一下系统.
之后在终端输入下面的命令:
nvidia-smi
结果如下,识别到显卡证明安装是没有问题的。
三、安装cuda9.0
由于ubuntu18.04版本的gcc是7.3版本,但是编译cuda需要的版本要低于6.0,因此需要对gcc进行降级.
安装gcc4.8:
sudo apt-get install gcc-4.8
sudo apt-get install g++-4.8
将gcc4.8与gcc7.3设置到gcc的候选中,之后就可以切换gcc版本.
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 100
3 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 100
4 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 100
执行如下命令进行切换:
sudo update-alternatives --config gcc
sudo update-alternatives --config g++
根据自己的实际需要选择相应的版本好:
cuda与cudnn版本的选择:
之前就一直在纠结一个问题安装cuda与cudnn的版本要怎么选,怎么不同的人选择的版本都不一样,要怎么搭配,后来终于搞清楚了,要确定cuda的版本,要先知道cudnn的版本,我们先去官网看看cudnn有那些版本可以下载:https://developer.nvidia.com/rdp/cudnn-archive,看看下面的这幅图片,官方已经给出了cuda与cudnn搭配的建议。我们根据这个搭配下载相应的版本,本文暂时不下载最新版本的cuda与cudnn下载老一点的版本比较稳定,cuda9.0与cudnn7.05.
载cuda9.0的下载链接:cuda9.0,本人的下载设置见下图,之后点击下载,顺便把相应的补丁也下载下来,需要注意的是CUDA包括了CPU计算库和显卡驱动,因此在安装的时候不要重复安装显卡驱动,不然前面装了那么久GTX1060显卡驱动就白装了啊。
安装依赖的相关的包:
sudo apt-get install g++ freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libglu1-mesa libglu1-mesa-dev
设置可执行权限
sudo chmod a+x cuda_9.0.176_384.81_linux.run
2 ./cuda_9.0.176_384.81_linux.run 开始安装
在选择是否安装显卡驱动的时候选择no,其余选择yes:
The NVIDIA CUDA Toolkit provides command-line and graphical
tools for building, debugging and optimizing the performance
of applications accelerated by NVIDIA GPUs, runtime and math
libraries, and documentation including programming guides,
user manuals, and API references. Default Install Location of CUDA Toolkit
Do you accept the previously read EULA?
accept/decline/quit: accept You are attempting to install on an unsupported configuration. Do you wish to continue?
(y)es/(n)o [ default is no ]: y Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.81?
(y)es/(n)o/(q)uit: n Install the CUDA 9.0 Toolkit?
(y)es/(n)o/(q)uit: y Enter Toolkit Location
[ default is /usr/local/cuda-9.0 ]: Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: y Install the CUDA 9.0 Samples?
(y)es/(n)o/(q)uit: y Enter CUDA Samples Location
[ default is /home/zhuang ]: Installing the CUDA Toolkit in /usr/local/cuda-9.0 ...
Installing the CUDA Samples in /home/zhuang ...
Copying samples to /home/zhuang/NVIDIA_CUDA-.0_Samples now...
Finished copying samples. ===========
= Summary =
=========== Driver: Not Selected
Toolkit: Installed in /usr/local/cuda-9.0
Samples: Installed in /home/zhuang Please make sure that
- PATH includes /usr/local/cuda-9.0/bin
- LD_LIBRARY_PATH includes /usr/local/cuda-9.0/lib64, or, add /usr/local/cuda-9.0/lib64 to /etc/ld.so.conf and run ldconfig as root To uninstall the CUDA Toolkit, run the uninstall script in /usr/local/cuda-9.0/bin Please see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-9.0/doc/pdf for detailed information on setting up CUDA. ***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 384.00 is required for CUDA 9.0 functionality to work.
To install the driver using this installer, run the following command, replacing <CudaInstaller> with the name of this run file:
sudo <CudaInstaller>.run -silent -driver Logfile is /tmp/cuda_install_7476.log
Signal caught, cleaning up
修改环境变量:
vim ~/.bashrc //添加2,3行内容
export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
source ~/.bashrc //使能环境变量
安装cuda_9.0.176.1_linux.run补丁包:
sudo sh cuda_9.0.176.1_linux.run
安装过程如下: Default Install Location of CUDA Toolkit
Do you accept the previously read EULA?
accept/decline/quit: accept Enter CUDA Toolkit installation directory
[ default is /usr/local/cuda-9.0 ]: Installation complete!
Installation directory: /usr/local/cuda-9.0 Signal caught, cleaning up
安装cuda_9.0.176.2_linux.run补丁包
sudo sh cuda_9.0.176.2_linux.run
安装过程如下:
Default Install Location of CUDA Toolkit
Do you accept the previously read EULA?
accept/decline/quit: accept Enter CUDA Toolkit installation directory
[ default is /usr/local/cuda-9.0 ]: Installation complete!
Installation directory: /usr/local/cuda-9.0 Signal caught, cleaning up
安装cuda_9.0.176.3_linux.run补丁包:
sudo sh cuda_9.0.176.3_linux.run
安装过程如下
Default Install Location of CUDA Toolkit
Do you accept the previously read EULA?
accept/decline/quit: accept Enter CUDA Toolkit installation directory
[ default is /usr/local/cuda-9.0 ]: Installation complete!
Installation directory: /usr/local/cuda-9.0 Signal caught, cleaning up
安装cuda_9.0.176.4_linux.run补丁包:
sudo sh cuda_9.0.176.4_linux.run
安装过程如下:
Default Install Location of CUDA Toolkit
Do you accept the previously read EULA?
accept/decline/quit: accept Enter CUDA Toolkit installation directory
[ default is /usr/local/cuda-9.0 ]: Installation complete!
Installation directory: /usr/local/cuda-9.0 Signal caught, cleaning up
执行nvcc -V看看是否安装成功.
~/NVIDIA_CUDA-.0_Samples //进入cuda的测试demo
make clean //gcc 一定要降级到6或6.0以下,不能用最新版本的7.3
make -j4 //开始编译
编译完成没有出错:
运行编译的测试,看下面的测试结果基本没问题,现在基本搞定cuda9.0的安装:
1_Utilities/deviceQuery
./deviceQuery
四、安装cudnn7.05
下载链接:https://developer.nvidia.com/rdp/cudnn-archive下载cudnn7.0.5需要注册一个NIVDIA账号.下载设置见图,会得到 cudnn-9.0-linux-x64-v7.tgz这个文件.
解压:
tar -xvf cudnn-9.0-linux-x64-v7.tgz
拷贝相关的库文件:
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 /usr/local/cuda/lib64/libcudnn*
删除文件原来的l链接:
cd /usr/local/cuda/lib64
sudo rm libcudnn.so libcudnn.so.7 //删除原来的链接
sudo ln -s libcudnn.so.7.0. libcudnn.so.7 //生成新的链接
sudo ln -s libcudnn.so. libcudnn.so
5 sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
6 sudo ldconfig
方法二:上述的方法的虽然可以安装cudnn但是,却不知道怎么测试cudnn是否安装成功,安装deb包有相关的测试demo:
下载下图的这三个文件:
安装deb包:
拷贝测试demo:
cp /usr/src/cudnn_samples_v7/ ~ -raf //拷贝到home目录
cd ~/cudnn_samples_v7/mnistCUDNN //进入相关测试项目
make clean && make //编译
4 ./mnistCUDNN //运行测试 sudo dpkg --contents libcudnn7_7.0.5.15-1+cuda9.0_amd64.deb //用于查看安装包安装的信息
若运行出错则根据出错信息拷贝相关的库文件:
sudo cp /usr/local/cuda-9.0/lib64/libcudart.so.9.0 /usr/local/lib/libcudart.so.9.0 && sudo ldconfig
sudo cp /usr/local/cuda-9.0/lib64/libcublas.so.9.0 /usr/local/lib/libcublas.so.9.0 && sudo ldconfig
看下图测试成功:
五、安装tensorflow
官网给出了安装tensorflow的几种方法,大家可以根据自己需求用相应的方法安装:https://www.tensorflow.org/install/install_linux#tensorflow_gpu_support
我们采用pip的方式安装tensorflow,在安装之前先更新一下pip的源:
vim ~/.pip/pip.conf
//写入一下内容
[global]
trusted-host=mirrors.aliyun.com
index-url=http://mirrors.aliyun.com/pypi/simple/ 6 pip install django //测试安装的速度
升级pip到最新版本:
sudo apt-get install python-pip python-dev
安装命令:
pip install tensorflow-gpu==1.7
卸载命令:
sudo pip uninstall tensorflow-gpu
tensorflow的helloworld代码:
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
输出结果
六、添加keras的安装
pip install keras
弄到这里深度学习的环境终于搭建好啦,好久没有打王者了,打两局李白庆祝一下。
ubuntu18.04下搭建深度学习环境anaconda2+ cuda9.0+cudnn7.0.5+tensorflow1.7【原创】【学习笔记】的更多相关文章
- Ubuntu18.04下配置深度学习开发环境
在Ubuntu18.04下配置深度学习/机器学习开发环境 1.下载并安装Anaconda 下载地址:https://www.anaconda.com/distribution/#linux 安装步骤: ...
- Ubuntu18.04下搭建LAMP环境
一.Apache2 web 服务器的安装 : 可以先更新一下服务器 1.sudo apt-get update # 获取最新资源包 2.sudo apt-get upgrade ...
- ubuntu14.04下搭建python+mysql环境
简略记录ubuntu14.04下搭建python操作的mysql服务器的过程和其中遇到的问题及解决方法. 第一部分: 安装mysql 安装步骤:1. sudo apt-get install mysq ...
- Ubuntu 12.04下搭建Qt开发环境
http://download.qt.io/official_releases/qt/ Ubuntu 环境下Gtk与Qt编译环境安装与配置(系统环境是Ubuntu 12.04) 1.配置基础开发环境G ...
- Ubuntu18.04下搭建LNMP教程-超详细图文(Nginx+MySQL+PHP含各种解决报错问题)
笔者最近在VM15.0上安装了Ubuntu18.,先来安装一个LNMP(Nginx+MySQL+PHP)网站服务器架构,为后续的实验做准备~ LNMP是指一组通常一起使用来运行动态网站或者服务 ...
- 在 ubuntu18.04 中搭建 Django 开发环境
在Ubuntu 18.04 安装 python3.pip3.pycharm,搭建 Django 开发环境. 1.安装 python3 pip3 sudo apt-get install python3 ...
- ubuntu 14.04下搭建esp32开发环境
esp32是乐鑫出品的一款集成了wifi和蓝牙的集成模块,板上自带两个哈佛结构的Xtensa LX6 CPU双核处理器,本文主要讲解如何在linux下搭建其编译开发环境. 首先ctrl+alt+t打开 ...
- ubuntu 17.04 下搭建深度学习环境
.目前使用CPU即可,先不需要显卡配置 .使用pip3 安装深度学习框架 .要先安装pip3 #sudo apt install python3-pip https://blog.csdn.net/b ...
- Caffe学习系列(一)Ubuntu16.04下搭建编译Caffe环境,并运行MNIST示例(仅CPU)
前言: 正文: 1.安装必要依赖包: sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev l ...
随机推荐
- iGson
头文件 #import <Foundation/Foundation.h> #import <objc/runtime.h> #import "NSString+Ut ...
- shell ln
功能:ln命令为某一个文件在另外一个位置建立一个同步的链接.当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 ...
- LeetCode——Implement Queue using Stacks
Description: Implement the following operations of a queue using stacks. push(x) -- Push element x t ...
- 下载组件Jspsmartupload中文乱码解决办法
先用jdgui反编译jar包,得到源码,然后将源码拷贝到myeclipse中,注意路径是按照源码的路径 打开默认会有错误提示,稍微改改就解决了 1,打开“ SmartUpload.java ”,查 ...
- 树链剖分+线段树+离线(广州网选赛第八题hdu5029)
http://acm.hdu.edu.cn/showproblem.php?pid=5029 Relief grain Time Limit: 10000/5000 MS (Java/Others) ...
- jQuery Ajax 全解析(转载)
本文地址: jQuery Ajax 全解析 本文作者:QLeelulu 转载请标明出处! jQuery确实是一个挺好的轻量级的JS框架,能帮助我们快速的开发JS应用,并在一定程度上改变了我们写Java ...
- 单机器启动多个tomcat的配置修改
首先去apache下载一个tomcat,下载解压版的,比较方便 把这个tomcat(我下载的是tomcat7版本),解压两次,为了方便显示,我把解压出来的tomcat重命名成tomcat71和to ...
- MVC视图布局页常用代码
1.在视图 Views 中新建文件夹 Shared 2.在 Shared 中新建布局页-母版页 _Layout.cshtml @{ Layout = null; } <!DOCTYPE h ...
- 以太坊api访问,区块同步监测
以太坊geth api访问,区块同步监测 curl查询geth区块高度 supervisor管理以太坊geth进程 geth进程健康检查 # curl访问geth api #使用curl访问geth ...
- Python并行编程(十四):异步编程
1.基本概念 除了顺序执行和并行执行的模型以外,还有异步模型,这是事件驱动模型的基础.异步活动的执行模型可以只有一个单一的主控制流,能在单核心系统和多核心系统中运行. 在并发执行的异步模型中,许多任务 ...