安装驱动

最开始在英伟达官网下载了官方驱动,安装之后无法登录系统,在登录界面反复循环,用cuda里的驱动也出现了同样的问题。最后解决办法是把驱动卸载之后,通过命令行在线安装驱动。

卸载驱动:

sudo nvidia-uninstall

在线安装:

sudo apt-add-repository  ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-384 #具体驱动版本号可以到官网查

安装完之后,在终端输入

nvidia-smi

出现下图,说明显卡安装成功:

安装cuda

在英伟达官网下载cuda安装包(.run文件),在终端中切换到cuda安装包目录,直接sudo运行安装包即可。注意在问你是否要安装显卡驱动的时候,选择no。

安装之后,添加环境变量:

gedit ~/.bashrc

在文件最后添加如下几行:

export PATH="/usr/local/cuda/bin:$PATH"
export CUDA_HOME="/usr/local/cuda"
export LD_LIBRARY_PATH="/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64:$LD_LIBRARY_PATH"

之后把cudnn文件复制到cuda安装目录的lib和include文件夹下。

安装tensorflow

安装之前需要安装libcupti-dev库,

sudo apt-get install libcupti-dev

安装tensorflow的方法很多,最简单的方法是用pip(或者用conda命令,如果你安装了anaconda的话)安装:

pip install tensorflow-gpu
# conda install tensorflow-gpu

如果想制定安装某个版本,可以在tuna上查看具体版本的链接:

https://mirrors.tuna.tsinghua.edu.cn/help/tensorflow/

验证安装是否成功,在python命令行中输入如下代码:

import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))

如果输出Hello, TensorFlow!,说明安装成功。如果报错说没有找到libcuda.so:

ImportError: libcuda.so.1: cannot open shared object file: No such file or directory

那么到系统的库文件目录下新建一个链接,链接到cuda安装目录下的libcuda.so文件。首先通过下面的命令查找libcuda.so在哪个目录下:

sudo find / -name 'libcuda.so*' -maxdepth 10

假设找到是在目录LIB_DIR下,那么通过下面的命令新建链接:

cd /usr/lib/x86_64-linux-gnu  # 系统库文件目录
sudo ln -s LIB_DIR libcuda.so.1

其他错误,请参考如下链接:

https://www.tensorflow.org/install/install_linux#common_installation_problems

参考资料:

[1] https://www.tensorflow.org/install/install_linux

Ubuntu 16.04安装N卡驱动、cuda、cudnn和tensorflow GPU版的更多相关文章

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

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

  2. Ubuntu 16.04安装Intel显卡驱动(解决Intel HD Graphics 630显卡驱动问题)

    一般Ubuntu都默认包含了Intel显卡的驱动,如果没有,那么先确定是不是显卡太高,比如I7第7代的CPU核显在Ubuntu 16.04中是没有的,导致画面会很卡,原因是Linux 4.4内核不包含 ...

  3. Ubuntu 16.04 安装opencv3.4.5/cuda/caffe并使用jni笔记

    因操作失误,误卸开发机NVIDIA显卡驱动,先更新操作日志如下: 1>NVIDIA驱动重装 1.卸载系统里的Nvidia残余 sudo apt-get purge nvidia* 2.把显卡驱动 ...

  4. Ubuntu 16.04 安装Kinect V2驱动

    1.下载源代码 git clone https://github.com/OpenKinect/libfreenect2.git 2.依赖项安装 sudo apt-get install build- ...

  5. Ubuntu 16.04安装双显卡驱动方法收集

    说明:不一定有效,要不断尝试. http://www.linuxwang.com/html/2150.html http://blog.csdn.net/feishicheng/article/det ...

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

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

  7. Ubuntu 16.04 安装显卡驱动后循环登录和无法设置分辨率的一种解决方案

    1. 安装环境 电脑:MSI GP63 显卡:GeForce GTX 1070 系统:Ubuntu 16.04 驱动版本:NVIDIA 384.130 2. 循环登录 如果按照这篇文章 Ubuntu ...

  8. 【科研民工笔记2】Ubuntu 16.04 安装nvidia驱动

    我的主机是2060的显卡,用的是安装在U盘中的Ubuntu,开机进入后,因为没有安装驱动,所以界面看以来比较大. 通过手动方式,成功安装驱动,最终成功的方案使用的是run文件安装的方式. 1.手动下载 ...

  9. Ubuntu 16.04安装cuda7.5 GCC

    http://www.linuxidc.com/Linux/2017-01/139320.htm 在介绍Ubuntu 16.04安装 CUDA7.5开始前,先辨析几个概念GPU.NVIDIA.NVID ...

随机推荐

  1. logstash之OutPut插件

    output插件是经过了input,然后过滤结构化数据之后,接下来我们需要借助output传到我们想传到的地方.output相当于一个输出管道. 2.3.1: 将采集数据标准输出到控制台 配置示例: ...

  2. 大数据笔记(三十二)——SparkStreaming集成Kafka与Flume

    三.集成:数据源 1.Apache Kafka:一种高吞吐量的分布式发布订阅消息系统 (1) (*)消息的类型 Topic:主题(相当于:广播) Queue:队列(相当于:点对点) (*)常见的消息系 ...

  3. spring boot redis session

    1. pom.xml 这里 spring parent的版本 2.1.5会报错 2.1.0和2.1.4经过测试正常 <?xml version="1.0" encoding= ...

  4. 洛谷P1198 [JSOI2008]最大数(单点修改,区间查询)

    洛谷P1198 [JSOI2008]最大数 简单的线段树单点问题. 问题:读入A和Q时,按照读入一个字符会MLE,换成读入字符串就可以了. #include<bits/stdc++.h> ...

  5. [C#菜鸟]C# Hook (一)

    转过来的文章,出处已经不知道了,但只这篇步骤比较清晰,就贴出来了. 一.写在最前 本文的内容只想以最通俗的语言说明钩子的使用方法,具体到钩子的详细介绍可以参照下面的网址: http://www.mic ...

  6. 常量const实践

    这篇文章写的很好:https://www.cnblogs.com/zhangfeionline/p/5882790.html 自己是实践: 1. 定义时必须初始化值,不然如下错误: 2. 3. 使用:

  7. WPF/UWP 模板选择器 DataTemplateSelector

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  8. RaspberryPI 3b 技术总结(包括Linux)

    安装系统,无屏幕,无网线,windows下 第一步当然是把ROM(官方系统)和刷写工具备好,TF卡一张,当然必须有读卡设备. 启动Etcher,将ROM刷入TF卡,这需要挺长一段时间,完毕后将会出现四 ...

  9. mysql 批量删表

    Select CONCAT( 'drop table ', table_name, ';' ) FROM information_schema.tables Where table_name LIKE ...

  10. Webpack的tapable 为什么要使用 new Funtion 来生成静态代码

    为了保持代码的单态(monomorphism). 这涉及到了js引擎优化的一些问题, tapable从1.0.0版本开始就用new Function来生成静态代码最后来来执行, 以确保得到最优执行效率 ...