Weekly GitHub Report for Tensorflow: September 21, 2026 - September 28, 2026 (20:38:32)
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 flexibility. 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:BUILD/INSTALL] [STAT:AWAITING RESPONSE] [SUBTYPE:WINDOWS] [2.20.0] Build Error: This issue reports a build error encountered when attempting to compile TensorFlow version 2.20 on Windows using Bazel 9.0.0 and Clang 21.1.8, resulting in an error related to the
@rules_pythonrepository not being visible from the main repository. The user is advised to downgrade Bazel and Clang to the officially supported versions (Bazel 7.4.1 and Clang 18.1.4) as the newer toolchain versions are incompatible with the TensorFlow 2.20 source code, and additional guidance is provided regarding CUDA support on Windows.- The comments focus on diagnosing the build failure by identifying incompatibilities between the Bazel and Clang versions used and those officially supported for TensorFlow 2.20; maintainers recommend downgrading Bazel to version 7.4.1 or 6.1.0 and Clang to 18.1.4, and users express interest in related build options and opportunities while acknowledging the guidance provided.
- Number of comments this week: 5
-
[STAT:AWAITING RESPONSE] [TYPE:BUG] [COMP:TF.FUNCTION] [TF 2.11] AutoGraph did convert this function: NameError: name 'Tuple' is not defined: This issue reports a bug where TensorFlow's AutoGraph fails to convert a function using locally imported type annotations, specifically raising a
NameErrorfor the name 'Tuple' when it is imported inside the function rather than at the global level. The user demonstrates that importingTupleglobally or usingfrom __future__ import annotationsavoids the error, but notes that this workaround should not be necessary and that the problem persists in TensorFlow 2.18.0.- The comments confirm the issue is reproducible and discuss workarounds such as importing
Tupleglobally or wrapping the entire function withtf.function. The TensorFlow team acknowledges the bug, marks it for community contributions, and later confirms a fix has been proposed and landed in the master branch, advising users to test with the latest nightly builds. The issue remains open due to a manual closure of the related PR, and contributors express willingness to assist with similar bugs. - Number of comments this week: 4
- The comments confirm the issue is reproducible and discuss workarounds such as importing
-
[STAT:AWAITING TENSORFLOWER] [TYPE:FEATURE] Support python 3.14: This issue tracks the progress and challenges related to adding support for Python 3.14 in TensorFlow, highlighting delays due to limited team resources and prioritization of maintenance over new features. It also discusses the current state of nightly builds, release cycles, and community concerns about the slow pace of updates and compatibility with newer Python versions.
- The comments reveal ongoing uncertainty about the timeline for official Python 3.14 support, with some noting that nightly builds have partial support while stable releases lag behind; community members express frustration over infrequent releases, infrastructure challenges, and the potential need to switch to alternative ML frameworks due to slow progress.
- Number of comments this week: 4
-
[TYPE:BUG] [2.21.0] [COMP:XLA] [AWAITING PR MERGE] tf.while_loop hangs under tf.function/jit_compile=True while eager returns after a single iteration: This issue describes a bug where a
tf.while_loopthat should run indefinitely undertf.functionandtf.function(jit_compile=True)instead hangs without returning, while the same loop executed eagerly returns after a single iteration despite the loop condition remaining true. The inconsistency between eager execution and compiled graph/XLA execution is highlighted, with the compiled paths correctly running the infinite loop and eager execution unexpectedly terminating early without error.- The comments clarify that the compiled behavior is consistent with the loop’s semantics of running indefinitely when the condition never becomes false, and the anomaly lies in eager execution stopping early; a fix has been proposed and a pull request opened to address the reported behavior.
- Number of comments this week: 4
-
[TYPE:BUG] [COMP:OPS] [AWAITING PR MERGE] [2.20.0] [**tf.experimental.numpy.heaviside
andtf.keras.ops.heavisidereturn finite values for NaN input instead of propagating NaN**](https://github.com/tensorflow/tensorflow/issues/127819): This issue reports a bug where the TensorFlow functionstf.experimental.numpy.heavisideandtf.keras.ops.heavisidereturn finite values instead of propagating NaN inputs, which is inconsistent with the behavior of NumPy'sheaviside` function. The user demonstrates that for NaN inputs, TensorFlow's implementations return 0.0 rather than NaN, and requests that the behavior be aligned with NumPy or at least documented if intentionally different.- The comments acknowledge the issue and confirm it has been reproduced; a root cause analysis identifies the problem in the conditional logic handling NaN values. A fix has been proposed and approved for
tf.experimental.numpy.heavisidein TensorFlow, with tests added to prevent regression, while noting that the Keras version requires a separate fix. The issue is awaiting the merge of the proposed PR to be resolved. - Number of comments this week: 4
- The comments acknowledge the issue and confirm it has been reproduced; a root cause analysis identifies the problem in the conditional logic handling NaN values. A fix has been proposed and approved for
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: 24
Summarized Issues:
- Numerical precision and accuracy issues: Several TensorFlow operations exhibit precision or accuracy errors under specific conditions, such as
tf.math.unsorted_segment_meanreturning incorrect results forbfloat16inputs with large segment sizes,tf.linalg.qrlosing precision due to intermediate underflow, andtf.linalg.svdproducing incorrect singular values under XLA compilation for small-scale matrices. These issues affect both CPU and GPU executions and cause deviations from expected mathematical behavior, impacting reliability in numerical computations. - [issues/127818, issues/127912, issues/127974]
- Inconsistent behavior between eager, graph, and XLA modes: Multiple TensorFlow functions behave inconsistently across execution modes, including
tf.math.signflushing subnormal floats to zero in eager mode but not in XLA,tf.nn.avg_poolcausing shape inference errors in graph/XLA but not eager,tf.math.in_top_kreturning incorrect results under XLA, andtf.boolean_maskcausing XLA crashes due to dynamic output shapes. These discrepancies lead to silent errors or crashes depending on the compilation or execution context. - [issues/127905, issues/127907, issues/127909, issues/128007]
- XLA compilation and dynamic shape handling bugs: XLA compilation introduces bugs such as compiling both branches of a
tf.condwith a constant predicate causing dynamic shapes and compilation failures, andQuantizeAndDequantizeV3failing to validate out-of-range inputs under XLA, resulting in silent incorrect results. These issues highlight challenges in static shape inference and input validation within XLA-compiled graphs. - [issues/128039, issues/127914]
- Type coercion and input validation inconsistencies: TensorFlow exhibits inconsistent type coercion and input validation, including
tf.constantandtf.convert_to_tensorhandling ofnp.nanin integer conversions differing between Python lists and NumPy arrays, andtf.subtractfailing to coerce Python scalar types consistently across execution modes. These inconsistencies cause unexpected errors or silent incorrect behavior. - [issues/127822, issues/127911]
- Incorrect or inconsistent NaN and zero handling: Some TensorFlow functions incorrectly handle NaN or zero values, such as
tf.experimental.numpy.heavisideandtf.keras.ops.heavisidereturning finite values instead of propagating NaNs, and atf.functionincorrectly reusing traces for +0.0 and -0.0 float arguments, leading to wrong results. These issues cause deviations from expected numerical semantics and can affect downstream computations. - [issues/127819, issues/128160]
- TensorFlow Lite model loading security vulnerability: The
tf.lite.InterpreterAPI bypasses FlatBuffer verification when loading models from file paths, leading to segmentation faults on maliciously crafted models and inconsistent security behavior compared to loading from model content. This vulnerability poses a security risk when loading untrusted.tflitefiles and requires either verification enforcement, vulnerability fixes, or clear documentation. - [issues/128148]
- Documentation inaccuracies and build status issues: Documentation errors include incorrect descriptions of
QuantizeAndDequantizeops and misleadingdata_formatparameter support claims that do not reflect actual CPU support, causing runtime errors. Additionally, the TensorFlow README's Official Builds table is broken due to inaccessible build-status badges and discontinued artifact links, impairing user access to build information. - [issues/128056, issues/128064, issues/128150]
- Performance optimization for concat operation: An optimization was proposed to improve CPU performance of the TensorFlow concat operation by adding a fast-path for contiguous axis-0 concatenations, reducing dynamic heap allocations and adjusting threading thresholds to lower latency and increase efficiency. This enhancement targets better resource utilization in multi-threaded environments.
- [issues/127919]
- Dataset sampling hang with zero weights: Using
tf.data.Dataset.sample_from_datasetswith a 1D tensor of weights containing zero causes an infinite loop after exhausting non-zero datasets, whereas using a Python list for weights terminates correctly. This bug leads to indefinite hangs in data pipeline iteration under specific weight configurations. - [issues/128108]
- Inconsistent reciprocal results for complex zeros: The
tf.math.reciprocalfunction returns inconsistent infinite and NaN values for tensors of identical complex zeros depending on tensor length when run on CPU in eager mode, instead of consistently returninginf+nanj. This inconsistency affects numerical stability and predictability of reciprocal computations. - [issues/128121]
- Incorrect min/max logging in TensorFlow Lite calibration: Input tensors shared with output tensors during evaluation are logged with incorrect min/max values, causing inaccurate calibration and quantization in TensorFlow Lite models. This bug undermines the reliability of quantization workflows.
- [issues/127842]
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: 48
Summarized Issues:
- GPU-only operation failures on CPU: Several TensorFlow operations such as
tf.image.generate_bounding_box_proposalsfail on CPU because they are only registered for GPU devices, causing NotFoundErrors when no GPU is available. This limitation leads to crashes or aborts when these GPU-specific ops are invoked on unsupported hardware. - [issues/62969]
- Invalid input validation causing crashes: Multiple operations including
tf.raw_ops.AvgPool,tf.raw_ops.MatrixInverse,tf.raw_ops.Reshape,tf.image.non_max_suppression,tf.raw_ops.BarrierInsertMany,tf.raw_ops.BlockLSTMGrad,tf.raw_ops.LSTMBlockCellGrad,tf.raw_ops.WriteScalarSummary,tf.raw.ops.SparseSegmentSqrtNGrad,tf.raw_ops.ResourceGather,tf.raw_ops.LookupTableExportV2, andtf.raw_ops.FusedPadConv2Dexhibit insufficient input validation. These issues result in assertion failures, core dumps, segmentation faults, or process aborts instead of graceful error handling when given invalid shapes, negative parameters, or incompatible tensor ranks. - [issues/63034, issues/80316, issues/80529, issues/95760, issues/112742, issues/112746, issues/113060, issues/113146, issues/106497, issues/125503, issues/125505]
- Build and compilation errors: TensorFlow faces build failures due to missing header files like
float8.handtensor.h, cross-compilation issues for ARM64 targets, and Bazel analysis errors on ARM with CUDA. These problems prevent successful compilation on various platforms including Termux, Ubuntu, and ARM architectures. - [issues/93130, issues/93250, issues/96427, issues/125892]
- Docker and environment compatibility issues: Using outdated TensorFlow versions inside Docker containers causes missing or incompatible shared libraries, leading to NotFoundErrors. This highlights the importance of maintaining up-to-date TensorFlow versions for containerized environments.
- [issues/93586]
- XLA and eager execution inconsistencies: TensorFlow's XLA compiler exhibits multiple discrepancies compared to eager execution, including silent execution of invalid matrix multiplications, differing error handling for invalid slices, inconsistent
tf.math.argmaxresults with NaNs, incorrect handling of singular matrices intf.linalg.solve, and divergent NaN propagation and numerical results intf.image.resize. These inconsistencies cause confusion and unreliable behavior between execution modes. - [issues/117771, issues/117772, issues/118177, issues/118378, issues/118382, issues/118467]
- Memory safety vulnerabilities: TensorFlow Lite's reshape operator and the
RaggedGatheroperation contain heap-buffer-overflow bugs due to unchecked tensor shape or row-splits calculations, leading to out-of-bounds writes and potential memory corruption or denial-of-service conditions before inference. - [issues/124982, issues/126135]
- TensorFlow operation crashes with large or extreme inputs: Operations like
tf.raw_ops.UnsortedSegmentSumandtf.raw_ops.ResourceGathercrash or cause undefined behavior when given extremely largenum_segmentsor incompatiblebatch_dims, due to integer overflow or lack of input validation. - [issues/117549, issues/106497]
- Incorrect gradient computations and autodiff issues: Several TensorFlow functions including
tf.keras.ops.exp2,tf.math.log_sigmoid,tf.keras.ops.image.affine_transform, andtf.keras.metrics.categorical_crossentropyproduce incorrect or infinite gradients, or miscalculate class counts, leading to inaccurate automatic differentiation and loss computations. - [issues/126627, issues/126628, issues/127241, issues/127249]
- Tensor operation fusion and shape errors in graph mode: Adding a
[1, N]tensor to aMatMulresult works in eager mode but fails intf.functiondue to incorrect fusion requiring a 1-D bias, causing runtime errors in graph mode. - [issues/126661]
- Numerical stability and reduction errors under XLA: The
tf.math.reduce_prodoperation returns NaN instead of zero when reducing large float32 arrays containing zero under XLA compilation, caused by overflow and IEEE-754 multiplication rules in parallel reductions. - [issues/126893]
- TensorFlow GPU kernel bugs causing illegal memory accesses: Bugs in CUDA kernels such as
DenseBincountandSparseSegmentSqrtNGradcause illegal memory writes and fatal errors on GPU, leading to Compute-Sanitizer errors and process aborts. - [issues/103995, issues/113146]
- TensorFlow operation inconsistencies on GPU vs CPU: The
tf.powoperation on GPU incorrectly accepts negative integer exponents for signed integer types and returns invalid results, whereas the CPU implementation correctly raises errors, causing unexpected behavior differences. - [issues/127815, issues/127823]
- TensorFlow executor cost estimation inaccuracies on ARM: The executor on aarch64 Linux uses unscaled ARM timer cycles for operation cost estimation, leading to inaccurate scheduling decisions due to frequency differences from x86 timers.
- [issues/124406]
- Excessive and redundant GPU error logging: TensorFlow's legacy GPU CheckNumerics kernel emits noisy and redundant error messages that interfere with debugging, prompting exploration of environment variables or code changes to reduce log verbosity.
- [issues/96524]
- TensorFlow function crashes due to invalid scalar inputs: The
tf.searchsortedfunction crashes with anInvalidArgumentErrorwhen provided a scalarvaluesparameter instead of an array, causing slice index out of bounds errors. - [issues/127778]
- TensorFlow model conversion and reproduction challenges: Users report difficulties reproducing and diagnosing TensorFlow Lite model conversion issues, requesting detailed system info, code examples, and Colab notebooks to aid debugging.
- [issues/127692]
- License header formatting issues: The Apache 2.0 license header in
tensorflow/core/kernels/gpu_prim.his scrambled and missing a blank line, deviating from the standard boilerplate, though this does not affect builds or functionality. - [issues/127660]
- Spam and non-technical issue closures: Some issues contain irrelevant content such as repeated Instagram links and are closed as spam without technical resolution.
- [issues/127926]
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: 46
Key Open Pull Requests
1. New: This pull request introduces tests for seed dtype enforcement in the stateless random number generator functions of the d_random module, updates the build configuration to include these tests, fixes typos and tensor conversion issues, merges updates from the master branch, and removes obsolete argmax operation files.
- URL: pull/127800
2. Infer zero-sized VALID pooling outputs: This pull request fixes the issue of inferring zero-sized outputs in VALID pooling operations by adjusting the calculation to add the stride before subtracting the window size when the pooling window is larger than the padded input, thereby preventing negative intermediate dimensions and preserving original arithmetic for other cases, along with adding regression tests for shape inference.
- URL: pull/127941
3. Reject out-of-range targets in XLA InTopK: This pull request improves the XLA InTopK operation by rejecting out-of-range targets through per-target bounds checks, replacing the previous reduction of unmatched class masks to zero with a per-row validity bit to prevent false positives, and handling negative and upper-bound targets for int32 and int64 types.
- URL: pull/127942
Other Open Pull Requests
- Static Analysis and PR Review Automation: This pull request introduces an automated TensorFlow PR Review Agent workflow that performs static analysis with Pylint and semantic review using Gemini. It applies TensorFlow-specific guidelines, supports commit-level idempotency and re-review on new commits, ensures security by isolating PR code execution, and posts structured GitHub reviews based on the analysis results.
- LLVM Symbol Export Reduction: This pull request stops exporting the statically linked LLVM C API symbols from
libtensorflow_frameworkexcept for the LLVM target initializer functions, reducing symbol collisions and mitigating crashes caused by conflicting LLVM versions without breaking TensorFlow's linking or functionality.
- Function Cache Management Enhancements: This pull request introduces LRU cache eviction and explicit cache clearing capabilities to the
FunctionCacheandPolymorphicFunctionclasses, adding capacity limits, eviction of least recently used entries, and aclear_cachemethod. Corresponding unit tests ensure these cache management features work correctly.
- Name Scope Validation Consistency: This pull request fixes an inconsistency where
tf.name_scopein eager mode allowed names with spaces without error by adding regex-based input validation to match graph mode. This ensures invalid scope names raise aValueErrorconsistently across both execution modes.
- Thread Error Handling Improvement: This pull request improves thread error handling in execution mode tests by capturing exceptions raised within threads into a shared list and re-raising the first exception in the main thread after all threads complete. This ensures assertion errors inside worker threads are properly reported and no longer silently ignored.
- Raw Operations Documentation Fixes: This pull request fixes documentation issues in TensorFlow raw operations
QuantizeAndDequantizeV2,V3, andV4by correcting and updating their API definitions to ensure accurate descriptions of input arguments and behavior.
- Duplicate Reduction Axes Rejection: This pull request ensures consistent rejection of duplicate reduction axes across all TensorFlow execution paths by adding a duplicate dimension check to the MLIR bridge's reduction legalization for XLA. It aligns behavior with eager kernel and tf2xla bridge, removes a previous test workaround, and adds a regression test for auto-clustering.
- README and Artifact Link Updates: This pull request removes dead Kokoro build status badge links from the README, updates GPU artifact links to point to the current tf-nightly package instead of the retired tf-nightly-gpu, redirects the Android artifact link to the LiteRT Android guide, and ensures all remaining URLs in the Official Builds table return successful HTTP responses.
- Heaviside Function NaN Propagation Fix: This pull request fixes
tf.experimental.numpy.heavisideto correctly propagate NaN values from its first argument, aligning behavior with NumPy by masking NaN elements and returning NaN for floating-point inputs while maintaining existing behavior for integer inputs.
- MonitoredTimer Concurrency Bug Fix: This pull request refactors MonitoredTimer by replacing its module-level shared list with thread-local storage to isolate recursion state per thread. This fixes a concurrency bug where simultaneous calls in different threads with the same section name would incorrectly skip counting and corrupt metrics.
- Master-Job-Matching Logic Bug Fix: This pull request fixes a bug in the master-job-matching logic within
connect_to_clusterby extracting the search into a new function that correctly returns the first matching master job and task. It prevents later matches from overwriting earlier correct matches and includes unit tests to verify this behavior.
- TensorFlow Lite Calibrator Logging Fix: This pull request fixes an issue where non-variable input tensors were incorrectly re-logged after kernel invocation, causing corrupted calibration statistics due to memory buffer reuse. The logging logic was modified to skip re-logging for non-variable tensors while preserving it for variable tensors, with a regression test verifying this behavior.
- Unsorted Segment Mean Count Saturation Fix: This pull request fixes count saturation in
tf.math.unsorted_segment_meanfor reduced-precision floating-point types by changing segment count accumulation from floating-point to integer arithmetic. This ensures accurate segment size computation and prevents incorrect mean results caused by floating-point precision limitations.
- CropAndResize Gradient Input Validation: This pull request adds upfront validation to ensure the
boxestensor contains only finite values inCropAndResizeGradImageOpandCropAndResizeGradBoxesOpgradient computations. This prevents invalid memory access and segmentation faults caused byNaNor infinite coordinates, with unit tests verifying explicit error raising.
- Softmax Precision Loss Fix: This pull request fixes a 1-ULP precision loss in softmax and log_softmax operations over an axis of size one with batch sizes ≥ 8 by introducing a dedicated single-class fast path on CPU and GPU. This avoids approximate reciprocal calculations and redundant reductions, ensuring exact results and improved performance with comprehensive regression tests.
- GPU Complex Abs Numerical Fix: This pull request fixes a numerical discrepancy and compliance bug in the GPU implementation of
tf.math.absfor complex floating-point numbers by specializing the absolute value operation to usehypotfunctions. This correctly handles infinite and NaN inputs per IEEE-754 and ISO C99 standards, ensuring consistent and accurate results on CUDA and ROCm devices.
- GPU Convolution Filter Validation: This pull request addresses fatal crashes and out-of-bounds memory errors in GPU convolution filter transformation kernels by adding validation to ensure the filter element count does not exceed the 32-bit integer limit. It implements upfront bounds checks before launching GPU kernels, adds defensive guards against invalid output sizes, and includes a regression test.
- Scoped Clang Warning Suppression: This pull request refactors suppression of the Clang
-Wpass-failedwarning from being globally applied in the public headergpu_prim.hto being scoped specifically to GPU Bazel targets that include this header. This prevents warning suppression from leaking into unrelated code and ensures only relevant GPU compilation units receive the flag.
- GPU Bucketize Fractional Boundary Fix: This pull request fixes a bug in the GPU implementation of TensorFlow’s
bucketizeoperation where fractional boundary values were truncated for integer input tensors. It promotes both input values and boundaries to an appropriate floating-point comparison type to preserve fractional precision and align GPU behavior with CPU and XLA.
- ConcreteFunction Forward-Backward Cache Fix: This pull request fixes incorrect nested forward-mode automatic differentiation results caused by not accounting for input tensor aliasing in the
ConcreteFunctionforward/backward function cache key. It ensures graphs are correctly reused based on sharing patterns of primal inputs and tangents rather than just tangent indices.
- GPU Kernel xlogy/xlog1py/xdivy Zero Input Fix: This pull request modifies MLIR-generated GPU kernels for
xlogy,xlog1py, andxdivyto return zero constant instead of inputxwhenxis zero. This ensures inputs like-0and subnormal values produce canonical+0results consistent with CPU implementations and other TensorFlow kernels, with new GPU-only tests verifying this behavior.
- XlaIfOp Compile-Time Branch Pruning: This pull request modifies XlaIfOp compilation to prune and compile only the taken branch of an If operation when its predicate is a compile-time constant. This prevents dynamic shape padding caused by compiling both branches and fixes downstream failures in operations like
tf.image.rot90followed byfftshiftoridctunderjit_compile=True.
- GPU Linear Algebra Input Rank Validation: This pull request fixes fatal crashes caused by invalid input ranks less than 2 in several GPU linear algebra operations by ensuring input rank validation occurs before any dimension indexing. This replaces abrupt process termination with a clean
InvalidArgumentErrorconsistent with CPU behavior.
- RemoveLogicalNotStage Optimization Fix: This pull request fixes the
RemoveLogicalNotStageoptimization to avoid incorrectly inverting floating-point ordering comparisons involving NaN values. It ensures only non-floating-point types have their ordering comparisons inverted underLogicalNotto prevent silent behavioral changes insidetf.functionwhen NaNs are present.
- TensorFlow Remapper LeakyRelu Fusion Correction: This pull request updates the TensorFlow remapper to fuse the pattern maximum(x, alpha * x) into a LeakyRelu operation only when alpha is within [0, 1]. It corrects previous behavior that allowed fusion for alpha > 1 or NaN, which led to incorrect outputs, and includes new tests verifying correct fusion based on alpha’s value.
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: 91
Key Closed Pull Requests
1. Fix searchsorted NaN ordering across CPU, GPU, and XLA: This pull request addresses inconsistent handling of NaN values in the tf.searchsorted function across CPU, GPU, and XLA backends by implementing NaN-aware ordering and comparison logic that aligns with NumPy semantics, ensuring consistent and correct insertion indices for NaNs in both search values and sorted sequences.
- URL: pull/120279
- Associated Commits: 67d00, 60567, 0a194, 102fb, 3bc41, d4387, 09a79, 16ae3, 34619, 9c360, 34929, 6b02a, 1ed91, edcff, e55ff
2. Fix NaN handling in GPU cast operations for int32/int64 conversions (#12345): This pull request proposes adding device-friendly IsNan function templates and updating GPU CastFunctor implementations to safely handle NaN values by converting them to zero when casting floating-point tensors to int32 and int64 types, thereby fixing undefined behavior and aligning GPU casting behavior with CPU and NumPy standards.
- URL: pull/106214
- Associated Commits: 25ac4, a7b29, 0ca7c, 8fb1d, 5a872, 7f863, 86fb1, 5e811, e9f51, c4ea2, 9a231, 953e5, 9421a, fb9fe
3. fix: add upper bound validation for num_segments in UnsortedSegmentReductionOp: This pull request adds an upper bound validation for the num_segments parameter in the UnsortedSegmentReductionOp::Compute function to prevent integer overflow during output tensor size calculations, thereby avoiding illegal memory access and process crashes caused by excessively large num_segments values near INT64_MAX, by rejecting values above the 2 billion (kint32max) threshold with an InvalidArgument error before any memory allocation.
- URL: pull/120176
- Associated Commits: 891d3, 5e774, e3a7e, 86fce, 2d517, 33115, 82cb5, 12b2f, 9916b, 218b0, 12ad0, 81285, 4f880
Other Closed Pull Requests
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 |
|---|---|---|---|---|
| MaddipatlaChetan24 | 75 | 28 | 0 | 1 |
| GodlyDonuts | 47 | 9 | 0 | 12 |
| Venkat6871 | 14 | 4 | 0 | 46 |
| vishwakt | 38 | 9 | 2 | 11 |
| Kayyuri | 0 | 0 | 0 | 60 |
| Phoebus-Liu | 26 | 10 | 0 | 19 |
| kaivalya-cyber | 45 | 9 | 0 | 0 |
| powerofaisinstudy-debug | 50 | 1 | 1 | 0 |
| nileshau-afk | 0 | 0 | 0 | 28 |
| RohithPariki | 18 | 8 | 0 | 0 |