keras-team/keras · error · ValueError
state_size must be an integer, or a list/tuple of integers (
Error message
state_size must be an integer, or a list/tuple of integers (one for each state tensor).
What it means
Error "state_size must be an integer, or a list/tuple of integers (one for each state tensor)." thrown in keras-team/keras.
Source
Thrown at keras/src/layers/rnn/rnn.py:223
self.cell = cell
self.return_sequences = return_sequences
self.return_state = return_state
self.go_backwards = go_backwards
self.stateful = stateful
self.unroll = unroll
self.supports_masking = False
self.input_spec = None
self.states = None
self._expected_batch_size = None
state_size = getattr(self.cell, "state_size", None)
if state_size is None:
raise ValueError(
"state_size must be specified as property on the RNN cell."
)
if not isinstance(state_size, (list, tuple, int)):
raise ValueError(
"state_size must be an integer, or a list/tuple of integers "
"(one for each state tensor)."
)
if isinstance(state_size, int):
self.state_size = [state_size]
self.single_state = True
else:
self.state_size = list(state_size)
self.single_state = False
def compute_output_shape(self, sequences_shape, initial_state_shape=None):
batch_size = sequences_shape[0]
length = sequences_shape[1]
states_shape = []
for state_size in self.state_size:
if isinstance(state_size, int):
states_shape.append((batch_size, state_size))
elif isinstance(state_size, (list, tuple)):View on GitHub (pinned to 7a34a03db6)
When it happens
Trigger: Thrown at keras/src/layers/rnn/rnn.py:223 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of keras-team/keras@7a34a03db6 (2026-08-25).
Data as JSON: /api/errors/41ed43f53f0608ff.
Report an issue: GitHub.