{"record":{"id":"9c23f92f08df0f08","repo":"keras-team/keras","slug":"the-name-argument-should-be-a-number-or-a-lis-9c23f9","errorCode":null,"errorMessage":"The `{name}` argument should be a number (or a list of two numbers) in the range [{self._FACTOR_BOUNDS[0]}, {self._FACTOR_BOUNDS[1]}]. Received: factor={factor}","messagePattern":"The `(.+?)` argument should be a number \\(or a list of two numbers\\) in the range \\[(.+?), (.+?)\\]\\. Received: factor=(.+?)","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"keras/src/layers/preprocessing/image_preprocessing/random_gaussian_blur.py","lineNumber":100,"sourceCode":"            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]}]. \"\n            f\"Received: factor={factor}\"\n        )\n        if isinstance(factor, (tuple, list)):\n            if len(factor) != 2:\n                raise ValueError(error_msg)\n            if (\n                factor[0] > self._FACTOR_BOUNDS[1]\n                or factor[1] < self._FACTOR_BOUNDS[0]\n            ):\n                raise ValueError(error_msg)\n            lower, upper = sorted(factor)\n        elif isinstance(factor, (int, float)):\n            if (\n                factor < self._FACTOR_BOUNDS[0]\n                or factor > self._FACTOR_BOUNDS[1]\n            ):\n                raise ValueError(error_msg)\n            factor = abs(factor)\n            lower, upper = [max(-factor, self._FACTOR_BOUNDS[0]), factor]\n        else:\n            raise ValueError(error_msg)\n        return lower, upper\n","sourceCodeStart":82,"sourceCodeEnd":118,"githubUrl":"https://github.com/keras-team/keras/blob/7a34a03db60bf60042242d6a556fc3be119046a5/keras/src/layers/preprocessing/image_preprocessing/random_gaussian_blur.py#L82-L118","documentation":"RandomGaussianBlur._set_factor_by_name validates numeric factors (e.g. the blur sigma/factor) in __init__. A sequence form must be exactly two numbers denoting lower and upper bounds; sequences of any other length raise this ValueError immediately.","triggerScenarios":"factor=[0.1, 0.2, 0.3] or factor=[0.1] passed to layers.RandomGaussianBlur(); an empty list from a config.","commonSituations":"Config generators emitting variable-length lists; nested YAML structures that wrap the pair once more; copy-paste from layers taking per-axis triples.","solutions":["Pass a 2-element list [lower, upper], e.g. factor=[0.0, 2.0]","Or a single number such as factor=1.0","Flatten nested config lists before construction"],"exampleFix":"# before\nlayers.RandomGaussianBlur(factor=[0.5])\n# after\nlayers.RandomGaussianBlur(factor=[0.0, 0.5])","handlingStrategy":"validation","validationCode":"f = [0.0, 2.0]\nassert isinstance(f, (tuple, list)) and len(f) == 2, \"factor must be [lower, upper]\"","typeGuard":"def is_factor_pair(v) -> bool:\n    return isinstance(v, (tuple, list)) and len(v) == 2","tryCatchPattern":"try:\n    layer = RandomGaussianBlur(factor=f)\nexcept ValueError:\n    layer = RandomGaussianBlur(factor=1.0)","preventionTips":["Use [lower, upper] pairs or scalars in configs","Flatten nested YAML structures before layer construction"],"tags":["keras","preprocessing","argument-validation","factor-range"],"backgroundTag":"argument-shape-validation","analyzedSha":"7a34a03db60bf60042242d6a556fc3be119046a5","analyzedAt":"2026-08-25T21:25:25.994Z","schemaVersion":2},"datasetVersion":"2026-08-26T02:17:13.382Z"}