Weekly GitHub Report for Tensorflow: February 10, 2025 - February 17, 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 introduction of Hermetic CUDA for more reproducible builds. Notable improvements include default support for NumPy 2.0, enhancements in tf.lite
such as support for TensorType_INT4
and TensorType_INT16
, and new features in tf.data
for improved memory and throughput management.
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.
-
It doesn't support on python3.13: This issue highlights the lack of support for Python 3.13 in TensorFlow version 2.17, which results in installation failures on macOS Sequoia ARM when attempting to install via the terminal. The problem is exacerbated by the fact that Python 3.13 is the default version in the latest Fedora 41 release, making it crucial for TensorFlow to update its support to accommodate this widely used Python version.
- The comments discuss the historical delay in TensorFlow's support for new Python versions, with users expressing frustration over the lack of support for Python 3.13 and suggesting workarounds like downgrading Python. Some users argue that the issue is more about process inefficiencies within the TensorFlow team rather than technical barriers, while others point out the complexity of dependencies and build processes. There is also mention of a patch by Arch Linux developers to make TensorFlow work with Python 3.13, and users are eager for an official update from TensorFlow to resolve the issue.
- Number of comments this week: 7
-
Tensorflow not supported on Windows + ARM CPUs: This issue highlights a problem with TensorFlow not being supported on Windows systems with ARM CPUs, specifically when attempting to import TensorFlow on a Windows 11 machine with a Snapdragon processor. The user reports successful installation but encounters an ImportError related to DLL load failure, indicating a lack of support for the ARM architecture on Windows within the TensorFlow package.
- The comments discuss the issue being initially marked as a duplicate of an older issue related to unsupported CPU architectures, but it is later clarified that this is a distinct problem due to the ARM architecture. The conversation includes suggestions to try using WSL or Colab as alternatives, and it is confirmed that TensorFlow currently lacks support for Windows on ARM CPUs, with no immediate plans to address this. The user is advised to compile TensorFlow from source as a potential workaround.
- Number of comments this week: 2
-
target //tensorflow/compiler/mlir/lite:tensorflow_lite_quantize fail to build: This issue is about a build failure encountered when attempting to compile the TensorFlow Lite quantization target using Bazel on a Debian-based system with TensorFlow version 2.19 and GCC version 13.1.0. The error message indicates an ambiguous call to the
DefaultQuantParamsPass
constructor, which is causing the build process to fail.- Multiple users report encountering the same build error across different environments, including different Docker images and GCC versions. A contributor acknowledges the issue and attempts to replicate it but faces a different problem where the build process freezes. Users are asked to provide detailed steps to reproduce the issue, and one user shares a build script and patch for further investigation.
- Number of comments this week: 2
-
Mac Air M2, TfLiteGpuDelegate, Cpp, C++ Building from source: This issue involves a user attempting to build TensorFlow Lite with GPU delegate support on a MacBook Air M2 using C++ and encountering build and linking errors. The user is seeking guidance on whether it is possible to use the TFLite GPU delegate on macOS with the M2 chip and how to resolve the errors they are facing during the build process.
- The comments discuss the possibility of using the TFLite GPU delegate on macOS with the M2 chip, suggesting the use of the
tensorflow-metal
plugin for GPU acceleration. A user provides a build command to try, and another comment suggests adding a specific build target and questions the sufficiency of using thetensorflow-metal
plugin, which is primarily available for Python, for C++ development. - Number of comments this week: 2
- The comments discuss the possibility of using the TFLite GPU delegate on macOS with the M2 chip, suggesting the use of the
-
TPU nan issue: This issue reports a bug in TensorFlow version 2.18.0, where using a TPU during training results in the loss turning into 'nan' (not a number) midway through any epoch, affecting the entire training process. The problem is reproducible using a Colab tutorial on TPUs, and it does not occur in TensorFlow version 2.17.1.
- The comments discuss the potential cause of the issue being related to the Keras version, with a suggestion to use Keras 2 instead of Keras 3 to resolve the problem. However, the original poster argues that the issue is specific to the transition from TensorFlow 2.17.1 to 2.18.0, and changing the Keras version does not solve the problem in their project.
- Number of comments this week: 2
2.2 Top 5 Stale Issues:
We consider stale issues to be issues that has had no activity within the last 30 days. The team should work together to get these issues resolved and closed as soon as possible.
As of our latest update, there are no stale issues for the project this week.
2.3 Open Issues
This section lists, groups, and then summarizes issues that were created within the last week in the repository.
Issues Opened This Week: 6
Summarized Issues:
- TensorFlow 2.18.0 Bugs: TensorFlow version 2.18.0 has been reported to have multiple issues, including a bug where using a TPU during training results in the loss becoming 'nan' midway through any epoch. Another issue involves unexpected drops in GPU and CPU utilization during long training runs, which significantly slow down the process and require a system reboot to recover.
- TensorFlow Nightly Build 2.19.0-dev20241025 Bug: A bug in TensorFlow's nightly build version 2.19.0-dev20241025 causes a crash when using the
gradient_checker.compute_gradient
API on a Linux Ubuntu 20.04.3 LTS system. The crash is due to a "Floating point exception," as demonstrated by a standalone code example.
- TensorFlow Installation and Setup Issues: Several issues have been reported regarding TensorFlow installation and setup, including a documentation bug in the installation guide for Ubuntu 22, which causes a syntax error due to an incorrect line break. Additionally, there is a problem with setting up TensorFlow 2.12.0 in PyCharm on Windows 11, where an ImportError occurs due to a DLL load failure related to insufficient paging file size.
- TensorFlow Lite CMake Error: An error occurs when attempting to build TensorFlow Lite as an installable package, where the installation process fails due to missing export sets for required targets like "pthreadpool." This leads to a failure in the CMake generate step, preventing successful package installation.
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: 22
Summarized Issues:
- Compilation and Build Issues: Compilation failures and crashes were reported for TensorFlow Lite version 2.18.0-rc0 on various platforms, including Ubuntu and MacOS, due to issues with compiler flags and unsupported data types. These problems were resolved by using alternative build tools or upgrading compilers, highlighting the need for consistent platform support and documentation updates.
- Mathematical API Discrepancies: Discrepancies in TensorFlow's mathematical APIs were observed when executing on CPU versus GPU for complex numbers containing
inf
. The inconsistencies are potentially due to the optimized calculation methods used by Nvidia GPUs, necessitating further investigation.
- Custom Loss Function Bug: A bug in TensorFlow 2.18.0 was identified where a custom loss function in a model with multiple outputs only receives the first output. This necessitates a solution that explicitly handles multiple outputs within the custom loss function.
- Keras and TensorFlow Module Integration: TensorFlow's
tf.Module
cannot trace variables fromtf.keras
after the transition to Keras 3.0, which uses its ownTFLayer
class. This change leads to challenges in integrating Keras layers within TensorFlow modules, requiring potential workarounds or downgrades.
- TensorFlow Lite Conversion Issues: A RuntimeError occurs when converting an MFCC-Example-Model from TensorFlow to TensorFlow Lite due to unsupported operations. The suggested workaround involves precomputing MFCCs using external libraries.
- Keras
fit
Method Bug: A bug in TensorFlow Keras library causes data to be loaded in the wrong order when using dictionaries in thefit
method of a model with multiple inputs and outputs. This results in a mismatch between the predicted and true output shapes.
- TPU Connection Issues: Users experienced difficulties connecting to a TPU v4-32 from a Google Cloud VM due to problems with retrieving TPU metadata. The issue was resolved by directly connecting to one of the TPU hosts and executing commands on all workers.
- TensorFlowLite for Swift Compilation: Users sought guidance on compiling TensorFlowLite for Swift without Bitcode due to Apple's discontinuation of Bitcode. Suggestions included disabling Bitcode through build settings and ensuring the use of the latest version.
- Memory Limit Configuration Bug: TensorFlow 2.17.0's
tf.config.LogicalDeviceConfiguration()
fails to set a memory limit on a virtual device, whiletf.config.experimental.VirtualDeviceConfiguration()
works correctly. This issue affects users attempting to restrict GPU memory usage.
- TensorFlowOnSpark Compatibility Issues: Compatibility problems arise when running TensorFlowOnSpark 2.2.5 with TensorFlow version 2.12 on Microsoft Fabric. TensorFlowOnSpark is designed for TensorFlow 1.x, leading to errors with the TFNode function.
- Depthwise Convolution Bugs: Bugs in TensorFlow's depthwise convolution functions cause crashes due to invalid inputs and parameter configurations. These issues require attention to input validation and parameter specification.
- Installation Compatibility Issues: Users face difficulties installing TensorFlow version 2.8 on Windows 10 with Python 3.13 due to incompatibility. This highlights the need for version compatibility checks during installation.
- Android JNI Build Failures: Building the
libtensorflowlite.so
library for an Android JNI project fails due to undeclared inclusion errors. This issue persists despite following the provided build instructions and configurations.
- Training Preparation Delays: TensorFlow 2.10.0 takes an unusually long time to prepare before training a custom model, potentially due to JIT-compiling Python code. Suggested solutions include using graph mode directly or switching to JAX.
- Dynamic Range Quantization Clarification: Users seek clarification on operations affected by Dynamic Range Quantization in TensorFlow Lite, particularly in transformer models. The impact on computation precision and process is questioned.
- Quantization Debugger Error: Users encounter an error message while using TensorFlow's quantization debugger, with no guidance provided in the documentation. This highlights the need for improved error handling and documentation.
- Spam Content Removal: Spam content was removed from the TensorFlow project's wiki, violating codes of conduct. Such actions could result in an account ban, emphasizing the importance of maintaining community standards.
- Model Metadata Retrieval Bug: Retrieving TensorFlow Serving model metadata results in an exception for models exported by version 2.18. The issue was due to incorrect port number configurations, requiring attention to configuration details.
- Python Version Compatibility Request: A request was made for TensorFlow to add compatibility for Python version 3.13.2. Users believe this support would benefit the community by allowing the use of the latest Python features.
- Installation and Compatibility Challenges: Users express frustration with TensorFlow's compatibility and installation challenges, particularly regarding CUDA support on non-Linux platforms. This leads them to consider alternatives like brain.js.
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. All other pull requests are grouped based on similar characteristics for easier analysis.
Pull Requests Opened This Week: 7
Key Open Pull Requests
1. Add png to tflite tool evaluation: This pull request aims to enhance the TensorFlow Lite evaluation tools by adding support for PNG image preprocessing, addressing the limitations of current JPEG and raw image support, and includes commits for enabling PNG, adding tests, detecting the number of channels dynamically, and resolving undefined behavior related to character signedness.
- URL: pull/86922
- Merged: No
2. Remove unused LIBDIR
and INCLUDEDIR
build variables: This pull request proposes the removal of the unused LIBDIR
and INCLUDEDIR
build variables from the TensorFlow project, while retaining the PREFIX
variable for compatibility with other projects, as detailed in the commits and discussion at https://github.com/tensorflow/tensorflow/pull/86943.
- URL: pull/86943
- Merged: No
3. Add use_default_shell_env = True to ctx.actions.run: This pull request proposes adding use_default_shell_env = True
to ctx.actions.run
in the TensorFlow project to ensure that environment variables like LD_LIBRARY_PATH
are correctly included, preventing failures in locating necessary libraries such as libprotobuf.so
during the generation of //tensorflow/python:math_ops_reg_offsets
, aligning with previous practices and pull requests.
- URL: pull/86942
- Merged: No
Other Open Pull Requests
- Documentation Fixes: This topic includes pull requests that address issues in the documentation of the TensorFlow project. One pull request updates a broken link in the
java.md
file, while another corrects typographical errors in the documentation strings, both of which are awaiting review and merging.
- MLIR TOSA Dialect Update: This pull request focuses on updating TensorFlow's MLIR TOSA dialect to comply with the TOSA v1.0 specification. It involves modifications to several operators, such as changing attributes to inputs and addressing numerical mismatches, ensuring better alignment with the specification.
- DUS Feature Implementation: A new implementation of the DUS feature in the Qualcomm AI Engine Direct is introduced in this pull request. It resolves a previously identified accuracy issue and has passed all tests across multiple test suites, indicating its readiness for integration.
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. All other pull requests are grouped based on similar characteristics for easier analysis.
Pull Requests Closed This Week: 18
Key Closed Pull Requests
1. Support legalization of tf.SplitV op for dynamic shapes: This pull request aims to implement the legalization of the tf.SplitV
operation for dynamic shapes within the TensorFlow project, enhancing the dynamic shape compilation process, and has been tested successfully with all relevant tests passing.
- URL: pull/63026
- Merged: No
- Associated Commits: b1e25, 88782, 9fdb3, 3dccc, 2e41f, f3dd5, 3640e, 49aad, 4c77a, 33a09, 57d90, ebf9f, 1f5b3, f5b7c, 97dfe, afa2a, 4374c
2. Qualcomm AI Engine Direct - Support DUS and Pack Op in LiteRT: This pull request introduces support for the Qualcomm AI Engine Direct by implementing the DUS and Pack operations in LiteRT, addressing type support issues with QNN Concat, partially supporting DUS for specific use cases, reusing static input tensors, and transitioning to absl::Span from std::span, with successful execution of 100 tests across four test suites.
- URL: pull/86630
- Merged: Yes
3. [TFLite] Support for fully quantized fused custom operators: This pull request introduces support for fully quantized fused custom operators in TensorFlow Lite by adding a _tfl_no_side_effect
trait to mark functions without side effects for proper pruning and by propagating _tfl_quant_trait
and _tfl_no_side_effect
traits as operator attributes instead of custom options, allowing for the creation of fully quantized fused operations directly from the Python API.
- URL: pull/63015
- Merged: No
Other Closed Pull Requests
- Check Failure Issues: This topic covers pull requests that address check failure issues in TensorFlow operations. One pull request proposes a validation to ensure consistent data types for inputs in the
ResourceApplyProximalAdagrad
operation, while another updates error descriptions for theraw.ops.ThreadUnsafeUnigramCandidateSampler
API to reflect conditions accurately.
- Release Notes and Version Updates: Several pull requests focus on updating release notes and version numbers for TensorFlow. These include placeholders and updates for versions 2.18.1 and 2.19.0, as well as ensuring key files reflect the correct version numbers.
- TensorFlow Lite and TOSA Integration: Pull requests in this category address issues related to TensorFlow Lite and TOSA integration. They include fixing symbol exports, adding missing dependencies, and integrating the Op Builder with LiteRT Compile Part.
- Data Type and Operation Support: This topic includes pull requests that add support for new data types and refactor operations. One pull request adds support for various data types in the ELU operation, while another refactors the TensorFlow to TOSA lowering process for element-wise operators.
- Build and Integration Improvements: Pull requests under this topic focus on improving build processes and integration. They address build errors for OpenCL GPU delegate integration and update setup and requirements files for the TensorFlow project.
- Test and Example Updates: This topic includes pull requests related to test and example updates. One pull request involves disabling a flaky test flag for a release, while another adds example usage to functions in the
config.py
file, although it was not merged.
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 |
---|---|---|---|---|
mihaimaruseac | 14 | 1 | 0 | 50 |
tilakrayal | 4 | 3 | 0 | 32 |
Venkat6871 | 4 | 4 | 0 | 29 |
weilhuan-quic | 20 | 3 | 0 | 5 |
gaikwadrahul8 | 3 | 3 | 0 | 16 |
arzoo0511 | 0 | 0 | 0 | 14 |
LongZE666 | 0 | 0 | 12 | 1 |
chunhsue | 7 | 3 | 0 | 1 |
c8ef | 6 | 1 | 0 | 4 |
i-chaochen | 10 | 0 | 0 | 0 |
Access Last Week's Newsletter: