哈囉~來觀看的大大各位好啊!
上一篇文已介紹如何安裝Anaconda虛擬環境與GPU版本
這次要來測試CPU與GPU到底效能差別差多大~~
所以我們撰寫一個簡單的測試程式來看看吧!
Step 1. 在tensorflow-gpu虛擬環境開啟jupyter notebook後建立一個新檔案
不知道如何開啟請往前翻閱文章囉!不在此贅述
先import 需要的模組進來城市
import tensorflow as tf
import time
Step 2. 定義一個function
此function會隨機產生數值在M1,M2這兩個矩陣(size可根據輸入來指定矩陣大小)
然後將兩個矩陣做乘法運算
最後再將矩陣內的直加總
我們透過start_time來記錄開始時間,take_time來記錄花的時間(結束時間-開始時間)
def DeviceTest(device_name,size):
with tf.device(device_name):
M1=tf.random_normal([size,size],name='M1')
M2=tf.random_normal([size,size],name='M2')
mul=tf.matmul(M1,M2,name='mul')
sum_result=tf.reduce_sum(mul,name='sum_result')
start_time=time.time()
with tf.Session() as sess:
result=sess.run(sum_result)
take_time=time.time()-start_time
print(device_name," size=",size, " Time:",take_time)
return take_time #這樣append到SET才有東西
Step 3.我們設一個迴圈來跑不同size的矩陣
可以看看以下每一個迴圈的結果所花的時間
並儲存結果在Set裡面
Gpu_Set=[]; Cpu_set=[]; Size_set=[]
for i in range(0,10001,500):
TestGpu=DeviceTest("/gpu:0",i)
TestCpu=DeviceTest("/cpu:0",i)
print("-"*100)
Gpu_Set.append(TestGpu)
Cpu_set.append(TestCpu)
Size_set.append(i)
以下結果
Step 4. 先import 等等要畫出來的模組
import matplotlib.pyplot as plt
fig=plt.gcf()
fig.set_size_inches(10,10)
Step 5. 我們將剛剛跑的結果給show出來
很明顯CPU真的與GPU後期真的相差越來越大......
plt.plot(Size_set, Gpu_Set ,label='GPU')
plt.plot(Size_set, Cpu_set ,label='CPU')
plt.legend()
感謝收看~~
這就是簡單的測試成果囉!
有興趣的還請再多多關注我,也可以一起討論一些問題喔!
那我們下次見~~
留言列表