Weekly GitHub Report for Tensorflow: April 14, 2025 - April 21, 2025 (12:03:26)
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:
The TensorFlow 2.19.0 release, created on March 5, 2025, introduces breaking changes to the LiteRT
C++ and Python APIs, including the transition of tf.lite.Interpreter
to a new location with a deprecation warning, and adds support for bfloat16
in the tfl.Cast
operation. Additionally, the release discontinues publishing libtensorflow
packages, though they remain accessible via PyPI, and features contributions from a diverse group of developers.
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.
-
Tensorflow model.save fails with AttributeError: 'Variable' object has no attribute 'read_value': This issue involves a bug in TensorFlow version 2.8, where the
model.save
function fails with anAttributeError
because the 'Variable' object does not have a 'read_value' attribute. The problem occurs in an on-device learning example provided by TensorFlow, specifically when attempting to save trained weights to a checkpoint in Google Colab.- The comments discuss that the error arises from the use of
weight.read_value()
, which is not available in the latest TensorFlow versions, and suggest usingweight.value
instead, although this leads to a different error. It is noted that the issue persists in TensorFlow 2.18 and above, but not in version 2.12, prompting a request for a prompt fix. - Number of comments this week: 2
- The comments discuss that the error arises from the use of
-
Input 0 of node cond/AssignVariableOp was passed float from cond/AssignVariableOp/Switch:0 incompatible with expected resource.: This issue involves a user encountering a
ValueError
when attempting to convert a TensorFlow model to TFLite format, specifically due to an incompatibility between a float input and an expected resource type in the model's node operations. The user is trying to fix the batch size of a BigGAN model and is facing challenges with the conversion process, likely due to outdated variable handling in the model architecture.- The comments discuss a similar error encountered by another user, who provides additional code that replicates the issue. A responder acknowledges the problem, explains the cause related to outdated variable handling in the model, and suggests potential solutions such as reimplementing the model using TensorFlow 2.x or converting to ONNX before TFLite. They also recommend trying other compatible models like StyleGAN2 or CycleGAN.
- Number of comments this week: 1
-
Linking fails with "Undefined reference to riegeli::RecordsMetadata::Clear()": This issue involves a failure in the linking process when attempting to compile the TensorFlow libraries on an OpenSUSE 15.6 system using Bazel, resulting in an "undefined reference" error related to
riegeli::RecordsMetadata::Clear()
. The user reports that the source code compiles successfully, but the final linking step fails, and they have not reproduced the bug with TensorFlow Nightly.- A responder suggests that the issue may be due to incompatible versions and advises updating them according to the documentation, providing a link for reference, and asks the user to check if the problem persists after making the updates.
- Number of comments this week: 1
Since there were fewer than 5 open issues, all of the open issues have been listed above.
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.
- TF-TRT Warning: Could not find TensorRT: This issue involves a user experiencing difficulties with TensorFlow on an Ubuntu 22.04 system, where the TensorRT library cannot be found despite multiple installation attempts. The user, a graduate student, is facing challenges with the NVIDIA driver compatibility for their RTX 3050 TI GPU, which is impacting their ability to focus on their Machine Learning coursework.
SystemError
intf.ensure_shape
andtf.compat.v1.ensure_shape
whendtype
ofshape
istf.uint64
and its value is too large.: This issue describes a bug in TensorFlow where usingtf.ensure_shape
ortf.compat.v1.ensure_shape
with ashape
ofdtype
tf.uint64
and a value close to 2^64 results in aSystemError
andOverflowError
. The problem occurs specifically when the shape is set to a large value, such astf.constant([18446743219011059112, 1], dtype=tf.uint64)
, causing these APIs to fail in eager mode, which the reporter has confirmed as a bug.- Feature Request: Integrate different Digital Signal Processing into tf.signal: This issue is a feature request to integrate advanced Digital Signal Processing (DSP) functionalities into TensorFlow's
tf.signal
module, similar to those available in the PyTorch ecosystem, particularly the julius library. The request highlights the need for native tools within TensorFlow to perform complex audio data augmentation, which would enhance model generalization and streamline workflows for researchers and developers working on audio-related projects. - [DOCS] Missing complex input for Round op: This issue highlights a documentation bug in TensorFlow's
Round
operation, where the official documentation incorrectly states that a complex tensor can be used as input, but in practice, this does not work as expected. The user reports that they must apply theRound
operation separately to the real and imaginary parts of the tensor to achieve the desired result, indicating a discrepancy between the documented and actual behavior of the function. - tf.raw_ops.Unbatch aborts with "Check failed: d < dims()": This issue pertains to a bug in TensorFlow version 2.17, where the
tf.raw_ops.Unbatch
operation aborts unexpectedly with an error message "Check failed: d < dims()". The problem has been reproduced using TensorFlow Nightly on a Linux Ubuntu 20.04.3 LTS system with Python 3.11.8, and involves custom code that triggers the error when attempting to unbatch a tensor.
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: 15
Summarized Issues:
- File Size Discrepancy in Model Saving: This issue highlights a discrepancy in file sizes when saving a TensorFlow model's weights using
model.save_weights(filename)
, which unexpectedly results in a larger file size compared to saving the entire model withmodel.save(filename, include_optimizer=False)
. It suggests thatmodel.save_weights
might be inadvertently including optimizer information, and proposes the addition of aninclude_optimizer
argument to themodel.save_weights
method to address this.
- Build and Installation Errors on Various Platforms: Several issues involve build and installation errors across different platforms and environments. These include a build error on Windows 11 Pro using Bazel and Clang due to long file paths, and installation failures on an M4 MacBook Pro with Apple Silicon and using Pipenv on Ubuntu 25.04 due to incompatible version requirements.
- Documentation Bugs and Suggestions: Documentation issues are highlighted, such as incorrect link redirection in the
conv1d_transpose
documentation and deprecated CMake warnings. These issues suggest improvements for better context and future compatibility.
- Runtime and Import Errors in Windows Environments: Multiple issues report runtime and import errors in Windows environments, including DLL load failures and initialization errors in TensorFlow versions 2.19.0 and 2.18.1. These errors occur in various setups, such as Spyder IDE and native runtime on Windows 10.
- Bugs in Model Saving and Dataset Handling: Bugs are reported in model saving and dataset handling, such as an
AttributeError
when saving a model in TensorFlow 2.8 and an out-of-memory error when saving a preprocessedtf.data.Dataset
in versions 2.19.0 and 2.18.1. These issues highlight challenges in handling model weights and large datasets.
- Multiprocessing and Compatibility Issues: A bug related to multiprocessing incompatibility is reported, where a ValueError indicates a binary incompatibility between numpy and pandas versions. This results in a traceback error during the import of pandas, affecting the creation of an API.
- Memory Management in TensorFlow Lite Applications: A memory management problem is identified in a TensorFlow Lite camera application, where repeated opening and closing of the camera preview screen causes increased CPU and GPU memory usage. This leads to crashes on some mobile devices, and guidance is sought on resource management.
- Compilation and Syntax Errors in TensorFlow: Compilation and syntax errors are reported, such as a missing parenthesis in
release_version.h
and a fatal error due to a missing file in a TensorFlow C program. These issues highlight challenges in maintaining code correctness and build processes.
- Guidance for TensorFlow Environment Setup: A user seeks a step-by-step guide to set up a TensorFlow environment in Google Colab for training AI models using TensorFlow Object Detection APIs. The user encountered failures and compatibility issues with TensorFlow 2.19 and Python 3.11.
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: 13
Summarized Issues:
- TensorFlow Version 2.20.0-dev20250302 Errors: This version of TensorFlow has been reported to cause abortion errors in specific operations. The issues include an invalid index error in
tf.raw_ops.DepthwiseConv2dNativeBackpropInput
and a potential denial of service attack due to largeksize
values intf.nn.max_pool2d
.
- ImportError on Windows with TensorFlow: Users have encountered ImportErrors on Windows systems when importing TensorFlow, often related to DLL load failures. These issues are linked to missing MSVC redistributables, AVX2 instruction support, or incorrect Python environments, and have been reported across multiple TensorFlow versions.
- TensorFlow Build and Compatibility Issues: There are reports of build failures and compatibility issues when compiling TensorFlow with specific configurations. These include a build failure with TensorFlow version r2.18 on Ubuntu 22.04 using Bazel and CUDA, indicating potential misconfigurations.
- Unsupported Features in TensorFlow Layers: Users have reported issues with unsupported features in TensorFlow layers, such as the
SeparableConv1D
layer not supporting 'causal' padding. This results in aValueError
and uncertainty about modifying the source code to resolve the issue.
- TensorFlow Lite GPU API Memory Leak: A bug in TensorFlow Lite GPU API version 2.12.0 causes excessive memory usage. The issue occurs when a camera preview activity with object detection and image classification is repeatedly closed and reopened, leading to rapid memory consumption.
- Colab Notebook TensorFlow Import Issues: Users have faced difficulties importing TensorFlow in Colab notebooks, particularly with version 2.15. This prevents GPU utilization and causes model training failures, despite attempts to resolve the issue through community support and runtime adjustments.
- Test Issue for GitHub Connection: A test issue was created to verify the proper functioning of the GitHub connection. This issue serves no other purpose and is indicated by its title and body.
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: 4
Key Open Pull Requests
1. Patch to rules_python to fix python 3.13 free-threading usage: This pull request addresses a temporary patch to the rules_python
module to ensure compatibility with Python 3.13's free-threading feature and correct installation of dependencies, as a stopgap measure until rules_python
is officially upgraded to version 1.X.
- URL: pull/91335
- Merged: No
- Associated Commits: fd975
2. Add use_default_shell_env = True
to build_pip_package_py
rule: This pull request proposes adding the use_default_shell_env = True
parameter to the build_pip_package_py
rule in the TensorFlow project to address issues with locating required binaries in non-default locations, similar to a previous pull request, and includes a commit with the necessary changes.
- URL: pull/91501
- Merged: No
- Associated Commits: e4ba5
3. Fix visualize.py ignoring .tf_lite files: This pull request addresses an issue in TensorFlow's visualize.py
script where it was ignoring files with the .tf_lite
suffix, by implementing a small fix to ensure these common model files are properly recognized and processed.
- URL: pull/91582
- Merged: No
- Associated Commits: 9c92e
Other Open Pull Requests
- Renaming Tosa Operator: This pull request involves renaming the Tosa operator from "int_div" to "intdiv" in the TensorFlow project. The update also includes changes to the corresponding lit tests to reflect the new operator name.
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: 9
Key Closed Pull Requests
1. [mlir][tosa] Fix fully connected legalization when output shape is dynamic: This pull request addresses an issue in the MLIR TOSA fully connected legalization process by modifying the approach to determine the final output shape for the reshape operation, using input type information and the "keep_num_dims" attribute to avoid non-static dimensions when the output shape is dynamic.
- URL: pull/90800
- Merged: 2025-04-15T15:09:12Z
- Associated Commits: c877e
2. [mlir][tosa] Fix reduction legalization when output is dynamic: This pull request addresses the issue of reduction legalization in MLIR's TOSA when the output is dynamic by utilizing input type information and the "keep_dims" attribute to determine the final output shape, thereby avoiding the creation of a 'shape' input with non-static dimensions, and includes functional changes such as adding squeeze_axes
and propagating the keep_axis
attribute to support this calculation.
- URL: pull/90801
- Merged: 2025-04-16T17:21:13Z
- Associated Commits: 0d8b2
3. [mlir][tosa] Remove softmax legalization changes causing numerical divergence: This pull request addresses the removal of softmax legalization changes in the MLIR TOSA component of the TensorFlow project, as these changes were unintentionally introduced in a previous pull request (#89907) and caused numerical divergence from the behavior specified by the reference kernels, making them undesirable.
- URL: pull/90802
- Merged: 2025-04-15T09:05:17Z
- Associated Commits: 543c6
Other Closed Pull Requests
- Typographical errors in documentation: This pull request addresses and corrects several typographical errors found within the documentation strings of the TensorFlow project. The errors were identified and fixed by the contributor, and the changes were successfully merged on April 14, 2025.
- C compatibility in enum definition: This pull request addresses a C compatibility issue in the
TfLiteQuantizationType
enum definition. It introduces conditional compilation directives to ensure that C++ syntax is only used when compiling with a C++ compiler, resolving compilation errors in C projects.
- Python 3.13 compatibility: This pull request updates the TensorFlow project by adding a Python 3.13 classifier. The tf-nightly package version 2.20.0.dev20250413 now includes wheels for Python 3.13, ensuring compatibility and proper categorization on PyPI.
- Syntax error in version 2.19: This pull request addresses a syntax error in TensorFlow version 2.19 by adding missing version macros and a version string in the
version.h
file. These changes resolve compilation errors, as detailed in GitHub issue #90533.
- Local compilation of TOSA passes: This pull request aims to add a patch to re-enable the local compilation of TOSA passes in TensorFlow's continuous integration. The patch acknowledges that it may become outdated as the TensorFlow upstream evolves.
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 |
---|---|---|---|---|
tensorflower-gardener | 61 | 0 | 0 | 0 |
mihaimaruseac | 2 | 1 | 0 | 23 |
Venkat6871 | 3 | 1 | 0 | 20 |
bchetioui | 13 | 0 | 0 | 0 |
ezhulenev | 13 | 0 | 0 | 0 |
default1360 | 0 | 0 | 11 | 2 |
kossyrev-bg | 0 | 0 | 1 | 10 |
gaikwadrahul8 | 3 | 2 | 0 | 5 |
lhutton1 | 6 | 3 | 0 | 0 |
plopresti | 3 | 1 | 3 | 1 |