为什么要在Keras上使用纯TensorFlow?

BYT3

最近,我正在观看TensorFlow的介绍,在此过程中,Keras作为一种高级API出现了,可以在后端使用TensorFlow或Theano。

我与他们一起玩耍,并使用第一个纯TensorFlow进行了MNIST LeNet-5实施,此后又使用Keras。至少在我的机器上,当直接使用TensorFlow时,我看不到任何明显的性能提升。

所以我现在的问题是:直接在Keras上使用TensorFlow有什么优势?也许这只是规模问题,我是否会在大型项目中看到性能的显着提高?

没有人

Keras只是掩盖了Tensorflow(和其他后端)的复杂性,仅此而已。

如果您需要/想要更好地控制引擎盖下发生的事情,则可以直接使用Tensorflow(您可以控制几乎所有内容,并且可以确保实现有效地实现了您想要的功能)。

如果您只是想快速制作原型并开发模型,那么Keras很好,因为它可以更快地完成它。折衷方案是您失去控制权,因为Keras为您做了很多您不会做的事情。例如,您无法更改卷积层的变量名称/范围,因为它们在keras层定义中固定(内核将始终是“内核”,偏差将始终是“偏差”)。

但是,由于Tensorflow首先构建一个图然后执行它,因此在Keras或Tensorflow中定义的同一图的执行速度是相同的(Keras仅减慢了图的构建,这只是Python代码)。

更新:从Tensorflow 2.0起默认使用tf.kerashttps ://pgaleone.eu/tensorflow/gan/2018/11/04/tensorflow-2-models-migration-and-new-design/

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

是否总是需要在 Keras 之前安装 TensorFlow?为什么?

来自分类Java

为什么要在堆栈上使用Deque?

来自分类Dev

为什么要在pbuilder上使用sbuild?

来自分类Dev

为什么要在memset上使用bzero?

来自分类Dev

为什么要在Dict上使用HashDict?

来自分类Dev

什么是gvfs,为什么要在我的系统上使用它?

来自分类Dev

为什么要在void上使用int函数?

来自分类Dev

为什么要在ThreadLocal上使用数据插槽?

来自分类Java

为什么要在Java / Spring上使用Scala / Lift?

来自分类Javascript

为什么要在object.freeze上使用immutablejs?

来自分类Dev

为什么要在 [Align] 对齐上使用 [Expanded] / [Flexible] flex?

来自分类Dev

sudoedit:为什么要在sudo vi上使用它?

来自分类Dev

为什么要在诸如Postgres的RDBMS上使用Parquet

来自分类Dev

为什么要在结构上使用&符号?

来自分类Python

为什么要在easy_install上使用pip?

来自分类Dev

为什么要在多个 if 语句上使用 elif 和 else?

来自分类Python

为什么要在Google App Engine上使用Django?

来自分类Dev

为什么要在冻结的对象上使用Object#clone?

来自分类Dev

为什么我要在StatefulWidget上使用StatelessWidget?

来自分类Dev

为什么要在FreeBSD内核上使用Debian 6?

来自分类Dev

为什么我需要在资源上使用.close()

来自分类Dev

为什么要在主线程上订阅?

来自分类Dev

为什么要在小对象上同步?

来自分类Dev

为什么以及何时需要在 tensorflow 中使用全局步骤

来自分类Dev

什么时候以及为什么我们需要在bash上使用“ wait”命令?

来自分类Dev

当使用react-table时,为什么要在`ReactTable`上使用`useTable`

来自分类Dev

为什么我不能在 Windows 7 上使用 Tensorflow?

来自分类Dev

为什么要在AngularJS中使用$ onInit?

来自分类Dev

为什么要在golang中使用组合?

Related 相关文章

  1. 1

    是否总是需要在 Keras 之前安装 TensorFlow?为什么?

  2. 2

    为什么要在堆栈上使用Deque?

  3. 3

    为什么要在pbuilder上使用sbuild?

  4. 4

    为什么要在memset上使用bzero?

  5. 5

    为什么要在Dict上使用HashDict?

  6. 6

    什么是gvfs,为什么要在我的系统上使用它?

  7. 7

    为什么要在void上使用int函数?

  8. 8

    为什么要在ThreadLocal上使用数据插槽?

  9. 9

    为什么要在Java / Spring上使用Scala / Lift?

  10. 10

    为什么要在object.freeze上使用immutablejs?

  11. 11

    为什么要在 [Align] 对齐上使用 [Expanded] / [Flexible] flex?

  12. 12

    sudoedit:为什么要在sudo vi上使用它?

  13. 13

    为什么要在诸如Postgres的RDBMS上使用Parquet

  14. 14

    为什么要在结构上使用&符号?

  15. 15

    为什么要在easy_install上使用pip?

  16. 16

    为什么要在多个 if 语句上使用 elif 和 else?

  17. 17

    为什么要在Google App Engine上使用Django?

  18. 18

    为什么要在冻结的对象上使用Object#clone?

  19. 19

    为什么我要在StatefulWidget上使用StatelessWidget?

  20. 20

    为什么要在FreeBSD内核上使用Debian 6?

  21. 21

    为什么我需要在资源上使用.close()

  22. 22

    为什么要在主线程上订阅?

  23. 23

    为什么要在小对象上同步?

  24. 24

    为什么以及何时需要在 tensorflow 中使用全局步骤

  25. 25

    什么时候以及为什么我们需要在bash上使用“ wait”命令?

  26. 26

    当使用react-table时,为什么要在`ReactTable`上使用`useTable`

  27. 27

    为什么我不能在 Windows 7 上使用 Tensorflow?

  28. 28

    为什么要在AngularJS中使用$ onInit?

  29. 29

    为什么要在golang中使用组合?

热门标签

归档