# Keras difference between GRU and GRUCell

In Keras documentation at this page, https://keras.io/layers/recurrent/, I wonder what's the difference between GRU and GRUCell, which one I should use if I'd like to create a GRU recurrent network. Similarly, I have confusion between LSTM and LSTMCell, and RNN and SimpleRNN.

Checking the source code: the class inheritance is like

Layer => RNN
Layer => GRUCell
Layer => LSTMCell

RNN => SimpleRNN
RNN => GRU
RNN => LSTM


Also,

• This question has been answered on SO. – today Jul 9 '18 at 23:51