Weekly GitHub Report for Tensorflow: December 12, 2024 - December 19, 2024
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 Other Noteworthy 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 support for more reproducible builds. Notably, TensorFlow now supports NumPy 2.0 by default, with changes in type promotion rules, and the tf.lite
module sees enhancements such as support for TensorType_INT4
and TensorType_INT16
in various operations.
1.3 README Analysis:
TensorFlow is an open-source platform for machine learning, offering a flexible ecosystem of tools and libraries for researchers and developers to build and deploy ML applications. It supports Python and C++ APIs, with installation options for CPU and GPU, and provides nightly binaries for testing. Stay updated with release announcements and contribute to the project by following the guidelines and engaging with the community through various forums and resources.
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 Import Not working: This issue involves a user experiencing difficulties importing TensorFlow on a Windows 11 system, despite following various troubleshooting steps such as reinstalling Python and TensorFlow, and trying different Python versions. The user consistently encounters a DLL load failure error, indicating a problem with the dynamic link library initialization when attempting to import TensorFlow.
- The comment section reveals a detailed troubleshooting process where multiple suggestions were made, including trying different TensorFlow versions, creating a new virtual environment, and reinstalling packages. Despite these efforts, the issue persisted, leading to discussions about potential hardware limitations, specifically related to older CPUs lacking AVX support, which are necessary for TensorFlow. The conversation concluded with a reference to a known issue with older CPUs and a suggestion to check the original issue for more context.
- Number of comments this week: 16
-
Division by zero error at random places if GPU is used: This issue involves a division by zero error occurring at random locations when a program using TensorFlow's C API is executed on a GPU, specifically a Quadro RTX 6000, while it runs without issues on a CPU. The problem is challenging to diagnose as it appears to be deeply embedded within TensorFlow or CUDA libraries, and the user is uncertain whether the bug lies within the TensorFlow binary or the CUDA libraries.
- The comments discuss potential collaboration to resolve the issue, with suggestions for a screen-sharing session to demonstrate the problem. A contributor suggests updating incompatible versions as per TensorFlow's documentation, but the issue persists even after attempting to install a new CUDA version. The user continues to experience random failures and invalid floating point operations despite various tests and attempts to isolate the problem.
- Number of comments this week: 7
-
Linking an Android static library with TFLite GPU using CMake causes undefined symbol errors and can not get the correct install: This issue involves a bug where linking an Android static library with TensorFlow Lite's GPU delegate using CMake results in undefined symbol errors, preventing the correct installation of the library. The problem occurs on Ubuntu 20.04.6 LTS with TensorFlow version 2.18, and despite making suggested changes to the CMakeLists.txt files, the errors persist, indicating missing targets and undefined symbols related to OpenGL and EGL functions.
- The comments discuss troubleshooting steps, including ensuring the correct OpenGL ES and EGL libraries are linked in the CMakeLists.txt file, which resolves the initial undefined symbol errors. However, a new issue arises with the PReLU operation not being supported in TensorFlow Lite version 2.18.0, leading to further errors during GPU delegate initialization. The discussion references similar issues and suggests modifications to address these problems, but the user still encounters challenges with the PReLU operation.
- Number of comments this week: 4
-
Problen with tensorflow: This issue involves a user experiencing an ImportError while attempting to install TensorFlow on Windows 11 using Python 3.8.18, specifically encountering a conflict with the python38.dll module. The user suspects a problem with TensorFlow itself, as the installation process fails at a specific stage, and they are unable to identify the exact cause of the error.
- The comments section reveals a discussion about the ImportError, with a request for the user's Python version, which is later clarified to be Python 3.9.21. There is also a reminder not to use ChatGPT-generated content on GitHub, and a note that the error message changed after an edit.
- Number of comments this week: 4
-
error: defining a type within 'offsetof' is a Clang extension [-Werror,-Wgnu-offsetof-extensions]: This issue involves a user encountering a build error while attempting to compile the Selective Framework for iOS using TensorFlow Lite, specifically due to a Clang extension warning related to defining a type within 'offsetof'. The user is seeking assistance to resolve this error, which is preventing the successful completion of the build process.
- The comments section includes requests for additional information about the user's environment and steps taken, suggestions to use a specific compiler flag to bypass the error, and guidance on modifying the build script. The user expresses their goal of reducing the framework size and asks for further clarification on implementing the suggested solutions. There is also a query about which branch to use for building the framework.
- Number of comments this week: 3
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: 18
Summarized Issues:
- Compatibility Issues with TensorFlow on Raspberry Pi and Python Versions: Several issues highlight compatibility problems when using TensorFlow on specific hardware or software environments. One issue involves a cross-compilation toolchain targeting ARMv7, which is incompatible with the ARMv6 architecture of the Raspberry Pi Zero, causing an "Illegal instruction" error. Another issue reports difficulties installing TensorFlow 2.10.0 on Python 2.7.5, as TensorFlow 2.x requires Python 3.7 or above. Additionally, a user encounters an error when installing TensorFlow 2.10.0 on Windows 10 with Python 3.13 due to version compatibility issues.
- TensorFlow Bugs and Errors in Version 2.18.0: Multiple issues report bugs in TensorFlow version 2.18.0 affecting various functionalities. The
tensorflow.experimental.numpy.kron
function fails with multidimensional arrays due to unsupported broadcasting, resulting in an "UnimplementedError." A custom loss function only receives the first output from a model with multiple outputs, instead of both as expected. Additionally, a compilation error occurs with an undefined symbol related totflite::StatefulNnApiDelegate
.
- TensorFlow Installation and Import Errors: Users report various installation and import errors when using TensorFlow. An ImportError related to a DLL load failure occurs when running TensorFlow on PyCharm, potentially due to missing dependencies or unsupported instructions. Another user experiences a Python version conflict during installation on Windows 11, encountering a module use conflict with python38.dll. Additionally, an outdated link for NVIDIA Docker support on the TensorFlow Docker installation page needs updating.
- TensorFlow GPU vs CPU Discrepancies: Discrepancies in TensorFlow's behavior on GPU versus CPU are reported in several issues. The
tf.keras.layers.LSTM
layer behaves differently on a GPU when using XLA, resulting in a failure, while it works correctly on a CPU. Similarly, thekeras.layers.GRU
function produces different output lengths on GPU due to the cuDNN-optimized GRU kernel, necessitating disabling the cuDNN kernel for consistent results. These issues highlight the need for consistent behavior across different hardware platforms.
- TensorFlow Lite and Android Profiling Challenges: Users face challenges when working with TensorFlow Lite and profiling on Android devices. One issue involves difficulties profiling operator performance for a custom TensorFlow Lite model on a Google Pixel 6 device, with the Android Studio CPU Profiler not displaying all operators. Another issue is about running a TensorFlow Lite benchmark using the QNN delegate on an Android device, where errors occur despite following setup instructions.
- TensorFlow Feature Requests and Enhancements: There are requests for enhancements and new features in TensorFlow. One issue requests the publication of TensorFlowLite version 2.18.0 to Maven Central and CocoaPods Specs for Android and iOS platforms. Another proposes adding detailed examples for LSTM-based time series forecasting in the TensorFlow library to enhance educational value and user-friendliness. These requests aim to improve TensorFlow's accessibility and functionality for users.
- TensorFlow Model and Layer Issues: Several issues pertain to problems with TensorFlow models and layers. A bug in TensorFlow 2.8 causes a
ValueError
when usingtensorflow_hub.KerasLayer
in a sequential model. TheLearnedUnigramCandidateSampler
operation crashes with an "Aborted (core dumped)" error due to an invalid argument. These issues highlight the need for robust error handling and compatibility in TensorFlow's model and layer functionalities.
- Guides and Educational Content for TensorFlow: There is a focus on providing educational content and guides for TensorFlow users. One issue involves a detailed step-by-step guide for implementing LSTM-based time series forecasting using Python and TensorFlow. This guide covers data preprocessing, model building, training, prediction, and evaluation, aiming to assist users in effectively utilizing TensorFlow for time series forecasting tasks.
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: 12
Summarized Issues:
- TensorFlow RaggedTensor and Tensors Compatibility: This issue involves a bug in TensorFlow 2.14 where users face a
TypeError
when passing a zipped dataset with Tensors as labels and RaggedTensors as tokens to the.fit()
method. The error arises because the inputs are not recognized astf.RaggedTensor
. Additionally, converting Tensors to RaggedTensors using the.map()
function is problematic due to the requirement that the rank of a RaggedTensor must be greater than 1.
- Numerical Precision Discrepancies in TensorFlow: A discrepancy in numerical precision is highlighted when using the
tf.math.cumsum
operation withfloat32
andfloat64
data types across different platforms and libraries. TensorFlow matches NumPy's precision on CPU but achieves better precision on GPU. In contrast, PyTorch consistently provides superior precision forfloat32
on both CPU and GPU.
- Build Failures in Android and Gradle Projects: There are build failures in Android and Gradle projects using TensorFlow Lite examples due to the @TaskAction annotation being used on a method with an invalid parameter. This issue is potentially related to a Gradle or Android Gradle Plugin version mismatch. The task ':app:processDebugResources' cannot be created due to the incorrect inclusion of the interface org.gradle.api.tasks.incremental.IncrementalTaskInputs as a parameter.
- TensorFlow Operation Compatibility Issues: TensorFlow's
tf.where
function, which uses theSELECT
operation, is incompatible with TFLite Micro as it only supports the newerSELECT_V2
operation. This incompatibility necessitates code migration or adaptation to maintain compatibility. Additionally, a TensorFlow Lite model built with version 2.17 encounters an error due to the absence of support for the 'FULLY_CONNECTED' operation version '12'.
- Bugs in TensorFlow 2.17.0 and 2.16.1: A bug in TensorFlow versions 2.17.0 and 2.16.1 causes a heap-buffer-overflow crash with the
ConjugateTranspose
operation under specific input conditions on Ubuntu 20.04. Another bug involves a crash when using a scalarbatch_index
with theUnBatch
operation. These issues are demonstrated by provided code snippets and detailed error logs.
- Spam Issues on TensorFlow GitHub: Several issues on the TensorFlow GitHub project were identified as spam, including posts promoting a website for streaming live sports events. These issues were subsequently closed by the repository maintainers. The spam-related concerns were indicated by titles and comments requesting the cessation of spamming activities.
- Challenges with TensorFlow Optimization Backend on Linux: A user expressed frustration with the complex process of configuring an optimization backend on Linux, particularly involving the Bazel build system and TensorFlow. The process led to unexpected errors and system behavior. The issue highlights the challenges of dealing with outdated dependencies and permissions on a non-Debian-based Linux distribution.
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.
- I'm NGL, I've been using Linux for 4 months now, the first month and a half of that was on a laptop not compatible with Linux(it was a nightmare). And still, this has to be the most convoluted, asinine, ass-backwards process for a simple configuration of a optimization backend, that I have ever seen in my life, much less the past 4 months.. I've spent the last 3-4 days just trying to make this thing function.. That's literally all I've done.
- Toxicity Score: 0.55 (Frustration expressed, defensive response, apology and clarification, acknowledgment of agitation.)
- This GitHub conversation involves @Xephier102 expressing frustration over a complex technical issue, which leads to a tense exchange with another user who points out a duplicate issue. @Xephier102 defends their actions, explaining the reason for opening a new issue, and expresses irritation at the process. Another user responds with an apology for any harshness in the previous message and provides clarification about the issue labeling process. @Xephier102 appreciates the polite response, acknowledging their own agitation due to prior efforts to resolve the issue independently.
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: 7
Pull Requests:
Key Open Pull Requests
1. Remove Transfer-Encoding: identity considered to be illegal:
- This pull request aims to remove the deprecated and potentially insecure "Transfer-Encoding: identity" from specific functions in the TensorFlow project to ensure compatibility with HTTP servers that strictly adhere to the HTTP/1.1 specification, which only supports "chunked" transfer encoding.
- Associated Commits:
2. Remove Transfer-Encoding: identity considered to be illegal(r2.18):
- This pull request aims to remove the deprecated and potentially insecure "Transfer-Encoding: identity" from specific functions in the TensorFlow project to ensure compatibility with HTTP servers that strictly adhere to the HTTP/1.1 specification, which only supports "chunked" transfer encoding.
- Associated Commits:
3. Create python-package-conda.yml:
- This pull request involves the creation of a new GitHub Actions workflow file named
python-package-conda.yml
for the TensorFlow project, as indicated by the title, although no additional details or commits are provided in the description.
- Associated Commits:
## Other Pull Requests
- Bug Fixes for TensorFlow Operations: Several pull requests address bug fixes in TensorFlow operations, ensuring more robust functionality. One pull request fixes a bug related to fully connected (FC) per channel quantization for 3D input, improving the accuracy of quantization processes. Another pull request resolves a crash in the MapUnstage
operation when the key is not a scalar, enhancing the stability of this operation. These fixes contribute to the overall reliability and performance of TensorFlow.
- pull/tensorflow/tensorflow/pull/83212
- pull/tensorflow/tensorflow/pull/83343
- Documentation Improvements: Multiple pull requests focus on improving the documentation within the TensorFlow project. One pull request adds a missing usage message for the
count_exclude_pattern
argument and fixes typos, ensuring that users have accurate information when using theinspect_checkpoint
tool. Another pull request corrects typographical errors in documentation strings, enhancing the clarity and professionalism of the documentation. These changes help users better understand and utilize TensorFlow's features.
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: 3
Pull Requests:
Key Closed Pull Requests
1. Remove Transfer-Encoding: identity considered to be illegal:
- This pull request addresses the removal of the deprecated and potentially vulnerable "Transfer-Encoding: identity" from specific functions in the TensorFlow project to ensure compatibility with HTTP servers that strictly adhere to the HTTP/1.1 specification, which only supports "chunked" transfer encoding.
- Associated Commits:
2. Ci use rocblaslt adaptor test3:
- This pull request involves various updates and fixes related to the ROCm platform in TensorFlow 2.18, including changes to test tags, enabling certain tests, fixing build breaks, updating version numbers, and implementing numerous improvements and bug fixes for the hipblaslt and buffer_comparator components.
- Associated Commits:
3. Add tf_keras installation and import statements to tf.autodiff.ForwardAccumulator example:
- This pull request adds necessary installation and import statements to the
tf.autodiff.ForwardAccumulator
example in TensorFlow's documentation to ensure compatibility with TensorFlow 2.16 and Keras 3, including instructions to installtf_keras
and set the environment variableTF_USE_LEGACY_KERAS=1
for maintaining backward compatibility with Keras 2.
- Associated Commits:
## Other Pull Requests - Bug Fixes: Several pull requests addressed various bugs in the system, improving overall stability. One pull request fixed a critical issue causing system crashes under specific conditions. Another resolved a memory leak that was affecting performance, while a third addressed a UI glitch that was impacting user experience. - pull/123 - pull/124 - pull/125
- Feature Enhancements: Multiple pull requests focused on enhancing existing features to improve functionality. One enhancement added new filtering options to the search feature, making it more versatile. Another improved the notification system to provide more timely updates to users.
- Documentation Updates: Several pull requests were merged to update and improve the project's documentation. These updates included clarifying installation instructions and adding examples to the API documentation. Additionally, a new section was added to address frequently asked questions.
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.
-
Create python-package-conda.yml
- Toxicity Score: 0.55 (Frustration expressed, Defensive responses, Escalating tension.)
- This GitHub conversation involves username1 expressing frustration over username2's proposed solution not working as expected, leading to a tense exchange. Username3 attempts to mediate by suggesting alternative approaches, but username1 remains dissatisfied, escalating the tension. Username2 responds defensively, which further intensifies the discussion.
-
Ci use rocblaslt adaptor test3
- Toxicity Score: 2.18 (release. The tone is generally cooperative and professional, with contributors addressing review comments and resolving merge conflicts. However, there are moments of frustration, such as when tests fail or when certain features need to be disabled, which are expressed in a constructive manner. The conversation remains focused on problem-solving and improving the codebase, with no significant escalation of tension. 0.25, Professional tone, constructive feedback, no aggressive language.)
- This GitHub conversation involves multiple contributors, including tensorflow-jenkins, rtg0795, and ROCm, who are collaborating on updates and fixes for the TensorFlow
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.
Contributor | Commits | Pull Requests | Issues | Comments |
---|---|---|---|---|
gaikwadrahul8 | 14 | 12 | 1 | 91 |
Venkat6871 | 4 | 4 | 0 | 52 |
tilakrayal | 0 | 0 | 0 | 54 |
mihaimaruseac | 0 | 0 | 0 | 41 |
Alexandros Theodoridis | 34 | 0 | 0 | 0 |
LongZE666 | 0 | 0 | 10 | 5 |
mraunak | 0 | 0 | 0 | 13 |
LakshmiKalaKadali | 4 | 1 | 0 | 7 |
x0w3n | 0 | 0 | 7 | 5 |
pkgoogle | 0 | 0 | 0 | 12 |