Releases: keras-team/keras
Keras 3.1.1
This is a minor bugfix release over 3.1.0.
What's Changed
- Unwrap variable values in all stateless calls. by @hertschuh in #19287
- Fix
draw_seedcausing device discrepancy issue duringtorch's symbolic execution by @KhawajaAbaid in #19289 - Fix TestCase.run_layer_test for multi-output layers by @shkarupa-alex in #19293
- Sine docstring by @grasskin in #19295
- Fix
keras.ops.softmaxfor the tensorflow backend by @tirthasheshpatel in #19300 - Fix mixed precision check in TestCase.run_layer_test: compare with output_spec dtype instead of hardcoded float16 by @shkarupa-alex in #19297
- ArrayDataAdapter no longer converts to NumPy and supports sparse tens⦠by @hertschuh in #19298
- add token to codecov by @haifeng-jin in #19312
- Add Tensorflow support for variable
scatter_updatein optimizers. by @hertschuh in #19313 - Replace
dm-treewithoptreeby @james77777778 in #19306 - downgrade codecov to v3 by @haifeng-jin in #19319
- Allow tensors in
tf.Datasets to have different dimensions. by @hertschuh in #19318 - update codecov setting by @haifeng-jin in #19320
- Set dtype policy for uint8 by @sampathweb in #19327
- Use Value dim shape for Attention compute_output_shape by @sampathweb in #19284
New Contributors
- @tirthasheshpatel made their first contribution in #19300
Full Changelog: v3.1.0...v3.1.1
Keras 3.1.0
New features
- Add support for
int8inference. Just callmodel.quantize("int8")to do an in-place conversion of a bfloat16 or float32 model to an int8 model. Note that onlyDenseandEinsumDenselayers will be converted (this covers LLMs and all Transformers in general). We may add more supported layers over time. - Add
keras.config.set_backend(backend)utility to reload a different backend. - Add
keras.layers.MelSpectrogramlayer for turning raw audio data into Mel spectrogram representation. - Add
keras.ops.custom_gradientdecorator (only for JAX and TensorFlow). - Add
keras.ops.image.crop_images. - Add
pad_to_aspect_ratioargument toimage_dataset_from_directory. - Add
keras.random.binomialandkeras.random.betafunctions. - Enable
keras.ops.einsumto run with int8 x int8 inputs and int32 output. - Add
verboseargument in all dataset-creation utilities.
Notable fixes
- Fix Functional model slicing
- Fix for TF XLA compilation error for
SpectralNormalization - Refactor
axislogic across all backends and add support for multiple axes inexpand_dimsandsqueeze
New Contributors
- @mykolaskrynnyk made their first contribution in #19190
- @chicham made their first contribution in #19201
- @joycebrum made their first contribution in #19214
- @EtiNL made their first contribution in #19228
Full Changelog: v3.0.5...v3.1.0
Keras 3.0.5
This release brings many bug fixes and performance improvements, new linear algebra ops, and sparse tensor support for the JAX backend.
Highlights
- Add support for sparse tensors with the JAX backend.
- Add support for saving/loading in bfloat16.
- Add linear algebra ops in
keras.ops.linalg. - Support nested structures in
while_loopop. - Add
erfinvop. - Add
normalizeop. - Add support for
IterableDatasettoTorchDataLoaderAdapter.
New Contributors
- @frazane made their first contribution in #19107
- @SamanehSaadat made their first contribution in #19111
- @sitamgithub-MSIT made their first contribution in #19142
- @timotheeMM made their first contribution in #19169
Full Changelog: v3.0.4...v3.0.5
Keras 3.0.4
This is a minor release with improvements to the LoRA API required by the next release of KerasNLP.
Full Changelog: v3.0.3...v3.0.4
Keras 3.0.3 release
This is a minor Keras release.
What's Changed
- Add built-in LoRA (low-rank adaptation) API to all relevant layers (
Dense,EinsumDense,Embedding). - Add
SwapEMAWeightscallback to make it easier to evaluate model metrics using EMA weights during training. - All
DataAdaptersnow create a native iterator for each backend, improving performance. - Add built-in prefetching for JAX, improving performance.
- The
bfloat16dtype is now allowed in the globalset_dtypeconfiguration utility. - Bug fixes and performance improvements.
New Contributors
- @kiraksi made their first contribution in #18977
- @dugujiujian1999 made their first contribution in #19010
- @neo-alex made their first contribution in #18997
- @anas-rz made their first contribution in #19057
Full Changelog: v3.0.2...v3.0.3
Keras 3.0.2
Breaking changes
There are no known breaking changes in this release compared to 3.0.1.
API changes
- Add
keras.random.binomialandkeras.random.betaRNG functions. - Add masking support to
BatchNormalization. - Add
keras.losses.CTC(loss function for sequence-to-sequence tasks) as well as the lower-level operationkeras.ops.ctc_loss. - Add
ops.random.alpha_dropoutandlayers.AlphaDropout. - Add gradient accumulation support for all backends, and enable optimizer EMA for JAX and torch
Full Changelog: v3.0.1...v3.0.2
Keras 3.0.1
This is a minor release focused on bug fixes and performance improvements.
What's Changed
- Bug fixes and performance improvements.
- Add
stop_evaluatingandstop_predictingmodel attributes for callbacks, similar tostop_training. - Add
keras.device()scope for managing device placement in a multi-backend way. - Support dict items in
PyDataset. - Add
hard_swishactivation and op. - Fix cuDNN LSTM performance on TensorFlow backend.
- Add a
force_downloadarg toget_fileto force cache invalidation.
Full Changelog: v3.0.0...v3.0.1
Keras 3.0.0
Major updates
See the release announcement for a detailed list of major changes. Main highlights compared to Keras 2 are:
- Keras can now be run on top of JAX, PyTorch, TensorFlow, and even NumPy (note that the NumPy backend is inference-only).
- New low-level
keras.opsAPI for building cross-framework components. - New large-scale model distribution
keras.distributionbased on JAX. - New stateless API for layers, models, optimizers, and metrics.
Breaking changes
See this thread for a complete list of breaking changes, as well as the Keras 3 migration guide.
Keras Release 2.15.0
What's Changed
- Typofixes for
StringLookupdocumentation by @cw118 in #18333 - Fix ModelCheckpoint trained-on batch counting when using steps_per_execution>1 by @jasnyj in #17632
- Fix legacy optimizer handling in
compile_from_config(). by @nkovela1 in #18492 - Remove options arg from ModelCheckpoint callback for Keras V3 saving, streamline ModelCheckpoint saving flow. Parameterize associated tests. by @nkovela1 in #18545
- Use TENSORFLOW_VERSION when available during pip_build script by @sampathweb in #18739
New Contributors
Full Changelog: v2.14.0...v2.15.0
Keras Release 2.14.0
What's Changed
- [keras/layers/normalization] Standardise docstring usage of "Default to" by @SamuelMarks in #17965
- Update Python ver to 3.9 in Dockerfile by @sampathweb in #18076
- [keras/saving/legacy/saved_model] Standardise docstring usage of "Default to" by @SamuelMarks in #17978
- [keras/metrics] Standardise docstring usage of "Default to" by @SamuelMarks in #17972
- Update example losses to bce- metrics/confusion_metrics.py by @Frightera in #18045
- [keras/layers/regularization] Standardise docstring usage of "Default to" by @SamuelMarks in #17968
- [keras/applications/efficientnet.py] Standardise docstring usage of "Default to" by @SamuelMarks in #17758
- [keras/models] Standardise docstring usage of "Default to" by @SamuelMarks in #17974
- [keras/mixed_precision] Standardise docstring usage of "Default to" by @SamuelMarks in #17973
- Update indentation level - losses.py by @Frightera in #18043
- Remove github user sushreebarsa from assignees. by @shmishra99 in #18058
- [keras/preprocessing] Standardise docstring usage of "Default to" by @SamuelMarks in #17977
- [keras/testing_infra] Standardise docstring usage of "Default to" by @SamuelMarks in #17979
- [keras/benchmarks/benchmark_util.py] Use var rather than string literal for
is Nonechecks onmeasure_performanceby @SamuelMarks in #17980 - Some cleanup // Optimizers by @Frightera in #18124
- [keras/layers/preprocessing] fix comments in RandomWidth, change to 'horizontally' instead of 'vertically' by @qibolee in #18113
- [keras/applications] Standardise docstring usage of "Default to" by @SamuelMarks in #17954
- [keras/estimator] Standardise docstring usage of "Default to" by @SamuelMarks in #17957
- Fix CategoricalFocalCE documentation by @Frightera in #18144
- [keras/utils] Standardise docstring usage of "Default to" by @SamuelMarks in #17953
- [keras/layers/pooling] Standardise docstring usage of "Default to" by @SamuelMarks in #17966
- use io_utils.print_msg in datset_utils by @pedrobrs in #18054
- Update indentation level - activations.py by @Frightera in #18036
- [keras/legacy_tf_layers] Standardise docstring usage of "Default to" by @SamuelMarks in #17971
- [keras/layers/convolutional] Standardise docstring usage of "Default to" by @SamuelMarks in #17963
- [keras/engine] Standardise docstring usage of "Default to" by @SamuelMarks in #17956
- [keras/feature_column] Standardise docstring usage of "Default to" by @SamuelMarks in #17958
- Fix markdown rendering issue by @sachinprasadhs in #18205
- Consistently use "pickleable" instead of "picklable" by @NicoWeio in #18140
- Use prefetch() after batching // image_dataset.py by @Frightera in #18160
- Update Argument padding for zero_padding1d.py by @SuryanarayanaY in #18223
- RGB image data is not grayscale image data by @misterrioes in #18133
- updated read.me by @VaishnaviMudaliar in #18226
- Fixed the typo in policy.py by @tilakrayal in #18233
- Update example losses @ probabilistic_metrics.py by @Frightera in #18234
- Fixed "reset_state" of R2Score metric by @pdyakov in #18251
- Ignore hidden folders for image_dataset_from_directory by @sachinprasadhs in #18177
- Improve error message for input data to fit. by @tomrtk in #18042
- refactor: _log_epoch_metrics() by @arjun-234 in #18274
- Refactor test cases to improve unit test quality by @freddiewanah in #18303
- typo in disable_interactie_logging by @ganeshiva in #18314
- Removes Python 3.8 support by @sampathweb in #18332
- Update requirements.txt by @qlzh727 in #18382
New Contributors
- @sampathweb made their first contribution in #18076
- @shmishra99 made their first contribution in #18058
- @qibolee made their first contribution in #18113
- @pedrobrs made their first contribution in #18054
- @NicoWeio made their first contribution in #18140
- @SuryanarayanaY made their first contribution in #18223
- @misterrioes made their first contribution in #18133
- @VaishnaviMudaliar made their first contribution in #18226
- @pdyakov made their first contribution in #18251
- @tomrtk made their first contribution in #18042
- @arjun-234 made their first contribution in #18274
- @freddiewanah made their first contribution in #18303
- @ganeshiva made their first contribution in #18314
Full Changelog: v2.13.1...v2.14.0