Weekly GitHub Report for Tensorflow: January 25, 2026 - February 01, 2026 (21:36:05)
Weekly GitHub Report for Tensorflow
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:
The current version of this repository is v2.19.0
1.2 Version Information:
Released on March 5, 2025, TensorFlow version 2.19.0 introduces breaking changes to the tf.lite API, including the deprecation of tf.lite.Interpreter in favor of ai_edge_litert.interpreter and changes to certain C++ constants for improved API compatibility. Key updates also include runtime support for the bfloat16 data type in the tfl.Cast operation, alongside the discontinuation of standalone libtensorflow package publishing, while still allowing unpacking from PyPI.
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.
-
[TYPE:BUG] [COMP:GPU] [TF 2.19] Bug:
tf.nn.conv1dshows inconsistent behavior between CPU and GPU for invalid parameters, failing to raise an error.: This issue reports a bug in TensorFlow'stf.nn.conv1doperation where invalid parameters, such as an excessively large dilation rate, cause inconsistent and incorrect behavior between CPU and GPU devices instead of raising an expected error. Specifically, the CPU returns a tensor with an incorrect shape while the GPU returns a tensor with a zero-sized dimension, highlighting a lack of proper validation for output dimensions when using VALID padding.- The comments identify the root cause as missing shape validation for the convolution operation when the effective kernel size exceeds the input width, leading to inconsistent outputs on CPU and GPU. A contributor confirms the issue with TensorFlow 2.20, and a pull request is opened to add a validation guard and regression test. Further investigation reveals that ONEDNN optimizations affect the CPU behavior, prompting the reporter to plan filing a related issue in the ONEDNN repository.
- Number of comments this week: 4
-
[TYPE:BUG]
tf.image.non_max_suppressioncausesSIGABRT(Check Failure) with negativemax_output_size: This issue reports a critical bug in TensorFlow where callingtf.image.non_max_suppressionwith a negativemax_output_sizecauses a fatal check failure in the C++ backend, resulting in an immediate process abort (SIGABRT) rather than a catchable Python exception. This behavior poses a potential denial of service risk if the parameter is exposed to user input, and the user provides a detailed analysis and a proposed fix to replace the fatal assertion with proper input validation that raises a Python-level error.- The comments include a thorough root cause analysis explaining that the crash is due to a fatal C++
CHECKonmax_output_size, and a proposed patch to add input validation usingOP_REQUIRESto raise a catchable error instead. A follow-up comment confirms a pull request submission implementing the fix across all NMS variants, adding consistent validation and regression tests to prevent process crashes from invalid inputs. - Number of comments this week: 2
- The comments include a thorough root cause analysis explaining that the crash is due to a fatal C++
-
[TYPE:BUG] [COMP:APIS] [TF 2.19]
tf.experimental.numpy.amaxcrashes (SIGABRT) with specific int64 overflow in shape: This issue describes a bug where runningtf.experimental.numpy.amaxon an empty tensor with a dimension size near the maximum 64-bit integer value causes aSIGABRTdue to a failed assertion in the TensorFlow C++ backend. The problem occurs specifically when the tensor has zero elements in one dimension but an extremely large size in another, leading to a crash in TensorFlow version 2.20.0 on Linux Ubuntu 24.04 with Python 3.12.- The comment confirms the issue was reproduced on TensorFlow 2.20 and provides a link to a gist demonstrating the problem, acknowledging the bug report and validating the crash scenario.
- Number of comments this week: 1
-
[TYPE:BUG] [COMP:APIS] [TF 2.19]
tf.experimental.numpy.onescrashes (segfault/abort) when INT64_MAX is passed as shape: This issue reports that callingtf.experimental.numpy.oneswith a shape equal to the maximum 64-bit integer value causes the Python process to crash immediately, either through a segmentation fault or an abort due to heap corruption. The problem likely stems from an integer overflow or unchecked memory access in TensorFlow's C++ backend when handling extremely large tensor shapes.- The single comment confirms that the same crash behavior occurs with
tf.experimental.numpy.zeros, indicating the issue affects similar functions that allocate large arrays. - Number of comments this week: 1
- The single comment confirms that the same crash behavior occurs with
-
[TYPE:BUG] [COMP:CORE] [TF 2.19]
tf.io.encode_pngcrashes process (SIGABRT) withCHECKfailure when input has 0-dimension: This issue reports a bug in TensorFlow 2.20 where callingtf.io.encode_pngwith a tensor that has a zero dimension (e.g., shape(2, 0, 3)) causes the Python interpreter to abort immediately with a core dump due to a failed check in the C++ backend. Instead of raising a Python exception, the process crashes with a fatal error indicating that the image must be non-NULL.- A commenter confirmed the issue by reproducing the crash using the provided code in Google Colab with TensorFlow 2.20 and shared a gist file for reference, validating the bug report.
- 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: 16
Summarized Issues:
- Integer overflow and shape handling crashes: Multiple issues report crashes caused by integer overflow or failed shape assertions when operating on tensors with extremely large or zero dimensions. These bugs lead to
SIGABRTcrashes or core dumps in TensorFlow's C++ backend instead of raising Python exceptions, indicating insufficient validation of tensor shapes and sizes. - issues/108891, issues/108904, issues/108916, issues/108921, issues/109148, issues/109150
- Inconsistent behavior between eager execution and XLA compilation: Several issues highlight discrepancies where operations succeed in eager mode but fail or raise errors during XLA compilation. These inconsistencies cause type errors, dimension mismatches, or bounds checking failures, complicating debugging and deployment across different execution modes.
- issues/109015, issues/109016, issues/109111, issues/109112
- GradientTape and control flow failures in graph mode: A specific bug causes Hessian computations using GradientTape.jacobian with
experimental_use_pfor=Trueto fail in graph mode when control flow constructs liketf.condor AutoGraph if statements are present. This failure contrasts with correct execution in eager mode, indicating issues with graph mode handling of control flow during differentiation. - issues/108936
- Incorrect or inconsistent tensor operation outputs: Some operations produce incorrect results or fail to preserve expected properties, such as
tf.clip_by_normreturning NaNs instead of preserving the input tensor whenclip_normis infinity. These issues suggest missing input validation or documentation errors affecting tensor operation correctness. - issues/109146
- Device-dependent operation inconsistencies: The
tf.nn.conv1doperation exhibits inconsistent behavior between CPU and GPU when given invalid parameters, failing to raise errors and returning incorrect or zero-sized tensors depending on the device. This inconsistency can lead to silent errors and unpredictable model behavior across hardware. - issues/109175
- Keras input shape inference errors: Using
tf.numpy_functionwithout explicit shape setting causesmodel.fit()to crash with aValueErrorrelated to unknown tensor shapes. This indicates insufficient shape inference or validation during dataset input standardization, leading to unclear error messages and failed training runs. - issues/109333
- Performance regressions in TensorFlow Lite: A reported issue shows significant latency variation in CPU execution of single Dense layer models in TensorFlow Lite 2.20.0 compared to previous versions, indicating a regression that affects model performance consistency.
- issues/109156
- Build failures on Windows with Bazel and Clang: A build error occurs when compiling TensorFlow on Windows using Bazel 9.0.0 and Clang due to repository visibility issues with
@rules_python, preventing successful loading of configuration options and halting the build process. - issues/109163
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: 2
Summarized Issues:
- XLA Compilation Errors with tf.image.extract_patches: A TypeError occurs when using tf.image.extract_patches inside a @tf.function with jit_compile=True, specifically when passing a tf.Tensor in the rates parameter. This issue only arises under XLA compilation and does not happen in eager mode, indicating a problem with how XLA handles this input.
- issues/108268
- DLL Loading Issues with TensorFlow and JEP on Windows: An ImportError occurs when loading the _pywrap_tensorflow_internal DLL while using TensorFlow 2.19 and 2.20 via JEP in a Java application on Windows 11. The error is specific to the JEP integration and does not happen when running the same Python code directly, suggesting a DLL loading order or compatibility problem.
- issues/108594
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: 18
Key Open Pull Requests
1. [WIP] Add fold() operation as an inverse for tf.image.extract_patches: This pull request proposes adding a new fold() operation as an experimental inverse to tf.image.extract_patches in TensorFlow, enabling reconstruction of images from extracted patches to support computer vision workflows, with a core implementation completed, tests passing, and ongoing discussions about API design and module placement.
- URL: pull/108937
2. tensorflow golang changes: This pull request optimizes the TensorFlow Go bindings by adding support for DT_RESOURCE and DT_VARIANT data types, making the Error type public with enhanced methods, implementing session pooling to reduce overhead, introducing context support for cancellation and timeouts, optimizing tensor creation with pre-allocated buffers, enabling protobuf support in the build configuration, and adding performance monitoring and memory management features, resulting in significant performance improvements while maintaining backward compatibility.
- URL: pull/109281
3. Raise InvalidArgumentError for invalid conv1d dilation with VALID padding: This pull request introduces a validation check that raises an InvalidArgumentError when using conv1d with VALID padding if the effective kernel size exceeds the input width, preventing silent failures by producing an empty output tensor, and includes a regression test to ensure this behavior is maintained.
- URL: pull/109275
Other Open Pull Requests
- Error handling improvements for invalid inputs: Multiple pull requests enhance error handling by adding early validation checks and replacing fatal crashes with catchable errors. These changes improve user experience by providing clear, descriptive error messages or warnings instead of process crashes or silent failures, covering cases such as invalid tensor types, negative or zero parameters, and rank mismatches.
- pull/109304, pull/109293, pull/109294, pull/109325, pull/109326
- Fixes for integer overflow and zero-dimension tensor issues: Several pull requests address integer overflow problems and zero-dimension tensor handling by adding guards and replacing fatal assertions with error returns. These fixes prevent crashes caused by shape calculations and dimension operations, ensuring safer tensor shape manipulations.
- pull/109131, pull/109298, pull/109325
- Stability and correctness improvements in numerical operations: Pull requests fix numerical instability and correctness issues in functions like
tf.clip_by_norm,tf.experimental.numpy.isclose, andtf.normby adding early returns, proper type casting, and stable gradient computations. These changes align TensorFlow's behavior with other frameworks and prevent NaN or infinite outputs. - pull/109327, pull/109328, pull/109329
- Memory management enhancement in custom gradients: One pull request fixes a memory leak in
@custom_gradientby modifying the gradient closure to avoid capturing unnecessary tensors, enabling immediate garbage collection and preventing memory growth during repeated function calls. - pull/109334
- Synchronous error detection in linear algebra GPU ops: A pull request adds a synchronous host-side singularity check after batched LU factorization in GPU
tf.linalg.solve, ensuring singular matrices are detected early and errors are raised before incorrect results occur. - pull/109335
- Relaxed validation and zero-padding in FFT operations: One pull request updates raw FFT ops to allow
fft_lengthto exceed input dimensions by relaxing validation and implementing kernel-level zero-padding, aligning behavior with Python wrappers and NumPy/SciPy. - pull/109336
- Documentation clarifications for gradient behavior: A pull request adds documentation to
reduce_minandreduce_maxfunctions explaining how gradients are distributed among tied minimum or maximum elements, clarifying previously undocumented behavior. - pull/109337
- Warning for use of Python random in tf.function: One pull request adds detection and a detailed warning when Python's
randommodule is used insidetf.function, recommending TensorFlow'stf.randomequivalents to avoid tracing and XLA compilation issues. - pull/109227
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: 5
Key Closed Pull Requests
1. Fix tf.cast to raise TypeError when input is a tf.DType: This pull request aims to improve the tf.cast function by adding explicit input validation that raises a clear TypeError when a tf.DType object is mistakenly passed as input, thereby preventing confusing errors during eager execution and XLA compilation, and includes new tests to verify this behavior.
- URL: pull/108847
2. Improve error message for tf.image.extract_patches with XLA: This pull request improves the error message for the tf.image.extract_patches operation when used with XLA JIT compilation by introducing a helper function that detects non-constant windowing parameters and raises a clear, descriptive TypeError explaining the requirement for compile-time constant values, thereby replacing a previously cryptic error.
- URL: pull/108476
- Associated Commits: 827a1
- Associated Commits: 827a1
3. Removed unreachable return (the one above is not in an if part, but a…: This pull request removes an unreachable return statement in the code, specifically the one that is not within a conditional block and is always accessed beforehand.
- URL: pull/108587
- Associated Commits: 8f401
- Associated Commits: 8f401
Other Closed Pull Requests
- Typographical error correction: This topic covers pull requests that fix spelling mistakes in the codebase to improve code clarity and professionalism. One such pull request corrects the misspelled word "occurence" to "occurrence" in a comment within the code.
- pull/108827
- GPU configuration updates: This topic includes pull requests that enhance GPU resource management by updating configuration options. One pull request specifically updates the GPU configuration to utilize CliqueIds, improving how GPU resources are managed in TensorFlow.
- pull/109105
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 |
|---|---|---|---|---|
| Ayush10 | 9 | 9 | 0 | 0 |
| biplavbarua | 17 | 0 | 0 | 0 |
| jiren-the-gray | 0 | 0 | 9 | 2 |
| Blooming-Tree | 0 | 0 | 8 | 0 |
| madhavmadupu | 3 | 2 | 0 | 2 |
| chinanuj | 6 | 0 | 0 | 0 |
| gamila-wisam | 5 | 1 | 0 | 0 |
| garry00107 | 5 | 1 | 0 | 0 |
| AbhishekChaudharii | 5 | 1 | 0 | 0 |
| sshekhar-04 | 5 | 0 | 0 | 0 |