Google 发布 Tensor2Tensor for TensorFlow

  • Dylan Raithel
  • 薛命灯

2017 年 8 月 13 日

话题:AITensorFlow

TensorFlow(TF)社区和 Google 的Brain团队发布了作为 TF API 重要扩展的Tensor2Tensor

Tensor2Tensor(T2T)解决了在 TF 上训练和执行模型的模块化和可移植性问题。它将常用的深度学习模型管道抽象成一个可扩展的对象模型,并提供了 TF 训练所需要的标准 API。T2T 的目标之一是要降低模型训练管道和执行环境的重复性成本,同时减少基于 TF 现有 API 进行常见操作的工作量,这些操作原本很难在用户之间共享,它们有些只能用于解决特定的问题。

T2T 基于现有的 TF 库执行很多操作,包括模型架构、优化器、学习率衰退、scheme 和超参数。它还提供了一些预训练过的模型和样本数据集、默认的模型规范,以及超参数modality的控制方法。这样有助于用户重复实验、比较和交换结果,让他们专注在课题研究上,而不是把大量精力花费在编排 TF 管道环境上。

T2T 的数据集为标准的TFRecord protobuf 文件,训练数据集可以通过用户自定义的Problem子类来生成,或者通过 Python 装饰器和直接函数调用的方式来生成。Problem 对象由训练时间超参数和它们的输入输出形态及数据集组成。Problem 提供了一些方法用于处理编码、文件路径、输入输出目标、超参数和默认属性值。模型的metrics(如模型准确度)也被封装在 Problem 中。超参数集合通过装饰器注册成Hparams对象。

训练可以被配置成同步或异步模式。通过环境变量 TF_CONFIG 可以指定 master 服务器和参数服务器,支持 grpc 和 gpu 群组,以及计算资源的逻辑集群。

查看英文原文: Google Announces Tensor2Tensor for TensorFlow

AITensorFlow