Ubuntu16.04下安装tensorflow(GPU加速)【转】
本文转载自:https://blog.csdn.net/qq_30520759/article/details/78947034
本文主要是通过tensorflow官网的教程来实现安装,如果无法安装的话也可以试着用源码去安装(源码安装相对比较复杂不推荐)。
1.前期的环境查询准备
1.1查看tensorflow的对于系统的基本要求
在安装任何一个软件的时候,我们首先应该去尝试了解它的运行环境,否则可能安装很久后到后面还是没有办法使用。
tensorflow的官方网址为:https://www.tensorflow.org/install/
我们看到tensorflow对于系统还是有一定的要求的,考虑到兼容性和开源资料的丰富度,我最后选择的系统的ubuntu16.04.
1.2选择在ubuntu系统上下载tensorflow
点击上图中的Installing Tensorflow on Ubuntu进入安装教程界面:
考虑到计算和运行速度我这里选择Tensorflow with GPU support。
1.3NVIDIA requirements to run TensorFlow with GPU support
在ubuntu的安装教程界面有英伟达对于用GPU跑Tensorflow的一些要求。具体如下图几点,简单用中文翻译就是:
- 1.CUDA®工具包8.0。 有关详细信息,请参阅NVIDIA的文档。 确保按照NVIDIA文档中所述将相关的Cuda路径名添加到LD_LIBRARY_PATH环境变量中。
- 2.与CUDA Toolkit 8.0相关的NVIDIA驱动程序。
- 3.CUDNN v6.0。 有关详细信息,请参阅NVIDIA的文档。 确保按照NVIDIA文档中所述创建CUDA_HOME环境变量。
- 4.具有CUDA Compute Capability 3.0或更高版本的GPU卡。 请参阅NVIDIA文档以获取支持的GPU卡列表。
在满足了以上信息后我们开始正式安装。
2.NVIDIA显卡驱动的安装
2.1打开终端先删除旧的驱动
sudo apt-get purge nvidia*
- 1
2.2禁用自带的 nouveau nvidia驱动 (important!)
sudo vim /etc/modprobe.d/blacklist-nouveau.conf
- 1
并在文件中添加如下内容:
blacklist nouveau
options nouveau modeset=0
然后在更新一次 sudo update-initramfs -u
修改后需要重启系统。确认下Nouveau是已经被你干掉,使用命令: lsmod | grep nouveau
结束X-window服务
首先我们需要结束x-window的服务,否则驱动将无法正常安装,通过以下命令实现。
sudo service lightdm stop
- 1
然后切换到tty1控制台:Ctrl+Alt+F1即可
2.4安装驱动
cd /home/katherine/
sudo sh ./NVIDIA*.run
- 1
- 2
重新启动X-Window: sudo service lightdm start
,然后Ctrl+Alt+F7进入图形界面
2.5检查
nvidia-smi
- 1
如果安装不成功,则需要卸载重来 sh ./NVIDIA.run --uninstall
,或者可以尝试使用另一种方法。
在ubuntu系统中选择软件更新中的附加驱动来更新驱动。
按照上面图片点击即可,需要保证在联网的状态下,亲测可行。
3.gcc降版本
ubuntu的gcc编译器是5.4.0,然而cuda8.0不支持5.0以上的编译器,因此需要降级,把编译器版本降到4.9:
在terminal中执行:
sudo apt-get install g++-4.9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 20
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 10
sudo update-alternatives --install /usr/bin/g++ g++/usr /bin/g++-4.9 20
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 10
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 30
sudo update-alternatives --set cc /usr/bin/gcc
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 30
sudo update-alternatives --set c++ /usr/bin/g++
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
4.安装CUDA
在cuda所在目录打开terminal依次输入以下指令(可以点进官网下载CUDA):
cd /home/***(自己的用户名)/Desktop/###(这个命令意思是找到刚刚我们用U盘传过来的文件)
sudo dpkg -i cuda-repo-ubuntu1604-8-0-rc_8.0.27-1_amd64.deb
sudo apt-get update
sudo apt-get install cuda
- 1
- 2
- 3
- 4
5.安装CUDNN
打开terminal依次输入以下指令:
cd /home/***(自己的用户名)/Desktop/ #(这个命令意思是找到刚刚我们用U盘传过来的文件)
tar xvzf cudnn-8.0-linux-x64-v5.1-ga.tgz #(解压这个文件)
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*
- 1
- 2
- 3
- 4
- 5
6.确定如何安装TensorFlow
这里选择”native” pip,点击进去即可
6.1确定你电脑上python的版本
在安装ubuntu系统时,你的电脑会自动安装python,你必须确定你的电脑安装的是哪个版本:
- Python 2.7
- Python 3.4+
pip或pip3软件包管理器通常安装在Ubuntu上。 花点时间确认(通过发出pip -V或pip3 -V命令)安装了pip或pip3。 我们强烈建议使用8.1或更高版本的pip或pip3。 如果未安装版本8.1或更高版本,请发出以下命令,该命令将安装或升级到最新的pip版本:
sudo apt-get install python-pip python-dev # for Python 2.7
sudo apt-get install python3-pip python3-dev # for Python 3.n
- 1
- 2
6.2开始下载tensorflow
6.2.1通过调用以下命令之一来安装TensorFlow
pip install tensorflow # Python 2.7; CPU support (no GPU support)
pip3 install tensorflow # Python 3.n; CPU support (no GPU support)
pip install tensorflow-gpu # Python 2.7; GPU support
pip3 install tensorflow-gpu # Python 3.n; GPU support
- 1
- 2
- 3
- 4
如果上步失败,请通过发出以下格式的命令来安装最新版本的TensorFlow:
sudo pip install --upgrade tfBinaryURL # Python 2.7
sudo pip3 install --upgrade tfBinaryURL # Python 3.n
- 1
- 2
7.完成安装开始验证
在terminal中输入:
python
- 1
然后输入程序验证:
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
- 1
- 2
- 3
- 4
如果安装成功,则会显示 Hello, TensorFlow!
Ubuntu16.04下安装tensorflow(GPU加速)【转】的更多相关文章
- ubuntu16.04下安装TensorFlow(GPU加速)----详细图文教程【转】
本文转载自:https://blog.csdn.net/zhaoyu106/article/details/52793183 le/details/52793183 写在前面 一些废话 接触深度学习已 ...
- Ubuntu16.04下安装Tensorflow GPU版本(图文详解)
不多说,直接上干货! 推荐 全网最详细的基于Ubuntu14.04/16.04 + Anaconda2 / Anaconda3 + Python2.7/3.4/3.5/3.6安装Tensorflow详 ...
- 通过Anaconda在Ubuntu16.04上安装 TensorFlow(GPU版本)
一. 安装环境 Ubuntu16.04.3 LST GPU: GeForce GTX1070 Python: 3.5 CUDA Toolkit 8.0 GA1 (Sept 2016) cuDNN v6 ...
- Ubuntu16.04下安装Tensorflow CPU版本(图文详解)
不多说,直接上干货! 推荐 全网最详细的基于Ubuntu14.04/16.04 + Anaconda2 / Anaconda3 + Python2.7/3.4/3.5/3.6安装Tensorflow详 ...
- Ubuntu16.04下安装数据库oracle客户端
在Ubuntu16.04下安装oracle数据库客户端,使Django项目连接到远程Oracle数据库. 1.下载oracle客户端安装包: 进入官网http://www.oracle.com/tec ...
- Ubuntu16.04下安装redis
Ubuntu16.04下安装redis 保证网络畅通,选定好下载工作路径,执行以下命令下载redis-3.2.6: sudo wget http://download.redis.io/release ...
- docker学习笔记(一)—— ubuntu16.04下安装docker
docker学习笔记(一)—— ubuntu16.04下安装docker 原创 2018年03月01日 14:53:00 标签: docker / ubuntu 1682 本文开发环境为Ubuntu ...
- ubuntu16.04下安装artoolkit5
目前对AR技术的常见理解就是CV(Computer Vision)+CG(Computer Graphic).CV的方法很多,简单些比如FREAK+ICP(ARToolKit中的NFT),复杂些就是S ...
- Ubuntu16.04下安装多版本cuda和cudnn
Ubuntu16.04下安装多版本cuda和cudnn 原文 https://blog.csdn.net/tunhuzhuang1836/article/details/79545625 前言 因为之 ...
随机推荐
- jQuery实例化的优势,为什么要有实例化,到底实例化后在解决什么问题?
jQuery实例化对象的方法相比于普通方法 优势: 1.不需要出现大量的new关键字. 2.可实现链式写法. 3.书写更方便 实例化的原因: 1.实例化有利于管理程序中不同的DOM选择和处理(不同的选 ...
- hihocoder [Offer收割]编程练习赛14 剑刃风暴
题目4 : 剑刃风暴 时间限制:20000ms 单点时限:2000ms 内存限制:256MB 描述 主宰尤涅若拥有一招非常厉害的招式——剑刃风暴,“无论是战士还是法师,都害怕尤涅若的武士刀剑技”. 现 ...
- 2800 送外卖[状态压缩dp]
2800 送外卖 时间限制: 2 s 空间限制: 256000 KB 题目等级 : 钻石 Diamond 题解 题目描述 Description 有一个送外卖的,他手上有n份订单,他 ...
- 【BZOJ1834】[ZJOI2010]network 网络扩容 最大流+最小费用流
[BZOJ1834][ZJOI2010]network 网络扩容 Description 给定一张有向图,每条边都有一个容量C和一个扩容费用W.这里扩容费用是指将容量扩大1所需的费用.求: 1. 在不 ...
- 问答项目---账号密码异步校验后进行PHP校验
在做登陆的时候,通过异步校验后还需要通过PHP来校验账号和密码的正确性. PHP校验账号密码: public function login(){ if(!IS_POST){echo "页面不 ...
- java8新增的日期时间包
Clock clock=Clock.systemUTC(); System.out.println("当前时刻为:"+clock.instant()); System.out.pr ...
- poj3345 Bribing FIPA【树形DP】【背包】
Bribing FIPA Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 5910 Accepted: 1850 Desc ...
- pandas的merge方法
数据合并时可以使用merge方法,对两个dataFrame根据某一个series合并,这个方法非常好用,只要找到了合并的标准,新的数据就可以重构出来. 1.命令: pd.merge() on:列名,j ...
- Tfs 2015 代理池配置笔记
Tfs的构建代理池其实是在代理服务器上开启一个TFSBuild的代理服务,配好相关的Tfs地址后,就能在Tfs管理界面看到了. 如果是Tfs服务和发布代理是同一台服务器,具体操作详见: 安装TFS20 ...
- Spring 体系结构
https://www.w3cschool.cn/wkspring/dcu91icn.html 体系结构 Spring 有可能成为所有企业应用程序的一站式服务点,然而,Spring 是模块化的,允许你 ...