TensorFlow 2.0致力于簡化使用和提高易用性。本文基于Windows10操作系統(tǒng),使用PyCharm搭建基于GPU加速的TesorFlow開發(fā)平臺。
安裝過程主要包含三個步驟:
-
安裝Anaconda
Anaconda官網(wǎng)下載Windows操作系統(tǒng)安裝包
下載 anaconda
運行安裝包開始安裝,勾選Advanceed Options第一項
anaconda安裝 -
安裝CUDA
2.1 NVIDIA官網(wǎng)下載CUDA Toolkit 10 點擊這里下載。注意:必須NVIDIA顯卡才支持CUDA下載CUDA
2.2 安裝需選擇自定義安裝。
自定義安裝
2.3 取消GeForce這個選項
取消GeForce選項
2.4 取消Visual Studio選項
取消Visual Studio選項
2.5 查看Display Driver選項,左邊為安裝包中的驅(qū)動版本,右邊顯示為系統(tǒng)當(dāng)前版本。如果安裝包中驅(qū)動版本高于系統(tǒng)當(dāng)前版本這勾選這個選項,否則不勾選這個選項
Display Driver選項 -
安裝PyCharm配置TensorFlow環(huán)境
PyCharm安裝教程很多這里就不過多說明了,主要講述如何配置TensorFlow環(huán)境。
PyCharm中新建Pure Python項目tf2,Project Interpreter中選擇創(chuàng)建新虛擬環(huán)境,使用Conda。
py016.png
項目創(chuàng)建好后打開PyCharm的終端,安裝TensorFlow2.0
pip install tensorflow-gpu==2.0.0-alpha0
終端
安裝cudnn,cudatoolkit numba
conda install cudnn cudatoolkit numba
安裝完成后運行g(shù)pu_accelerate.py進(jìn)行性能測試。
import tensorflow as tf
import timeit
with tf.device('/cpu:0'):
cpu_a = tf.random.normal([10000, 1000])
cpu_b = tf.random.normal([1000, 2000])
print(cpu_a.device, cpu_b.device)
with tf.device('gpu:0'):
gpu_a = tf.random.normal([100000, 1000])
gpu_b = tf.random.normal([1000, 2000])
print(gpu_a.device, gpu_b.device)
def cpu_run():
with tf.device('cpu:0'):
c = tf.matmul(cpu_a, cpu_b)
return c
def gpu_run():
with tf.device('gpu:0'):
c = tf.matmul(gpu_a, gpu_b)
return c
# warm up
cpu_time = timeit.timeit(cpu_run, number=100)
gpu_time = timeit.timeit(gpu_run, number=100)
print('warm up:', cpu_time, gpu_time)
cpu_time = timeit.timeit(cpu_run, number=100)
gpu_time = timeit.timeit(gpu_run, number=100)
print('run time:', cpu_time, gpu_time)
運行測試結(jié)果如下
測試結(jié)果
可以看到左邊為使用CPU的計算花費了19秒多的時間,而右邊的GPU運算只用了0.01秒。采用測試設(shè)備為ThinkPad T470P筆記本 CPU i7-7700HQ,顯卡為比較差的GeForce 940MX。