Keras 中的 "cell class" 是什么?

What is a "cell class" in Keras?

或者,更具体地说:ConvLSTM2DConvLSTM2DCell 之间有什么区别?

SimpleRNN and SimpleRNNCell有什么区别?

GRU and GRUCell

同样的问题

Keras 手册在这里不是很冗长。

我可以从 RTFS(阅读那些 fine 来源)看出这些 classes 是不同基础 classes 的后代。名称以 Cell 结尾的那些是 Layer.

的子class

在我的任务中,我需要 class 化视频序列。也就是说,我的 classifier 的输入是一系列视频帧,输出是单个标签(one-hot 编码向量)。

我应该使用什么class?

每个单元格层组合的区别是相同的:

  • Cell:Cell 是实际的计算组件,它们接受一个输入,一个过去的状态,并产生一个输出,一个新的状态。这些实际上执行 step 函数,例如包含 GRU 单元的计算。
  • RNN 层:这些层包裹相应的单元格以将相同 单元格应用于多个时间步长.因此单元格在输入序列上迭代并根据额外选项收集输出,例如 return_sequences.