{"record":{"id":"444df9ed61f4cd0b","repo":"keras-team/keras","slug":"the-name-argument-should-be-a-number-or-a-lis-444df9","errorCode":null,"errorMessage":"The `{name}` argument should be a number (or a list of two numbers) Received: {name}={factor}","messagePattern":"The `(.+?)` argument should be a number \\(or a list of two numbers\\) Received: (.+?)=(.+?)","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"keras/src/layers/preprocessing/image_preprocessing/random_gaussian_blur.py","lineNumber":77,"sourceCode":"    ):\n        super().__init__(data_format=data_format, **kwargs)\n        self._set_factor(factor)\n        self.kernel_size = self._set_kernel_size(kernel_size, \"kernel_size\")\n        self.sigma = self._set_factor_by_name(sigma, \"sigma\")\n        self.value_range = value_range\n        self.seed = seed\n        self.generator = SeedGenerator(seed)\n\n    def _set_kernel_size(self, factor, name):\n        error_msg = f\"{name} must be an odd number. Received: {name}={factor}\"\n        if isinstance(factor, (tuple, list)):\n            if len(factor) != 2:\n                error_msg = (\n                    f\"The `{name}` argument should be a number \"\n                    \"(or a list of two numbers) \"\n                    f\"Received: {name}={factor}\"\n                )\n                raise ValueError(error_msg)\n            if (factor[0] % 2 == 0) or (factor[1] % 2 == 0):\n                raise ValueError(error_msg)\n            lower, upper = factor\n        elif isinstance(factor, (int, float)):\n            if factor % 2 == 0:\n                raise ValueError(error_msg)\n            lower, upper = factor, factor\n        else:\n            raise ValueError(error_msg)\n\n        return lower, upper\n\n    def _set_factor_by_name(self, factor, name):\n        error_msg = (\n            f\"The `{name}` argument should be a number \"\n            \"(or a list of two numbers) \"\n            \"in the range \"\n            f\"[{self._FACTOR_BOUNDS[0]}, {self._FACTOR_BOUNDS[1]}]. \"","sourceCodeStart":59,"sourceCodeEnd":95,"githubUrl":"https://github.com/keras-team/keras/blob/7a34a03db60bf60042242d6a556fc3be119046a5/keras/src/layers/preprocessing/image_preprocessing/random_gaussian_blur.py#L59-L95","documentation":"RandomGaussianBlur._set_kernel_size validates the kernel_size argument in __init__. A kernel size must be a single odd integer or a 2-element sequence of odd integers (one per axis). When a sequence of any other length is given, this ValueError fires at construction.","triggerScenarios":"kernel_size=[3, 3, 3] (three entries), kernel_size=[3], or kernel_size=[] passed to layers.RandomGaussianBlur().","commonSituations":"Configs that add a channel dimension to kernel sizes; reusing a 3-element kernel spec from a 3D-conv setting; YAML list typos.","solutions":["Pass kernel_size=[kh, kw] with both odd, e.g. [3, 3]","Or a single odd integer, e.g. kernel_size=5","Sanitize config lists to length 1 or 2 before construction"],"exampleFix":"# before\nlayers.RandomGaussianBlur(kernel_size=[3, 3, 3])\n# after\nlayers.RandomGaussianBlur(kernel_size=[3, 3])","handlingStrategy":"validation","validationCode":"ks = [3, 3]\nassert isinstance(ks, int) or len(ks) == 2, \"kernel_size must be int or 2-element list\"","typeGuard":"def is_valid_kernel_size(v) -> bool:\n    return isinstance(v, int) or (isinstance(v, (tuple, list)) and len(v) == 2)","tryCatchPattern":"try:\n    layer = RandomGaussianBlur(kernel_size=ks)\nexcept ValueError:\n    layer = RandomGaussianBlur(kernel_size=3)","preventionTips":["Use scalar kernel_size unless anisotropic blur is needed","Schema-check config lists for length 1 or 2"],"tags":["keras","preprocessing","argument-validation","kernel-size"],"backgroundTag":"argument-shape-validation","analyzedSha":"7a34a03db60bf60042242d6a556fc3be119046a5","analyzedAt":"2026-08-25T21:25:25.994Z","schemaVersion":2},"datasetVersion":"2026-08-26T02:17:13.382Z"}