Weekly GitHub Report for Tensorflow: December 11, 2024 - December 18, 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 is about a user experiencing difficulties importing TensorFlow on a Windows 11 system, where attempts to import the library result in a DLL load failure error. The user has tried multiple solutions, including reinstalling Python and TensorFlow, using different Python versions, and following various troubleshooting steps, but the problem persists.
- The comment section involves multiple suggestions from contributors, including trying different TensorFlow versions, creating a new virtual environment, and ensuring the correct Python version is used. Despite these efforts, the issue remains unresolved, leading to further troubleshooting steps such as sharing environment details and attempting to build TensorFlow from source. The conversation also explores potential hardware-related issues, with contributors requesting additional information to better understand the problem.
- Number of comments this week: 9
-
Division by zero error at random places if GPU is used: This issue involves a division by zero error occurring at random locations when using a GPU with TensorFlow 2.18 on a Linux RedHatEnterprise 8.6 system, specifically with a Quadro RTX 6000 GPU and CUDA version 12.3. The problem does not occur when the program is run on a CPU, and the user is uncertain whether the bug is in the TensorFlow binary or one of the CUDA libraries, as the error appears deep within the TF/CUDA stack.
- The comments discuss potential collaboration to resolve the issue, with one user offering to contribute and suggesting a screen-sharing session to better understand the problem. Another user suggests that the issue might be due to incompatible software versions and advises updating them according to the documentation. The original poster attempts to update the CUDA version but encounters further issues, and despite multiple tests, the problem persists randomly, indicating a complex underlying issue.
- Number of comments this week: 8
-
error: defining a type within 'offsetof' is a Clang extension [-Werror,-Wgnu-offsetof-extensions]: This issue is about a user encountering a build error when trying to compile the Selective Framework for iOS using TensorFlow, specifically related to a Clang extension warning that is treated as an error. The user is seeking assistance to resolve this error, which occurs due to the use of a type within 'offsetof', a Clang extension, and is looking for guidance on how to reduce the framework size for iOS.
- The comments section involves a series of interactions where the user is asked to provide more details about their environment and the steps they followed. Suggestions are made to use a specific compiler flag to bypass the error, and the user is advised to modify the build script if necessary. The user expresses their goal of reducing the framework size and asks for further guidance on implementing the suggested solution. The conversation continues with a request for clarification on which branch to use for building the framework.
- Number of comments this week: 4
-
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 encountered when linking an Android static library with TensorFlow Lite (TFLite) GPU using CMake, which results in undefined symbol errors and an incomplete installation environment. 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 various aspects of the issue, including a request for guidance on obtaining a complete TFLite environment, suggestions to copy specific libraries to avoid linker errors, and a detailed response explaining the need to link OpenGL ES and EGL libraries to resolve undefined symbol errors. The original poster confirms that linking these libraries resolves the linker errors but encounters a new issue with unsupported operations in TensorFlow Lite version 2.18.0, specifically related to the PReLU operation, which is further discussed in a referenced issue.
- Number of comments this week: 4
-
Model with dropout in MirroredStrategy not work: This issue involves a bug where initializing a model with dropout using TensorFlow's MirroredStrategy API fails, specifically when using TensorFlow version 2.17.1 on an Ubuntu 22.04 platform with Python 3.10. The error appears to be related to the Keras version, as the problem occurs with Keras 3.7.0 but not with 3.5.0, and it results in a ValueError related to distributed tf.Variable creation.
- The comments discuss that the issue is linked to the Keras version, with Keras 3.7.0 causing the error while 3.5.0 works fine. Users confirm experiencing the same problem after updating libraries, and a suggestion is made to report the issue to the Keras repository. It is noted that the Keras team has quickly fixed the bug, and the working version of Keras needs to be specified in TensorFlow dependencies. The issue is resolved in both TensorFlow and Keras-nightly, and updates are expected in future versions.
- 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:
- Warning Message in TensorFlow 2.17+ with Keras 3.x: Users report an annoying warning message, "Ignoring Assert operator," during the
model.fit()
operation, which disrupts the progress bar display. This warning persists even when logging is set to suppress warnings, causing confusion about its source. Users are concerned whether this indicates a mistake in their code.
- Documentation and Functionality Bugs in TensorFlow: Several issues highlight discrepancies between documentation and actual functionality in TensorFlow. The
tf.raw_ops.MaxPoolGradWithArgmax
function documentation incorrectly states support forint32
, leading to errors, and theImageDataGenerator
parameters are swapped, causing unexpected behavior. These bugs cause confusion and errors for users relying on the documentation.
- Compatibility Issues with TensorFlow and Python Versions: Users face compatibility issues when trying to install TensorFlow on unsupported Python versions. TensorFlow 2.10.0 cannot be installed on Python 2.7.5, and installation fails on Windows 10 with Python 3.13 due to version mismatches. These issues highlight the importance of version compatibility for successful installations.
- TensorFlow Lite Compilation and Deployment Issues: Users encounter problems with TensorFlow Lite, including cross-compilation toolchain incompatibility for Raspberry Pi Zero and a compilation error with
ndk-build
for custom C++ files. These issues suggest challenges in building and deploying TensorFlow Lite on specific hardware and environments.
- Import and Installation Errors in TensorFlow: Users report ImportErrors and installation failures due to missing dependencies or library conflicts. These errors occur in environments like PyCharm and Windows 11, indicating potential issues with dependency management and environment configuration.
- TensorFlow GPU and XLA Compatibility Issues: There are reported bugs with TensorFlow's GPU operations, particularly with
tf.keras.layers.LSTM
andkeras.layers.GRU
layers. These layers behave differently on GPU compared to CPU, causing unexpected output lengths and failures, especially when using XLA.
- TensorFlow Functionality Bugs: Users report bugs in TensorFlow functions like
tensorflow.experimental.numpy.kron
andLearnedUnigramCandidateSampler
. These functions fail under certain conditions, such as unsupported broadcasting and invalid argument values, leading to errors and crashes.
- Documentation and Educational Content Requests: Users request updates and additions to TensorFlow's documentation and educational content. This includes correcting outdated links and providing detailed examples for LSTM-based time series forecasting to enhance user understanding and experience.
- Custom Loss Function Bug in TensorFlow: A bug is reported where a custom loss function in a TensorFlow model with multiple outputs only receives the first output. This issue affects the expected functionality of the model, as the implicit loss function configuration works correctly.
- TensorFlowLite Version Publication Request: There is a request for the publication of TensorFlowLite version 2.18.0 to Maven Central and CocoaPods Specs. This request is made to ensure availability for Android and iOS platforms before transitioning to LiteRT.
- Time Series Forecasting with LSTM in TensorFlow: A detailed guide is provided for implementing a time series forecasting model using LSTM in TensorFlow. This guide covers data preprocessing, model building, training, prediction, and evaluation, offering valuable insights for users interested in time series analysis.
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: 15
Summarized Issues:
- TensorFlow Bugs in Version 2.17: Several issues have been reported in TensorFlow version 2.17, including crashes and errors with specific operations. The
tf.raw_ops.MatrixDeterminant
andtf.raw_ops.LogMatrixDeterminant
operations cause a crash with an "Aborted (core dumped)" error when executed with an empty input shape on a GPU. Additionally, thetf.raw_ops.RaggedTensorToVariantGradient
operation also results in a crash with a "core dumped" error under certain conditions. These issues highlight the instability of TensorFlow 2.17 when handling specific operations on GPU.
- TensorFlow Bugs in Versions 2.17.0 and 2.16.1: TensorFlow versions 2.17.0 and 2.16.1 have been reported to cause crashes on Ubuntu 20.04 with specific operations. The
ConjugateTranspose
operation leads to a heap-buffer-overflow crash, while theParameterizedTruncatedNormal
operation causes a core dump, although this is resolved in version 2.18.0. Additionally, theUnBatch
operation with a scalarbatch_index
also results in a crash, indicating multiple stability issues in these versions.
- Build Failures in Android Projects: There are issues related to build failures in Android projects using TensorFlow. One problem involves the @TaskAction annotation being used incorrectly with the interface org.gradle.api.tasks.incremental.IncrementalTaskInputs, leading to a GradleException. Another issue is related to the incompatibility of TensorFlow's
tf.where
function with TFLite Micro, which only supports the newer SELECT_V2 operation, causing model conversion failures.
- Numerical Precision Discrepancies: A discrepancy in numerical precision has been identified when using the
tf.math.cumsum
operation withfloat32
andfloat64
data types. TensorFlow matches NumPy's precision forfloat32
on CPU but achieves better precision on GPU, while PyTorch provides the best precision forfloat32
on both CPU and GPU. This suggests that for high precision operations,float64
should be used, or if limited tofloat32
, PyTorch or TensorFlow on GPU are preferable.
- Spam Issues on GitHub: Several spam issues have been reported and subsequently closed on the TensorFlow GitHub project. These include false advertisements for movie downloads and streaming, as well as promotions for live sports streaming websites. The project maintainers have taken action to close these spam entries to maintain the integrity of the project.
- Configuration Challenges on Linux: Users have reported difficulties in configuring an optimization backend on Linux, particularly with the Bazel build system and TensorFlow. These challenges include unexpected errors and system behavior due to dependency and permission issues on a Garuda-Linux system. The complexity of the configuration process has led to user frustration and highlights the need for improved documentation and support.
- Compatibility Issues with TensorFlow Lite: An Android application using TensorFlow version 2.17 encounters compatibility issues due to the absence of support for the 'FULLY_CONNECTED' operation version '12' in TensorFlow Lite. This suggests a potential mismatch between the TensorFlow version used to build the model and the TensorFlow Lite version used to execute it. Users are advised to ensure version compatibility to avoid such errors.
- Bug in TensorFlow 2.14 with RaggedTensors: A bug in TensorFlow 2.14 prevents users from passing a zipped dataset containing Tensors as labels and RaggedTensors as tokens to the
.fit()
method. This results in aTypeError
due to the inputs not being recognized astf.RaggedTensor
. Further complications arise when attempting to convert Tensors to RaggedTensors using.map()
due to rank constraints.
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.
-
TensorFlow 2.10.0 cannot be installed on Python 2.7.5.
- Toxicity Score: 2.10 (.0 on Python 2.7.5, and another user, @braahkrayem, responding with a clarification that the versions are incompatible and suggesting an upgrade to a newer TensorFlow version. The tone of the conversation is informative and helpful, with no signs of frustration or conflict. 0.20,Informative response,Helpful tone,No signs of conflict)
- This GitHub conversation involves a user reporting an issue with installing TensorFlow
-
- Toxicity Score: 0.55 (Frustration expressed, defensive response, apology and clarification, acknowledgment of communication style.)
- 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. The conversation concludes with @Xephier102 appreciating the polite response, acknowledging their own communication style, and explaining their frustration stems from trying to solve problems 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: 8
Pull Requests:
Key Open Pull Requests
1. remove non-maintained tensorflow-io-gcs-filesystem dependency from pip_package: The pull request titled "remove non-maintained tensorflow-io-gcs-filesystem dependency from pip_package" addresses the removal of a problematic dependency from the TensorFlow pip package. This dependency, tensorflow-io-gcs-filesystem, has been causing issues for over a year, with no viable solution in sight, and appears to be poorly maintained. TensorFlow only relies on this dependency for an optional purpose, activated by a specific variable. The community has been actively seeking solutions to the problems caused by this dependency, but without success. Removing it is expected to enhance TensorFlow's multiplatform support and reliability. The decision to eliminate this dependency is supported by multiple related issues and discussions within the TensorFlow community.
Associated Commits: - Update setup.py remove non-maintained tensorflow-...
2. fix to export symbol correctly on shared library for windows ( fix to bug ): The pull request addresses a bug related to exporting symbols correctly on shared libraries for Windows platforms when compiling without Bazel or MSYS. The issue arises from the use of the PUBLIC keyword in the compiler definition within the tensorflow/lite/CMakeLists.txt
file, which inadvertently affects the tensorflow/lite/c/CMakeLists.txt
file. This results in a conflict where the intended shared library is incorrectly compiled as a static library, leading to missing symbols in the tensorflowlite_c.dll
. The proposed fix involves modifying the keyword to prevent the inheritance of definitions to other libraries or adjusting the condition statement in the c_api_types.h
file. More detailed information about the error can be found in the provided error history link.
Associated Commits: - fix to export symbol correctly on shared library f...
3. Fix 02 broken links in audio_classifier.md: The pull request titled "Fix 02 broken links in audio_classifier.md" addresses the issue of non-functional hyperlinks in the TensorFlow documentation. Specifically, it updates two broken links related to the TensorFlow Lite Model Maker for Audio Classification and the AudioRecord class within the "Integrate audio classifiers" guide. The purpose of this update is to ensure that users can access the correct resources without encountering errors, thereby improving the usability and reliability of the documentation. The contributor has identified and corrected these links, requesting a review and merge to maintain the integrity of the documentation.
Associated Commits: - Update audio_classifier.md
Other Open Pull Requests
- This pull request addresses the issue of two broken hyperlinks in the
bert_nl_classifier.md
documentation file by updating them to functional links, specifically for the TensorFlow Lite Model Maker for text classification and MobileBert, and requests a review and merge of these changes. https://github.com/tensorflow/tensorflow/pull/82845 - This pull request aims to enhance compatibility with modern HTTP servers by removing the deprecated and potentially vulnerable "Transfer-Encoding: identity" from specific functions in the TensorFlow project, ensuring that requests are processed correctly by servers that only support the "chunked" transfer encoding as per the HTTP/1.1 specification. https://github.com/tensorflow/tensorflow/pull/83082
- This pull request aims to remove the deprecated and potentially vulnerable "Transfer-Encoding: identity" from specific functions in the TensorFlow project to ensure compatibility with HTTP servers that only support the "chunked" transfer encoding, in accordance with the HTTP/1.1 specification. https://github.com/tensorflow/tensorflow/pull/83092
- This pull request involves the creation of a new YAML configuration file named 'python-package-conda.yml' for the TensorFlow project, as indicated by the title, although the body of the request does not provide additional details. https://github.com/tensorflow/tensorflow/pull/83158
- This pull request addresses a bug fix related to fully connected (FC) per channel quantization for 3D input in the TensorFlow project, as indicated by the title and commit message, and can be reviewed in detail at the provided URL. https://github.com/tensorflow/tensorflow/pull/83212
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. spam: The pull request titled "spam" on the TensorFlow GitHub repository appears to involve updates to the .clang-format
file. The changes include modifications related to a web application, specifically involving the handling of iframe elements and event listeners for messages. The update seems to focus on enhancing the functionality of a seamless iframe component, which includes methods for initializing, binding events, handling messages, and managing game launches within the iframe. The context suggests improvements in the user interface and interaction, particularly in relation to game integration and menu switching within the application.
Associated Commits: - [Update .clang-format "use strict"; (self"webpac...
2. Remove Transfer-Encoding: identity considered to be illegal: The purpose of this pull request is to address the issue of using the "Transfer-Encoding: identity" header, which is considered illegal and can lead to vulnerabilities such as request smuggling according to the HTTP/1.1 specification (RFC9112). Many modern HTTP servers are restrictive regarding the Transfer-Encoding header, typically only supporting "chunked" encoding. For instance, the Go standard net/http library does not support any encoding other than "chunked" and returns a 501 error if others are used. This pull request aims to remove the "Transfer-Encoding: identity" from the SetPutEmptyBody and SetPostEmptyBody functions in the TensorFlow codebase, ensuring that requests are processed correctly by servers that enforce strict Transfer-Encoding rules.
Associated Commits: - remove Transfer-Encoding: identity as it's depreca...
3. Ci use rocblaslt adaptor test3: The pull request titled "Ci use rocblaslt adaptor test3" for the TensorFlow repository on GitHub aims to integrate and test the use of the rocBLASLt adaptor within the CI pipeline. This update is part of the broader TensorFlow 2.18 release, which includes various enhancements and fixes, particularly for ROCm (Radeon Open Compute) support. Key changes involve updating version numbers, fixing build breaks, and addressing issues related to the hipBLASLt library. The pull request also includes modifications to ensure compatibility and stability across different ROCm versions by using a generic installation path. Additionally, it addresses several test-related adjustments, such as enabling specific unit tests and updating test tags. The context of these changes is to enhance TensorFlow's performance and compatibility on AMD hardware, ensuring a more robust and efficient machine learning framework.
Associated Commits:
- Disable flaky test flag for TF 2.18 release (#7640...
- Merge pull request #76486 from tensorflow-jenkins/...
- Merge pull request #76508 from tensorflow-jenkins/...
- Merge pull request #76590 from rtg0795/r2.18 Upda...
- Merge pull request #76593 from rtg0795/r2.18 Upda...
- Merge pull request #76991 from tensorflow/r2.18-4e...
- Merge pull request #77025 from tensorflow-jenkins/...
- Merge pull request #77576 from tensorflow/r2.18-be...
- Merge pull request #77589 from tensorflow-jenkins/...
- Merge commit '783ae3c623428f8e7857160ab0a34f6d0a55...
- Initial commit to resovle merge conflicts
- Remove more unnecessary forward declarations from ...
- PR #17507: [ROCm] Fix build break due to 1c21b0bba...
- Merge remote-tracking branch 'upstream/r2.18' into...
- Pin some deps for 2.18
- Merge pull request #78463 from tensorflow-jenkins/...
- Merge pull request #78464 from tensorflow/rtg0795-...
- Change remaining "no_rocm" tags to "cuda-only"
- Enable some of the unit tests
- Change no_rocm tag to cuda-only in *.bazerc files ...
- buffer_comparator buffer init fix
- Merge pull request #2729 from ROCm/r2.18-rocm-buf-...
- Merge pull request #2724 from ROCm/r2.18-bringup-f...
- Merge remote-tracking branch 'upstream/r2.18' into...
- Merge pull request #2752 from ROCm/r2.18-rocm-enha...
- Remove over-active ROCM fusion message (#2755)
- skipping winograd in single gpu test (#2751) * sk...
- replaced DoMatmul with ExecuteOnStream call
- renamed to ExecuteOnStream
- fixing the blas-lt cache
- cover for hipblaslt unsupport type
- Merge pull request #2763 from ROCm/blas_lt_cache ...
- Merge pull request #2762 from ROCm/gpublas_lt_tf21...
- make sure therre is no ptr stability issue https:/...
- Merge pull request #2769 from ROCm/r218_fix_ptr_st...
- Use /opt/rocm/
for ROCM_INSTALL_DIR environment ...
- Merge pull request #2777 from ROCm/r2.18-rocm-enha...
- numerous hipblaslt related fixes & fp8 buffer_comp...
- Merge pull request #2780 from ROCm/r2.18-rocm-enha...
- init commit (WIP)
- Move GpuBlasLtAdaptor out
- Address reivew comments
- Make DoBlasGemm compile
- Use right type
- Able to compile RunBatched
- Make it compile
- Remove cast and fix linter
- Implement strided version of RunBlasGemmBatched
- Add strided version
- Add more type based versins of batched blaslt impl...
- Fix typo introduce switch flag to activate blaslt
- Use null allocator if workspace is not set
- Fall back to blas when blaslt type is not implemen...
- Print warning in case of fallback
- Fix dereference
- Clean up
- Fix
- Fix
- Convert dtype to string when output error log
- Use optional instead of heap
- Fix failing test
- Address review comments
- Revert uneccessary changes
- Disable overrides
- Disable only batchedstrieded
- Disable DoBlasGemm only
- Disable gemmbatched
- Upload to remote-cache
- switch to http
- Fix port
- clean up
- Disable remote cache
- Add logging and disable autotune
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.
-
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 of the conversation is generally collaborative and constructive, with contributors addressing review comments and making necessary adjustments to the code. However, there are moments of mild frustration, as seen in comments about fixing failing tests and resolving merge conflicts. Despite these minor tensions, the overall sentiment remains positive, with contributors working towards a common goal. 0.25, Collaborative tone, minor frustrations, constructive feedback.)
- This GitHub conversation involves multiple contributors, including tensorflow-jenkins and rtg0795, who are primarily focused on updating and fixing various aspects of 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 | 13 | 11 | 1 | 89 |
Venkat6871 | 3 | 3 | 0 | 49 |
tilakrayal | 0 | 0 | 0 | 53 |
Alexandros Theodoridis | 34 | 0 | 0 | 0 |
mihaimaruseac | 0 | 0 | 0 | 29 |
LongZE666 | 0 | 0 | 10 | 5 |
LakshmiKalaKadali | 4 | 1 | 0 | 7 |
x0w3n | 0 | 0 | 7 | 5 |
pkgoogle | 0 | 0 | 0 | 12 |
mraunak | 0 | 0 | 0 | 11 |