我正在学习tf和keras。
我想尝试https://www.amazon.com/Deep-Learning-Python-Francois-Chollet/dp/1617294438/
,它似乎是用keras写的。
将代码转换为tf.keras是否相当直接?
我对代码的portability
不感兴趣,而不是两者之间真正的区别。
在这一点上,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
是Keras API规范的Tensorflow特定实现。它增加了框架对许多Tensorflow特定功能的支持,例如:完美支持tf.data.Dataset
作为输入对象,支持急切执行,......
在Tensorflow 2.0中tf.keras
将是默认值,我强烈建议您开始使用tf.keras