Tensorflow keras和tf.keras之间有什么区别?

Tensorflow keras和tf.keras之间有什么区别?,tensorflow,keras,difference,tf.keras,Tensorflow,Keras,Difference,Tf.keras,我在学习TensorFlow和Keras。我想试试,它似乎是用凯拉斯语写的 将代码转换为tf.keras是否相当简单 我对代码的可移植性不感兴趣,而对两者之间的真正区别不感兴趣。在这一点上,tensorflow几乎完全采用了keras API,并且有一个很好的理由——它简单、易于使用和学习,而“纯”tensorflow附带了很多样板代码。是的,您可以使用tf.keras而不会出现任何问题,尽管您可能需要在代码中重新处理导入。比如说 from keras.layers.pooling import

我在学习TensorFlow和Keras。我想试试,它似乎是用凯拉斯语写的

将代码转换为tf.keras是否相当简单


我对代码的可移植性不感兴趣,而对两者之间的真正区别不感兴趣。

在这一点上,tensorflow几乎完全采用了keras API,并且有一个很好的理由——它简单、易于使用和学习,而“纯”tensorflow附带了很多样板代码。是的,您可以使用tf.keras而不会出现任何问题,尽管您可能需要在代码中重新处理导入。比如说

from keras.layers.pooling import MaxPooling2D
将变成:

from tensorflow.keras.layers import MaxPooling2D

tf.keras和keras之间的区别在于Tensorflow对框架的特异性增强

keras
是一个API规范,描述了深度学习框架应如何实现与模型定义和培训相关的特定部分。 与框架无关,支持不同的后端(Theano、Tensorflow等)

tf.keras
是KerasAPI规范的Tensorflow特定实现。它为该框架添加了对许多Tensorflow特定功能的支持,如:完美支持
tf.data.Dataset
作为输入对象,支持急切执行


在Tensorflow 2.0
tf.keras将是默认值,我强烈建议开始使用
tf.keras
keras与tf.keras的历史既漫长又曲折

Keras:Keras是一种高级(易于使用)API,由谷歌AI开发者/研究员Francois Chollet构建。用Python编写,能够在TensorFlow、CNTK或Theano等后端引擎上运行

TensorFlow:也是由谷歌为深度学习开发者社区开发的一个库,用于让公众能够访问和使用深度学习应用程序。开源,可在GitHub上获得

随着KerasV1.1.0的发布,Tensorflow成为默认的后端引擎。这意味着:如果您在系统上安装了Keras,那么您也在安装TensorFlow

后来,TensorFlow v1.10.0首次在TensorFlow中引入了tf.keras子模块将KERA集成到TensorFlow中的第一步

随着Keras 2.3.0的发布

  • 与tf.Keras同步的Keras首次发布
  • 支持其他多后端引擎的最新主要版本
  • 最重要的是,今后建议将代码从keras转换为Tensorflow2.0和tf.keras包。
参考François Chollet的推文使用tf.keras

也就是说, 到处改变

在requirements.txt中

tensorflow==2.3.0

*免责声明:如果您使用的是旧版本的Keras,则可能会产生冲突。在这种情况下,pip是否卸载keras

能否更具体一些?您需要转换什么代码?看看可能重复的可能重复的,所以,对于大多数代码,我需要做的唯一更改是import语句?(我想可能会有例外)总的来说是的,除非你已经导入了整个库,并且必须检查代码并找出你在哪里使用了什么(这对于现代IDE来说仍然不是什么大问题)。Kerass 2.3.0是Keras的最后一个多后端版本,开发将继续使用tf.Keras
from tensorflow.keras.models import Sequential
from tensorflow.keras.models import load_model
tensorflow==2.3.0