{"record":{"id":"d3455e67cca9bff4","repo":"keras-team/keras","slug":"the-seed-and-generator-variable-must-be-set-in","errorCode":null,"errorMessage":"The `seed` and `generator` variable must be set in the `__init__` method before calling `_get_seed_generator()`.","messagePattern":"The `seed` and `generator` variable must be set in the `__init__` method before calling `_get_seed_generator\\(\\)`\\.","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"keras/src/layers/preprocessing/data_layer.py","lineNumber":139,"sourceCode":"                self.backend.reset()\n                if switch_convert_input_args:\n                    self._convert_input_args = True\n            return outputs\n        elif (\n            not isinstance(sample_input, keras.KerasTensor)\n            and backend_utils.in_grain_data_pipeline()\n        ):\n            # We're in a Grain data pipeline. Force computation and data\n            # placement to CPU.\n            with keras.src.backend.device_scope(\"cpu\"):\n                return super().__call__(inputs, **kwargs)\n        else:\n            return super().__call__(inputs, **kwargs)\n\n    @tracking.no_automatic_dependency_tracking\n    def _get_seed_generator(self, backend=None):\n        if not hasattr(self, \"seed\") or not hasattr(self, \"generator\"):\n            raise ValueError(\n                \"The `seed` and `generator` variable must be set in the \"\n                \"`__init__` method before calling `_get_seed_generator()`.\"\n            )\n        if backend is None or backend == keras.backend.backend():\n            return self.generator\n        if not hasattr(self, \"_backend_generators\"):\n            self._backend_generators = {}\n        if backend in self._backend_generators:\n            return self._backend_generators[backend]\n        seed_generator = SeedGenerator(self.seed, backend=self.backend)\n        self._backend_generators[backend] = seed_generator\n        return seed_generator\n\n    def convert_weight(self, weight):\n        \"\"\"Convert the weight if it is from the a different backend.\"\"\"\n        if self.backend.name == keras.backend.backend():\n            return weight\n        else:","sourceCodeStart":121,"sourceCodeEnd":157,"githubUrl":"https://github.com/keras-team/keras/blob/7a34a03db60bf60042242d6a556fc3be119046a5/keras/src/layers/preprocessing/data_layer.py#L121-L157","documentation":"Error \"The `seed` and `generator` variable must be set in the `__init__` method before calling `_get_seed_generator()`.\" thrown in keras-team/keras.","triggerScenarios":"Thrown at keras/src/layers/preprocessing/data_layer.py:139 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"}