keras-team/keras · error · ValueError
Weight count mismatch for layer #{k} (named {layer.name}). L
Error message
Weight count mismatch for layer #{k} (named {layer.name}). Layer expects {len(symbolic_weights)} weight(s). Received {len(weight_values)} saved weight(s) What it means
Error "Weight count mismatch for layer #{k} (named {layer.name}). Layer expects {len(symbolic_weights)} weight(s). Received {len(weight_values)} saved weight(s)" thrown in keras-team/keras.
Source
Thrown at keras/src/legacy/saving/legacy_h5_format.py:526
if layer.name:
index.setdefault(layer.name, []).append(layer)
for k, name in enumerate(layer_names):
layer_group = safe_get_h5_group(group, name)
weight_values = load_subset_weights_from_hdf5_group(layer_group)
for layer in index.get(name, []):
symbolic_weights = _legacy_weights(layer)
if len(weight_values) != len(symbolic_weights):
if skip_mismatch:
warnings.warn(
f"Skipping loading of weights for layer #{k} (named "
f"{layer.name}) due to mismatch in number of weights. "
f"Layer expects {len(symbolic_weights)} weight(s). "
f"Received {len(weight_values)} saved weight(s)",
stacklevel=2,
)
continue
raise ValueError(
f"Weight count mismatch for layer #{k} "
f"(named {layer.name}). "
f"Layer expects {len(symbolic_weights)} weight(s). "
f"Received {len(weight_values)} saved weight(s)"
)
# Set values.
_set_weights(
layer,
symbolic_weights,
weight_values,
skip_mismatch=skip_mismatch,
name=f"layer #{k} (named {layer.name})",
)
if "top_level_model_weights" in group:
symbolic_weights = (
model._trainable_variables + model._non_trainable_variables
)View on GitHub (pinned to 7a34a03db6)
When it happens
Trigger: Thrown at keras/src/legacy/saving/legacy_h5_format.py:526 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of keras-team/keras@7a34a03db6 (2026-08-25).
Data as JSON: /api/errors/14b878f807952557.
Report an issue: GitHub.