当前位置: 首页 > 编程笔记 >

tensorflow2.0与tensorflow1.0的性能区别介绍

沃阳飙
2023-03-14
本文向大家介绍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, 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的性能区别介绍就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊html" target="_blank">教程。

 类似资料:
  • 本文向大家介绍spring boot与spring mvc的区别及功能介绍,包括了spring boot与spring mvc的区别及功能介绍的使用技巧和注意事项,需要的朋友参考一下 Spring 框架就像一个家族,有众多衍生产品例如 boot、security、jpa等等。但他们的基础都是Spring 的 ioc和 aop ioc 提供了依赖注入的容器 aop ,解决了面向横切面的编程,然后在此

  • 本文向大家介绍DataSet与DataTable的区别示例介绍,包括了DataSet与DataTable的区别示例介绍的使用技巧和注意事项,需要的朋友参考一下 DataSet:数据集。一般包含多个DataTable,用的时候,dataset["表名"]得到DataTable DataTable:数据表。 一: SqlDataAdapter da=new SqlDataAdapter(cmd); D

  • 本文向大家介绍$("").click与onclick的区别示例介绍,包括了$("").click与onclick的区别示例介绍的使用技巧和注意事项,需要的朋友参考一下 Html代码 区别: 1.onclick是绑定事件,告诉浏览器在鼠标点击时候要做什么 click本身是方法作用是触发onclick事件,只要执行了元素的click()方法,就会触发onclick事件。如上诉代码所示,当点击'ee'按

  • 本文向大家介绍Java中Set与List的关系与区别介绍,包括了Java中Set与List的关系与区别介绍的使用技巧和注意事项,需要的朋友参考一下 两个接口都是继承自Collection. List (inteface) 次序是List 的最重要特点,它确保维护元素特定的顺序. --ArrayList 允许对元素快速随机访问. --LinkedList 对顺序访问进行优化,向List 中间插入与移

  • 问题内容: 最近,我在查询性能方面遇到了一些问题。经过长时间的努力,我终于发现带有select前缀的查询如下: 是慢300倍,然后以这种方式启动查询: 有人可以帮我吗,为什么呢?关于此的一些外部文档将非常有用。 用于测试的表是: SALES_UNIT 表包含一些基本的信息 自动售货机 节点,例如名称等。唯一的关联是表SALES_UNIT_TYPE,例如ManyToOne。主键是ID和字段VALID

  • 我在处理片段时遇到了两个东西和,它们被多次使用。我想知道这两者之间有什么区别吗,因为当我用更改时,它对应用程序没有任何影响。