{"record":{"id":"0cd63308405e2544","repo":"huggingface/pytorch-image-models","slug":"invalid-beta-parameter-at-index-0-betas-0-0cd633","errorCode":null,"errorMessage":"Invalid beta parameter at index 0: {betas[0]}","messagePattern":"Invalid beta parameter at index 0: (.+?)","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"timm/optim/nadamw.py","lineNumber":60,"sourceCode":"    def __init__(\n            self,\n            params: ParamsT,\n            lr: float = 1e-3,\n            betas: Tuple[float, float] = (0.9, 0.999),\n            eps: float = 1e-8,\n            weight_decay: float = 1e-2,\n            caution: bool = False,\n            corrected_weight_decay: bool = False,\n            maximize: bool = False,\n            foreach: Optional[bool] = None,\n            capturable: bool = False,\n    ):\n        if not 0.0 <= lr:\n            raise ValueError(f'Invalid learning rate: {lr}')\n        if not 0.0 <= eps:\n            raise ValueError(f'Invalid epsilon value: {eps}')\n        if not 0.0 <= betas[0] < 1.0:\n            raise ValueError(f'Invalid beta parameter at index 0: {betas[0]}')\n        if not 0.0 <= betas[1] < 1.0:\n            raise ValueError(f'Invalid beta parameter at index 1: {betas[1]}')\n        if not 0.0 <= weight_decay:\n            raise ValueError(f'Invalid weight_decay value: {weight_decay}')\n        defaults = dict(\n            lr=lr,\n            betas=betas,\n            eps=eps,\n            weight_decay=weight_decay,\n            caution=caution,\n            corrected_weight_decay=corrected_weight_decay,\n            foreach=foreach,\n            maximize=maximize,\n            capturable=capturable,\n        )\n        super().__init__(params, defaults)\n\n    def __setstate__(self, state):","sourceCodeStart":42,"sourceCodeEnd":78,"githubUrl":"https://github.com/huggingface/pytorch-image-models/blob/9a5261e31b3b5128526eb2658333b4c0a54464ae/timm/optim/nadamw.py#L42-L78","documentation":"NAdamW constructor validation: betas[0] (beta1, momentum decay) must satisfy 0.0 <= beta1 < 1.0. Values outside this range make the exponential moving average unstable.","triggerScenarios":"Calling timm.optim.NAdamW(params, betas=(1.0, 0.999)) or betas=(-0.1, 0.999).","commonSituations":"Copying betas from another optimizer with different conventions, sweep search spaces that include 1.0, or swapping beta1/beta2 order.","solutions":["Use standard betas like (0.9, 0.999)","Restrict hyperparameter search ranges to [0, 1) for beta1"],"exampleFix":"# before\nopt = NAdamW(model.parameters(), betas=(1.0, 0.999))\n\n# after\nopt = NAdamW(model.parameters(), betas=(0.9, 0.999))","handlingStrategy":"validation","validationCode":"assert 0.0 <= betas[0] < 1.0","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Keep beta1 in [0, 1) in search spaces","Copy betas from known-good Adam configs"],"tags":["timm","nadamw","betas","valueerror"],"backgroundTag":"invalid-optimizer-hyperparameter","analyzedSha":"9a5261e31b3b5128526eb2658333b4c0a54464ae","analyzedAt":"2026-08-27T02:34:25.417Z","schemaVersion":2},"datasetVersion":"2026-08-27T03:17:27.898Z"}