Weekly GitHub Report for Tensorflow: March 23, 2026 - March 30, 2026 (22:26:02)
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 a breaking change in the LiteRT (tf.lite) API, including the deprecation of tf.lite.Interpreter in favor of ai_edge_litert.interpreter and changes to certain C++ constants for better API compatibility. Key improvements include runtime support for the bfloat16 data type in the tfl.Cast operation, alongside the discontinuation of separate libtensorflow package publishing, with the package still accessible via 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.
-
[STAT:AWAITING RESPONSE] [TYPE:BUG] [COMP:OPS] [COMP:GPU] [2.21.0] tf.raw.ops.ResourceGather aborts with internal CHECK failure on dtype mismatch: This issue reports a bug in TensorFlow 2.21.0 where the operation
tf.raw.ops.ResourceGathercauses a fatal internal CHECK failure and aborts the process when there is a dtype mismatch between the requested output and the resource variable. The expected behavior is for the operation to validate dtype consistency and raise a standard TensorFlow exception likeInvalidArgumentErrorinstead of terminating the process.- The comments provide a workaround suggesting the use of
tf.gather, which avoids the crash by not exposing a dtype argument and raises standard errors for invalid inputs; the original reporter confirms that this workaround is effective but emphasizes thatResourceGathershould ideally handle dtype mismatches more gracefully. - Number of comments this week: 2
- The comments provide a workaround suggesting the use of
-
[STAT:AWAITING RESPONSE] [TYPE:BUG] [COMP:OPS] [COMP:GPU] [2.21.0] tf.raw.ops.ResourceGatherNd aborts with internal CHECK failure on dtype mismatch instead of raising an error: This issue reports that the TensorFlow operation
tf.raw.ops.ResourceGatherNdcauses a fatal internal check failure and aborts the process when there is a dtype mismatch between the requested output and the resource variable, instead of raising a recoverable TensorFlow exception. The user expects that dtype inconsistencies should be handled gracefully by returning an error likeInvalidArgumentErrorrather than terminating the program abruptly.- The comments provide a workaround suggesting the use of
tf.gather_nd, which respects the variable’s dtype and prevents the crash, with an option to cast the result afterward; the original reporter acknowledges the workaround but emphasizes that the underlying issue should ideally be fixed to raise a proper error instead of aborting. - Number of comments this week: 2
- The comments provide a workaround suggesting the use of
-
[STAT:AWAITING RESPONSE] [TYPE:BUG] [COMP:XLA] [2.20.0] Bug Report: XLA compilation fails when tf.Variable is created inside @tf.function-decorated method: This issue reports a bug where XLA compilation fails with a ValueError when a tf.Variable is created inside a method decorated with @tf.function(jit_compile=True), as TensorFlow requires variables to be created only once and reused within such functions. The user provides a minimal reproducible example and error logs demonstrating that creating tf.Variable inside the tf.function context leads to this failure.
- The comments explain that tf.Variables must be created outside the tf.function or initialized in the init or build methods to avoid the ValueError, providing documentation and a reference gist for guidance; the user acknowledges the explanation and inquires whether the issue can be fixed.
- Number of comments this week: 2
-
[TYPE:BUG] [TF] InaccessibleTensorError when accessing tensors created inside tf.while_loop after the loop: This issue reports a bug where tensors created inside a tf.while_loop and stored in a Python list become inaccessible after the loop, resulting in an InaccessibleTensorError when attempting to use them outside the loop's scope. The problem occurs in TensorFlow version 3.15.0 and is demonstrated with a standalone code example that triggers the error during tensor concatenation after the loop.
- The comments include a user reproducing the bug with a simplified example and environment details, confirming the error arises from tensors created inside the while loop being out of scope; another comment questions whether the issue is truly a bug, suggesting the problem may stem from treating a tf.Tensor as a Python integer in the loop iteration.
- Number of comments this week: 2
-
[TYPE:BUG] tf.keras.layers.Conv1DTranspose failed with valid parameters: This issue reports a bug where the
tf.keras.layers.Conv1DTransposelayer works correctly with symbolic Keras inputs but fails with eager TensorFlow tensors despite using valid parameters, producing an error related to the ONEDNN library. The problem appears to be linked to the MKL backend's inability to create a primitive descriptor for the convolution operation, and similar failures are observed withConv2DTransposeandConv3DTransposelayers under comparable conditions.- The comments confirm that the same error occurs with Conv2DTranspose and Conv3DTranspose layers, showing that symbolic inputs succeed while eager execution fails with an MKL-related aborted error, suggesting a broader issue with MKL primitives in transpose convolution layers.
- Number of comments this week: 2
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: 31
Summarized Issues:
- XLA Compilation and tf.function Issues: Several bugs occur when using
@tf.function(jit_compile=True)with XLA compilation, includingValueErrorfor unsupported dtypes intf.range, errors creating variables inside tf.function, and failures intf.keras.utils.pad_sequenceswith Tensor inputs. These issues cause crashes or exceptions that do not occur without XLA, indicating problems with XLA's handling of certain TensorFlow operations and control flow constructs. - [issues/113143, issues/113170, issues/113241]
- Sparse and Resource Apply Operations Fatal Errors: TensorFlow operations like
ResourceSparseApplyAdadeltaandResourceSparseApplyAdagradabort the process with fatal internal check failures instead of raising recoverable exceptions when given invalid inputs or dtype mismatches. This leads to hard crashes rather than graceful error handling during sparse gradient updates. - [issues/113144, issues/113145]
- SparseSegment GPU Crashes: Multiple
tf.raw.ops.SparseSegment*operations cause fatal GPU crashes withcudaErrorIllegalAddresson NVIDIA GPUs when given invalid or malformed inputs, resulting in process aborts instead of safe error returns. These bugs corrupt CUDA contexts and cause unexpected termination during kernel execution. - [issues/113146, issues/113147, issues/113148, issues/113149]
- tf.data Dataset and Service Crashes on Large Inputs: Various
tf.datacomponents such asFixedLengthRecordDataset,Dataset.shuffle, andexperimental.index_table_from_datasetcause segmentation faults orstd::bad_allocerrors when given excessively large parameters likebuffer_size,num_parallel_reads, orvocab_size. Additionally,tf.data.experimental.service.DispatchServercrashes with exit code 139 after normal shutdown, indicating instability in dataset handling and service lifecycle. - [issues/113159, issues/113160, issues/113162, issues/113163, issues/113167]
- Pooling Operations Unimplemented or Erroneous on CPU: The
tf.nn.avg_pool3dandtf.nn.avg_pooloperations raiseUnimplementedErroron CPU for certain data formats and pooling configurations, such as pooling across multiple spatial dimensions or usingNCDHWformat. These errors cause confusion due to unclear messages and incorrect references to MaxPooling, highlighting incomplete CPU support for some pooling scenarios. - [issues/113179, issues/113181, issues/113187]
- Convolution and Pooling Inconsistencies Between Eager and Graph Modes: Functions like
tf.nn.conv1d,tf.nn.convolution,tf.nn.depthwise_conv2d,tf.nn.avg_pool1d, andtf.nn.max_poolbehave inconsistently between eager execution andtf.functiongraph mode, often failing with negative dimension size errors or producing incorrect outputs when using dilation or specific data formats. This inconsistency complicates debugging and model portability. - [issues/113318, issues/113319, issues/113320, issues/113322, issues/113324]
- Convolution Forward Propagation Failures with oneDNN: The
tf.nn.conv3d_transposeoperation andtf.keras.layers.Conv1DTransposelayer fail on CPU or eager tensors due to oneDNN errors when creating convolution primitives, causing aborted operations despite working in other frameworks or symbolic Keras inputs. This indicates integration issues with oneDNN primitives in certain convolution scenarios. - [issues/113188, issues/113330]
- Control Flow Errors with tf.cond and jit_compile: Using
tf.condinside@tf.function(jit_compile=True)causesTypeErrorwhen the predicate is a Python boolean or when more than two branches are used, resulting in unclear error messages and complicating debugging of conditional logic under XLA compilation. - [issues/113334, issues/113345]
- Tensor Accessibility and Scope Issues in tf.while_loop: Tensors created inside a
tf.while_loopand stored in Python lists become inaccessible after loop completion, raisingInaccessibleTensorErrorwhen accessed outside the loop, indicating scope and lifetime management problems for tensors in control flow constructs. - [issues/113242]
- Memory Leak in Keras Model Lifecycle: Repeated creation, training, and deletion of Keras models inside loops cause progressive memory leaks despite attempts to clear sessions and force garbage collection, affecting multiple platforms and TensorFlow variants. This leads to steadily increasing memory usage and potential resource exhaustion.
- [issues/113529]
- GPU Detection Failure on Arch Linux: TensorFlow 2.21.0 fails to detect GPUs on fully updated Arch Linux systems with RTX 2070 Super and RTX 4090 GPUs, whereas version 2.20.0 detects them correctly. The issue persists across multiple machines and nightly builds, indicating a regression in GPU device detection.
- [issues/113541]
- InvalidArgumentError on Empty Reduction Axis: Calling
tf.math.argminon tensors with an empty dimension along the reduction axis raises anInvalidArgumentErrorinstead of handling the empty axis gracefully or returning a consistent result, causing unexpected failures in reduction operations. - [issues/113185]
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: 3
Summarized Issues:
- TensorFlow operation errors and failures: The MKL/oneDNN MaxPool3D operation in TensorFlow causes a fatal CHECK failure instead of raising a Python-level InvalidArgumentError when given an input tensor without the required 5D shape. This issue highlights a problem with error handling that leads to process abortion rather than a manageable exception.
- issues/111457
- Numerical discrepancies in tensor operations: There is a minor numerical discrepancy in batched matrix multiplication results on 3D float32 tensors between TensorFlow's
tf.linalg.matmuland PyTorch'storch.matmul. The maximum absolute difference observed is approximately 2.38e-07, indicating slight but measurable differences in output across frameworks. - issues/111487
- Model quantization support for mobile: There is a request for enhanced support for model quantization specifically designed for mobile devices using TensorFlow Lite. This reflects a need for improved tooling or features to optimize models for mobile deployment.
- issues/112171
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: 16
Key Open Pull Requests
1. Fix CHECK abort in SparseApplyAdadelta and other SparseApply ops when grad has fewer dimensions than var: This pull request fixes a fatal CHECK abort in the SparseApplyAdadelta and eight other SparseApply operations by adding explicit dimension equality checks between the var and grad tensors before iterating over their dimensions, thereby preventing crashes when grad has fewer dimensions than var and replacing the abort with a proper InvalidArgumentError, along with adding corresponding tests to verify this behavior.
- URL: pull/113100
2. Validate tf.name_scope names with spaces in eager and graph modes: This pull request improves TensorFlow by validating and normalizing tf.name_scope names that contain spaces or unsupported characters in both eager and graph modes, preventing ValueError exceptions when dynamic strings are used and enhancing stability and usability.
- URL: pull/113161
3. Fix/resource sparse adagrad dtype check: This pull request adds a data type check for the resource sparse Adagrad optimizer and includes a regression test to ensure its correctness.
- URL: pull/113276
Other Open Pull Requests
- Integer overflow and memory safety fixes in TFLite kernels: Multiple pull requests address critical integer overflow vulnerabilities and memory safety issues in TensorFlow Lite kernels. These fixes include adding comprehensive overflow checks in the
stablehlo_padkernel to prevent heap buffer overflows and adding missing negative index bounds checks instablehlo_scatterandstablehlo_gatherkernels to prevent out-of-bounds heap memory access caused by negative indices, thereby mitigating potential security vulnerabilities.
- Error handling and validation improvements in resource operations: Pull requests improve error handling by adding dtype validation in
ResourceGatherOpandResourceGatherNdOpto replace internal CHECK failures with properInvalidArgumentErrors, and by adding validation inDeleteMultiDeviceIteratorto prevent crashes by ensuring valid resource handles before access. These changes enhance robustness and provide clearer error messages for invalid inputs.
- GPU operation correctness and NaN propagation fixes: A pull request fixes NaN propagation issues in the
unsorted_segment_maxGPU operation by replacing max/min functions withfmaxf/fminfin atomic and non-atomic operations. This ensures GPU behavior aligns with CPU and correctly propagates NaN values, addressing a known issue.
- Shape inference and output dimension fixes in pooling operations: A pull request fixes a bug in
tf.nn.avg_pool1dwhere usingpadding=VALIDwith inputs smaller than the filter size caused negative dimension errors in graph mode. The update aligns shape inference to produce zero-sized output dimensions, preventing compilation crashes and adding tests for multiple data formats.
- Improved error messages for matrix operations: One pull request enhances the error message in
tf.matmulby explicitly showing mismatched inner dimensions and noting that both input tensors must be at least 2D. This makes it easier for users to understand matrix size incompatibility errors.
- Disabling problematic oneDNN operations: A pull request disables oneDNN operations for the
conv3d_transposefunction on CPU to fix an abort error, addressing a specific issue.
- Security improvements in build scripts: A pull request replaces the use of
os.system()withsubprocessin multiple build wrapper scripts to prevent execution of shell commands with user-controllable input, addressing a critical security vulnerability.
- Memory safety and integer overflow fixes in JPEG Uncompress: A pull request improves memory safety in the JPEG
Uncompress()function by replacing manual buffer management withstd::unique_ptrand addresses integer overflow risks by switching to int64 calculations and adding explicit bounds checks during buffer allocation and stride computations.
- Compute Library version update: A pull request updates the Compute Library version from v24.12 to v52.8.0, incorporating numerous bug fixes and performance improvements, and removes or updates existing patches to align with the new version.
- Eager Tensor numpy field normalization and test coverage: A pull request normalizes numpy-related fields in eager Tensor representations within the TfDoctestOutputChecker, excluding
tf.RaggedTensor, and adds corresponding unit test coverage.
- Code comment addition: A pull request adds a comment to the
example_parser_configuration.ccfile in the TensorFlow project.
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. 493236662: Support to CUDA 13: This pull request aims to add support for CUDA 13 in the TensorFlow project, including updates to installation scripts and pip dependencies, but it was not merged.
- URL: pull/113103
2. fix: extract 2 unsafe expression(s) to env vars: This pull request addresses high-severity security vulnerabilities in GitHub Actions workflows by extracting two unsafe expressions into environment variables to prevent shell injection, as identified and automatically fixed by the Runner Guard CI/CD security scanner.
- URL: pull/113314
- Associated Commits: 4f996
- Associated Commits: 4f996
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 |
|---|---|---|---|---|
| DeLightor | 0 | 0 | 20 | 2 |
| champ24-36 | 14 | 0 | 0 | 0 |
| VibhorGautam | 11 | 0 | 0 | 0 |
| AGFACBNNR | 0 | 0 | 7 | 3 |
| mohammadmseet-hue | 3 | 2 | 0 | 4 |
| Blooming-Tree | 0 | 0 | 7 | 1 |
| qukhan | 0 | 0 | 0 | 8 |
| AshiteshSingh | 6 | 0 | 0 | 0 |
| adityasai1234 | 3 | 3 | 0 | 0 |
| tingPetty | 0 | 0 | 6 | 0 |
Access Last Week's Newsletter: