Releases: keras-team/keras-core
Releases · keras-team/keras-core
Keras Core 0.1.7 release
Highlights
- Add ops
keras.random.shuffle
,keras.ops.image.map_coordinates
- Add support for
tf.SparseTensor
with TensorFlow backend (same level of support as legacytf.keras
) - Make
Discretization
layer backend agnostic - Bug fixes and performance improvements (in particular significantly reduced memory usage during training for JAX)
What's Changed
- Make jax2tf import conditional by @nkovela1 in #911
- Separate the metrics variables from non-trainable variables. by @qlzh727 in #910
- Update jax trainer function to save memory buffer. by @qlzh727 in #897
- [GHA] fix several codecov issues by @kiukchung in #912
- Add example to fine-tune TorchVision models using Keras by @soumik12345 in #909
- Refactor merging layers tests as parametrized tests. by @hertschuh in #913
- Add
ops.random.shuffle
by @james77777778 in #907 - Add
ops.map_coordinates
by @james77777778 in #906 - Makes
ops.split
in torch consistent with other backends by @james77777778 in #914 - Add:
MultipleChoice with Transfer Learning
example by @awsaf49 in #884 - Update test_case.py by @PatReis in #917
- Fix JAX RNN backend issue. by @qlzh727 in #924
- Adds JAX version checking for Export by @nkovela1 in #923
- make discretization backend agnostic by @divyashreepathihalli in #896
- Memory optimization for jax trainer. by @qlzh727 in #888
- [*.py] Standardise docstring usage of "Default to" by @SamuelMarks in #921
- Fix the inconsistency in
affine_transform
between numpy and jax by @james77777778 in #926 - Add support for Tensorflow SparseTensors: merging layers. by @hertschuh in #925
- fix torch error for bincount by @divyashreepathihalli in #927
- Refactor torch's
affine_transform
by @james77777778 in #929 - Increase test coverage + Fix
save_model_to_hdf5
+ Improveis_remote_path
+ Fixis_remote_path
by @Faisal-Alsrheed in #900 - Slice serialization by @gleize in #932
- Some dtype fixes by @fchollet in #935
- Hacky fix for dictionary output with tf 2.14 by @mattdangerw in #933
New Contributors
- @awsaf49 made their first contribution in #884
- @PatReis made their first contribution in #917
- @SamuelMarks made their first contribution in #921
Full Changelog: v0.1.6...v0.1.7
Keras Core 0.1.6 release
Highlights
- Performance optimizations in normalization layers
- New op:
ops.nn.moments
- Add
TorchModuleWrapper
to make it possible to use PyTorch Modules in Keras Core models with the PyTorch backend. Modules added as attributes of a layer are automatically wrapped (so that their weights are tracked). - Add
ignore_class
argument inSparseCategoricalCrossentropy
. - Add new experimental data parallel and model parallel distribution API for JAX.
What's Changed
- Fix where op by @AakashKumarNain in #770
- Add skeleton for the common distribution backend. by @qlzh727 in #765
- Add more H5 backwards compatibility tests and lambda support by @nkovela1 in #775
- Add implementation for Distribution API by @qlzh727 in #776
- Removes
tf.keras
from transposed conv test by @sampathweb in #782 - Fix channels_first format bug for rescaling layer by @haifeng-jin in #792
- Fix argument order in stft and istft by @james77777778 in #790
- fixed squeeze axis inconsistency by @jackd in #788
- Replace
tf.data
withtf_data
in preprocessing tests by @sampathweb in #787 - Reimplement the data parallel distribution. by @qlzh727 in #785
- Split fix by @jackd in #789
- Fix bug: Softmax function to support tuple axes + Add more tests by @Faisal-Alsrheed in #778
- Add LayoutMap which will be used for model parallelism by @qlzh727 in #793
- Fix bug: Log_Softmax with tuple axes + Add tests by @Faisal-Alsrheed in #794
- Port tab transformer example to keras core by @anas-rz in #621
- Update example losses on docstrings by @Frightera in #795
- Add model parallel distribution. by @qlzh727 in #797
- Increase-test-coverage-in-activations_test.py by @Faisal-Alsrheed in #799
- add ignore_class param to sparse CE loss by @AakashKumarNain in #599
- Convert pretraining_BERT.py example to keras core by @pranavvp16 in #801
- fixed apply_mask bug in losses by @jackd in #802
- Replace
tf.keras
in center-crop and resize tests by @sampathweb in #804 - Add a check for class_id argument by @Frightera in #796
- Add a dummy init for distribution, so it will be treat as a package. by @qlzh727 in #809
- Allow test using dynamic shapes to run on JAX. by @hertschuh in #810
- Keep "mse" as the metric name in the log by @haifeng-jin in #812
- Fixed misc mixed precision issues by @mattdangerw in #805
- Don't double cast layer norm weights in mixed precision by @mattdangerw in #815
- Add
loss
attribute for backward compatibility by @haifeng-jin in #813 - Add
TorchModuleWrapper
by @soumik12345 in #779 - Make sure the Test CI action fails on bad lint by @kiukchung in #818
- Format confusion_metrics_test by @mattdangerw in #821
- Fix the Jax distributed variable load issue. by @qlzh727 in #817
- Always save the build config when building a layer by @mattdangerw in #820
- Uses
backend.shape
in random preprocessing by @sampathweb in #822 - Don't lock functional models by @mattdangerw in #823
- Refactor conv_transpose padding by @guillaumebaquiast in #811
- Add rank>2 support for
stft
by @james77777778 in #825 - Fix
reduce_shape
+ Add tests to operation_utils_test.py by @Faisal-Alsrheed in #826 - Fix weird broken test that never ran by @mattdangerw in #827
- Convert "English-to-Spanish translation with KerasNLP" to keras-core by @freedomtan in #777
- Replace assertTrue(isinstance(...)) with assertIsInstance for easier … by @hertschuh in #831
- Improve the flexibility of
standardize_dtype
and fixpad
in torch backend by @james77777778 in #828 - Fix the distribution logic for the JAX trainer. by @qlzh727 in #832
- Add a docstring for compile by @mattdangerw in #838
- Enable codecov by @kiukchung in #840
- Add support for Tensorflow SparseTensors: core classes. by @hertschuh in #839
- bert-mlm port to keras-core with tf backend by @Mrutyunjay01 in #843
- Enable codecov flags and coverage carryover for keras_core and keras_… by @kiukchung in #841
- Update minimum python version to 3.9 to align with TF/JAX by @sampathweb in #848
- Update the eager_build logic for jax trainer. by @qlzh727 in #845
- Update return type for optimizer.apply by @mattdangerw in #850
- Add test,codecov,pypi status badges to README by @kiukchung in #852
- Fix autocast scope again by @mattdangerw in #849
- Add Export for JAX Backend by @nkovela1 in #819
- Increase test coverage + Fixing bug in
static_call
by @Faisal-Alsrheed in #847 - Add a loss scale optimizer by @mattdangerw in #851
- Increase test coverage in
keras_core/utils
by @Faisal-Alsrheed in #856 - Increase test coverage in
keras_core
/trainers
by @Faisal-Alsrheed in #860 - Add a note in README.md regarding pre-import of backend by @SuryanarayanaY in #863
- Add optimizer weights to the model summary. by @qlzh727 in #859
- Add support for Tensorflow SparseTensors: core layers. by @hertschuh in #854
- Increase test coverage in
keras_core/backend
by @Faisal-Alsrheed in #864 - Add support for Tensorflow SparseTensors: reshaping layers. by @hertschuh in #865
- Respect the $KERAS_HOME environment variable for get_file by @mattdangerw in #868
- Don't convert int array input to floatx by @mattdangerw in #867
run_layer_test
also runs symbolic calls wheninput_data
is provided. by @hertschuh in #870- Increase test coverage in utils + Fix Bug in
cast_to_common_dtype
by @Faisal-Alsrheed in #875 - Fix
stop_gradient
in np by @james77777778 in #872 - Add sparseness inference for TensorFlow backend ops and base layer. by @hertschuh in #878
- Fix summary when optimizer is None by @mattdangerw in #879
- Add
ops.nn.moments
and speed-up normalization layers by @james77777778 in #866 - Don't show optimizer params if not optimizer or not built by @mattdangerw in #885
- Export dtype utils in
keras_core.backend
by @mattdangerw in #886 - Set actions.yml to run with read-only permissions by @pnacht in #882
- Fix
model.save
API for legacy H5 format by @nkovela1 in #891 - Add missing dtypes. by @gleize in #887
- Increase tests in
utils
by @Faisal-Alsrheed in #880 - syntax fix in cct example by @anas-rz in #898
- Use
ops.rsqrt
, improve normalization layers and enable ops fusion in tflite by @james77777778 in #892 - fixes #550: move torch tensors to cpu before to numpy array by @dkgaraujo in #853
New Contributors
- @kiukchung made ...
Keras Core 0.1.5 release
Highlights
- Add
model.export()
flow. - Add ops
rsqrt
,extract_sequences
,rfft
,stft
,irfft
,istft
. - Bug fixes and performance improvements.
ops.shape
now returns a tuple with all backends (rather than a TF tensor with the TF backend). The tuple may contain scalar tensors for dynamic dimensions, and contains integers otherwise for static dimensions.
What's Changed
- Ensure backwards compatibility for legacy H5 saving format by @nkovela1 in #682
- Encapsulate build logic by @grasskin in #679
- Fix the --install arg doesn't work by @haifeng-jin in #686
- Convert to tensor for jax ops.numpy.transpose by @mattdangerw in #687
- Fix custom functional reload issue by @fchollet in #693
- Update the softmax default to axis=-1 by @mattdangerw in #694
- Random Flip for batched inputs by @guillaumebaquiast in #698
- Fix TextVectorization + Sequential bug by @fchollet in #696
- Add Export for TF backend by @nkovela1 in #692
- Fix typo in WhileLoop docstring in core.py by @Faisal-Alsrheed in #703
- Add activation docstrings // ops.nn.py by @Frightera in #705
- Remove tf dependency from math_test by @Frightera in #706
- Little cleanup in backend - config.py / export.py by @Frightera in #709
- Fix Issue in SegmentMax's Symbolic Call in keras_core/ops/math.py by @Faisal-Alsrheed in #713
- Replace
tf.keras
for expected result in Conv1D Test by @sampathweb in #725 - Add some additional H5 saving test coverage by @nkovela1 in #724
- Always return a tuple from ops.shape by @mattdangerw in #722
- Only compute mean once in layernorm by @mattdangerw in #721
- Add rsqrt to ops API by @shivance in #708
- Fix position encoder in
examples/.../token_learner.py
by @guillaumebaquiast in #727 - Support keras.Input in get_source_inputs by @haifeng-jin in #732
- Convert cyclegan to keras-core by @freedomtan in #728
- Add
rms_scaling
in LayerNormalization by @shivance in #726 - Docstrings for numpy ops by @FayazRahman in #714
- Add
extract_sequences
,rfft
andstft
to ops.math by @james77777778 in #717 - Apply
scipy
LazyModule by @james77777778 in #734 - Support torch symbolic call for normalization layer in preprocessing by @haifeng-jin in #739
- Replace
tf.keras
with numpy for conv2d and conv3d tests by @sampathweb in #740 - Enhanced Docstrings and Examples in /ops/function.py, /ops/math.py and /ops/nn.py. by @Faisal-Alsrheed in #736
- Fixed uniqueness bug and bits->bytes by @jackd in #747
- Add Examples to numpy.py functions by @Faisal-Alsrheed in #745
- Use
convert_to_numpy
inhashing
and tests by @james77777778 in #748 - Convert ddim by @freedomtan in #743
- Add
irfft
andistft
by @james77777778 in #742 - ported hashed-crossing by @asingh9530 in #685
- Add a high level API for distribution for JAX backend. by @qlzh727 in #741
- An attempt to add MPS device to torch backend by @M7Saad in #750
- Remove
tf.keras
from depthwise and separable conv tests by @sampathweb in #752 - Fix bug + Add Tests + Enhance docstrings (shape_equal) by @Faisal-Alsrheed in #751
- Fix
standardize_shape
by @james77777778 in #753 - Fix naming in
mobilenet_v3
anddensenet
by @james77777778 in #759 - Enhance docstrings + easy to understand examples (nn.py) by @Faisal-Alsrheed in #758
- Remove backend.DYNAMIC_SHAPES_OK as dynamic shapes are supported in a… by @hertschuh in #763
New Contributors
- @Faisal-Alsrheed made their first contribution in #703
- @shivance made their first contribution in #708
- @jackd made their first contribution in #747
- @M7Saad made their first contribution in #750
Full Changelog: v0.1.4...v0.1.5
Keras Core 0.1.4 release
Highlights
- Add
Lion
optimizer - Enable
model.predict()
andmodel.evaluate()
with the NumPy backend - Add ops
cosh
,sinh
,arctanh
,arcsinh
,arccosh
- Add ops
segment_max
,digitize
- Bug fixes and performance improvements
What's Changed
- Set min TF Version by @sampathweb in #619
- Avoid some tree operations by @haifeng-jin in #620
- Add Lion optimizer by @james77777778 in #610
- Typo in layer tutorial by @guillaumebaquiast in #624
- fix load of models with Add and Concat layers by @freedomtan in #626
- Port/test learnable resizer to keras core backend agnostic by @anas-rz in #622
- Port fixres keras core by @anas-rz in #630
- Only ignore xx_mask arguments for the build shapes dict by @mattdangerw in #632
- Add numpy trainer by @james77777778 in #633
- [split_dataset] migrating from tf.keras to keras_core by @asingh9530 in #505
- Add hyperbolic ops by @FayazRahman in #634
- Port visualizing what convnets learn by @anas-rz in #640
- Port the
ImageClassifier
guide tokeras_core
by @tirthasheshpatel in #608 - Port simsiam to keras-core by @anas-rz in #644
- Fix the
ImageClassifier
demo and minimize the use of tensorflow by @tirthasheshpatel in #645 - Port neural decision forest by @anas-rz in #631
- Removes ref in Global Average Pool and Elu/Prelu Activations by @sampathweb in #646
- Small fixes on
image.extract_patches
by @guillaumebaquiast in #647 - Fix the missing weight name for Dense layer by @qlzh727 in #648
- Update learning_rate type to float in learning_rate_scheduler's logs by @siyavash in #649
- Performance improvement for MHA by @haifeng-jin in #654
- Add digitize op for Discretization layer by @abuelnasr0 in #641
- support passing
jax.random.PRNGKey
inputs in jax by @GallagherCommaJack in #651 - Removes
tf.keras
from Pooling tests - Max, Average and Global pooling by @sampathweb in #657 - Add numpy bincount docstrings by @dranaivo in #655
- Add a segment_max op by @ianstenbit in #660
- Port
mlp_image_classification.py
to all backends by @guillaumebaquiast in #663 - update requirements for all cpu install by @haifeng-jin in #666
- Random rotation port by @kamathis4 in #584
- Port TensorFlow implementation of the
RandomCrop
layer by @soumik12345 in #493 - Backend agnostic port of object detection using vit by @soumik12345 in #668
- Remove
self.support_jit = False
in RandomFlip by @james77777778 in #665 - Port Compact Convolutional Transformers to backend agnostic by @guillaumebaquiast in #669
- Move mlp_image_classification to backend agnostic folder by @guillaumebaquiast in #671
- Change saving API routing to deprecate SavedModel format by @nkovela1 in #674
- Convert neural machine translation with transformer to keras-core by @freedomtan in #623
- Make ner transformers work again by @freedomtan in #675
- Do not default to file root by @grasskin in #678
- Convert "text generation with miniature gpt" to Keras Core by @freedomtan in #676
- torch image added by @asingh9530 in #659
- Added some docstrings ops/nn.py by @Frightera in #677
New Contributors
- @asingh9530 made their first contribution in #505
- @FayazRahman made their first contribution in #634
- @siyavash made their first contribution in #649
- @abuelnasr0 made their first contribution in #641
- @dranaivo made their first contribution in #655
Full Changelog: v0.1.3...v0.1.4
Keras Core 0.1.3 release
Highlights
- Add compatibility with legacy whole-model
h5
saving and loading - Add
keras_core.ops.fft
andkeras_core.ops.fft2
- Add
keras_core.ops.image.affine_transform
- Add
keras_core.ops.image.extract_patches
- Bug fixes and performance improvements
- Now compatible with TensorFlow versions 2.8 to 2.13
What's Changed
- Add Nadam for torch backend by @haifeng-jin in #551
- Fix multi-dimension sample weights passed to mean metrics by @mattdangerw in #552
- Update operation_utils.py - Added docstrings by @sqali in #514
- Node test by @kamathis4 in #557
- Add
affine_transform
op to all backends by @james77777778 in #477 - Add FFT Ops by @abheesht17 in #480
- Added CategoryEncoding to keras_core.ops.nn by @hazemessamm in #490
- Symbolic Args test by @kamathis4 in #536
- Converted to Keras Core: DeepLabV3Plus by @anas-rz in #545
- test and move backend agnostic example by @anas-rz in #567
- Port few shot learning with reptile by @anas-rz in #564
- Add some additional TF SavedModel tests by @nkovela1 in #569
- Fixes Torch-GPU Test failure on initializers/random_initializers_test.py by @sampathweb in #575
- Keras tensor functions by @kamathis4 in #576
- add fori_loop op to all 3 backends by @GallagherCommaJack in #462
- Fix Module Utils
_available
attribute by @sampathweb in #579 - Add some docstrings to
keras_core/ops/numpy.py
by @guillaumebaquiast in #558 - Add random seed support for torch dropout by @haifeng-jin in #568
- Port Keypoint detection to backend agnostic-keras-core by @anas-rz in #546
- Make random flip backend agnostic by @AmedeoBiolatti in #515
- Convert RandomTranslation to the backend-agnostic implementation by @james77777778 in #572
- doc: DocString for numpy.amax by @pranavvp16 in #582
- Add backend-agnostic video transformers example by @soumik12345 in #583
- Converted cutmix example to Keras Core by @cosmo3769 in #527
- docString for numpy.amin by @pranavvp16 in #586
- Update Tests for specific backend imports by @sampathweb in #591
- implement patch extraction in ops by @anas-rz in #581
- Converted to keras core external attention by @anas-rz in #529
- Backend consistency in handling of empty tensor in
min
andmax
by @guillaumebaquiast in #592 - Fix more spots torch != numpy for reductions by @mattdangerw in #596
- Backend-agnostic port of Image classification with Vision Transformer by @soumik12345 in #589
- More backend agnostic in cutmix and mixup file by @cosmo3769 in #593
- Always install the correct version with pip_build by @mattdangerw in #595
- Export ops.cond by @AmedeoBiolatti in #577
- Convert pretrained word embeddings to Keras Core by @freedomtan in #600
- port gcam backend agnostic by @anas-rz in #601
- Converted NER with transformers example to keras_core by @pranavvp16 in #594
- Add tf.keras backwards compat for nearly all non-experimental symbols by @fchollet in #603
- Cache self.call() signature by @haifeng-jin in #606
- Porting over changes to Torch and JAX keras-core distribution guides … by @hertschuh in #607
- Improve
TensorFlowTrainer
compatibility for TF<2.9 by @taehoonlee in #598 - Convert RandomZoom to backend-agnostic and improve
affine_transform
by @james77777778 in #574 - Add the unstack operation to keras core by @tirthasheshpatel in #597
- Port digit addition rnn example to keras-core by @anas-rz in #614
- Set Jit compile only if Model supports it by @sampathweb in #616
- Port big transfer to keras core by @anas-rz in #615
- Implements H5 legacy saving for Keras Core by @nkovela1 in #605
- Add docstrings in numpy by @guillaumebaquiast in #617
New Contributors
- @james77777778 made their first contribution in #477
- @hazemessamm made their first contribution in #490
- @GallagherCommaJack made their first contribution in #462
- @guillaumebaquiast made their first contribution in #558
- @AmedeoBiolatti made their first contribution in #515
- @pranavvp16 made their first contribution in #582
- @cosmo3769 made their first contribution in #527
- @freedomtan made their first contribution in #600
- @taehoonlee made their first contribution in #598
Full Changelog: v0.1.2...v0.1.3
Keras Core 0.1.2 release
Bug fixes and performance improvements.
What's Changed
- Add adagrad for torch by @haifeng-jin in #548
- Add adamax for torch by @haifeng-jin in #549
- Converted UK Ireland accent recognition to work with Keras Core by @fbadine in #537
- port actor_critic_cartpole to keras core by @anas-rz in #542
- Resolve shape via ops in broadcast_to operation by @sampathweb in #547
New Contributors
Full Changelog: v0.1.1...v0.1.2
Keras Core 0.1.1 release
Highlights
- TensorFlow dependency removed: it is now possible to use Keras Core with JAX or PyTorch without installing TensorFlow.
- Significant performance improvements for Keras optimizers with PyTorch eager execution. Keras optimizers with the PyTorch backend are now at performance parity with native PyTorch optimizers.
- Added the NumPy backend. Note that it does not support training. You can use it to create and call models / layers, write custom evaluation loops, etc.
What's Changed
- bug fix for torch gpu by @haifeng-jin in #438
- Fix typo in README by @abheesht17 in #441
- Use SeedGenerator backend when creating variable by @sampathweb in #439
- Add names to the input tensor, small typo by @Frightera in #449
- Remove unused variables // adam & adamw by @Frightera in #444
- fixed order of parameters in stateless_apply in JAX distributed example by @martin-gorner in #458
- Added JAX distributed training guide. by @hertschuh in #464
- optimize torch performance by @haifeng-jin in #465
- bug fix for seed generator by @haifeng-jin in #471
- Export DTypePolicy as Policy for backward compat by @abheesht17 in #470
- Make it possible to run Keras Core without TensorFlow. by @fchollet in #475
- Weighted metrics without metrics by @mihirparadkar in #474
- Constant Initializer Error fixed by @kamathis4 in #479
- Complete missing docstrings in keras-core/ops/core.py by @Frightera in #494
- Port zero-dce example to
keras-core
by @soumik12345 in #486 - Updated math.py & nn.py with docstrings. by @Sheiphan in #484
- Add a requirements file for multi-backend cuda by @mattdangerw in #472
- Stop tensorflow from eating all GPU memory by @mattdangerw in #473
- Adding docstrings to Keras Core ops in numpy.py file by @sukhdeepg in #507
- Fix Torch conv transpose by @chenmoneygithub in #520
- Port mirnet example to
keras-core
by @soumik12345 in #491 - Testing Timeseries anomaly detection Framework agnostic by @anas-rz in #501
- Added docstring ops/image/resize by @Frightera in #509
- Converted to Keras Core: A Vision Transformer without Attention by @anas-rz in #497
- Optimizer torch optimizer performance by @haifeng-jin in #482
- Clean up variable vs weight in base layer by @mattdangerw in #521
- Convert to Keras_Core: Compact Convolutional Transformer by @anas-rz in #523
- Framework agnostic autoencoder for image deniosing by @anas-rz in #524
- Input layer test by @kamathis4 in #511
- Update symbolic_arguments.py by @sqali in #513
- Orthogonal Inititializer test by @kamathis4 in #526
- Convert to Keras Core: Token Learner by @anas-rz in #528
- Add Adam optimizer parallel implementation for torch backend by @haifeng-jin in #531
- Adding: Numpy Backend by @ariG23498 in #483
- Add AdamW implementation with torch parallel ops by @haifeng-jin in #532
- Fix SavedModel integration and add associated tests by @nkovela1 in #522
- Add RMSprop for Torch by @haifeng-jin in #533
- Add Adadelta for torch by @haifeng-jin in #534
New Contributors
- @abheesht17 made their first contribution in #441
- @Frightera made their first contribution in #449
- @fchollet made their first contribution in #475
- @mihirparadkar made their first contribution in #474
- @kamathis4 made their first contribution in #479
- @soumik12345 made their first contribution in #486
- @Sheiphan made their first contribution in #484
- @sukhdeepg made their first contribution in #507
- @anas-rz made their first contribution in #501
- @sqali made their first contribution in #513
Full Changelog: v0.1.0...v0.1.1
Keras Core 0.1.0 release
Initial preview release. See the announcement post for details on capabilities, credits, etc.