• 之前一直在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的多线程,就是并发,因为Python的解释器GIL是线程不安全的,一次只允许执行一个线程的Python字 ...

  2. 树链剖分 - Luogu 3384【模板】树链剖分

    [模板]树链剖分 题目描述 已知一棵包含N个结点的树(连通且无环),每个节点上包含一个数值,需要支持以下操作: 操作1: 格式: 1 x y z 表示将树从x到y结点最短路径上所有节点的值都加上z 操 ...

  3. MyBatis多个接口参数报错:Available parameters are [0, 1, param1, param2], 及解决方法

    1. sql语句如下: SELECT * FROM tb_crm_user WHERE id = #{userId, jdbcType=INTEGER} AND user_name = #{userN ...

  4. day04_01 知识回顾、算术运算符

    ","和"+"的区别 除法运算,整除//,别名"地板除" 取余数 2**10 2的10次方 指数运算 指数运算符优先级要比乘法要高,所以先算 ...

  5. [adb 学习篇] python将adb命令集合到一个工具上

    https://testerhome.com/topics/6938 qzhi的更全面,不过意思是一样的,另外补充一个开源的https://github.com/264768502/adb_wrapp ...

  6. 【软件工程】Word frequency program

    一.开始写代码前的规划: 1.尝试用C#来写,之前没有学过C#,对于C++也不熟,所以打算先花1天的时间学习C# 2.整个程序基本分为文件遍历.单词提取.单词匹配.排序.输出几个模块,各个模块大致时间 ...

  7. 2016湖南省赛----A 2016 (同余定理)

    2016湖南省赛----A 2016 (同余定理) Description  给出正整数 n 和 m,统计满足以下条件的正整数对 (a,b) 的数量: 1. 1≤a≤n,1≤b≤m; 2. a×b 是 ...

  8. google chrome & preferences & languages

    google chrome & preferences & languages language settings https://www.google.com/preferences ...

  9. iOS学习笔记49-Swift(九)访问控制

    一.Swift的访问控制 Swift中的访问控制模型基于模块和源文件这两个概念 模块指的是Framework或App bundle.在Swift中,可以用import关键字引入自己的工程. 源文件指的 ...

  10. 【bzoj1959】[Ahoi2005]LANE 航线规划 树链剖分+线段树

    题目描述 对Samuel星球的探险已经取得了非常巨大的成就,于是科学家们将目光投向了Samuel星球所在的星系——一个巨大的由千百万星球构成的Samuel星系. 星际空间站的Samuel II巨型计算 ...