Keras v3.14.1 Release Notes

Release Date: 2026-05-07 // about 1 month ago
  • Saving & Reloading

    • Harden path and link resolution when extracting files from archives (#22839)

      • Fixed link resolution bug when validating links extracted from TAR archives.
      • Fixed path confusion bug when validating files extracted from ZIP and TAR archives (including .keras files).
      • Added path validation when extracting assets from Orbax checkpoints.
    • Harden H5 validation code and apply it to legacy .h5 files (#22801)

      • Disallow external links and virtual datasets in H5 files.
      • Also apply all the validation to the legacy .h5 file extraction.
    • 👌 Improve validation and error reporting in functional model deserialization (#22800)

      • Detect loops in the graph when deserializing a functional model.
      • Improve error reporting for missing nodes in the graph.

    🛠 Other Fixes

    • 🛠 Fix data sharding logic in ModelParallel (#22179)
    • 🛠 Fix regression with metrics passed to compile (#22663)

      • Fixed a regression introduced in #22308 where y_pred (as a list) and y_true (as a dict with keys matching Functional model output names) were not ordered identically and could be paired incorrectly.
    • 🛠 Fix regression preventing compilation with the L1L2 regularizer (#22629)

    • 🛠 Fix test compatibility with JAX 0.10.0 (#22694)

    Full Changelog : v3.14.0...v3.14.1


Previous changes from v3.14.0

  • Highlights

    • Orbax Checkpoint Integration : Full support for Orbax checkpoints, including sharding, remote paths, and step recovery.
    • ⬆️ Quantization Upgrades : Added support for Activation-aware Weight Quantization (AWQ) and Asymmetric INT4 Sub-Channel Quantization.
    • Batch Renormalization in BatchNorm : Added batch renormalization feature to the BatchRenormalization layer.
    • 🆕 New Optimizer : Added ScheduleFreeAdamW optimizer.
    • Gated Attention : Introduced optional Gated Attention support in MultiHeadAttention and GroupedQueryAttention layers.

    🆕 New Features and Operations

    Multi-Backend Operations

    • NaN-aware NumPy Operations : Added support for nanmin, nanmax, nanmean, nanmedian, nanvar, nanstd, nanprod, nanargmin, nanargmax, and nanquantile in keras.ops.numpy.
    • 🆕 New Math & Linear Algebra Operators : Added nextafter, ptp, view, sinc, fmod, i0, fliplr, flipud, rad2deg, geomspace, depth_to_space, space_to_depth, and fold.

    Preprocessing and Layers

    • CLAHE Layer : Added Contrast Limited Adaptive Histogram Equalization preprocessing layer.
    • 👍 Adapt Support for Iterables : Preprocessing layers now support Python iterables in the adapt() method, which allows the direct use of Grain datasets.

    👍 OpenVINO Backend Support

    ⚡️ The OpenVINO backend received a massive update, implementing a wide array of NumPy and Neural Network operations to achieve feature parity with other backends:

    • NumPy Operations : vander, trapezoid, corrcoef, correlate, flip, diagonal, cbrt, hypot, trace, kron, argpartition, logaddexp2, ldexp, select, round, vstack, hsplit, vsplit, tile, nansum, tensordot, exp2, trunc, gcd, unravel_index, inner, cumprod, searchsorted, hanning, diagflat, norm, histogram, lcm, allclose, real, imag, isreal, kaiser, shuffle, einsum, quantile, conj, randint, in_top_k, signbit, gamma, heaviside, var, std, inv, solve, cholesky_inverse, fft, fft2, ifft2, rfft, irfft, stft, istft, scatter, binomial, unfold, QR decomposition, view, and more.
    • Neural Network Operations : Added support for separable_conv, conv_transpose, adaptive_average_pool, adaptive_max_pool, RNN, LSTM, and GRU.
    • Control Flow Operations : Implemented cond, scan, associative_scan, map, switch, fori_loop, and vectorized_map.

    🐛 Bug Fixes and Improvements

    Backend Specific Improvements

    • PyTorch : Dynamic shapes support in export, device selection improvements, and bug fixes to the CuDNN based LSTM and GRU implementation.
    • JAX : Improved RNG handling in FlaxLayer and JaxLayer, variable jitting improvements, and direct JAX-to-ONNX export.
    • NumPy : Enabled masking support for the NumPy backend.

    Other Improvements

    • 🛠 Fixed multiple symbolic shape bugs across layers like Conv1DTranspose, IndexLookup, and TextVectorization.
    • 🛠 Fixed activity regularizer normalization by batch size.
    • 👌 Improved Sequential error messages for incompatible layers.
    • Minimized memory usage issues in sparse_categorical_crossentropy.

    🆕 New Contributors

    We would like to thank our new contributors for making their first contribution to the Keras project:

    Full Changelog : v3.13.2...v3.14.0