• 之前一直在windows下使用tensorflow,对cpu和gpu的安装都是比较顺利,都是使用anaconda环境下,创建虚拟conda环境,这样方便不同python版本的管理。
  • 一直也想尝试使用utuntu安装,从头是开学习一遍,昨天刚装了双系统,尝试先安装tensorflow,然后进行caffe安装。
  • Utuntu16.04+CUDA8.0+cuDNN(5.1-->6.0,tf1.2+ TiTan XP版本以上支持cuDNN6.0)+tensorflow1.4-gpu(自动安装最新版本)

1.检测驱动

nvidia驱动安装是一个比较头疼的事情,网上较多的教程通过下载.run文件,采用终端命令,禁用自带的 nouveau nvidia驱动来安装。但是我直接采用系统设置更新的:

步骤:

a) 进入系统设置--软件更新(software&updates)--额外驱动(additional Drivers),选择第一个选项(using nvidia binary driver --version .....),其他不变,点击Apply changes,。

b) 重启系统。

c) 终端输入nvidia-smi 进行验证,安装成功.

可能采用其他的禁止显卡,安装驱动,可能还会与遇见很多坑,我更新的版本:nvidia-384

2.CUDA安装

首先在官网上(https://developer.nvidia.com/cuda-downloads)下载CUDA:

a) 官网下载cuda_8.0.44_linux.run文件

b) chmod +x  /*.run 更改权限 :root应该可以直接执行

c) cd到文件目录,  ./cuda_8.0.44_linux.run 进行安装   (因为之前已经安装过驱动,开始安装时,第一个选项,是否安装驱动,选n 不安装(很重要),其它选y,路径默认即可)

可能出现的错误:
当出现“unsupport complier”错误时,说明gcc版本太高,需要降低gcc版本。解决办法如下: 安装gcc4.9与g++4.9 ;我先以前安装了g++4.9,但是显示gcc任然是5.4的,参考别人的:

为什么需要先安装编译器GCC和G++,而不是先安装显卡驱动和cuda等等呢?
首先,先安装显卡驱动,后安装GCC并降级的安装顺序过程中,遇到了很多问题。比如,在安装CUDA SAMPLES的过程中,遇到了问题/usr/bin/ld: cannot find –lGL,后面通过网上教程,重新连接该库文件,仍然不能通过OpenCV的编译。但是,先安装GCC,再安装显卡驱动,就不会遇到这个问题了。
  • 安装完成log:
Driver:   Not Selected
Toolkit: Installed in /usr/local/cuda-8.0
Samples: Installed in /home/dsp, but missing recommended libraries Please make sure that
- PATH includes /usr/local/cuda-8.0/bin
- LD_LIBRARY_PATH includes /usr/local/cuda-8.0/lib64, or, add /usr/local/cuda-8.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-8.0/bin Please see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-8.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 361.00 is required for CUDA 8.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_3147.log

环境变量:首先下载Cuda8.0,然后进入下载目录,执行下列命令,即可安装Cuda; 安装完成后,配置环境变量,在home下的.bashrc中加入

打开~/.bashrc文件:

sudo vim ~/.bashrc

将以下内容写入到~/.bashrc尾部:

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

3.cuDNN安装

cuDNN是GPU加速计算深层神经网络的库。 首先去官网(https://developer.nvidia.com/rdp/cudnn-download)下载cuDNN,可能需要注册一个账号才能下载.

下载cuDNN5.1之后进行解压,cd进入cuDNN5.1解压之后的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 #生成软衔接(注意这里要和自己下载的cudnn版本对应,可以在/usr/local/cuda/lib64下查看自己libcudnn的版本)
sudo ln -s libcudnn.so.5 libcudnn.so #生成软链接

安装问题

tensorflow安装所遇问题:libcudnn.so.6:cannot open sharedobject file: No such file or directory

【报错】ImportError: libcudnn.so.6: cannot open shared object file: No such file or directory

  • 由于自己先安装cuDNN5.1;后面安装tensorflow是自动安装最新版本的tf1.4,但在tf1.3已经支持cuDNN6.0了。
  • 看了更新日志发现,1.3版本需要cuDNN v6.0做支持了,之前是5.1,于是去Nvidia官网下载cuDNN v6.0对应的系统版本安装就好了: 我使用cuDNN6.0
  • 或者降低版本
问题解决:

pip uninstall tensorflow-gpu
pip install tensorflow-gpu==1.2

4. Anaconda安装

官网下载地址:https://www.continuum.io/downloads/

在安装的过程中,会询问安装路径,按回车即可。之后会询问是否将Anaconda安装路径加入到环境变量(.bashrc)中,输入yes,这样以后在终端中输入python即可直接进入Anaconda的Python版本(如果你的系统中之前安装过Python,自行选择yes or no)。安装成功后,会有当前用户根目录下生成一个anaconda2的文件夹,里面就是安装好的内容

下载完毕后,在terminal中到达文件所在位置

bash Ana.......(快捷键Tab) .sh

一路按回车键,中间记得输入一个yes就可以顺利完成安装。

安装完后,配置环境路径:安装过程自动选择添加,就不需要手动添加

# 将anaconda的bin目录加入PATH,根据版本不同,也可能是~/anaconda3/bin
echo 'export PATH="~/anaconda2/bin:$PATH"' >> ~/.bashrc
# 更新bashrc以立即生效
source ~/.bashrc
  • 安装log:
  • 需要激活anconda环境才能使用,不然是默认的python2.7
dsp@dsp:~/下载/cuda/lib64$ python
Python 2.7.12 (default, Nov 19 2016, 06:48:10)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
dsp@dsp:~/下载/cuda/lib64$ source /home/dsp/.bashrc
dsp@dsp:~/下载/cuda/lib64$ python
Python 2.7.14 |Anaconda, Inc.| (default, Oct 16 2017, 17:29:19)
[GCC 7.2.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
  • Conda的环境管理功能允许我们同时安装若干不同版本的Python,并能自由切换。对于上述安装过程,假设我们采用的是Python 2.7对应的安装包,那么Python 2.7就是默认的环境(默认名字是root,注意这个root不是超级管理员的意思)。
# 创建一个名为tenseorflow的环境,指定Python版本是3.5
conda create --name tensorflow python=3.5 # 安装好后,使用activate激活某个环境
activate tensorflow # for Windows
source activate tensorflow # for Linux & Mac
# 激活后,会发现terminal输入的地方多了tensorflow 的字样,实际上,此时系统做的事情就是把默认2.7环境从PATH中去除,再把3.5对应的命令加入PATH # 此时,再次输入
python --version
# 可以得到`Python 3.5.3 :: Continuum Analytics, Inc.` # 如果想返回默认的python 2.7环境,运行
deactivate tensorflow # for Windows
source deactivate tensorflow# for Linux & Mac
#可以得到`Python 2.7.13 :: Anaconda 4.3.1 (64-bit)` # 删除一个已有的环境
conda remove --name tensorflow --all

用户安装的不同python环境都会被放在目录~/anaconda/envs下,可以在命令中运行conda info -e查看已安装的环境,当前被激活的环境会显示有一个括号。

(tensorflow_py3.5) dsp@dsp:/usr/local/cuda/lib64$ python
Python 3.5.4 |Anaconda, Inc.| (default, Nov 3 2017, 20:01:27)
[GCC 7.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
>>>

5.tensorflow-gpu安装

  • 安装只需要在对应的激活conda环境下:
  • pip install tensorflow
  • pip install tensorflow-gpu

6.测试

-- ::46.636654: I tensorflow/core/platform/cpu_feature_guard.cc:] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4. SSE4. AVX AVX2 FMA
-- ::46.839884: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:] successful NUMA node read from SysFS had negative value (-), but there must be at least one NUMA node, so returning NUMA node zero
-- ::46.840212: I tensorflow/core/common_runtime/gpu/gpu_device.cc:] Found device with properties:
name: TITAN Xp major: minor: memoryClockRate(GHz): 1.582
pciBusID: ::00.0
totalMemory: .90GiB freeMemory: .53GiB
-- ::46.840225: I tensorflow/core/common_runtime/gpu/gpu_device.cc:] Creating TensorFlow device (/device:GPU:) -> (device: , name: TITAN Xp, pci bus id: ::00.0, compute capability: 6.1)
step , training accuracy 0.14
step , training accuracy 0.88
step , training accuracy 0.92
step , training accuracy 0.92
step , training accuracy 0.98
step , training accuracy 0.96
  • 终端中输入$spyder,打开的始终是默认的python2.7;还不知道原因;
  • 在激活环境中打开spyder
  • dsp@dsp:~$ source activate tensorflow_py3.5
    (tensorflow_py3.5) dsp@dsp:~$ spyder
  • 但是在终端输入:anaconda-navigator ,然后launch spyder可以打开python3.5虚拟环境的spyder;或者使用pychram设置虚拟解释器
  • 下午在进行spyder配置和caffe的配置
  • 可能有些坑,还没有发现后续更新

Reference:

utuntu16.04安装tensorflow1.4-gpu的更多相关文章

  1. utuntu16.04安装caffe+Matlab2017a+opencv3.1+CUDA8.0+cudnn6.0

    上午把tensorflow安装好了,下午和晚上装caffe的确很费劲. 默认CUDA,cuDNN可以用了 caffe官方安装教程 有些安装顺序自己也不清楚,简直就是碰运气 1. 安装之前依赖项 Gen ...

  2. 【转】Ubuntu 16.04安装配置TensorFlow GPU版本

    之前摸爬滚打总是各种坑,今天参考这篇文章终于解决了,甚是鸡冻\(≧▽≦)/,电脑不知道怎么的,安装不了16.04,就安装15.10再升级到16.04 requirements: Ubuntu 16.0 ...

  3. Ubuntu16.04 14.04安装配置Caffe(GPU版)

    caffe配置过程很长啊,坑非常多,没有linux基础的估计会香菇的.我参考了网上很多的帖子,基本上每个帖子都有或多或少的问题,研究很久最终配置成功.参考过的帖子太多,都记不太清来源了.为了对前人的感 ...

  4. Ubuntu16.04 安装Tensorflow1.7过程记录一:安装显卡驱动

    为刚到手的Titan V装新系统,首先当然是显卡驱动安装. 可以参考这:https://jingyan.baidu.com/article/d7130635c5a86113fdf47532.html ...

  5. ubuntu16.04安装tensorflow1.3

    总结 : 1.点软件个更新-系统更新2.降级gcc到5.33.装CUDA及第二个包,加入PATH4.CUDNN5.Ancada..6.TF Ubuntu16.04 的GCC版本降级 http://bl ...

  6. Ubuntu18.04安装Tensorflow1.14GPU

    软件要求 必须在系统中安装以下 NVIDIA® 软件: https://www.pytorials.com/how-to-install-tensorflow-gpu-with-cuda-10-0-f ...

  7. Ubuntu16.04 安装Tensorflow1.7过程记录二:安装CUDA及Tensorflow

    参考 How to install Tensorflow 1.7.0 using official pip package 其中的CUDNN应该改为7.05for CUDA9.0 后面安装的spyde ...

  8. Ubuntu16.04安装配置Caffe教程(GPU版)

    推荐博客:https://www.linuxidc.com/Linux/2017-11/148629.htmhttps://blog.csdn.net/yggaoeecs/article/detail ...

  9. 保姆级教程——Ubuntu16.04 Server下深度学习环境搭建:安装CUDA8.0,cuDNN6.0,Bazel0.5.4,源码编译安装TensorFlow1.4.0(GPU版)

    写在前面 本文叙述了在Ubuntu16.04 Server下安装CUDA8.0,cuDNN6.0以及源码编译安装TensorFlow1.4.0(GPU版)的亲身经历,包括遇到的问题及解决办法,也有一些 ...

随机推荐

  1. 在python中对元祖进行排序

    在python里你可以对一个元组进行排序.例子是最好的说明: >>> items = [(1, 'B'), (1, 'A'), (2, 'A'), (0, 'B'), (0, 'a' ...

  2. Android工具 Hierarchy Viewer 分析

    Hierarchy Viewer是随AndroidSDK发布的工具,位置在tools文件夹下,名为hierarchyviewer.bat.它是Android自带的非常有用而且使用简单的工具,可以帮助我 ...

  3. T-SQL中的indexof函数

    在C#字符串中查找字符有indexof方法,那么在T-SQL与之相对应的是CHARINDEX方法,其语法为CHARINDEX(要查找的字符,字符串),返回一个数字. CHARINDEX(',','aa ...

  4. Spring core resourc层结构体系及JDK与Spring对classpath中资源的获取方式及结果对比

    1. Spring core resourc层结构体系 1.1. Resource相关结构体系 1.2. ResourceLoader相关体系 2. JDK与Spring对classpath中资源的获 ...

  5. jQuery 遍历函数 ,javascript中的each遍历

    jQuery 遍历函数 jQuery 遍历函数包括了用于筛选.查找和串联元素的方法. 函数 描述 .add() 将元素添加到匹配元素的集合中. .andSelf() 把堆栈中之前的元素集添加到当前集合 ...

  6. “玲珑杯”ACM比赛 Round #23

    A -- 生是脂肪的人 Time Limit:2s Memory Limit:128MByte Submissions:263Solved:97 DESCRIPTION 给定一个整数n,输出[(10^ ...

  7. 九度oj 题目1007:奥运排序问题

    九度oj 题目1007:奥运排序问题   恢复 题目描述: 按要求,给国家进行排名. 输入:                        有多组数据. 第一行给出国家数N,要求排名的国家数M,国家号 ...

  8. C# 时间与时间戳互转 13位|13位時間戳与日期换转

    这里直接上代码 懂C# 的程序猿 一看便知道如何使用的... /// <summary> /// 将Unix时间戳转换为DateTime类型时间 /// </summary> ...

  9. ida动态调试笔记

    ida动态调试笔记 目标文件:阿里安全挑战赛的第二题 点击打开链接 使用环境:ida6.8点击打开链接,adt bundle点击打开链接 首先打开avd安卓模拟器,界面如下: 在dos下运行adb命令 ...

  10. 学习 WebService 第三步:一个简单的实例(SoapUI测试REST项目)

    原文地址:SOAPUI测试REST项目(六)——REST服务和WADL ↑↑↑ 原文用的SoapUI,2018-3-19时,这个软件已经更名为ReadyAPI(集成了SoapUI),因此下文中我重新截 ...