AIDog的改造仍在进行中,抽空翻译一篇TensorFlow的文档。本文翻译自TensorFlow官方文档:Introducing TensorFlow Addons,原文链接:https://medium.com/tensorflow/introducing-tensorflow-addons-6131a50a3dcf
随着TensorFlow 2.0的推出,我们创建了一个名为TensorFlow Addons的新别殊兴趣小组(Special Interest Group, SIG)。该小组管理符合既定API模式的贡献代码库,但实现了核心TensorFlow中没有的新功能。比如,这些新功能可以是来自已发表论文中的新算法或数据预处理和过滤所缺少的功能。请前往Github查看该项目:
https://github.com/tensorflow/addons
作为社区管理的SIG,Addons使用户能够以可持续的方式为TensorFlow生态系统引入新的扩展。代码库遵循模块化方法,子包和子模块由指定的社区成员维护。截至到目前,这些子包包括:
TensorFlow Addons社区的另一个目标是通过Google Colab笔记本提供所有功能的文档和示例。这将不仅有助于新开发人员和机器学习爱好者了解功能,还将为他们提供最佳实践方法和实施示例。
TensorFlow Addons使用四个平台进行组织和沟通:
该项目的目标可能听起来很熟悉,而且Addons确实是tf.contrib(它已被移出中央TensorFlow代码库)的大部分着手点。在过去几年中,由于文档的原因,tf.contrib中的许多代码变得陈旧,无法维护,复杂且难以使用。tf.contrib中创建了许多自定义API,这使得将这些功能集成到代码中变得更加困难。通过将最相关的算法移动到TensorFlow-Addons并清理它们,您在tf.contrib中使用的大部分代码也将在插件中提供。此外,许多新功能已经成为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可持续性的RFC中找到:
https://github.com/tensorflow/community/blob/master/rfcs/20190308-addons-proxy-maintainership.md
我们希望引入维护者和定期审查来保持该代码库的质量,使TensorFlow插件在未来几年成为TensorFlow生态系统中众所周知且可用的部分。
为TensorFlow Addons做出贡献是一种很好的方式,让您熟悉ML领域的最新进展,以及熟悉TF2最佳实践的方法。
新贡献者的一个良好开端是阅读TensorFlow Addons GitHub代码库中的CONTRIBUTING.md文档。本文档介绍了审阅过程、编码风格以及如何设置开发环境。熟悉了此代码库的一般结构后,您可以查看问题列表(issues)部分并选择您想要处理的问题。标记为帮助的问题和优先需要解决的问题是一个很好的起点。我们还鼓励使用Google Colab提供示例和最佳实践。
请在开始工作之前对相应问题发表评论或打开新问题,以避免多次贡献或与路线图不一致的工作。之后,只需fork Addons代码库,实现代码并在完成后打开pull请求。其中一个维护者将检查您的更改,并在完成后将它们合并到主分支中。
了解如何将插件与核心TensorFlow无缝集成: https://github.com/tensorflow/addons/blob/master/examples/losses_triplet.ipynb