当前位置:首页 >> 脚本专栏

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, shape=(), 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的性能区别介绍就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。