RTX 2070 同样可以在 ubuntu 16.04 + cuda 9.0中使用。Ubuntu18.04可能只支持cuda10.0,在跑开源代码时可能会报一些奇怪的错误,所以建议大家配置 ubuntu16.04 + cuda 9.0。下文还是以ubuntu18.04 + cuda 10.0为例。ubuntu16.04 + cuda 9.0的配置方法大同小异。

如果之前安装的是cuda9.0可以直接用pip安装Tensorflow-GPU,只需要安装Anaconda,virtualenv, CUDA, cuDNN, 之后pip安装tensorflow-gpu;

如果安装的其他版本的CUDA,需要用源码安装,需要将下面的1,2,3,4,(5可选),之后用源码安装tensorflow-gpu, 并在configure时,根据自己的安装1,2,3,4,5的安装版本等情况自行调整配置选项。

虽然CUDA官网中没有RTX20系列GPU所对应的版本,但是CUDA 10.0 支持Ubuntu18.04 + GPU GEFORCE RTX 2070。为了方便之后学习研究,需要配置:

  1. Anaconda3 5.2.0
  2. CUDA 10.0
  3. cuDNN 7.4.1
  4. Bazel 0.17
  5. TensorRT 5
  6. Tensorflow-gpu

(以下为本人配置方法,由于配置过程中有过错误并重试等情况,以下内容如有错误还请指正~)

(上面列出的各版本都是支持ubuntu18.04 和 RTX 2070的,大家也可以直接参照以上列表,自行安装~)

(安装NVIDIA驱动的方法参考:https://blog.csdn.net/ghw15221836342/article/details/79571559 方法一中,把390替换为410即为RTX 2070 对应版本。)

----------------------------------------------------------------------------------

Ubuntu 18 安装Anaconda3 - 5.2.0

因为tensorflow支持python3.4, 3.5, 3.6,可能还未支持python3.7(python目前最高版本3.7.1 与anaconda3 对应最高python版本3.7.0),为了方便起见,选择安装Anaconda3 - 5.2.0,其对应的python版本为3.6.4. 安装了Anaconda之后,不需要再单独安装python及其各种库了。

anaconda各版本的archive:

https://repo.anaconda.com/archive/

选择下载 Anaconda3-5.2.0-Linux-x86_64.sh

之后到下载目录,

  1. bash Anaconda3-5.2.-Linux-x86_64.sh

可以通过查看

  1. python --version

显示

  1. Python 3.6. :: Anaconda, Inc.

表示安装成功。

查看pip版本:

  1. $ pip --version
  2. pip 10.0. from /home/lsy/anaconda3/lib/python3./site-packages/pip (python 3.6)

--------------(若完成以上,则无需进行下面的安装python的操作了)--------------------------------------------

Ubuntu 18 安装 python 3.6

sudo add-apt-repository ppa:jonathonf/python-3.6

Ubuntu 18 安装 python3.7.1

安装过程参考:

https://blog.csdn.net/jaket5219999/article/details/80894517

  1. wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tar.xz && \
  2. tar -xvf Python-3.7..tar.xz && \
  3. cd Python-3.7. && \
  4. ./configure && make && sudo make altinstall

从官网下载https://www.python.org/downloads/release/python-370/

解压并打开指定目录

  1. ./configure && make && sudo make altinstall

报错 zipimport.ZipImportError: can‘t decompress data; zlib not available

解决方法:

  1. sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
  2. libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
  3. xz-utils tk-dev

python2,python3版本切换

参考:https://stackoverflow.com/questions/43743509/how-to-make-python3-command-run-python-3-6-instead-of-3-5

  1. # 实现 python 链接 python3.
  2. rm /usr/bin/python
  3. ln -s /usr/bin/python3. /usr/bin/python
  4.  
  5. # 实现 python2 链接 Python2.
  6. rm /usr/bin/python2
  7. ln -s /usr/bin/python2. /usr/bin/python2
  8.  
  9. # 创建 alias
  10. alias python='/usr/bin/python3.6'
  11. ~/.bash_aliases

pip安装

  1. sudo apt-get install python3-pip

这里要用python3,否则匹配的是默认的python2。

--------------------------------------------------------------------------------------------------------------------------------

CUDA 10.0

参考:

https://medium.com/@vitali.usau/install-cuda-10-0-cudnn-7-3-and-build-tensorflow-gpu-from-source-on-ubuntu-18-04-3daf720b83fe

1. 下载CUDA Toolkit : Linux / x86_64 / Ubuntu / 18.04 /deb (local)

https://developer.nvidia.com/cuda-downloads

2. 安装

  1. sudo dpkg -i cuda-repo-ubuntu1804––-local-10.0.–.48_1.–1_amd64.deb
  2. sudo apt-key add /var/cuda-repo-–-local-10.0.–410.48/7fa2af80.pub
  3. sudo apt-get update
  4. sudo apt-get install cuda

3. 添加环境变量

  1. nano ~/.bashrc

末行添加并保存退出。

  1. export PATH=/usr/local/cuda-10.0/bin${PATH:+:${PATH}}

4. 检查驱动版本和CUDA toolkit

  1. cat /proc/driver/nvidia/version
  2. nvcc -V

5. (Optional) Build CUDA samples and run it.

  1. cd /usr/local/cuda-10.0/samples
  2. sudo make

这需要等一段时间。完成后,可以进入资源中,执行命令查看结果。

  1. cd /usr/local/cuda-10.0/samples/bin/x86_64/linux/release
  2. ./deviceQuery
  3. ./bandwidthTest

------------------------------------------------------------------

cuDNN v7.4.1 for CUDA 10.0

1. 下载cuDNN Library for Linux

https://developer.nvidia.com/rdp/cudnn-download

(下载前需要在NVIDIA注册账号:https://developer.nvidia.com/

2. 解压下载好的文件,解压后cuDNN的文件夹名称为cuda

3. 将cuDNN内容复制到CUDA安装文件中,即将cuDNN解压后的cuda文件中内容复制到/usr/local的CUDA中。

  1. $ sudo cp cuda/include/cudnn.h /usr/local/cuda/include
  2. $ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
  3. $ sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

(该方法参考:https://blog.csdn.net/u010801439/article/details/80483036

------------------------------------------------------------------------

NCCL v2.3.7

只有需要用源码安装tensorflow时才需要装这个哦~用pip的可以跳过

安装方法参考:https://blog.csdn.net/zuyuhuo6777/article/details/81450258

1. 下载

https://developer.nvidia.com/nccl/nccl-download

选择Local installers (x86)中的Local installer for Ubuntu 18.04
2. 安装
进入下载目录,安装本地NCCL存储库,更新APY数据库,安装libnccl2与APT打包。此外,若需要使用NCCL编译应用程序,则可以安装libnccl-dev的包裹。

  1. $ sudo dpkg -i nccl-repo-ubuntu1804-2.3.-ga-cuda10.0_1-1_amd64.deb
  2. $ sudo apt update
  3. $ sudo apt install libnccl2 libnccl-dev

------------------------------------------------------------------------

方便起见,请直接下载Bazel 0.17

(早先安装了0.19,--config == cuda 并不支持0.17以上版本,不清楚使用0.19对后续步骤有无影响,所以,卸载了0.19,重新安装了0.17。卸载方法:whereis bazel,找到bazel目录,直接rm -rf <path>即可。)

Bazel 0.19.2

只有需要用源码安装tensorflow时才需要装这个哦~用pip的可以跳过

官网提供了多种安装方法,

https://docs.bazel.build/versions/master/install-ubuntu.html#install-with-installer-ubuntu

以下使用了Installing using binary installer的方法。

1. 下载需要的包

  1. $ sudo apt-get install pkg-config zip g++ zlib1g-dev unzip python

2. 下载Bazel

https://github.com/bazelbuild/bazel/releases

选择安装了bazel-0.19.2-installer-linux-x86_64.sh

3. Run the installer

  1. $ chmod +x bazel-<version>-installer-linux-x86_64.sh
  2. $ ./bazel-<version>-installer-linux-x86_64.sh --user

4. 设置环境

  1. $ nano ~/.bashrc

末行添加并保存退出

  1. export PATH="$PATH:$HOME/bin"

执行以生效:

  1. $ source ~/.bashrc

5. 检查是否安装成功

  1. $ bazel version

--------------------------------------------

TensotRT 5.0.2.6

只有需要用源码安装tensorflow时才需要装这个哦~用pip的可以跳过。用源码安装,该项也可以不装,看自己需求。如果安装,在源码编译,configure时记得选择和自己安装匹配的选项哦~

for Ubuntu 1804 and CUDA 10.0

1. 下载

https://developer.nvidia.com/nvidia-tensorrt-5x-download

选择了Debian and RPM Install Package:

TensorRT 5.0.2.6 GA for Ubuntu 1804 and CUDA 10.0 DEB local repo packages

2. 安装,参考官方文档:

https://docs.nvidia.com/deeplearning/sdk/tensorrt-install-guide/index.html#downloading

  1. $ sudo dpkg -i nv-tensorrt-repo-ubuntu1804-cuda10.-trt5.0.2.-ga-20181009_1-1_amd64.deb
  2. $ sudo apt-key add /var/nv-tensorrt-repo-cuda10.-trt5.0.2.-ga-/7fa2af80.pub
  3. $ sudo apt-get update
  4. $ sudo apt-get install tensorrt

之前Anaconda3 中python是3.6版本,下面直接写python就好,不用改为python3.

  1. $ sudo apt-get install python-libnvinfer-dev

安装后显示:

  1. Setting up python-libnvinfer-dev (5.0.-+cuda10.) ...

若计划通过tensorflow使用tensorRT

  1. $ sudo apt-get install uff-converter-tf

安装后显示:

  1. Setting up graphsurgeon-tf (5.0.-+cuda10.) ...
  2. Setting up uff-converter-tf (5.0.-+cuda10.) ...

3. 检查我们的安装结果:

  1. $ dpkg -l | grep TensorRT
  2. ii graphsurgeon-tf 5.0.-+cuda10. amd64 GraphSurgeon for TensorRT package
  3. ii libnvinfer-dev 5.0.-+cuda10. amd64 TensorRT development libraries and headers
  4. ii libnvinfer-samples 5.0.-+cuda10. all TensorRT samples and documentation
  5. ii libnvinfer5 5.0.-+cuda10. amd64 TensorRT runtime libraries
  6. ii python-libnvinfer 5.0.-+cuda10. amd64 Python bindings for TensorRT
  7. ii python-libnvinfer-dev 5.0.-+cuda10. amd64 Python development package for TensorRT
  8. ii tensorrt 5.0.2.6-+cuda10. amd64 Meta package of TensorRT
  9. ii uff-converter-tf 5.0.-+cuda10. amd64 UFF converter for TensorRT package

--------------------------------------------------------

Tensorflow

推荐两种安装方式:1.在docker中安装;2. 在virtualenv中安装。一般用的多一些。

(1)docker中:

1. Docker的安装:

https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-18-04

2. Install nvidia-docker:

https://github.com/NVIDIA/nvidia-docker

3. Downloads TensorFlow release images to your machine:

  1. $ docker pull tensorflow/tensorflow:latest-devel-gpu

(2)virtualenv中:

  1. sudo apt update
  2. sudo apt install python-dev python-pip
  3. sudo pip install -U virtualenv # system-wide install
  1. virtualenv --system-site-packages -p python3 ./venv
  2. source ./venv/bin/activate
  1. (venv) $ pip install --upgrade pip
  2. (venv) $ pip list

在(venv)中继续安装tensorflow.

(1) Installed by pip: 如果之前安装的是cuda9.0可以直接用pip安装,否则,需要用源码安装,见(2)

pip install tensorflow-gpu==1.12

ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory

Solution: add the following to .bashrc

  1. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64/

(2) Else: Build from source

这里注意./configure时候,默认cuda版本是9.0,我们改为 10.0.

安装完毕后可以退出venv:

  1. (venv) $ deactivate # don't exit until you're done using TensorFlow

------------------------------------------------------------------------------

测试tensorflow-gpu在docker中是否能顺利运行:

  1. $ sudo docker run --runtime=nvidia -it --rm tensorflow/tensorflow:latest-gpu \
  2. > python -c "import tensorflow as tf; tf.enable_eager_execution(); print(tf.reduce_sum(tf.random_normal([1000, 1000])))"
  3. [sudo] password for lsy:
  4. Unable to find image 'tensorflow/tensorflow:latest-gpu' locally
  5. latest-gpu: Pulling from tensorflow/tensorflow
  6. 18d680d61657: Already exists
  7. 0addb6fece63: Already exists
  8. 78e58219b215: Already exists
  9. eb6959a66df2: Already exists
  10. e3eb30fe4844: Already exists
  11. 852c9b7a4425: Already exists
  12. 0a298bf31111: Already exists
  13. 4b34ad03a386: Pull complete
  14. ea4e8d636cf7: Pull complete
  15. e641906af026: Pull complete
  16. af41a77e326c: Pull complete
  17. 56234dc44f16: Pull complete
  18. 33999852f515: Pull complete
  19. 11679b84da5e: Pull complete
  20. 231eb8ba046b: Pull complete
  21. 7d894676fbc1: Pull complete
  22. Digest: sha256:847690afb29977920dbdbcf64a8669a2aaa0a202844fe80ea5cb524ede9f0a0b
  23. Status: Downloaded newer image for tensorflow/tensorflow:latest-gpu
  24. -- ::05.315151: I tensorflow/core/platform/cpu_feature_guard.cc:] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
  25. -- ::05.490068: 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
  26. -- ::05.490510: I tensorflow/core/common_runtime/gpu/gpu_device.cc:] Found device with properties:
  27. name: GeForce RTX major: minor: memoryClockRate(GHz): 1.725
  28. pciBusID: ::00.0
  29. totalMemory: .76GiB freeMemory: .09GiB
  30. -- ::05.490528: I tensorflow/core/common_runtime/gpu/gpu_device.cc:] Adding visible gpu devices:
  31. -- ::05.727215: I tensorflow/core/common_runtime/gpu/gpu_device.cc:] Device interconnect StreamExecutor with strength edge matrix:
  32. -- ::05.727251: I tensorflow/core/common_runtime/gpu/gpu_device.cc:]
  33. -- ::05.727257: I tensorflow/core/common_runtime/gpu/gpu_device.cc:] : N
  34. -- ::05.727423: I tensorflow/core/common_runtime/gpu/gpu_device.cc:] Created TensorFlow device (/job:localhost/replica:/task:/device:GPU: with MB memory) -> physical GPU (device: , name: GeForce RTX , pci bus id: ::00.0, compute capability: 7.5)
  35. tf.Tensor(-568.0144, shape=(), dtype=float32)

---------------------------------------------------------

=======================================

  [支付宝]  您愿意送我一个小礼物吗?O(∩_∩)O

[ubuntu 18.04 + RTX 2070] Anaconda3 - 5.2.0 + CUDA10.0 + cuDNN 7.4.1 + bazel 0.17 + tensorRT 5 + Tensorflow(GPU)的更多相关文章

  1. [笔记] Ubuntu 18.04安装Docker CE及NVIDIA Container Toolkit流程

    之前写的[笔记] Ubuntu 18.04安装Docker CE及nvidia-docker2流程已经out了,以这篇为准. Docker的好处之一,就是在Container里面可以随意瞎搞,不用担心 ...

  2. anaconda3 安装opencv3.4.2 cuda9.2 mint19(ubuntu 18.04)

    从opencv1的时代,编译这玩意就不是太轻松.之前都是在win下.2.x时代,开始用cmake GUI,选vs版本,x86 x64 各种依赖库选项,debug release,... 现在3.4了, ...

  3. 在Ubuntu 18.04上安装Tensorflow

    我们将经历几个阶段,安装cuda-9.0,cudnn和tensorflow cpu以及tensorflow gpu版本.最后我们将用cuda-9.0安装pytorch.在MARVEl电影中黑寡妇的“我 ...

  4. Ubuntu 18.04 nvidia driver 390.48 安装 TensorFlow 1.12.0 和 PyTorch 1.0.0 详细教程

    最近要在个人台式机上搭建TensorFlow和PyTorch运行环境,期间遇到了一些问题.这里就把解决的过程记录下来,同时也可以作为安装上述环境的过程记录. 如果没有遇到类似的问题,想直接从零安装上述 ...

  5. Ubuntu 18.04安装 CUDA 10.1 、cuDNN 7.6.5、PyTorch1.3

    转载请注明出处  BooTurbo https://www.cnblogs.com/booturbo/p/11834661.html 安装平台及环境 CPU:i9-9900k桌面级 GPU:RTX 2 ...

  6. Ubuntu 18.04 LTS修改 国内源(以中科大源为例)

    国内有很多Ubuntu的镜像源,包括阿里的.网易的,还有很多教育网的源,比如:清华源.中科大源. 我们这里以中科大的源为例讲解如何修改Ubuntu 18.04里面默认的源. 可以进入这个链接进行下载: ...

  7. Ubuntu 18.04 启动root账号并授权远程登录

    Ubuntu 18.04 刚刚上市2个月,下载安装,尝尝鲜~ 安装界面看上去舒服许多, 安装的速度也较之前17.04 和16.04 都快了许多.抱歉,未截图. Ubuntu 安装完成后默认不启动roo ...

  8. Ubuntu 18.04编译AOSP源码

    总结一下我从Ubuntu 18.04下编译成功AOSP的过程,以及遇到的坑 我的电脑配置: OS: Ubuntu 18.04 bionic Kernel: x86_64 Linux 4.18.0-17 ...

  9. Ubuntu 18.04.1 LTS + kolla-ansible 部署 openstack Rocky all-in-one 环境

    1. kolla 项目介绍 简介 kolla 的使命是为 openstack 云平台提供生产级别的.开箱即用的自动化部署能力. kolla 要实现 openetack 部署分为两步,第一步是制作 do ...

随机推荐

  1. yarn默认配置

    name value description yarn.ipc.client.factory.class   Factory to create client IPC classes. yarn.ip ...

  2. 在VS2010 中使用subversion 进行代码的分支与合并

    在实际开发总,遇到了这种情况: 开发版本1,开发版本2 ,更新产品时要求1在前,2在后. 但是因为时间要求,必须2个版本同时开发.这时就想到了在svn的版本分支合并. 创建分支之前,首先把当前版本代码 ...

  3. 课时70.id选择器和类选择器(理解)

    1.id和class的区别? id相当于人的身份证不可以重复 class相当于人的名称可以重复 1.2 一个HTML标签只能绑定一个id名称 一个HTML标签可以绑定多个class名称 2.id选择器 ...

  4. oracle-sql脚本导出EXCEL数据

    在数据库中,经常有业务人员提出需求导出数据库中的业务数据,而且是每天.每周或每月定时导出.为了方便,可将sql查询的脚本 通过下面脚本来导出EXCEL数据. 1.将查询sql脚本(AAA.sql)放到 ...

  5. 使用xlsx把json对象导出excel

    1,首先使用npm下载xlsx.执行命令 npm install xlsx --save import { Component, OnInit } from '@angular/core'; //im ...

  6. CALayer简介(转)

    一.简单介绍  在iOS中,你能看得见摸得着的东西基本上都是UIView,比如一个按钮,一个文本标签,一个文本输入框,一个图标等等,这些都是UIView.  其实UIView之所以能显示在屏幕上,完全 ...

  7. rest_framework--序列化组件

    #####序列化组件##### 一.什么是序列化 在python中一切皆对象,把对象从内存中变成可存储或传输的过程称之为序列化. 你写一个django项目肯定是有前后端交互的吧,虽然django也可以 ...

  8. Vue+Electron实现简单桌面应用

    之前一直使用C#编写桌面应用,也顺带写一些Web端应用.最近在看node时发现常用的vscode是用electron编写的,一种想吃螃蟹的念头就涌了上来. 在网上找了找electron的资料,也研究了 ...

  9. SAP存储税率税码的相关表

    T007A 稅關鍵字 T007B 會計中的稅務處理 T007C Groupings for tax codes T007D 賦稅群組的內文 T007F 銷項 / 進項群組的稅 T007G 不再使用該表 ...

  10. php接口数据加密、解密、验证签名【转】

    <?php/** * 数据加密,解密,验证签名 * @edit http://www.lai18.com * @date 2015-07-08 **///header('Content-Type ...