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 在训练时的cpu占用32.3%

这是 tensorflow1.0 在训练时的cpu占用63%,这也是tensorflow1.0 的优势,更能发挥硬件的优势

以上这篇tensorflow2.0与tensorflow1.0的性能区别介绍就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

以上是 tensorflow2.0与tensorflow1.0的性能区别介绍 的全部内容, 来源链接: utcz.com/z/328168.html

回到顶部