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 回答