ubuntu16.04+七彩虹GTX1060的NVIDIA驱动+Cuda8.0+cudnn5.1+tensorflow+keras搭建深度学习环境【学习笔记】【原创】...

本文主要是介绍ubuntu16.04+七彩虹GTX1060的NVIDIA驱动+Cuda8.0+cudnn5.1+tensorflow+keras搭建深度学习环境【学习笔记】【原创】...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

平台信息:
PC:ubuntu16.04、i5、七彩虹GTX1060显卡

作者:庄泽彬(欢迎转载,请注明作者)

说明:参考了网上的一堆的资料搭建了深度学习的开发环境,下班在宿舍折腾了好几个晚上才搞定,写篇文章记录一下。

一、安装Nvidia GTX1060显卡驱动

  1.1 图1是本人使用的显卡,暂时没有那么多钱,买个便宜的玩玩,把显卡插入电脑主板,然后开启ubuntu系统,

  

图1

  1.2 在终端输入lspci |grep VGA查看显卡型号,ubuntu系统自带了nouveau驱动,因此我们启动系统之后可以识别到显卡,但这毕竟不是GTX1060专用的显卡驱动,我们不能使用这个驱动要屏蔽这个显卡驱动,安装NVIDIA GTX1060显卡驱动,我们在看看图3现在系统使用的是CPU集成显卡,没有使用我们的独立显卡,我们要切换到我们的GTX1060显卡.

 

 图2

图3

  1.3 在终端输入sudo ubuntu-drivers devices查看自己的系统适合安装什么版本的显卡驱动,当然也可以下载最新的,这里自己选择,本人选择系统推荐的版本nvidia-384

  图4

  到这里链接下载对应型号的显卡驱动:https://www.geforce.cn/drivers,设置见图5,之后点击开始搜索,在搜索结果中选择自己下载的显卡驱动版本

 

搜索结果

图5

   1.4

  在正式安装之前执行先卸载原有的显卡驱动:

  sudo apt-get remove --purge nvidia*

  禁止nouveau:

  sudo vim /etc/modprobe.d/blacklist.conf

  在这个文件最后添加:

  blacklist nouveau  

  之后执行sudo update-initramfs -u重启系统

  在终端输入lsmod | grep no如何没有输出信息证明系统没有加载nouveau驱动,可以进行一下步的操作。

  

  1.5 安装驱动:

  添加可执行权限:

  sudo chmod a+x NVIDIA-Linux-x86_64-384.130.run

  关闭图形化环境:

  进入控制台模式:ctrl+alt+f1,

  sudo /etc/init.d/lightdm stop

  正式安装:

  sudo ./NVIDIA-Linux-x86_64-384.130.run -no-x-check -no-nouveau-check -no-opengl-files

  执行完之后竟然跳出这个界面图6这个界面,后找了一下资料,其实出现这个界面是正常的,只是NVIDIA的人提醒你是否要进行安装,可以看看 /usr/lib/nvidia/pre-install这个文件的内容图7,其实没有做什么就退出,所以出现图6的界面不用担心,继续执行就好了啊。

  

 图6

  

 

图7

 

  在安装的过程会出现的选项:

 Install NVIDIA's 32-bit compatibility libraries?本人选择yes

 Would you like to run the nvidia-xconfig utility to automatically update your X configuration file so that the NVIDIA X driver will be used when you 

    restart X? Any pre-existing X configuration file will be backed up.  本人选择NO

 等待安装完毕之后执行

 sudo /etc/init.d/lightdm start 恢复图形界面

 查看显卡驱动版本:从图8可以看出我们安装GTX1060显卡驱动已经搞定了,但是我们系统现在使用的还是图3所示的集成显卡,我们安装完cuda8.0之后就能切换过去,因此革命尚未成功仍需nvli 

 cat /proc/driver/nvidia/version

 nvidia-smi 

    

图8

 如果需要升级版本卸载:sudo ./NVIDIA-Linux-x86_64-384.130.run  --uninstall

  

 二、安装cuda8.0

  2.1下载cuda8.0的下载链接:https://developer.nvidia.com/cuda-80-ga2-download-archive,本人的下载设置见图9,之后点击下载,需要注意的是CUDA包括了CPU计算库和显卡驱动,因此在安装的时候不要重复安装显卡驱动,不然前面装了那么久GTX1060显卡驱动就白装了啊。

  

 

图9

  2.2、安装cuda8.0

  设置可执行权限

  sudo chmod a+x cuda_8.0.61_375.26_linux.run

  执行安装:

  安装过程:

  在刚开始安装的时候会出现一个声明,本人直接回车到100%看完声明,进行安装.  

Do you accept the previously read EULA?
accept/decline/quit: accept

 

Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 375.26?
(y)es/(n)o/(q)uit: n

 

Install the CUDA 8.0 Toolkit?
(y)es/(n)o/(q)uit: y

 

Enter Toolkit Location
[ default is /usr/local/cuda-8.0 ]:

 

Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: y

 

Install the CUDA 8.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-8.0 ...
Missing recommended library: libXmu.so

 

Installing the CUDA Samples in /home/zhuang ...
Copying samples to /home/zhuang/NVIDIA_CUDA-8.0_Samples now...
Finished copying samples.

  设置cuda8.0到环境变量

  sudo vim /etc/profile

  添加如下内容: 

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

  重启系统:sudo reboot

  输入nvcc -V输出下面信息正常:

图10

 

测试:

cd /home/zhuang/NVIDIA_CUDA-8.0_Samples 

make 

cd 0_Simple/clock  执行简单的测试demo

 

如果需要升级卸载: 

  cd /usr/local/cuda/bin

  sudo ./uninstall_cuda_8.0.pl

若安装的是deb文件使用这种方式卸载:

  sudo apt-get autoremove --purge cuda

 

三、安装cudnn5.1

  3.1 下载链接:https://developer.nvidia.com/rdp/cudnn-archive,下载cudnn5.1需要注册一个NIVDIA账号.下载设置见图10,会得到cudnn-8.0-linux-x64-v5.1.solitairetheme8这个文件.

  

图10

solitairetheme8这个格式的文件太奇怪了处理一下:

sudo cp cudnn-8.0-linux-x64-v5.1.solitairetheme8 cudnn-8.0-linux-x64-v5.1.tgz

解压: 

sudo tar -zxvf ./cudnn-8.0-linux-x64-v5.1.tgz

复制头文件:

cd cuda/include

sudo cp cudnn.h /usr/local/cuda/include

复制库文件:

cd ../lib64/

sudo cp lib* /usr/local/cuda/lib64/

删除系统原有的动态库文件:

cd /usr/local/cuda/lib64/ 

sudo rm -rf libcudnn.so libcudnn.so.5

sudo ln -s libcudnn.so.5.1.10 libcudnn.so.5

sudo ln -s libcudnn.so.5 libcudnn.so

 sudo ldconfig

 

四、安装tensorflow

 下载对应版本的tensorflow:https://pypi.org/project/tensorflow/#files

查看TensorFlow版本:sudo pip show tensorflow

安装和卸载命令:pip install tensorflow_gpu==1.1

sudo pip uninstall tensorflow-gpu

但是运行却包了这个错误:

有强迫症患者的看到这堆警告肯定很不爽,后面上网又找了一遍,我们还是用源码编译的方式安装TensorFlow吧。哎,路还很长,搭建深度学习的开发环境容易啊。

四、安装keras

sudo pip install -U --pre pip setuptools wheel

sudo pip install -U --pre numpy scipy matplotlib scikit-learn scikit-image

 

 pip install keras

转载于:https://www.cnblogs.com/zzb-Dream-90Time/p/9663542.html

这篇关于ubuntu16.04+七彩虹GTX1060的NVIDIA驱动+Cuda8.0+cudnn5.1+tensorflow+keras搭建深度学习环境【学习笔记】【原创】...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/220036

相关文章

深度解析Java DTO(最新推荐)

《深度解析JavaDTO(最新推荐)》DTO(DataTransferObject)是一种用于在不同层(如Controller层、Service层)之间传输数据的对象设计模式,其核心目的是封装数据,... 目录一、什么是DTO?DTO的核心特点:二、为什么需要DTO?(对比Entity)三、实际应用场景解析

深度解析Java项目中包和包之间的联系

《深度解析Java项目中包和包之间的联系》文章浏览阅读850次,点赞13次,收藏8次。本文详细介绍了Java分层架构中的几个关键包:DTO、Controller、Service和Mapper。_jav... 目录前言一、各大包1.DTO1.1、DTO的核心用途1.2. DTO与实体类(Entity)的区别1

SQLite3 在嵌入式C环境中存储音频/视频文件的最优方案

《SQLite3在嵌入式C环境中存储音频/视频文件的最优方案》本文探讨了SQLite3在嵌入式C环境中存储音视频文件的优化方案,推荐采用文件路径存储结合元数据管理,兼顾效率与资源限制,小文件可使用B... 目录SQLite3 在嵌入式C环境中存储音频/视频文件的专业方案一、存储策略选择1. 直接存储 vs

深度解析Python装饰器常见用法与进阶技巧

《深度解析Python装饰器常见用法与进阶技巧》Python装饰器(Decorator)是提升代码可读性与复用性的强大工具,本文将深入解析Python装饰器的原理,常见用法,进阶技巧与最佳实践,希望可... 目录装饰器的基本原理函数装饰器的常见用法带参数的装饰器类装饰器与方法装饰器装饰器的嵌套与组合进阶技巧

深度解析Spring Boot拦截器Interceptor与过滤器Filter的区别与实战指南

《深度解析SpringBoot拦截器Interceptor与过滤器Filter的区别与实战指南》本文深度解析SpringBoot中拦截器与过滤器的区别,涵盖执行顺序、依赖关系、异常处理等核心差异,并... 目录Spring Boot拦截器(Interceptor)与过滤器(Filter)深度解析:区别、实现

Python中Tensorflow无法调用GPU问题的解决方法

《Python中Tensorflow无法调用GPU问题的解决方法》文章详解如何解决TensorFlow在Windows无法识别GPU的问题,需降级至2.10版本,安装匹配CUDA11.2和cuDNN... 当用以下代码查看GPU数量时,gpuspython返回的是一个空列表,说明tensorflow没有找到

深度解析Spring AOP @Aspect 原理、实战与最佳实践教程

《深度解析SpringAOP@Aspect原理、实战与最佳实践教程》文章系统讲解了SpringAOP核心概念、实现方式及原理,涵盖横切关注点分离、代理机制(JDK/CGLIB)、切入点类型、性能... 目录1. @ASPect 核心概念1.1 AOP 编程范式1.2 @Aspect 关键特性2. 完整代码实

SpringBoot开发中十大常见陷阱深度解析与避坑指南

《SpringBoot开发中十大常见陷阱深度解析与避坑指南》在SpringBoot的开发过程中,即使是经验丰富的开发者也难免会遇到各种棘手的问题,本文将针对SpringBoot开发中十大常见的“坑... 目录引言一、配置总出错?是不是同时用了.properties和.yml?二、换个位置配置就失效?搞清楚加

如何使用Haporxy搭建Web群集

《如何使用Haporxy搭建Web群集》Haproxy是目前比较流行的一种群集调度工具,同类群集调度工具有很多如LVS和Nginx,本案例介绍使用Haproxy及Nginx搭建一套Web群集,感兴趣的... 目录一、案例分析1.案例概述2.案例前置知识点2.1 HTTP请求2.2 负载均衡常用调度算法 2.

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热