如何使编程更加便捷?最近,谷歌 TensorFlow 开源了一个帮助开发者写 TensorFlow 代码的程序合成工具 TF-Coder。
机器之心报道,编辑:魔王、陈萍。
- 项目地址:https://github.com/google-research/tensorflow-coder
- Google Colab 试用地址:https://colab.research.google.com/github/google-research/tensorflow-coder/blob/master/TF-Coder_Colab.ipynb
- 论文地址:https://arxiv.org/pdf/2003.09040.pdf
用过 TensorFlow 框架的应该都知道,在操纵张量时,需要跟踪多个维度、张量形状和数据类型兼容性,当然还需要考虑数学正确性。此外,TensorFlow 有数百种操作,找到要使用的正确操作也是一项挑战。
那么,除了直接对张量操纵进行编码以外,如果仅通过一个说明性示例进行演示,就能自动获取相应的代码呢?这个想法听起来很诱人,而 TensorFlow Coder(TF-Coder)使这成为可能!
TF-Coder 的原理是:给出期望张量变换的输入 - 输出示例,TF-Coder 运行组合搜索,找出能够执行此变换的 TensorFlow 表达式,并最终输出对应的 TensorFlow 代码。

TF-Coder 的合成算法如下所示:

下面的动图展示了使用 TF-Coder 解决张量操纵问题的过程: