Weekly Project News

Archives
Subscribe

Weekly GitHub Report for Tensorflow: September 21, 2026 - September 28, 2026 (20:38:16)

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
    • 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 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.

  1. [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_python repository 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
  2. [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 NameError for the name 'Tuple' when it is imported inside the function rather than at the global level. The user demonstrates that importing Tuple globally or using from __future__ import annotations avoids 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 Tuple globally or wrapping the entire function with tf.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
  3. [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
  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_loop that should run indefinitely under tf.function and tf.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
  5. [TYPE:BUG] [COMP:OPS] [AWAITING PR MERGE] [2.20.0] [**tf.experimental.numpy.heavisideandtf.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.heaviside in 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

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_mean returning incorrect results for bfloat16 inputs with large segment sizes, tf.linalg.qr losing precision due to intermediate underflow, and tf.linalg.svd producing 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.sign flushing subnormal floats to zero in eager mode but not in XLA, tf.nn.avg_pool causing shape inference errors in graph/XLA but not eager, tf.math.in_top_k returning incorrect results under XLA, and tf.boolean_mask causing 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.cond with a constant predicate causing dynamic shapes and compilation failures, and QuantizeAndDequantizeV3 failing 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.constant and tf.convert_to_tensor handling of np.nan in integer conversions differing between Python lists and NumPy arrays, and tf.subtract failing 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.heaviside and tf.keras.ops.heaviside returning finite values instead of propagating NaNs, and a tf.function incorrectly 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.Interpreter API 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 .tflite files and requires either verification enforcement, vulnerability fixes, or clear documentation.
  • [issues/128148]
  • Documentation inaccuracies and build status issues: Documentation errors include incorrect descriptions of QuantizeAndDequantize ops and misleading data_format parameter 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_datasets with 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.reciprocal function 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 returning inf+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_proposals fail 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, and tf.raw_ops.FusedPadConv2D exhibit 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.h and tensor.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.argmax results with NaNs, incorrect handling of singular matrices in tf.linalg.solve, and divergent NaN propagation and numerical results in tf.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 RaggedGather operation 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.UnsortedSegmentSum and tf.raw_ops.ResourceGather crash or cause undefined behavior when given extremely large num_segments or incompatible batch_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, and tf.keras.metrics.categorical_crossentropy produce 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 a MatMul result works in eager mode but fails in tf.function due 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_prod operation 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 DenseBincount and SparseSegmentSqrtNGrad cause 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.pow operation 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.searchsorted function crashes with an InvalidArgumentError when provided a scalar values parameter 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.h is 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
  • Associated Commits: b4a7d, 18628, f6575, 17da0, 502b6, f8010, d27fd, 8cf5a

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
  • Associated Commits: 57f99, 79a99, f150a, d080c, 4258b, 00405, 09099, a464a

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
  • Associated Commits: d7e53, 32407, 36700, fdb4e, 6cf2c, 53c8f, 1cdae

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.
    • pull/128063
  • LLVM Symbol Export Reduction: This pull request stops exporting the statically linked LLVM C API symbols from libtensorflow_framework except for the LLVM target initializer functions, reducing symbol collisions and mitigating crashes caused by conflicting LLVM versions without breaking TensorFlow's linking or functionality.
    • pull/127780
  • Function Cache Management Enhancements: This pull request introduces LRU cache eviction and explicit cache clearing capabilities to the FunctionCache and PolymorphicFunction classes, adding capacity limits, eviction of least recently used entries, and a clear_cache method. Corresponding unit tests ensure these cache management features work correctly.
    • pull/127959
  • Name Scope Validation Consistency: This pull request fixes an inconsistency where tf.name_scope in eager mode allowed names with spaces without error by adding regex-based input validation to match graph mode. This ensures invalid scope names raise a ValueError consistently across both execution modes.
    • pull/128181
  • 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.
    • pull/127937
  • Raw Operations Documentation Fixes: This pull request fixes documentation issues in TensorFlow raw operations QuantizeAndDequantizeV2, V3, and V4 by correcting and updating their API definitions to ensure accurate descriptions of input arguments and behavior.
    • pull/128057
  • 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.
    • pull/128130
  • 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.
    • pull/128179
  • Heaviside Function NaN Propagation Fix: This pull request fixes tf.experimental.numpy.heaviside to 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.
    • pull/127890
  • 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.
    • pull/127936
  • Master-Job-Matching Logic Bug Fix: This pull request fixes a bug in the master-job-matching logic within connect_to_cluster by 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.
    • pull/127939
  • 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.
    • pull/127955
  • Unsorted Segment Mean Count Saturation Fix: This pull request fixes count saturation in tf.math.unsorted_segment_mean for 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.
    • pull/127956
  • CropAndResize Gradient Input Validation: This pull request adds upfront validation to ensure the boxes tensor contains only finite values in CropAndResizeGradImageOp and CropAndResizeGradBoxesOp gradient computations. This prevents invalid memory access and segmentation faults caused by NaN or infinite coordinates, with unit tests verifying explicit error raising.
    • pull/127957
  • 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.
    • pull/127963
  • GPU Complex Abs Numerical Fix: This pull request fixes a numerical discrepancy and compliance bug in the GPU implementation of tf.math.abs for complex floating-point numbers by specializing the absolute value operation to use hypot functions. This correctly handles infinite and NaN inputs per IEEE-754 and ISO C99 standards, ensuring consistent and accurate results on CUDA and ROCm devices.
    • pull/127967
  • 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.
    • pull/127968
  • Scoped Clang Warning Suppression: This pull request refactors suppression of the Clang -Wpass-failed warning from being globally applied in the public header gpu_prim.h to 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.
    • pull/128002
  • GPU Bucketize Fractional Boundary Fix: This pull request fixes a bug in the GPU implementation of TensorFlow’s bucketize operation 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.
    • pull/128013
  • 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 ConcreteFunction forward/backward function cache key. It ensures graphs are correctly reused based on sharing patterns of primal inputs and tangents rather than just tangent indices.
    • pull/128029
  • GPU Kernel xlogy/xlog1py/xdivy Zero Input Fix: This pull request modifies MLIR-generated GPU kernels for xlogy, xlog1py, and xdivy to return zero constant instead of input x when x is zero. This ensures inputs like -0 and subnormal values produce canonical +0 results consistent with CPU implementations and other TensorFlow kernels, with new GPU-only tests verifying this behavior.
    • pull/128034
  • 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.rot90 followed by fftshift or idct under jit_compile=True.
    • pull/128040
  • 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 InvalidArgumentError consistent with CPU behavior.
    • pull/128068
  • RemoveLogicalNotStage Optimization Fix: This pull request fixes the RemoveLogicalNotStage optimization to avoid incorrectly inverting floating-point ordering comparisons involving NaN values. It ensures only non-floating-point types have their ordering comparisons inverted under LogicalNot to prevent silent behavioral changes inside tf.function when NaNs are present.
    • pull/128112
  • 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.
    • pull/128114

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

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