Weekly Project News

Archives
Subscribe

Weekly GitHub Report for Keras: July 07, 2026 - July 14, 2026 (00:16:55)

Weekly GitHub Report for Keras

Thank you for subscribing to our weekly newsletter! Each week, we deliver a comprehensive summary of your GitHub project's latest activity right to your inbox, including an overview of your project's issues, pull requests, contributors, and commit activity.


Table of Contents

  • I. News
    • 1.1. Recent Version Releases
    • 1.2. Other Noteworthy Updates
  • II. Issues
    • 2.1. Top 5 Active Issues
    • 2.2. Top 5 Stale Issues
    • 2.3. Open Issues
    • 2.4. Closed Issues
    • 2.5. Issue Discussion Insights
  • III. Pull Requests
    • 3.1. Open Pull Requests
    • 3.2. Closed Pull Requests
    • 3.3. Pull Request Discussion Insights
  • IV. Contributors
    • 4.1. Contributors

I. News

1.1 Recent Version Releases:

The current version of this repository is v3.14.0

1.2 Version Information:

Released on April 2, 2026, this version introduces full Orbax checkpoint integration with sharding and step recovery, new quantization methods including Activation-aware Weight Quantization, and a ScheduleFreeAdamW optimizer. It also significantly enhances OpenVINO backend support with extensive NumPy, neural network, and control flow operations, adds batch renormalization and gated attention layers, and improves multi-backend NumPy operations and preprocessing capabilities.

Click here to view the full release notes!

II. Issues

2.1 Top 5 Active Issues:

We consider active issues to be issues that that have been commented on most frequently within the last week. Bot comments are omitted.

  1. [TYPE:FEATURE] Add reconstruct_patches op + ReconstructPatches{2,3}D layers (inverse of extract_patches): This issue proposes adding the inverse operation of keras.ops.image.extract_patches to Keras, including both functional ops and layer wrappers for 2D and 3D cases, to enable reconstruction of images from patches. The implementation focuses on the basic non-overlapping scenario with plans for incremental enhancements, aiming to fill a usability gap and bring Keras to parity with PyTorch's fold/unfold functionality.

    • The comments express appreciation for the feature, share personal workarounds highlighting the need for this functionality, discuss challenges in contributing to Keras, and include follow-ups from the author addressing review feedback and encouraging collaboration.
    • Number of comments this week: 1
  2. [TYPE:BUG] [Bug] tf.data class weights fail for omitted classes: This issue describes a bug in Keras where the class_weight parameter in Model.fit behaves inconsistently between array inputs and tf.data.Dataset inputs, specifically when some class weights are omitted. The problem arises because tf.data.Dataset inputs cause an out-of-range error during the internal tf.gather operation if the dataset contains class IDs greater than the largest key in the provided class_weight dictionary, whereas array inputs handle this scenario without error by assigning a default weight of 1.0.

    • The single comment acknowledges the issue and provides a reproducible example via a shared gist, confirming the problem and facilitating further investigation.
    • Number of comments this week: 1
  3. [TYPE:BUG] [Bug] model.fit() hangs indefinitely after calling StringLookup.adapt() on macOS Apple Silicon (CPU) with TF 2.21.0 + Python 3.13: This issue reports that on macOS Apple Silicon with TensorFlow 2.21.0 and Python 3.13, calling StringLookup.adapt() causes model.fit() to hang indefinitely due to a deadlock in the internal tf.data pipeline. Further investigation revealed that the root cause is not adapt() itself but the order of imports: importing pandas before TensorFlow triggers the hang by causing thread pool conflicts, while importing TensorFlow first avoids the issue.

    • The comments confirm the issue is reproducible and identify pandas import order as the trigger rather than adapt(). They provide detailed test results showing that importing TensorFlow before pandas prevents the hang, and explain the likely cause as a thread pool conflict on Apple Silicon. A simple workaround of reordering imports is confirmed to resolve the deadlock.
    • Number of comments this week: 1
  4. [TYPE:BUG] [Bug] GPU Memory leak in torch backend: torchtree_impl.py closure captures tensor containers: This issue reports a GPU memory leak occurring in the torch backend during iterative batch predictions, caused by a reference cycle in torchtree_impl.py where a lambda function captures tensor containers, preventing timely garbage collection and leading to out-of-memory errors. The proposed fix involves changing the identity comparison in the lambda to use id() to break the reference cycle path to GPU tensors, thereby allowing memory to be released more predictably during inference loops.

    • The comments discuss general performance optimization strategies emphasizing profiling and caching, and a user confirms experiencing similar memory leaks linked to recent Keras versions, identifying a specific pull request as the likely cause.
    • Number of comments this week: 1
  5. [TYPE:BUG] keras.ops.multiply returns NaN instead of -Inf when multiplying -Inf by float32 subnormal value: This issue reports that the keras.ops.multiply function incorrectly returns NaN when multiplying -Inf by a positive float32 subnormal value, whereas the expected behavior is to return -Inf consistent with NumPy's np.multiply. The problem highlights an incorrect handling of special floating-point values in Keras multiplication operations, which could affect numerical computations during model training or inference.

    • The comments note that multiply is a frequently used function and adding checks for float32/64 values could introduce overhead; a follow-up comment confirms the issue persists in Keras 3.15.0 and provides a reproducible example for further investigation.
    • Number of comments this week: 1

2.2 Top 5 Stale Issues:

We consider stale issues to be issues that has had no activity within the last 30 days. The team should work together to get these issues resolved and closed as soon as possible.

As of our latest update, there are no stale issues for the project this week.

2.3 Open Issues

This section lists, groups, and then summarizes issues that were created within the last week in the repository.

Issues Opened This Week: 10

Summarized Issues:

  • Tensor shape and output handling issues: Several issues report problems related to tensor shape mismatches and output handling in Keras functions and layers. These include dimension mismatch errors in the reduce_weighted_values function when using CTC loss with Masking layers, silent mis-attribution of outputs due to changes in the Layer.output property and removal of node-specific output methods, and incorrect output shapes in the ops.dot function for certain backends caused by improper batch matrix multiplication.
  • [issues/23228, issues/23238, issues/23248]
  • New operation and layer addition requests: Multiple issues request the addition of new operations or layers to Keras to enhance functionality. These include adding a backend-agnostic connected_component operation for image processing, Mosaic Augmentation and GridMask data augmentation layers, a native API for merging LoRA adapter weights, and a per-sample connection-level stochastic regularization layer inspired by DropConnect.
  • [issues/23236, issues/23239, issues/23240, issues/23244, issues/23246]
  • Backend function correctness and performance concerns: Some issues highlight critical bugs and performance problems in Keras backend functions and preprocessing layers. These include mathematically incorrect weighted average calculations and shape mismatches in the keras.ops.average function across multiple backends, as well as benchmarking results showing unexpectedly slow GPU performance and high VRAM usage for preprocessing and augmentation layers at higher image resolutions.
  • [issues/23245, issues/23250]

2.4 Closed Issues

This section lists, groups, and then summarizes issues that were closed within the last week in the repository. This section also links the associated pull requests if applicable.

Issues Closed This Week: 15

Summarized Issues:

  • XLA and Backend Compatibility Issues: Several issues highlight compatibility problems with XLA JIT compilation and various backends in Keras, including errors with cuDNN RNN layers and the torch backend when using jit_compile=True. These incompatibilities cause fallback to non-XLA execution or training failures, impacting performance and usability.
  • issues/18456, issues/22282
  • Data Augmentation and Transformation Challenges: Multiple issues discuss enhancements and problems related to data augmentation layers, such as RandomRotation and RandomResizedCrop, including handling variable creation in tf.function, adding new options to avoid artifacts, synchronizing transformations for masks, and backend-specific performance issues on TPUs. These challenges affect augmentation reliability, efficiency, and documentation quality.
  • issues/21954, issues/21822, issues/23229
  • Distributed and Multi-GPU Training Limitations: Issues report errors and limitations when using multi-node distributed training strategies like MultiWorkerMirroredStrategy and problems with batch size divisibility in multi-GPU setups. These limitations complicate scaling training across multiple devices and nodes without data loss or errors.
  • issues/20585, issues/21167
  • New Feature Requests for Data Handling and Utilities: Requests include adding a video reading utility API similar to image loaders, a Euclidean distance transform method across multiple backends for preprocessing, and improved access to dataloader inputs and model outputs within callbacks for advanced evaluation. These features aim to enhance data processing capabilities and flexibility in Keras workflows.
  • issues/19055, issues/22038, issues/19022
  • Integration and Migration of Layers and APIs: Discussions cover migrating RandomApply and RandomChoice layers from keras-cv to the main Keras repository, including testing and module placement, as well as requests for native support to merge LoRA adapter weights after training. These efforts focus on improving layer availability and model weight management.
  • issues/20727, issues/23243
  • Package Compatibility and Dependency Management: One issue highlights the need to upgrade the ai-edge-litert package to maintain compatibility with TensorFlow 2.20.0 and suggests re-enabling Dependabot for automatic updates. This is important to ensure smooth operation of LSTM-related functionalities.
  • issues/21914
  • Custom Gradient and remat Functionality Limitations: An issue describes a ValueError caused by the custom_gradient decorator only supporting keyword arguments when eager execution is enabled, which affects model training with certain remat modes. This limits flexibility in gradient customization under specific execution contexts.
  • issues/21207
  • Flash Attention Integration Considerations: There is a discussion about adding Flash Attention, a fast and memory-efficient exact attention mechanism, to Keras with backend operation support, referencing implementations in other frameworks. This aims to improve attention mechanism performance in Keras models.
  • issues/19418

2.5 Issue Discussion Insights

This section will analyze the tone and sentiment of discussions within this project's open and closed issues that occurred within the past week. It aims to identify potentially heated exchanges and to maintain a constructive project environment.

Based on our analysis, there are no instances of toxic discussions in the project's open or closed issues from the past week.


III. Pull Requests

3.1 Open Pull Requests

This section provides a summary of pull requests that were opened in the repository over the past week. The top three pull requests with the highest number of commits are highlighted as 'key' pull requests. Other pull requests are grouped based on similar characteristics for easier analysis. Up to 25 pull requests are displayed in this section, while any remaining pull requests beyond this limit are omitted for brevity.

Pull Requests Opened This Week: 12

Key Open Pull Requests

1. [Fix] keras.ops inconsistently downcasts float64 to float32: This pull request fixes the issue where keras.ops operations inconsistently downcast float64 inputs to float32 by introducing a shared dtype helper that ensures consistent handling of array and list inputs across multiple affected operations such as add, subtract, multiply, divide, power, mod, and fmod when using the PyTorch backend.

  • URL: pull/23225
  • Associated Commits: cbc89, f93ba, 0a76d, 31922

2. Fix rank mismatch between loss values and mask/sample_weight in Torch backend: This pull request fixes a RuntimeError in the PyTorch backend of Keras by modifying the loss reduction function to automatically reduce the rank of mask and sample_weight tensors when they have higher dimensions than the loss values, addressing a mismatch issue that occurs when certain loss functions reduce dimensions but the mask or weights retain their original shape.

  • URL: pull/23235
  • Associated Commits: aece3, 18dd1, ae851, b18bf

3. Fix inconsistent padding behavior in Torch pooling operations: This pull request addresses and fixes numerical inconsistencies in the Torch backend's handling of "same" padding for pooling operations by replacing replicate padding with zero-padding and -inf padding for AveragePooling and MaxPooling respectively, aligning its behavior with other backends like JAX and TensorFlow, and refactors the internal padding utility to support custom padding modes and values.

  • URL: pull/23233
  • Associated Commits: baada, af7da, 1e7bd

Other Open Pull Requests

  • Backend operation fixes and improvements: Multiple pull requests address correctness and consistency issues in backend operations across TensorFlow, PyTorch, and other backends. These include fixing keras.ops.pad symmetric mode in PyTorch, correcting ops.dot axis contraction in PyTorch, and ensuring keras.ops.average matches NumPy semantics with proper validation and weighted average calculations.
  • pull/23230, pull/23247, pull/23249
  • Enhancements to keras.ops functionality: New operations and generalizations are introduced to expand keras.ops capabilities. This includes adding the matrix_power operation for integer powers of square matrices and generalizing the in_top_k operation to support multi-dimensional inputs across multiple backends with updated indexing strategies.
  • pull/23227, pull/23232
  • Batch bundling support in PyTorch backend: A pull request implements batch bundling with steps_per_execution greater than one in the PyTorch backend, improving performance by reducing Python overhead and enabling better loop optimizations via torch.compile. Training, testing, and prediction functions are updated to handle multiple batches efficiently while preserving nested output structures.
  • pull/23234
  • Fixes for ambiguous Functional API behavior: One pull request resolves ambiguous behavior of the Operation.input and Operation.output properties when a Keras operation or layer is reused across multiple inbound nodes in the Functional API, clarifying the expected behavior.
  • pull/23241
  • Security hardening of GitHub Actions workflows: Comprehensive security improvements are made by pinning third-party actions to immutable commit SHAs, mitigating template injection vulnerabilities, hardening credential usage, and addressing all actionable findings from a Zizmor security audit. These changes significantly reduce risks of supply chain attacks, code injection, and credential leakage.
  • pull/23231
  • Fixes to keras.ops.roll parameter handling: The handling of shift and axis parameters in keras.ops.roll is fixed to correctly broadcast them consistent with NumPy behavior across TensorFlow, PyTorch, and OpenVINO backends. Validation is added to prevent silent failures with non-broadcastable inputs.
  • pull/23242

3.2 Closed Pull Requests

This section provides a summary of pull requests that were closed in the repository over the past week. The top three pull requests with the highest number of commits are highlighted as 'key' pull requests. Other pull requests are grouped based on similar characteristics for easier analysis. Up to 25 pull requests are displayed in this section, while any remaining pull requests beyond this limit are omitted for brevity.

Pull Requests Closed This Week: 2

Key Closed Pull Requests

1. Distribution support for Data Adapters and Datasets (Torch backend): This pull request introduces comprehensive support for distributed training in the PyTorch backend of Keras, enabling both Data Parallelism and Model Parallelism to align with the Keras 3 distribution API and facilitate scaling models across multiple devices and hosts with minimal code changes.

  • URL: pull/22937
  • Associated Commits: 467d8, fa9e1, a56b4, 70f59, 4cb7f, 6c597, c52b0, 0334f, 76cdc, ac95a, 76bbd, 6888f, b8dc1, 960d2
  • Associated Commits: 467d8, fa9e1, a56b4, 70f59, 4cb7f, 6c597, c52b0, 0334f, 76cdc, ac95a, 76bbd, 6888f, b8dc1, 960d2

2. Refactor _load_state to capture weight store and improve container state loading: This pull request refactors the _load_state function to capture the weight store in a local variable to avoid redundant calls and improves the _load_container_state logic by isolating failure tracking for recursive calls, thereby enhancing the detection of missing nested containers in legacy files while maintaining backward compatibility.

  • URL: pull/23226
  • Associated Commits: 63ba6
  • Associated Commits: 63ba6

3.3 Pull Request Discussion Insights

This section will analyze the tone and sentiment of discussions within this project's open and closed pull requests that occurred within the past week. It aims to identify potentially heated exchanges and to maintain a constructive project environment.

Based on our analysis, there are no instances of toxic discussions in the project's open or closed pull requests from the past week.


IV. Contributors

4.1 Contributors

Active Contributors:

We consider an active contributor in this project to be any contributor who has made at least 1 commit, opened at least 1 issue, created at least 1 pull request, or made more than 2 comments in the last month.

If there are more than 10 active contributors, the list is truncated to the top 10 based on contribution metrics for better clarity.

Contributor Commits Pull Requests Issues Comments
MarcosAsh 57 1 0 0
rstar327 38 11 0 0
buildwithsuhana 19 8 2 6
ChiragSW 20 2 0 3
simeon-kepp 9 0 0 7
SID-6921 12 2 0 0
devs6186 8 4 0 0
maitry63 5 2 0 4
LinZiyuu 7 4 0 0
pctablet505 6 3 0 0

Don't miss what's next. Subscribe to Weekly Project News:
Powered by Buttondown, the easiest way to start and grow your newsletter.