tensorflow2.0與tensorflow1.0的效能區別介紹
阿新 • • 發佈:2020-02-10
從某種意義講,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 在訓練時的cpu佔用32.3%
這是 tensorflow1.0 在訓練時的cpu佔用63%,這也是tensorflow1.0 的優勢,更能發揮硬體的優勢
以上這篇tensorflow2.0與tensorflow1.0的效能區別介紹就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。