{"record":{"id":"27bf7c687baf278c","repo":"keras-team/keras","slug":"output-size-must-be-an-integer","errorCode":null,"errorMessage":"output_size must be an integer.","messagePattern":"output_size must be an integer\\.","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"keras/src/layers/rnn/rnn.py","lineNumber":248,"sourceCode":"        else:\n            self.state_size = list(state_size)\n            self.single_state = False\n\n    def compute_output_shape(self, sequences_shape, initial_state_shape=None):\n        batch_size = sequences_shape[0]\n        length = sequences_shape[1]\n        states_shape = []\n        for state_size in self.state_size:\n            if isinstance(state_size, int):\n                states_shape.append((batch_size, state_size))\n            elif isinstance(state_size, (list, tuple)):\n                states_shape.append([(batch_size, s) for s in state_size])\n\n        output_size = getattr(self.cell, \"output_size\", None)\n        if output_size is None:\n            output_size = self.state_size[0]\n        if not isinstance(output_size, int):\n            raise ValueError(\"output_size must be an integer.\")\n        if self.return_sequences:\n            output_shape = (batch_size, length, output_size)\n        else:\n            output_shape = (batch_size, output_size)\n        if self.return_state:\n            return output_shape, *states_shape\n        return output_shape\n\n    def compute_mask(self, _, mask):\n        # Time step masks must be the same for each input.\n        # This is because the mask for an RNN is of size [batch, time_steps, 1],\n        # and specifies which time steps should be skipped, and a time step\n        # must be skipped for all inputs.\n        mask = tree.flatten(mask)[0]\n        output_mask = mask if self.return_sequences else None\n        if self.return_state:\n            state_mask = [None for _ in self.state_size]\n            return [output_mask] + state_mask","sourceCodeStart":230,"sourceCodeEnd":266,"githubUrl":"https://github.com/keras-team/keras/blob/7a34a03db60bf60042242d6a556fc3be119046a5/keras/src/layers/rnn/rnn.py#L230-L266","documentation":"Error \"output_size must be an integer.\" thrown in keras-team/keras.","triggerScenarios":"Thrown at keras/src/layers/rnn/rnn.py:248 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"7a34a03db60bf60042242d6a556fc3be119046a5","analyzedAt":"2026-08-25T21:25:25.994Z","schemaVersion":2},"datasetVersion":"2026-08-26T02:17:13.382Z"}