[Ubuntu]深度学习环境安装NVIDIA-1080+CUDA9.0+cuDnn+Tensorflow-gpu-1.6.0+conda

2023-10-26

1、安装Miniconda

wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda-1.6.0-Linux-x86_64.sh

bash Miniconda-1.6.0-Linux-x86_64.sh

记得换源,提升包下载安装速度:

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

 

2、安装Nvidia驱动

sudo apt-get remove –purge nvidia*
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-390

nvidia-smi

[如果安装过程中,下载nvidia-390的deb包总是断掉的话,可以复制链接手动下载,然后安装依赖]

Get:1 http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu xenial/main amd64 nvidia-390 amd64 390.77-0ubuntu0~gpu16.04.1 [74.1 MB]
Err:1 http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu xenial/main amd64 nvidia-390 amd64 390.77-0ubuntu0~gpu16.04.1
  Hash Sum mismatch
Fetched 18.3 MB in 22s (819 kB/s)                                              
E: Failed to fetch http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu/pool/main/n/nvidia-graphics-drivers-390/nvidia-390_390.77-0ubuntu0~gpu16.04.1_amd64.deb  Hash Sum mismatch

#下载
wget http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu/pool/main/n/nvidia-graphics-drivers-390/nvidia-390_390.77-0ubuntu0~gpu16.04.1_amd64.deb
#安装
sudo dpkg -i nvidia-graphics-drivers-390/nvidia-390_390.77-0ubuntu0~gpu16.04.1_amd64.deb
#安装依赖
sudo apt install -y

 

--------

重启电脑,查看驱动是否安装好

1>如果登录ubuntu出现循环登录的现象,那驱动肯定是没装好了,alt+ctrl+F1进入命令行,卸载掉驱动,重新安装吧

sudo apt-get remove –purge nvidia*

2>如果 nvidia-smi出现

NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running

出现上面,任何一种情况都是显卡驱动没有安装好,而出现这种情况的原因最大可能是ubuntu的内核版本太低了,尝试升级内核版本再重试,笔者遇到还几次都是升级内核后解决的!

3>升级内核版本

在这个网址找到你想升级的内核,大于4.10即可  http://kernel.ubuntu.com/~kernel-ppa/mainline/

#查看内核版本
unama -sr
#笔者升级前版本 Linux 4.4.0-131-generic
#在这个网址找到你想升级的内核,大于4.10即可http://kernel.ubuntu.com/~kernel-ppa/mainline/

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.12.9/linux-headers-4.12.9-041209_4.12.9-041209.201708242344_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.12.9/linux-headers-4.12.9-041209-generic_4.12.9-041209.201708242344_amd64.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.12.9/linux-image-4.12.9-041209-generic_4.12.9-041209.201708242344_amd64.deb
sudo dpkg -i *.deb

sudo reboot
uname -sr

#笔者升级后版本 Linux 4.12.9-041209-generic

4>再装一次显卡驱动

sudo apt-get install nvidia-390

nvidia-smi

再搞不定留言,可以笔者可以帮忙一起看看

3、安装CUDA9.0

打开根据系统选择:https://developer.nvidia.com/cuda-90-download-archive

Ubuntu版本的下载地址:https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run

wget https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run

sudo bash cuda_9.0.176_384.81_linux-run

安装过程需要输入一些确认选项,过程如下:

Description

The NVIDIA CUDA Toolkit provides command-line and graphical
tools for building, debugging and optimizing the performance
Do you accept the previously read EULA?
accept/decline/quit: accept

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/cqc ]: 

Installing the CUDA Toolkit in /usr/local/cuda-9.0 ...

 

没报错就证明安装好了,然后配置环境变量:

export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda
source ~/.bashrc

4、安装cuDNN 7.1

下载链接:https://developer.nvidia.com/rdp/cudnn-download,需要注册之后才能打开,不过我把下载链接复制出来了,如果你也用9.0的cuda就直接下载吧

linux_64 下载链接:https://developer.nvidia.com/compute/machine-learning/cudnn/secure/v7.1.4/prod/9.0_20180516/cudnn-9.0-linux-x64-v7.1

wget https://developer.nvidia.com/compute/machine-learning/cudnn/secure/v7.1.4/prod/9.0_20180516/cudnn-9.0-linux-x64-v7.1
tar -zvxf cudnn-9.0-linux-x64-v7.tgz -C /tmp
cd /tmp
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
rm -rf cuda/

5、安装Tensorflow-gpu

source activate base
conda install tensorflow-gpu==1.6.0
#如果conda install 安装总是断或有问题,尝试换源或者使用pip装

conda install pip
python3 -m pip install tensorflow-gpu==1.6.0

安装过程包下载可能经常断记得设置国内源,这里使用清华的源:

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 tensorflow-gpu==1.6.0

 验证tensorflow是否使用了GPU版本:

from tensorflow.python.client import device_lib as _device_lib
_device_lib.list_local_devices()

 如果出现的打印中包含GPU等信息,说明安装成功啦,恭喜可以愉快的使用GPU进行计算啦~~~

python3

Python 3.5.2 (default, Nov 23 2017, 16:37:01) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow
>>> from tensorflow.python.client import device_lib as _device_lib
>>> local_device_protos = _device_lib.list_local_devices()

2018-07-30 16:38:08.863925: I tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2018-07-30 16:38:09.086530: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:898] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2018-07-30 16:38:09.086927: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1212] Found device 0 with properties: 
name: GeForce GTX 1050 major: 6 minor: 1 memoryClockRate(GHz): 1.455
pciBusID: 0000:01:00.0
totalMemory: 1.95GiB freeMemory: 750.94MiB
2018-07-30 16:38:09.086962: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1312] Adding visible gpu devices: 0
2018-07-30 16:38:15.853383: I tensorflow/core/common_runtime/gpu/gpu_device.cc:993] Creating TensorFlow device (/device:GPU:0 with 471 MB memory) -> physical GPU (device: 0, name: GeForce GTX 1050, pci bus id: 0000:01:00.0, compute capability: 6.1)
>>> 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[Ubuntu]深度学习环境安装NVIDIA-1080+CUDA9.0+cuDnn+Tensorflow-gpu-1.6.0+conda 的相关文章

  • 如何在 Python 中使用 Selenium 运行无头 Chrome?

    我正在尝试使用 selenium 进行一些操作 我真的希望我的脚本能够快速运行 我认为使用无头 Chrome 运行我的脚本会使其速度更快 首先 这个假设是否正确 或者我是否使用无头驱动程序运行我的脚本并不重要 我希望无头 Chrome 能够
  • 当你不需要Python中的索引时,如何创建For循环? [复制]

    这个问题在这里已经有答案了 如果我需要一个forPython 中的循环 for i in range 1 42 print spam 但不要使用i对于任何事情 pylint 都会抱怨未使用的变量 我应该如何处理这个问题 我知道你可以这样做
  • 在 UNIX 时间戳 Shell/Bash 中将日期与时区转换

    我需要将日期从格式为 yyyy mm dd hh mm ss TZ 的字符串转换为 UNIX 时间 TZ 时区 到目前为止我所做的是将没有时区的 yyyy mm dd hh mm ss 格式的日期转换为时间戳 dateYMD 2019 2
  • pyqt5调用url时处于无响应状态

    我刚刚在 pyqt 中实现了登录 但在调用 url 和获取响应之间 qt 窗口显示无响应状态 谁能建议我如何避免不响应状态 code class Login QDialog def init self height width parent
  • 在Python中修改大型文本文件最后一行的最有效方法

    我需要更新几个超过 2GB 的文件的最后一行 这些文件由无法读取的文本行组成readlines 目前 它可以通过逐行循环来正常工作 但是 我想知道是否有任何编译库可以更有效地实现这一点 谢谢 目前的方法 myfile open large
  • 使用 openCV 和 python 检测物体

    我正在尝试使用 OpenCV 和 Python 检测下图中的白点 我尝试使用函数 cv2 HoughCircles 但没有成功 我需要使用不同的方法吗 这是我的代码 import cv2 cv import numpy as np impo
  • Pymacs 助手在 30 秒后未启动

    我见过其他关于此的问题 但没有一个得到真正的回答 而且没有一个是我的问题 我有一个新系统 emacs 23 1 Centos 6 2 我认为 我下载了最新的 pymacs 并安装了它 但是 我得到 error Pymacs helper d
  • 使用 PyQt4 在 QWidget 上进行 eventFilter

    我有一个 QMainWindow 其中包含DrawingPointsWidget 该小部件随机绘制红点 我通过使用以下命令为 MouseHovering 事件安装事件过滤器 在 QMainWindow 的状态栏中显示鼠标坐标self ins
  • 从 bash 脚本返回值

    我想创建一个返回值的 Bash 文件 意思是 在脚本 script a bash 中我有一定的计算 脚本 script b bash 会调用它 script a bash return 1 5 script b bash a value s
  • dataframe KeyError,尽管它存在

    鉴于数据 rows x 1 y 2 z 3 x 2 y 2 z 3 如果我尝试构建这样的数据框 frame pd DataFrame from records rows index x 效果很好 然而 这 frame pd DataFram
  • 如何在 Microsoft Azure 中提取 Blob 存储中的 Blob 的上次修改日期

    我对 MS Azure 的世界还很陌生 我正在尝试使用 Python 获取保存在我的 blob 存储中的一堆文件 块 blob 的文件名和最后修改日期 这是我正在使用的代码 import datetime from azure storag
  • 如何让 list_blobs 表现得像 gsutil

    我只想获得 GCS 上假文件夹结构的第一级 如果我运行例如 gsutil ls gs gcp public data sentinel 2 tiles 我得到一个这样的列表 gs gcp public data sentinel 2 til
  • 日志处理程序是否使用单独的线程?

    蟒蛇的日志处理程序 http docs python org library logging handlers html都很棒 其中一些 例如SMTP处理程序 http docs python org library logging han
  • 带日志图的 Type 1 字体

    我正在尝试使用 Matplotlib 图表作为相机就绪的一部分 提交 出版社要求使用Type 1字体 仅有的 我发现 PDF 后端很乐意输出 Type 1 字体 具有线性 Y 轴的简单图形 但输出 Type 3 字体 对数 Y 轴 使用对数
  • python:Windows终端中的unicode,使用的编码?

    我在 Windows 7 终端中使用 Python 解释器 我正在尝试了解 unicode 和编码 I type gt gt gt s gt gt gt s x89 gt gt gt u u gt gt gt u u xeb 问题1 字符串
  • Python Shutil.copy 如果我有重复文件,它会复制到新位置吗

    我正在与shutil copypython 中的方法 我找到了下面列出的定义 def copyFile src dest try shutil copy src dest eg src and dest are the same file
  • 将 2D 数组中的每一列与另一个 2D 数组中的每一列相乘

    我有两个 Numpy 数组x有形状 m i and y有形状 m j 所以行数是相同的 我想将每一列相乘x每一列y逐元素 使结果具有形状 m i j Example import numpy as np np random seed 1 x
  • Python-打印字符串一定次数[重复]

    这个问题在这里已经有答案了 可能的重复 Python 多次打印 https stackoverflow com questions 6293421 python printing multiple times 我想知道如何打印 String
  • 将下载的字体添加到 Tkinter

    我想下载一个开源字体并在我的 Python Tkinter 程序中使用它 如何告诉 Tkinter 从目录导入字体或将字体放在与程序相同的文件夹中 Note 我已经寻找答案一段时间了 甚至阅读了 Tkinter 的 API 参考 了解我能找
  • 使用按钮从 Django 项目根下载文件

    So this is the webpage I m creating atm with Django 1 8 希望用户能够将数据导出为 csv 当用户 在框中写下 Reddit 子版块名称 按下 获取数据 按钮 会发生什么 它创建了一个

随机推荐

  • startx analyze

    1 xinit 在说明startx之前 我想我们应该先了解一下xinit 因为startx就是通过调用xinit启动X的 1 1 功能 当我们安装了Ubuntu后 默认就已经安装了xinit 它位于 usr bin下 xinit是一个二进制
  • RabbitMQ(四)消息Ack确认机制

    RabbitMQ 四 消息Ack确认机制 确认种类 RabbitMQ的消息确认有两种 消息发送确认 这种是用来确认生产者将消息发送给交换器 交换器传递给队列的过程中 消息是否成功投递 发送确认分为两步 一是确认是否到达交换器 二是确认是否到
  • AS 从SVN转向Git

    之前的项目都是用SVN 感觉SVN 还是挺不错的 但接触了Git后 才发现长江后浪推前浪 前浪死在沙滩上 果断抛弃了SVN 转向git的怀抱 虽然遇到了很多问题 但在同事的帮助下 至少能上传和check了 之后遇到git上的问题后 在写文章
  • js从数组中提取自己所需的数据

    1 场景一 人员选择相关问题 场景一 从人员选择数据中 提取已选的人员信息 selectedList为已选择的人员信息 只有id groupInfo接口返回的原始数据 所有人员信息 需要找出已选择的人员信息的具体信息 const group
  • 使用RBAC模型构建动态路由权限,交由前端动态渲染路由。

    根据RBAC模型生成动态路由并交给前端渲染 什么是RBAC模型 简单的RBAC模型数据库设计 后端处理动态的路由表信息 前端渲染路由的细节与注意 什么是RBAC模型 RBAC Role Based Access Control 模型是一种访
  • C++0基础教程

    还在苦恼找不到C 的教程吗 这篇文章搞定C 基础内容 前言 C 是一门编译型语言 是面向对象的 C 对语法的要求较高 且记忆量较大 但其运行速度较快 且编译过后是 exe的文件 可以直接运行 因此深受青睐 目录 前言 准备工作 C 源码文件
  • Chap3_数据预处理

    数据预处理 什么是数据预处理 数据分析算法的设计与选择需要考虑被处理数据的特征 数据质量过低或数据的形态不符合算法需求时 需要进行数据预处理工作 数据预处理是指对数据进行正式处理 计算 之前 根据后续数据计算的需求对原始数据集进行审计 清洗
  • 数据仓库建设及数据治理总结

    在谈数仓之前 先来看下面几个问题 数仓为什么要分层 用空间换时间 通过大量的预处理来提升应用系统的用户体验 效率 因此数据仓库会存在大量冗余的数据 不分层的话 如果源业务系统的业务规则发生变化将会影响整个数据清洗过程 工作量巨大 通过数据分
  • python使用 itchat结合图灵微信群机器人回复源码

    突然来了下兴致 又弄了个前几个月弄的微信群机器人 功能有好友之间的回复 群艾特后的回复 下面是源码 有更多的请看其他博文 coding utf 8 Time 2018 11 5 12 17 Author 蛇崽 Email 643435675
  • Qt::WindowFlags

    查了些资料 整理了一下 以备查询 枚举类型 Qt WindowFlags低位的一个字节用于定义窗口部件的窗口类型 Qt WindowFlags的高位字节定义了窗口提示 窗口提示能够进行位或操作 例如 Qt WindowContextHelp
  • K210学习篇(八)在MaixHub训练模型

    前言 本文着重于如何使用K210拍摄图片 并将图片上传到MaixHub平台进行模型训练 补充一下一些经验心得 比如一些训练参数的设置 在我们训练模型之前 我们需要获取一些数据集 其实也就是需要识别的物体图片 这里记得我们在获取数据集的时候
  • 获取shell返回值

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 使用command 二 使用function 总结 前言 shell获取返回值的方法有多种 这里介绍两种 第一种是直接执行command然后获取返回值 第
  • js歌词滚动效果

    目录 效果图展示 一 素材准备 1 歌词数据data js 借鉴了网上copy下来的歌词模板 2 图片准备 设置title效果 3 音频文件准备 二 html块 拓展 标签属性 三 设置scss样式 四 逻辑js块 拓展 使用到的audio
  • 史蒂夫科恩_科特琳·科恩范围

    史蒂夫科恩 学习Android开发 Learning Android Development If you are familiar with Dagger 2 you probably know that Scope an importa
  • STM32-I2C --- 通过IO口模拟

    I2C 通过IO口模拟 1 I2C介绍 I2C两根线 一根时钟线 SCL 一根信号线 SDA 数据传输时 时钟线信号为低电平时 数据线电平才允许变化 起始和停止位控制时 时钟线信号为高电平 数据线由高向低变化为起始信号 数据线由低向高变化为
  • NOT 函数

    前言 NOT 函数是用于对参数值求反的一种 Excel 函数 当要确保一个值不等于某一特定值时 可以使用 NOT 函数 简言之 就是当参数值为 TRUE 时 NOT 函数返回的结果恰与之相反 结果为 FALSE 比如 NOT 2 2 4 由
  • stm32-看门狗(独立看门狗,窗口看门狗)

    基于野火教程的看门狗 实验器材 stm32c8t6 LED灯 按键一个 实验一 独立看门狗 1 实验原理 2 实验代码讲解 3 实验现象 实验二 窗口看门狗 1 实验原理 2 实验代码讲解 3 实验现象 在进入正题之前 我们先了解一下什么是
  • Flutter组件 - Expanded

    Row Column Flex会被Expanded撑开 充满主轴可用空间 使用方式 Row children
  • C# 获得配置文件存储目录

    在C 中 不同工程为了读取自己的配置文件 由于系统当前目录的问题 往往在不同情况下 使用不同的方法 下面对在什么时候 使用什么方法 做一个整理 一下方法很多是引用别人信息 情况1 如果是一个标准的Win独立应用 或者一个标准的WEB独立应用
  • [Ubuntu]深度学习环境安装NVIDIA-1080+CUDA9.0+cuDnn+Tensorflow-gpu-1.6.0+conda

    1 安装Miniconda wget https mirrors tuna tsinghua edu cn anaconda miniconda Miniconda 1 6 0 Linux x86 64 sh bash Miniconda