The skip_mismatch flag when loading H5 weights is not respected unless by_name is also specified. Otherwise, it just fails with an error:

ValueError                                Traceback (most recent call last)
[/tmp/ipython-input-7-1152335395.py](https://localhost:8080/#) in <cell line: 0>()
----> 1 m2.load_weights('test_save.h5', skip_mismatch=True)

1 frames
[/usr/local/lib/python3.11/dist-packages/keras/src/legacy/saving/legacy_h5_format.py](https://localhost:8080/#) in _set_weights(instance, symbolic_weights, weight_values, name, skip_mismatch)
    438                 )
    439                 continue
--> 440             raise ValueError(
    441                 f"Shape mismatch in {name}"
    442                 f"for weight {symbolic_weights[i].path}. "

ValueError: Shape mismatch in layer #2 (named dense_5)for weight dense_5/kernel. Weight expects shape (256, 25). Received saved weight with shape (256, 10)

I think it either needs to be fixed, or documented as a feature the same way it's documented that by_name is unsupported with .keras format. By the way, despite being documented, I think loading .keras with by_name provided could use a better error message than this: ValueError: Invalid keyword arguments: {'by_name': True}

Colab notebook: https://colab.research.google.com/drive/14uH8nQkhKH0KSwozFosCJSiOnGm7I7A-