{"record":{"id":"f30e1fea9e0297cc","repo":"huggingface/pytorch-image-models","slug":"schedule-random-mix-must-be-between-0-and-1","errorCode":null,"errorMessage":"schedule_random_mix must be between 0 and 1.","messagePattern":"schedule_random_mix must be between 0 and 1\\.","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"timm/data/scheduled_sampler.py","lineNumber":80,"sourceCode":"        if len(sampler) <= 0:\n            raise ValueError('ScheduledBatchSampler requires a non-empty sampler.')\n        if not batch_sizes:\n            raise ValueError('batch_sizes must contain at least one value.')\n        if any(int(batch_size) != batch_size or batch_size <= 0 for batch_size in batch_sizes):\n            raise ValueError('All scheduled batch sizes must be positive integers.')\n        if num_batches is not None and (int(num_batches) != num_batches or num_batches <= 0):\n            raise ValueError('num_batches must be a positive integer when specified.')\n        if choice_schedule not in ('constant', 'progressive'):\n            raise ValueError(\"choice_schedule must be 'constant' or 'progressive'.\")\n        if choice_schedule == 'progressive':\n            if len(batch_sizes) < 2:\n                raise ValueError('A progressive schedule requires at least two choices.')\n            if schedule_epochs is None or int(schedule_epochs) != schedule_epochs or schedule_epochs <= 0:\n                raise ValueError('schedule_epochs must be a positive integer for a progressive schedule.')\n            if schedule_spread < 0:\n                raise ValueError('schedule_spread must be non-negative.')\n            if not 0 <= schedule_random_mix <= 1:\n                raise ValueError('schedule_random_mix must be between 0 and 1.')\n\n        self.sampler = sampler\n        self.batch_sizes = tuple(int(batch_size) for batch_size in batch_sizes)\n        self.choice_weights = self._normalize_choice_weights(choice_weights)\n        self._active_choices = tuple(\n            choice_index\n            for choice_index, choice_weight in enumerate(self.choice_weights)\n            if choice_weight > 0\n        )\n        self.seed = seed\n        self.drop_last = drop_last\n        self.shuffle_schedule = shuffle_schedule\n        self.choice_schedule = choice_schedule\n        self.schedule_epochs = int(schedule_epochs) if schedule_epochs is not None else None\n        self.schedule_spread = schedule_spread\n        self.schedule_random_mix = schedule_random_mix\n        self.epoch = 0\n        self.average_batch_size = self._calculate_average_batch_size()","sourceCodeStart":62,"sourceCodeEnd":98,"githubUrl":"https://github.com/huggingface/pytorch-image-models/blob/9a5261e31b3b5128526eb2658333b4c0a54464ae/timm/data/scheduled_sampler.py#L62-L98","documentation":"schedule_random_mix — the fraction of batches randomly mixed between choice levels in a progressive schedule — must lie in [0, 1]; values outside that range are rejected at construction.","triggerScenarios":"choice_schedule='progressive' with schedule_random_mix=1.5, -0.1, or 10.","commonSituations":"Config typo (extra digit); expressing the mix as a percentage (10 for 10%) instead of a fraction (0.1).","solutions":["Express the value as a fraction in [0,1] (e.g. 0.1 for 10% random mixing).","If it's not needed, leave it at the default 0.1 or set 0."],"exampleFix":"# before\nschedule_random_mix=10  # meant 10%\n\n# after\nschedule_random_mix=0.1","handlingStrategy":"validation","validationCode":"assert schedule_random_mix is None or 0 <= schedule_random_mix <= 1","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Express mix as a fraction (0.1 not 10).","Range-check probability-like hyperparameters in config validation."],"tags":["timm","sampler","random-mix","validation"],"backgroundTag":"value-out-of-range","analyzedSha":"9a5261e31b3b5128526eb2658333b4c0a54464ae","analyzedAt":"2026-08-27T02:34:25.417Z","schemaVersion":2},"datasetVersion":"2026-08-27T03:17:27.898Z"}