tensorflow/models · error · ValueError

The length of boundaries must be 1 less than the length of m

Error message

The length of boundaries must be 1 less than the length of multipliers

What it means

Error "The length of boundaries must be 1 less than the length of multipliers" thrown in tensorflow/models.

Source

Thrown at official/legacy/image_classification/resnet/common.py:51

    (1.0, 5), (0.1, 30), (0.01, 60), (0.001, 80)
]


class PiecewiseConstantDecayWithWarmup(
    tf_keras.optimizers.schedules.LearningRateSchedule):
  """Piecewise constant decay with warmup schedule."""

  def __init__(self,
               batch_size,
               epoch_size,
               warmup_epochs,
               boundaries,
               multipliers,
               compute_lr_on_cpu=True,
               name=None):
    super(PiecewiseConstantDecayWithWarmup, self).__init__()
    if len(boundaries) != len(multipliers) - 1:
      raise ValueError('The length of boundaries must be 1 less than the '
                       'length of multipliers')

    base_lr_batch_size = 256
    steps_per_epoch = epoch_size // batch_size

    self.rescaled_lr = BASE_LEARNING_RATE * batch_size / base_lr_batch_size
    self.step_boundaries = [float(steps_per_epoch) * x for x in boundaries]
    self.lr_values = [self.rescaled_lr * m for m in multipliers]
    self.warmup_steps = warmup_epochs * steps_per_epoch
    self.compute_lr_on_cpu = compute_lr_on_cpu
    self.name = name

    self.learning_rate_ops_cache = {}

  def __call__(self, step):
    if tf.executing_eagerly():
      return self._get_learning_rate(step)

View on GitHub (pinned to e006f5f0d5)

When it happens

Trigger: Thrown at official/legacy/image_classification/resnet/common.py:51 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of tensorflow/models@e006f5f0d5 (2026-08-24). Data as JSON: /api/errors/be72ff4a4f251769. Report an issue: GitHub.