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