keras-team/keras · error · ValueError
Received: input_number={input_number}
Error message
Received: input_number={input_number} What it means
Raised by RandomTranslation's _check_factor_range when a translation factor falls outside [-1.0, 1.0]. Translation is expressed as a fraction of the image dimension, so 100% is the maximum in either direction.
Source
Thrown at keras/src/layers/preprocessing/image_preprocessing/random_translation.py:169
+ f"Received: {factor_name}={factor}"
)
self._check_factor_range(factor[0])
self._check_factor_range(factor[1])
lower, upper = sorted(factor)
elif isinstance(factor, (int, float)):
self._check_factor_range(factor)
factor = abs(factor)
lower, upper = [-factor, factor]
else:
raise ValueError(
self._FACTOR_VALIDATION_ERROR
+ f"Received: {factor_name}={factor}"
)
return lower, upper
def _check_factor_range(self, input_number):
if input_number > 1.0 or input_number < -1.0:
raise ValueError(
self._FACTOR_VALIDATION_ERROR
+ f"Received: input_number={input_number}"
)
def _transform_images(self, images, transformation, interpolation):
return self._translate_inputs(images, transformation, interpolation)
def transform_labels(self, labels, transformation, training=True):
return labels
def get_transformed_x_y(self, x, y, transform):
a0, a1, a2, b0, b1, b2, c0, c1 = self.backend.numpy.split(
transform, 8, axis=-1
)
k = c0 * x + c1 * y + 1
x_transformed = (a0 * x + a1 * y + a2) / k
y_transformed = (b0 * x + b1 * y + b2) / kView on GitHub (pinned to 7a34a03db6)
Solutions
- Divide pixel offsets by the image size to get a fraction
- Keep values in [-1.0, 1.0]; note negative scalars are fine here and become symmetric ranges
Example fix
// before layer = RandomTranslation(height_factor=50, width_factor=50) // meant pixels // after layer = RandomTranslation(height_factor=50/224, width_factor=50/224)
Defensive patterns
Strategy: validation
Validate before calling
vals = factor if isinstance(factor, (tuple, list)) else [factor] assert all(-1.0 <= x <= 1.0 for x in vals), 'translation factors must be in [-1.0, 1.0]'
Type guard
def in_translation_range(x):
return isinstance(x, (int, float)) and -1.0 <= x <= 1.0 Try / catch
try:
layer = RandomTranslation(h, w)
except ValueError:
h = max(-1.0, min(1.0, h / img_size))
layer = RandomTranslation(h, w) Prevention
- Always express translation as a fraction of image size
- Compute fractions from pixel offsets: pixels / image_dimension
When it happens
Trigger: Calling RandomTranslation(height_factor=1.5, width_factor=0.1), or a pair like (-1.2, 0.3).
Common situations: Passing pixel counts instead of fractions (e.g. 50 for 50 pixels on a 100px image); confusing the sign conventions with RandomShear (which forbids negatives).
Related errors
- The `factor` argument should be a number (or a list of two n
- Received: input_number={input_number}
- Received: input_number={input_number}
- The `factor` argument should be a number (or a list of two n
- Unknown `fill_mode` {fill_mode}. Expected of one {self._SUPP
AI-assisted analysis of keras-team/keras@7a34a03db6 (2026-08-25).
Data as JSON: /api/errors/2ad12fa15addacd0.
Report an issue: GitHub.