2020年Tensorflow2-GPU 完整安裝過程總結

2020年Tensorflow2-GPU 完整安裝過程總結

Tensorflow2.1將是最後一個支持python2的版本。tensorflow2.1增加了對TPU的支持,同時tf.keras和tf.data這兩個常用的API也得到了很多新的更新。Tensorflow2.1的cuda版本爲10.1,cuDNN版本爲7.6.

Windows 和 Linux 系統的 TensorFlow pip 版本默認支持 GPU。也就是說,如果使用 pip install tensorflow,則版本默認爲是 gpu 版本(原始的 tensorflow-gpu 版本依然存在)。當然,不管有沒有英偉達版本的 GPU,tensorflow 依然能夠運行。

系統要求:

  • Python 3.5-3.7
  • pip 19.0 或更高版本(需要 manylinux2010 支持)
  • Ubuntu 16.04 或更高版本(64 位)
  • macOS 10.12.6 (Sierra) 或更高版本(64 位)(不支持 GPU)
  • Windows 7 或更高版本(64 位)(僅支持 Python 3)
  • Raspbian 9.0 或更高版本
  • GPU 支持需要使用支持 CUDA® 的卡(適用於 Ubuntu 和 Windows)

注意:必須使用最新版本的 pip,才能安裝 TensorFlow 2。

硬件要求:

支持以下帶有 GPU 的設備:

在這裏插入圖片描述

軟件要求:

必須在系統中安裝以下 NVIDIA® 軟件:

  • NVIDIA® GPU 驅動程序:CUDA 10.1 需要 418.x 或更高版本。

  • CUDA® 工具包:TensorFlow 支持 CUDA 10.1(TensorFlow 2.1.0 及更高版本)

  • CUDA 工具包附帶的 CUPTI

  • cuDNN SDK(7.6 及更高版本)

  • (可選)TensorRT 6.0,可縮短在某些模型上進行推斷的延遲並提高吞吐量。

    # 使用下列終端命令,查看相關信息
    nvidia-smi
    

在這裏插入圖片描述

驅動版本不夠,就自行進行更新。然後下載CUDA,cuDNN工具包。這裏的CUPTI是包含再CUDA中的。不方便下載的,在這裏戳我:[email protected]

CUDA安裝:(10.1)

直接運行.exe文件,第一個目錄爲extraction,這個是指文件提取目錄,不是安裝目錄。注意區分!!!

選擇自定義高級,接下來的目錄爲正式的安裝目錄,記下來。需要配置環境變量!!!!!沒有VS的,直接忽略即可。

cuDNN安裝:(7.6)

準確的說,是cuDNN解壓,下載壓縮包文件之後,進行解壓,放到你指定的目錄下。需要配置環境變量。

上述兩項完成之後,進行環境變量的配置!!!將 CUDA、CUPTI 和 cuDNN 安裝目錄添加到 %PATH% 環境變量中。

例如我的安裝路徑爲:(看自己情況,不要苟同)

CUDA 工具包安裝到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1,同時 cuDNN 安裝到 C:\tools\cuda,請更新 %PATH% 以匹配路徑:

    SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin;%PATH%
    SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\extras\CUPTI\libx64;%PATH%
    SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\include;%PATH%
    SET PATH=C:\tools\cuda\bin;%PATH%
    

操作方法爲:找到path環境變量>編輯>新建>然後多次確認。可能會發現,再安裝完CUDA之後,上述有些環境變量已經存在path中了,那就不管這些已經存在的,繼續把沒有出現的添加到環境變量就好了。

使用pip進行安裝tensorflow2:

個人是新建了虛擬環境,名爲tensorflow(你自己隨便取)。過程如下:

# 1.查看當前有那些虛擬環境
conda info --envs
# 2.新建名爲tensorflow的虛擬環境
conda create --name tensorflow python=3.7
# 3.激活虛擬環境tensorflow
conda activate tensorflow

在這裏插入圖片描述
在這裏插入圖片描述

激活新建的虛擬環境tensorflow之後,效果如上圖:

# 4.再當前的虛擬環境中安裝tensorflow,我是用清華源
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow

在這裏插入圖片描述

這裏的some-package是指你要安裝的包名,這裏我要安裝tensorflow。注意,這裏是包名,雖然這裏我的包名和虛擬環境名字一樣,注意區分!!!!

安裝完之後,可以查看當前虛擬環境中有哪些包:

# 查看包列表
conda list

在這裏插入圖片描述
在這裏插入圖片描述

可以看到,已經安裝好了。

# 5.將虛擬環境tensorflow添加到jupyter notebook 內核中
# 在當前的名爲tensorflow虛擬環境中安裝好ipykernel
conda install ipykernel
# 6.向jupyter notebook中添加內核,這裏的tensorflow爲虛擬環境名。
python -m ipykernel install --name tensorflow
# 7.打開jupyter notebook,你會驚奇的發現,這裏變了

在這裏插入圖片描述
新建notebook,在new>tensorflow,這樣一來,內核就是你新建的tensorflow

# 8.測試tensorflow安裝成功與否
import tensorflow as tf
print(tf.test.is_gpu_available())
# 上述結果
WARNING:tensorflow:From <ipython-input-1-46ff889b56b7>:2: is_gpu_available (from tensorflow.python.framework.test_util) is deprecated and will be removed in a future version.
Instructions for updating:
Use `tf.config.list_physical_devices('GPU')` instead.
True

說明GPU是可用的,這裏的警告是說,這個測試命令即將被拋棄,應該使用tf.config.list_physical_devices(‘GPU’),如下:

import tensorflow as tf
print(tf.config.list_physical_devices('GPU'))
# 結果爲
[PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]

好了,測試通過。再來一個程序跑一下:

# 測試程序
import tensorflow as tf
import os

os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' 
print('GPU', tf.test.is_gpu_available())

a = tf.constant(2.0)
b = tf.constant(4.0)
print(a + b)
# 結果爲
GPU True
tf.Tensor(6.0, shape=(), dtype=float32)

好了,安裝測試完成,開始使用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章