Skip to content

Releases: keras-team/keras

Keras Release 2.8.0

03 Feb 05:13
Compare
Choose a tag to compare

Please see the release history at https://github.com/tensorflow/tensorflow/releases/tag/v2.8.0 for more details.

Keras Release 2.8.0 RC1

18 Jan 17:54
Compare
Choose a tag to compare
Pre-release

What's Changed

  • Compute LSTM and GRU via cuDNN for RaggedTensors. by @foxik in #15862

Full Changelog: v2.8.0-rc0...v2.8.0-rc1

Keras Release 2.8.0 RC0

22 Dec 18:26
Compare
Choose a tag to compare
Pre-release

Please see https://github.com/tensorflow/tensorflow/blob/r2.8/RELEASE.md for Keras release notes.

  • tf.keras:
    • Preprocessing Layers
      • Added a tf.keras.layers.experimental.preprocessing.HashedCrossing
        layer which applies the hashing trick to the concatenation of crossed
        scalar inputs. This provides a stateless way to try adding feature crosses
        of integer or string data to a model.
      • Removed keras.layers.experimental.preprocessing.CategoryCrossing. Users
        should migrate to the HashedCrossing layer or use
        tf.sparse.cross/tf.ragged.cross directly.
      • Added additional standardize and split modes to TextVectorization.
        • standardize="lower" will lowercase inputs.
        • standardize="string_punctuation" will remove all puncuation.
        • split="character" will split on every unicode character.
      • Added an output_mode argument to the Discretization and Hashing
        layers with the same semantics as other preprocessing layers. All
        categorical preprocessing layers now support output_mode.
      • All preprocessing layer output will follow the compute dtype of a
        tf.keras.mixed_precision.Policy, unless constructed with
        output_mode="int" in which case output will be tf.int64.
        The output type of any preprocessing layer can be controlled individually
        by passing a dtype argument to the layer.
    • tf.random.Generator for keras initializers and all RNG code.
      • Added 3 new APIs for enable/disable/check the usage of
        tf.random.Generator in keras backend, which will be the new backend for
        all the RNG in Keras. We plan to switch on the new code path by default in
        tf 2.8, and the behavior change will likely to cause some breakage on user
        side (eg if the test is checking against some golden nubmer). These 3 APIs
        will allow user to disable and switch back to legacy behavior if they
        prefer. In future (eg tf 2.10), we expect to totally remove the legacy
        code path (stateful random Ops), and these 3 APIs will be removed as well.
    • tf.keras.callbacks.experimental.BackupAndRestore is now available as
      tf.keras.callbacks.BackupAndRestore. The experimental endpoint is
      deprecated and will be removed in a future release.
    • tf.keras.experimental.SidecarEvaluator is now available as
      tf.keras.utils.SidecarEvaluator. The experimental endpoint is
      deprecated and will be removed in a future release.
    • Metrics update and collection logic in default Model.train_step() is now
      customizable via overriding Model.compute_metrics().
    • Losses computation logic in default Model.train_step() is now
      customizable via overriding Model.compute_loss().
    • jit_compile added to Model.compile() on an opt-in basis to compile the
      model's training step with XLA. Note that
      jit_compile=True may not necessarily work for all models.

What's Changed

  • Cleanup legacy Keras files by @qlzh727 in #14256
  • Sync OSS keras to head. by @qlzh727 in #14300
  • Update build script for GPU build. by @copybara-service in #14336
  • Move the LossReduction class from tf to Keras. by @copybara-service in #14362
  • Update keras API generate script. by @copybara-service in #14418
  • Adding extra target that are needed by PIP package dependency. by @copybara-service in #14421
  • Add test related targets to PIP package list. by @copybara-service in #14427
  • Sync OSS keras to head. by @copybara-service in #14428
  • Update visibility setting for keras/tests to enable PIP package testing. by @copybara-service in #14429
  • Remove items from PIP_EXCLUDED_FILES which is needed with testing PIP. by @copybara-service in #14431
  • Split bins into num_bins and bin_boundaries arguments for discretization by @copybara-service in #14507
  • Update pbtxt to use _PRFER_OSS_KERAS=1. by @copybara-service in #14519
  • Sync OSS keras to head. by @copybara-service in #14572
  • Sync OSS keras to head. by @copybara-service in #14614
  • Cleanup the bazelrc and remove unrelated items to keras. by @copybara-service in #14616
  • Sync OSS keras to head. by @copybara-service in #14624
  • Remove object metadata when saving SavedModel. by @copybara-service in #14697
  • Fix static shape inference for Resizing layer. by @copybara-service in #14712
  • Make TextVectorization work with list input. by @copybara-service in #14711
  • Remove deprecated methods of Sequential model. by @copybara-service in #14714
  • Improve Model docstrings by @copybara-service in #14726
  • Add migration doc for legacy_tf_layers/core.py. by @copybara-service in #14740
  • PR #43417: Fixes #42872: map_to_outputs_names always returns a copy by @copybara-service in #14755
  • Rename the keras.py to keras_lib.py to resolve the name conflict during OSS test. by @copybara-service in #14778
  • Switch to tf.io.gfile for validating vocabulary files. by @copybara-service in #14788
  • Avoid serializing generated thresholds for AUC metrics. by @copybara-service in #14789
  • Fix data_utils.py when name ends with .tar.gz by @copybara-service in #14777
  • Fix lookup layer oov token check when num_oov_indices > len(vocabulary tokens) by @copybara-service in #14793
  • Update callbacks.py by @jvishnuvardhan in #14760
  • Fix keras metric.result_state when the metric variables are sharded variable. by @copybara-service in #14790
  • Fix typos in CONTRIBUTING.md by @amogh7joshi in #14642
  • Fixed ragged sample weights by @DavideWalder in #14804
  • Pin the protobuf version to 3.9.2 which is same as the TF. by @copybara-service in #14835
  • Make variable scope shim regularizer adding check for attribute presence instead of instance class by @copybara-service in #14837
  • Add missing license header for leakr check. by @copybara-service in #14840
  • Fix TextVectorization with output_sequence_length on unknown input shapes by @copybara-service in #14832
  • Add more explicit error message for instance type checking of optimizer. by @copybara-service in #14846
  • Set aggregation for variable when using PS Strategy for aggregating variables when running multi-gpu tests. by @copybara-service in #14845
  • Remove unnecessary reshape layer in MobileNet architecture by @copybara-service in #14854
  • Removes caching of the convolution tf.nn.convolution op. While this provided some performance benefits, it also produced some surprising behavior for users in eager mode. by @copybara-service in #14855
  • Output int64 by default from Discretization by @copybara-service in #14841
  • add patterns to .gitignore by @haifeng-jin in #14861
  • Clarify documentation of DepthwiseConv2D by @vinhill in #14817
  • add DepthwiseConv1D layer by @fsx950223 in #14863
  • Make model summary wrap by @Llamrei in #14865
  • Update the link in Estimator by @hirobf10 in #14901
  • Fix int given for float args by @SamuelMarks in #14900
  • Fix RNN, StackedRNNCells with nested state_size, output_size TypeError issues by @Ending2015a in #14905
  • Fix the use of imagenet_utils.preprocess_input within a Lambda layer with mixed precision by @anth2o in #14917
  • Fix docstrings in MultiHeadAttention layer call argument return_attention_scores. by @guillesanbri in #14920
  • Check if layer has _metrics_lock attribute by @DanBmh in #14903
  • Make keras.Model picklable by @adriangb in #14748
  • Fix typo in docs by @seanmor5 in #14946
  • use getter setter by @fsx950223 in #14948
  • Close _SESSION.session in clear_session by @sfreilich in #14414
  • Fix keras nightly PIP package build. by @copybara-service in #14957
  • Fix EarlyStopping stop at fisrt epoch when patience=0 ; add auc to au… by @DachuanZhao in...
Read more

Keras Release 2.7.0

03 Nov 16:24
2c48a3b
Compare
Choose a tag to compare

Please see the release history at https://github.com/tensorflow/tensorflow/releases/tag/v2.7.0 for more details.

Keras Release 2.7.0 RC2

28 Oct 04:17
2c48a3b
Compare
Choose a tag to compare
Pre-release

What's Changed

Full Changelog: v2.7.0-rc1...v2.7.0-rc2

Keras Release 2.7.0 RC1

05 Oct 17:43
Compare
Choose a tag to compare
Pre-release

Cherrypicked the documentation update for functional model slicing.

Keras Release 2.7.0 RC0

27 Sep 17:53
Compare
Choose a tag to compare
Pre-release
Remove temporary monitoring now that underlying perf issue is resolved

PiperOrigin-RevId: 398533606

Keras Release 2.6.0

09 Aug 17:27
Compare
Choose a tag to compare

Keras 2.6.0 is the first release of TensorFlow implementation of Keras in the present repo.

The code under tensorflow/python/keras is considered legacy and will be removed in future releases (tf 2.7 or later). For any user who import tensorflow.python.keras, please update your code to public tf.keras instead.

The API endpoints for tf.keras stay unchanged, but are now backed by the keras PIP package. All Keras-related PRs and issues should now be directed to the GitHub repository keras-team/keras.

For the detailed release notes about tf.keras behavior changes, please take a look for tensorflow release notes.

Keras Release 2.6.0 RC3

04 Aug 20:53
Compare
Choose a tag to compare
Pre-release

Keras Release 2.6.0 RC3 fix a security issue for loading keras models via yaml, which could allow arbitrary code execution.

Keras Release 2.6.0 RC2

26 Jul 21:09
Compare
Choose a tag to compare
Pre-release

Keras 2.6.0 RC2 is a minor bug-fix release.

  1. Fix TextVectorization layer with output_sequence_length on unknown input shapes.
  2. Output int64 by default from Discretization layer.
  3. Fix serialization of Hashing layer.
  4. Add more explicit error message for instance type checking of optimizer.