What's the difference between LSTM() and LSTMCell()?

前端 未结 1 1133
礼貌的吻别
礼貌的吻别 2020-12-24 02:15

I\'ve checked the source code for both functions, and it seems that LSTM() makes the LSTM network in general, while LSTMCell() only returns one cell.

However, in mo

相关标签:
1条回答
  • 2020-12-24 02:52
    • LSTM is a recurrent layer
    • LSTMCell is an object (which happens to be a layer too) used by the LSTM layer that contains the calculation logic for one step.

    A recurrent layer contains a cell object. The cell contains the core code for the calculations of each step, while the recurrent layer commands the cell and performs the actual recurrent calculations.

    Usually, people use LSTM layers in their code.
    Or they use RNN layers containing LSTMCell.

    Both things are almost the same. An LSTM layer is a RNN layer using an LSTMCell, as you can check out in the source code.

    About the number of cells:

    Alghout it seems, because of its name, that LSTMCell is a single cell, it is actually an object that manages all the units/cells as we may think. In the same code mentioned, you can see that the units argument is used when creating an instance of LSTMCell.

    0 讨论(0)
提交回复
热议问题