TensorFlow编码器(TFCoder):一个用于TensorFlow的程序综合工具
tensorflow-coder的Python项目详细描述
张量流编码器(TF编码器)
TF Coder是一个程序综合工具,可以帮助您编写TensorFlow代码。 首先,该工具需要所需张量的输入输出示例 转变。然后,它运行一个组合搜索来找到张量流 执行该转换的表达式。TF编码器的输出是真实的 可以包含在项目中的TensorFlow代码。在
快速链接
TF编码器工具已经准备好在这个链接上使用了。一切都已经打包好了 在一个Colab笔记本上,所以不需要安装或下载。在
有关TF Coder的更多信息,请参阅以下文档:
- TF-Coder Tutorial:引导您使用TF Coder 解决张量操作任务,并提供如何充分利用 TF编码器。在
- User Journeys:说明了几个实际的场景 在这里,TF编码器可以帮助您在不同的 方式。在
目录
什么是TF编码器?在
在操作张量时,必须跟踪多维张量 形状和数据类型的兼容性,当然还有数学正确性。 此外,还有数百个TensorFlow操作,并找到正确的 使用一个是一个挑战。在
TensorFlow编码器,或TF编码器,可以帮助您编写复杂的张量操作 TensorFlow公司。不用直接编写张量操作代码,您可以 通过一个说明性的输入输出示例来演示,TF编码器可以 自动生成相应的代码。TF编码器执行高效 对张量流运算组合的组合搜索,直到找到 与给定输入输出示例相匹配的张量流表达式。在
TF编码器允许您:
- TensorFlow程序实例
- 找到要使用的正确函数
- 以巧妙的方式自动组合函数
- 花更少的时间调试
TF编码器主要是为TensorFlow用户开发的工具。如果你只是想 要使用TF Coder作为工具,您不需要安装任何东西,因为该工具是这样的 随时可用于此 Colab notebook。在
注意事项
TF编码器有局限性。它目前可以找到涉及3-4个方面的解决方案 搜索一分钟内的操作,但涉及6个或更多的解决方案 操作太复杂,无法在合理的时间内找到。此外, TF编码器目前不支持复杂或字符串张量,或RaggedTensors。 支持的操作的完整列表可以在 Colab notebook。在
此外,TF Coder只保证其解决方案适用于给定的 输入输出示例。该工具搜索一个简单的TensorFlow表达式 与提供的输入输出示例相匹配,但有时此解决方案也是如此 简单,没有按预期的方式概括。这可能有助于 示例尽可能明确,这通常可以通过添加更多 输入和输出张量的数字。请查看TF Coder的解决方案 确保他们正确地实现了预期的行为。在
在Colab工具中,我们想记录给TF Coder和 结果解决方案,这样我们就可以改进工具并构建一个 总体上会加速程序综合研究,但是这个数据的收集 完全是可选的。在
教程和进一步阅读
有关TF Coder的更多信息,请参阅以下文档:
- TF-Coder Tutorial:引导您使用TF Coder 解决张量操作任务,并提供如何充分利用 TF编码器。在
- User Journeys:说明了几个实际的场景 在这里,TF编码器可以帮助您在不同的 方式。在
- Our research paper:描述 TF编码器背后的技术。在
可选:在Colab外部使用TF编码器
因为e TF Coder主要是一个开发工具,而不是您使用的库 在您的代码中,我们希望 Colab notebook 对于您的用例来说已经足够了。在
但是,如果您不想使用Colab笔记本,您仍然可以安装 TF Coder作为Python包自己:
pip install --user tf-coder
要将TF Coder搜索作为库运行,请按照中的代码示例进行操作
^{
要在基准测试中运行TF Coder,请运行:
^{pr2}$要运行测试,请克隆存储库并运行pytest
。在
引文
如果您发现TF Coder对研究项目有帮助,您可以引用我们的research paper如下:
@article{TFCoder,
title={{TF-Coder}: Program Synthesis for Tensor Manipulations},
author={Kensen Shi and David Bieber and Rishabh Singh},
year={2020},
url={https://arxiv.org/abs/2003.09040},
archivePrefix={arXiv},
eprint={2003.09040}
}
免责声明
这是一个研究项目,不是谷歌的官方产品。在
要报告错误或提出功能请求,请提出 GitHub issue。在
- 项目
标签: