1. 程式人生 > 程式設計 >tensorflow2.0與tensorflow1.0的效能區別介紹

tensorflow2.0與tensorflow1.0的效能區別介紹

從某種意義講,tensorflow這個專案已經失敗了,要不了幾年以後,江湖上再無tensorflow

因為tensorflow2.0 和tensorflow1.0 從本質上講就是兩個專案,1.0的靜態圖有他的優勢,比如效能方面,但是debug不方便,2.0的動態圖就是在模仿pytorch,但是畫虎不成反類犬.

為了對比1.0 與2.0

1. pip install tensorflow==2.0.0a0

2. 為了控制變數我把mnist儲存到本地的mongodb

3. 兩種網路結構是一樣的

ipython 
import mnist_data
mnist_data.save_mnist_mongodb()
0
100
200
300
400
500
...
Step 1600 : loss 0.597398758 ; accuracy 0.906712472
Step 1700 : loss 0.0526806675 ; accuracy 0.90900588
Step 1800 : loss 0.212036133 ; accuracy 0.911422193
Step 1900 : loss 0.245924264 ; accuracy 0.913889468
Step 2000 : loss 0.0638188794 ; accuracy 0.915765
20.71102285385132
Final step 2000 : loss tf.Tensor(0.06381888,shape=(),dtype=float32) ; accuracy tf.Tensor(0.915765,dtype=float32)

tensorflow2.0 耗時20.7秒

pip install tensorflow==1.13.1
step 1700,training accuracy 0.960
step 1800,training accuracy 0.900
step 1900,training accuracy 0.930
12.46434211730957
test accuracy 0.942

tensorflow2.0 耗時12.46秒,所以在用cpu 做訓練時,相同的網路結構,相同的資料集合,tensorflow2.0比tensorflow1.0慢60%,tensorflow 靜態圖有非常明顯的速度優勢.

tensorflow2.0與tensorflow1.0的效能區別介紹

這是 tensorflow2.0 在訓練時的cpu佔用32.3%

tensorflow2.0與tensorflow1.0的效能區別介紹

這是 tensorflow1.0 在訓練時的cpu佔用63%,這也是tensorflow1.0 的優勢,更能發揮硬體的優勢

以上這篇tensorflow2.0與tensorflow1.0的效能區別介紹就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。