Anaconda3+CUDA10.1+CUDNN7.6+TensorFlow2.6安裝(Ubuntu16)

程式設計師欣宸發表於2022-01-17

歡迎訪問我的GitHub

https://github.com/zq2599/blog_demos

內容:所有原創文章分類彙總及配套原始碼,涉及Java、Docker、Kubernetes、DevOPS等;

本篇概覽

  • 本篇記錄了自己在Ubuntu 16.04.7 LTS系統上搭建TensorFlow2開發環境的過程,用於將來重灌時的參考
  • 硬體是2018年購買的惠普暗隱精靈3代,顯示卡GTX1060,已經安裝了Ubuntu16 LTS桌面版
  • 執行本篇操作前需要安裝Nvidia的驅動,詳情請參考《Ubuntu16安裝Nvidia驅動(GTX1060顯示卡)》
  • 檢視驅動資訊,如下圖,可見CUDA版本是<font color="red">10.1</font>

在這裡插入圖片描述

版本匹配

在這裡插入圖片描述

安裝

  • 注意:接下來的所有操作<font color="red">並未使用</font>root賬號
  • 下載anaconda3,地址:https://www.anaconda.com/prod...,如下圖,可見官方最新版本對應的Python是3.8,符合前面的TensorFlow版本匹配表中的Python版本,所以,就下載最新版吧(此刻是<font color="blue">2021.05</font>版)

在這裡插入圖片描述

  • 由於個人習慣,我的操作都是在MacBook上遠端SSH到Ubuntu16電腦上操作的,和在本地執行命令列並無區別,您可以隨意
  • 增加可執行許可權:
chmod a+x Anaconda3-2021.05-Linux-x86_64.sh
  • 執行:
bash Anaconda3-2021.05-Linux-x86_64.sh
  • 按照提示輸入回車:

在這裡插入圖片描述

  • 翻閱文件,按照要求輸入<font color="blue">yes</font>:

在這裡插入圖片描述

  • 是否初始化,輸入<font color="blue">yes</font>:

在這裡插入圖片描述

  • 安裝完成:

在這裡插入圖片描述

  • 退出ssh重新登入,輸入python即可進入anaconda環境的python:
(base) will@ubuntu-hp:~$ python
Python 3.8.8 (default, Apr 13 2021, 19:58:26)
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
  • 建立新的conda環境,名為<font color="blue">py38</font>:
conda create -n py38 python=3.8.8
  • 啟用py38:
conda activate py38
  • 安裝指定版本的tensorflow,指定國內源以加快下載速度:
pip install tensorflow-gpu==2.3.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
  • 安裝CUDA:
conda install cudatoolkit=10.1 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/linux-64/
  • 安裝cudnn:
conda install cudnn=7.6.5
  • 安裝完成,接下來驗證一下是否GPU版的TensorFlow是否安裝成功

驗證

  • 退出ssh,重新登入
  • 檢視有哪些conda環境,以及正在使用哪個,輸入命令<font color="blue">conda info --e</font>,如下,星號所在的行表示正在使用的是base環境,並非我們們要用的py38:
(base) will@ubuntu-hp:~$ conda info --e
# conda environments:
#
base                  *  /home/will/anaconda3
py38                     /home/will/anaconda3/envs/py38
  • 執行<font color="blue">source activate py38</font>即可切換到py38環境
  • 直接輸入<font color="blue">python</font>進入python互動模式
  • 匯入tensorflow:
import tensorflow as tf
  • 顯示匯入成功:
2021-10-08 23:08:55.391471: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcudart.so.10.1
  • 以下程式碼表示檢查tensorflow能否得到CUDA支援,支援就會返回True,否則返回false:
tf.test.is_built_with_cuda()
  • 以下程式碼表示檢查tensorflow能否獲取到GPU:
tf.test.is_gpu_available()
  • 如果能獲取到會返回Ture,並且輸出的部分日誌資訊如下,可見顯示卡資訊已成功取到:
2021-10-08 23:09:34.367795: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:982] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2021-10-08 23:09:34.368110: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1402] Created TensorFlow device (/device:GPU:0 with 5088 MB memory) -> physical GPU (device: 0, name: GeForce GTX 1060 6GB, pci bus id: 0000:01:00.0, compute capability: 6.1)
True
  • 作為對比,下圖是MabBook上的CPU版本TensorFlow執行結果:

在這裡插入圖片描述

  • 至此,安裝完成。

你不孤單,欣宸原創一路相伴

  1. Java系列
  2. Spring系列
  3. Docker系列
  4. kubernetes系列
  5. 資料庫+中介軟體系列
  6. DevOps系列

歡迎關注公眾號:程式設計師欣宸

微信搜尋「程式設計師欣宸」,我是欣宸,期待與您一同暢遊Java世界...
https://github.com/zq2599/blog_demos

相關文章