, tf.contrib.estimator.replicate_model_fn . tf.contrib.estimator.replicate_model_fn,
...
def model_fn(...): # See 'model_fn' in 'Estimator'.
loss = ...
optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.001)
optimizer = tf.contrib.estimator.TowerOptimizer(optimizer)
if mode == tf.estimator.ModeKeys.TRAIN:
return EstimatorSpec(mode=mode, loss=loss,
train_op=optimizer.minimize(loss))
return EstimatorSpec(...)
...
classifier = tf.estimator.Estimator(
model_fn=tf.contrib.estimator.replicate_model_fn(model_fn))
tf.contrib.estimator.TowerOptimize
model_fn()
tf.contrib.estimator.replicate_model_fn()
. TPU squeezenet 4 . .