首页 > 解决方案 > 现在 tf.keras.backend 有什么用,是否更安全/更面向未来进行编码?

问题描述

keras.backend我理解在过去的多框架支持的历史需求。但是现在我们正在谈论tf.keras,并且由于 Keras 计划只支持这个工具包,我想知道今天的用途是什么tf.keras.backend。从我所见,它只公开了 中可用功能的一小部分tf.*,而且发展得更慢。

那么,是tf.keras.backend

标签: pythontensorflowkerastensorflow2.0tf.keras

解决方案


在这一点上很难说哪个更好。因为 keras 后端提供了独特的功能(仍然)。

例如,K.rnn是 Keras 后端提供的一个非常有价值的功能。这可用于在时间维度上迭代顺序模型 (LSTM/GRU) 的时间输出。map()当您必须对序列模型的每个时间输出(例如,为编码器的每个 LSTM 输出计算注意力向量)执行类似功能时,这非常有用。这是实现上述功能的一个非常方便的功能,因为(据我所知)这样做tf.*涉及到tf.gather并且会变得丑陋(尤其是在 TF 1.x 中)。我不太确定其他可能比tf.*. 但可能有一些(例如K.foldl)。

另一方面,tf.*它确实提供了比 Keras 后端提供的更多的功能。

总之,我认为完全避免 Keras 后端还为时过早。但我确实觉得 keras 后端会tf.*在某个时候合并,以提供更一致的 API。


推荐阅读