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.