https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHyQsdOtFNj5H-7BB1YGrKehrH2hz7Zkfd-1EUwqOPGQ8fPzJ-qH74aj1kwmrSLPv8xRWUjX6N3_bKWCZUB6itxDrASOPj6ItOwaYZxyjjnzScakNYMirC1s-3TxePH7DxFTSJf5sYLcw/s1600/sig+addons.png
作者:Sean Morgan (Two Six Labs)、Yan Facai (阿里巴巴)、Moritz Kröger (亚琛工业大学)、Tzu-Wei Sung (国立台湾大学)、Dheeraj Rajaram Reddy (Manipal 大学)
什么是 SIG Addons?
随着 TensorFlow 2.0 的推出,我们创建了一个新的
特别兴趣小组 (SIG),称为 TensorFlow Addons。该小组管理一个贡献存储库,这些贡献符合既定的 API 模式,但实现了 TensorFlow 核心库中没有的新功能。例如,这些新功能可能是发表论文中的新算法或数据预处理和过滤的缺失功能。在 Github 上查看:
https://github.com/tensorflow/addons
作为社区管理的 SIG,Addons 使得用户能够以可持续的方式向 TensorFlow 生态系统引入新的扩展。该存储库采用模块化方法,并具有由指定社区成员维护的子包和子模块。截至目前,这些子包包括
- tfa.activations
- tfa.callbacks
- tfa.image
- tfa.layers
- tfa.losses
- tfa.metrics
- tfa.optimizers
- tfa.rnn
- tfa.seq2seq
- tfa.text
TensorFlow Addons 社区的另一个目标是通过 Google Colab 笔记本为所有功能提供文档和示例。这将帮助新开发人员和机器学习爱好者不仅了解这些功能,还将为他们提供最佳实践方法和实现示例。
TensorFlow Addons 使用四个平台进行组织和沟通
从 tf.contrib 迁移
该项目的目标听起来可能很熟悉,Addons 确实是 tf.contrib 的着陆点,它已
从中央 TensorFlow 存储库中移出。在过去几年中,tf.contrib 中的许多代码都变得陈旧、无人维护、复杂且由于文档原因难以使用。tf.contrib 中创建了许多自定义 API,这使得将此功能集成到您的代码中更加困难。通过将最相关的算法迁移到 TensorFlow-Addons 并清理它们,
您在 tf.contrib 中使用的许多代码也将在 addons 中可用。此外,许多新功能已经成为 TF-Addons 的一部分,还有更多计划。
如何安装
TensorFlow Addons 为 macOS 和 Linux 提供了一个 pip 包,并计划将来支持 Windows 和 Anaconda。在 tensorflow-2.0 的最新版本上试用它
pip install tensorflow-addons
要在您的 Python 代码中使用 TensorFlow-addons,只需使用以下命令导入包即可
import tensorflow as tf
import tensorflow_addons as tfa
存储库可持续性
为了确保 TensorFlow Addons 不会成为陈旧的代码坟墓,引入了子包和子模块维护者来管理存储库的部分内容。这些维护者拥有以下职责
- 定期审查和弃用旧的和未使用的代码
- 管理 TensorFlow Core 的研究生候选人
- 确保 API 一致性和测试/代码质量
- 管理问题
- 审查更改
有关代理维护者系统具体细节的更多信息可以在最近接受的有关 Addons 可持续性的 RFC 中找到
https://github.com/tensorflow/community/blob/master/rfcs/20190308-addons-proxy-maintainership.md
我们希望维护者和定期审查的引入将保持该存储库的质量,使 TensorFlow Addons 成为 TensorFlow 生态系统中一个众所周知且可用的部分,并将持续多年。
如何贡献
为 TensorFlow Addons 贡献代码是让自己了解 ML 领域最新进展的好方法,也是熟悉 TF2 最佳实践的一种方法。
对于新贡献者来说,一个好的起点是阅读 TensorFlow Addons GitHub 存储库中的
CONTRIBUTING.md 文档。本文档解释了审查流程、编码风格以及如何设置您的开发环境。熟悉了该存储库的一般结构后,您可以查看问题部分并选择一个您想处理的问题。标记为
需要帮助和
适合新手的问题是一个很好的起点。我们还鼓励您使用 Google Colab 贡献示例和最佳实践。
在您开始工作之前,请在相应的问题中留言或打开一个新问题,以避免出现多重贡献或与路线图不符的工作。之后,只需分叉 Addons 存储库,实现您的代码,并在完成时打开一个拉取请求。维护者之一将审查您的更改,并在更改完成时将它们合并到主分支中。
TFA 示例
查看如何将 addons 与 TensorFlow 核心库无缝集成
https://github.com/tensorflow/addons/blob/master/examples/losses_triplet.ipynb