Google 开发者大会 (Google Developer Days,简称 GDD) 是展现 Google 最新开发者产品和平台的全球盛会,旨在帮助你快速开发优质应用,发展和留住活跃用户群,充分利用各类工具得到更多收益。2018 Google 开发者大会于 9 月 20 日和 21 日于上海举办。👉Google 开发者大会 2018 掘金专题算法
2018 年 9 月 21 日 周玥枫(Google Brain 软件工程师)带来一场《分布式 TensorFlow:Distribution Strategy API》的演讲,本文将对演讲作一个回顾。bash
train_dataset = tf.data.Dataset(...)
eval_dataset = tf.data.Dataset(...)
model = tf.keras.applications.ReyNet50()
optimizer = tf.train.GradientDescentOptimizer(learning_rate = 0.1)
model.compile(loss = "categorcial_crossentropy",optimizer = optimizer)
model.fit(train_dataset, epochs = 10)
model.evaluate(eval_dataset)
复制代码
train_dataset = tf.data.Dataset(...)
eval_dataset = tf.data.Dataset(...)
model = tf.keras.applications.ReyNet50()
optimizer = tf.train.GradientDescentOptimizer(learning_rate = 0.1)
strategy = tf.contrib.distribute.MirroredStrategy()
model.compile(loss = "categorcial_crossentropy",optimizer = optimizer,
distribute = strategy)
model.fit(train_dataset, epochs = 10)
model.evaluate(eval_dataset)
复制代码
经过对比咱们能够发现,仅仅只是对两行代码的修改就能实现多 GPU 的训练。即便用MirroredStrategy
API 无需修改 input pipeline ,无需修改模型、训练循环就能够实现多 GPU 训练,而且无缝支持 Checkpoints,metrics, summaries.架构
仅仅经过两行代码的修改,就能实现多 GPU 训练,MirroredStrategy
作了些什么?app
Collective Ops具备如下几个特色:分布式
同时,Collective 支持多种 All - Reduce 算法。工具
Kubernetes
能够设置 PS 数量
TensorFlow
服务并提供接口,笔记本经过接口来实现分布式训练。
代码实例以下: 性能
以上就是本次演讲所有内容,但愿对你们有所帮助。 阅读更多 Google 开发者大会 2018 技术干货lua