TensorFlow编码器(TFCoder):一个用于TensorFlow的程序综合工具

tensorflow-coder的Python项目详细描述


张量流编码器(TF编码器)

TF Coder是一个程序综合工具,可以帮助您编写TensorFlow代码。 首先,该工具需要所需张量的输入输出示例 转变。然后,它运行一个组合搜索来找到张量流 执行该转换的表达式。TF编码器的输出是真实的 可以包含在项目中的TensorFlow代码。在

快速链接

Try TF-Coder!

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。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
无法在Netbeans 8.2 JDK8u231中创建java Maven项目(Web应用程序)   java如何以设定的时间间隔生成随机数?   java从socket和inputStream的慢速读取   spring SCORM:Java中基于Web的SCORM播放器   Java将函数传递给方法   java绑定通用服务及其实现和子类型   java如何在运行时从选择列表框中动态选择选项?爪哇硒   java Selenium WebDriver什么是“Selenium客户端和WebDriver语言绑定”   elasticsearch需要elasticsearch高级Java客户端更新ByQueryRequest API帮助   JAVA哈希表查找最大值   WSDL操作中的java soapAction属性为空   java访问封闭类或父类方法的一般方法   eclipse在java中运行带有SeleneTestCase的ANT。lang.NoClassDefFoundError   java Hazelcast不会在节点启动时填充ReplicatedMap   如何在Java中从excel中读取特定行?   html JAVA将本地时间(GMT+8)转换为UTC时间   java将自定义端点添加到Spring数据REST存储库中,并以大摇大摆的方式显示   java计算未来位置