Weekly GitHub Report for Tensorflow: January 01, 2025 - January 08, 2025
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.18.0
1.2 Version Information:
The TensorFlow 2.18.0 release, created on October 21, 2024, introduces several key updates, including the addition of a fourth parameter to the TfLiteOperatorCreate
function for a cleaner API, the disabling of TensorRT support in CUDA builds, and the implementation of hermetic CUDA for more reproducible builds. Notably, TensorFlow now supports NumPy 2.0 by default, with changes in type promotion rules, and introduces enhancements in tf.lite
such as support for TensorType_INT4
and TensorType_INT16
in various operations.
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.
-
Tensorflow not supported on Windows + ARM CPUs: This issue reports a bug where TensorFlow version 2.18 cannot be imported on a Windows 11 system with an ARM-based Snapdragon X Plus CPU, despite successful installation, resulting in a DLL load failure error. The problem seems to stem from the lack of support for Windows + ARM CPU configurations in TensorFlow, as indicated by the absence of compatible wheels for this setup.
- The comments discuss the issue being initially marked as a duplicate of an older problem related to unsupported architectures, but the reporter clarifies that their new ARM-based PC is affected, unlike their older machine. The conversation reveals that TensorFlow currently supports Windows only on Intel CPUs, not ARM, and suggests trying a Linux wheel via WSL as a potential workaround. The discussion also explains the concept of "missing wheels" and the challenges of supporting various CPU architectures, concluding with a recommendation to use Google Colab for TensorFlow experiments.
- Number of comments this week: 13
-
It doesn't support on python3.13: This issue is about the inability to install TensorFlow version 2.17 on Python 3.13, as the installation process fails to find a compatible version of TensorFlow for this Python version. The problem is particularly significant because Python 3.13 is the default version in the latest Fedora 41 release, and users are unable to use TensorFlow on this major distribution.
- The comments discuss the recurring issue of TensorFlow's delayed support for new Python versions, with users expressing frustration over the lack of support for Python 3.13. Some suggest downgrading Python, while others argue for a more proactive release process to align with Python's schedule. The discussion highlights the complexity of TensorFlow's build system and dependencies, which complicates immediate support for new Python versions. There is also a debate about the feasibility of supporting new Python versions in TensorFlow's nightly builds, with some users pointing out that the current process seems inefficient and unresponsive to community needs.
- Number of comments this week: 7
-
Failing to convert MobileNetV3Large to TFLite w/ Integer q: This issue involves the failure to convert a MobileNetV3Large model to TensorFlow Lite (TFLite) with integer quantization, resulting in incorrect predictions on Windows 10 and conversion errors on Windows Subsystem for Linux (WSL). The user reports that the model produces incorrect results on TensorFlow 2.10 in Windows 10 and fails to convert on TensorFlow 2.16 in WSL, with an LLVM error indicating a failure to infer result types.
- The comments discuss various attempts to resolve the issue, including downgrading TensorFlow to version 2.14.1, which reportedly works for some users. Another user suggests using the latest Keras version, which improves results but introduces a new problem when using a representative dataset, causing worse outcomes. The discussion highlights compatibility issues between TensorFlow and Keras versions, with some users experiencing similar problems across different TensorFlow versions. A potential workaround using PyTorch is suggested, but it requires retraining the model. The conversation ends with a request for an estimated time for a bug fix and questions about alternative approaches like Quantization Aware Training (QAT).
- Number of comments this week: 6
-
Mixing Keras Layers and TF modules.: This issue involves a user experiencing difficulties when mixing Keras layers with TensorFlow modules, specifically noting that
tf.Module
can tracetf.Variable
but fails to trace variables fromtf.keras
ortf.keras.Variable
. The user is seeking guidance on how to resolve these tracing issues, as they are interested in using Keras layers withintf.Module
but are encountering limitations due to the recent changes in TensorFlow and Keras versions.- The comments discuss the problem of Keras submodules not being detected at the
tf.Module
level due to changes in Keras 3.0, which no longer extendstf.Module
. This change was made to support multiple backends, affecting variable tracking. Users are advised to raise the issue in the Keras repository, and there is a suggestion to downgrade Keras for compatibility. The discussion also touches on the lack of certain features in Keras and the potential need to implement custom layers using TensorFlow primitives. - Number of comments this week: 4
- The comments discuss the problem of Keras submodules not being detected at the
-
Tensorflow BackupAndRestore method does not work: This issue is about a bug in TensorFlow version 2.17 where the
BackupAndRestore
method does not function as expected because the model is not built before calling thefit()
method, resulting in aValueError
. The problem arises when using theBackupAndRestore
callback, which requires the model to be explicitly built beforehand, either by defining the input shape or by using themodel.build()
method.- The comments discuss the error message indicating the need for the model to be built before using the
BackupAndRestore
method, and provide two solutions: defining the input shape in the model or building the model before callingfit()
. A pull request related to the issue has been merged, and users are asked to verify if the problem persists. There are additional queries about the applicability of Solution 1 when using a normalization layer as the input layer, and a user reports encountering aValueError
when attempting to implement Solution 1. - Number of comments this week: 4
- The comments discuss the error message indicating the need for the model to be built before using the
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: 15
Summarized Issues:
- TensorFlow and Keras Integration Issues: The transition to Keras 3.0 has led to integration challenges with TensorFlow's
tf.Module
, as Keras layers no longer extendtf.Module
. This change has caused difficulties for users trying to incorporate Keras layers within TensorFlow modules. Users are seeking alternative solutions or raising the issue with the Keras team to address these integration problems.
- TensorFlow Model Building and Execution Errors: Users are encountering various errors related to model building and execution in TensorFlow. These include issues with the
BackupAndRestore
method requiring explicit model building, and aGraphDef
attribute error in TensorFlow 2.4.1'slabel_image.py
test case. Additionally, there are challenges with compiling the TensorFlow C++ interface on Linux due to connection timeouts.
- TensorFlow Lite Performance and Compatibility Issues: Users are facing performance and compatibility issues with TensorFlow Lite on various platforms. These include significant lag in object detection on Android using the GPU delegate, and a compatibility error on MacOS with an Apple M2 Max GPU. Additionally, there is a runtime error in a model converted to TensorFlow Lite for calculating MFCCs.
- TensorFlow Import and Build Configuration Challenges: Importing and building TensorFlow on specific systems is proving problematic for some users. On Windows 11 with an ARM-based CPU, TensorFlow 2.18 cannot be imported due to architecture support issues. Users are also seeking guidance on configuring TensorFlow to build with local CUDA libraries to avoid unwanted dependencies.
- TensorFlow Model Conversion and Compilation Bugs: There are bugs related to model conversion and compilation in TensorFlow. Users are experiencing unresolved custom operations when converting models to TensorFlow Lite, and the XLA compiler fails to compile certain layers with specific padding settings. These issues are causing significant challenges in model deployment and execution.
- TensorFlow Model Saving and Data Loading Issues: Bugs have been reported in TensorFlow's model saving and data loading functionalities. In TensorFlow version 2.19.0-dev20250105, saving a Keras model with
include_optimizer=False
does not exclude the optimizer as expected. Additionally, using dictionaries to load data in thefit
method results in incorrect ordering, affecting model training with multiple inputs and outputs.
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: 19
Summarized Issues:
- Integer Overflow in TensorFlow Operations: An integer overflow error occurs in the
tf.raw_ops.DenseBincount
operation within TensorFlow 2.15 on Linux Ubuntu 20.04. This issue arises when thesize
parameter approaches the maximum value for its data type. The overflow leads to erroneous multiplication results and an invalid argument error.
- TensorFlow Model Saving and Execution Errors: Users report issues when saving and executing TensorFlow models across different versions and environments. A
FAILED_PRECONDITION
error occurs when saving atf.Module
with a Keras model in TensorFlow 2.17.0, which works in 2.15.0. Additionally, discrepancies in function recognition in PyCharm and unexpected behavior in model training are noted.
- Import and Runtime Errors on Windows: Several users encounter import and runtime errors when using TensorFlow on Windows systems. These issues often involve DLL load failures, potentially due to outdated CPU architecture or missing dependencies. The errors are frequently identified as duplicates of known issues related to older PCs.
- TensorFlow Lite and Model Conversion Issues: Users face challenges with TensorFlow Lite, including deprecation warnings and model conversion errors. Compiling with C++20 results in warnings due to deprecated features, and converting models from
.h5
to.tflite
leads to type errors. These issues highlight the need for updates and careful handling of data types.
- GPU and Docker Image Compatibility Problems: Problems with GPU support in TensorFlow Docker images and on specific hardware are reported. The
tensorflow:2.18-gpu-jupyter
image lacks necessary CUDA libraries, and attempts to use the GPU on an Apple M3 Max result in crashes. These issues require manual interventions or updates to resolve.
- Unexpected Behavior in TensorFlow Models: Users report unexpected behavior in TensorFlow models, such as incorrect gradient computations and model output consistency issues. These problems prompt users to question whether the issues stem from their implementation or underlying TensorFlow/Keras bugs.
- Miscellaneous TensorFlow Issues and Proposals: Various other issues and proposals are discussed, including a suggestion to rename "TensorFlow" for clarity, updating the CODE_OF_CONDUCT, and addressing annoying warning messages during model training. These topics reflect ongoing community engagement and efforts to improve the TensorFlow ecosystem.
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.
- Broken compatibility with tensorflow-metal in 2.18
- Toxicity Score: 2.18 (and tensorflow-metal on an Apple M2 Max GPU. The user provides detailed information about their setup and the error encountered. Another user comments, expressing frustration over a similar issue, mentioning wasted time due to the problem. The tone of the conversation is technical and slightly frustrated, with a focus on resolving the compatibility issue. 0.40, Frustration expressed, Technical issue unresolved.)
- This GitHub conversation involves a user, mspanchenko, reporting a bug related to a compatibility issue with TensorFlow
III. Pull Requests
3.1 Open Pull Requests
This section lists and summarizes pull requests that were created within the last week in the repository.
Pull Requests Opened This Week: 0
Pull Requests:
As of our latest update, there are no open pull requests for the project this week.
3.2 Closed Pull Requests
This section lists and summarizes pull requests that were closed within the last week in the repository. Similar pull requests are grouped, and associated commits are linked if applicable.
Pull Requests Closed This Week: 10
Pull Requests:
Key Closed Pull Requests
1. Fix checkfail in ResourceSparseApplyKerasMomentum: This pull request addresses a type-checking issue in the ResourceSparseApplyKerasMomentum
operation by proposing a validation check to ensure that the var
and accum
arguments are of dtype float32, potentially resolving issue #63720.
- Merged: No
- Associated Commits: 79c14a428d8255733699b423dd58f3fcceb46ca4
2. Unregister complex dtypes for Round OP: This pull request addresses an issue in the TensorFlow project by unregistering complex data types and certain integer types (int8, int16) for the Round operation, as these types cause errors, and instead registers the operation directly for real data types like float and specific integer types (int32, int64), potentially resolving issue #65317.
- Merged: No
- Associated Commits: 822db8ac37439d258ef4e0ad3364667e96f97f44, b8b56d2422cded257d37e86b7242534fd94f6468
3. [NFC][ROCM] Replaced DoMatmul with ExecuteOnStream call for gpu_blas_lt: This pull request refactors the ROCM platform's gpu_blas_lt interface in the TensorFlow project by replacing the DoMatmul function with the more robust ExecuteOnStream call, which automatically handles valid data type combinations, thereby simplifying the interface and improving support for hipblas-lt.
- Merged: Yes
- Associated Commits: e20ec8d81ee4084cd562e4df35c0cfccfaf8417e, fe9524daec1ab517e6730bf755ff6173a4da1dc9
Other Closed Pull Requests
- Real-Time Optimization in TensorFlow Grappler: The pull request introduces a Real-Time Optimization feature to the TensorFlow Grappler optimizers, enhancing model performance by dynamically adjusting graph optimizations based on runtime metrics. It integrates a new
RealTimeOptimizer
class into the existing meta optimizer framework, supporting new optimization strategies activated by real-time performance metrics. Comprehensive unit tests ensure the stability and performance of the new optimizer under various conditions, confirming its backward compatibility and improved resource utilization.
- Fixing Export Symbol Issue on Windows: A pull request addresses a compilation issue with TensorFlow Lite on Windows platforms, where the
tensorflowlite_c.dll
lacked proper symbols due to incorrect inheritance of compile definitions. The solution involved modifying thePUBLIC
keyword in theCMakeLists.txt
file to prevent unwanted inheritance, ensuring correct symbol export. This fix resolves the conflict and allows TensorFlow Lite to compile correctly on Windows without additional tools like Bazel or MSYS.
- Documentation for TensorFlow Eager Monitoring Counter: Multiple pull requests aim to enhance the documentation for the TensorFlow Eager Monitoring Counter API bindings, providing detailed information on creating a new counter reader and reading counter values in Python. These updates improve the understanding of the module's functionality, aiding in TensorFlow performance analysis and issue diagnostics. The documentation clarifies the purpose and usage of the
TFE_MonitoringCounterReader
class and its associated functions.
- Fixing Broken Links in Documentation: A pull request was made to fix eight broken links in the
best_practices.md
file of the TensorFlow Lite performance documentation. The author updated these links to ensure they are functional, improving the accessibility and reliability of the documentation. The changes were reviewed and successfully merged into the main codebase, indicating acceptance and integration.
- Update to .bazelignore File: A pull request involves changes to the
.bazelignore
file in the TensorFlow repository, which specifies files or directories for Bazel to ignore during the build process. The update aims to refine the build configuration by excluding unnecessary files, potentially improving build efficiency. However, this pull request has not been merged yet, indicating it is still under review or awaiting further action.
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 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 |
---|---|---|---|---|
mihaimaruseac | 1 | 0 | 0 | 63 |
Venkat6871 | 1 | 1 | 0 | 47 |
gaikwadrahul8 | 5 | 5 | 0 | 33 |
tilakrayal | 0 | 0 | 0 | 26 |
alekstheod | 13 | 1 | 0 | 0 |
dnmaster1 | 0 | 0 | 2 | 9 |
pkgoogle | 0 | 0 | 0 | 10 |
mraunak | 0 | 0 | 0 | 9 |
muayyad-alsadi | 0 | 0 | 0 | 9 |
NexusHex | 0 | 0 | 0 | 8 |