tensorflow 高级API的区别与联系

tf.keras.layers和tf.layers有什么区别?
问问题
投票
2
投票
最喜欢
1
tf.keras.layers和tf.layers有什么区别?
例如,他们都有Conv2d,他们提供不同的输出吗?
如果你把它们混合起来有什么好处(比如tf.keras.layers.Conv2d在一个隐藏层和下一个tf.layers.max_pooling2d中)?

python tensorflow keras
分享改善这个问题
6月28日18:35 问道

Gabriel_Koch
8510
添加评论
2答案
活跃的 最老 票
投票
4
投票
接受
tf.keras.layers.Conv2d是张量流 - keras层,tf.layers.max_pooling2d而是张量流'原生层'

您不能直接在Keras模型中使用本机层,因为它将缺少Keras API所需的某些属性。

但是,如果包裹在tensorflow-keras Lambda层中,则可以使用本机层。下面是文档的链接。

https://www.tensorflow.org/api_docs/python/tf/keras/layers/Lambda

分享改善这个答案
6月28日18:43 回答

isaacsultan
19112
我懂了!但使用其中一个是否有任何显着差异? - Gabriel_Koch 6月28日19:06
没有显着差异 - isaacsultan Jun 28 at 19:25
添加评论
投票
3
投票
tf.layers模块是Tensorflow尝试创建类似于Keras的Keras,而tf.keras.layers它是兼容性包装器。实际上,大多数实现都会引用tf.layers,例如tf.keras.layers.Dense继承核心实现:

@tf_export('keras.layers.Dense')
class Dense(tf_core_layers.Dense, Layer):

...

由于tf.keras兼容性模块单独检入Tensorflow仓库,因此可能缺少Keras实际提供的功能。我会直接使用Keras,tf.layers但不一定要混用它们。

分享改善这个答案
6月28日19:23 回答

posted @ 2018-09-19 17:09  Lucas_Yu  阅读(1641)  评论(0编辑  收藏  举报