tf.contrib.opt.ElasticAverageCustomGetter
Класс custom_getter используется для:
tf.contrib.opt.ElasticAverageCustomGetter(
worker_device
)
- Изменения обучаемых переменных на локальную коллекцию и размещения их на устройстве рабочего узла
- Генерации глобальных переменных (глобальных переменных центра)
- Генерации локальных переменных (локальных переменных центра), которые записывают глобальные переменные, и размещения их на устройстве рабочего узла. Обратите внимание, что этот класс следует использовать с tf.replica_device_setter, чтобы глобальные переменные центра и переменная глобального шага могли быть размещены на устройстве ps. Кроме того, используйте 'tf.compat.v1.get_variable' вместо 'tf.Variable', чтобы использовать этот пользовательский getter.
Например, ea_custom_getter = ElasticAverageCustomGetter(worker_device) с tf.device( tf.compat.v1.train.replica_device_setter( worker_device=worker_device, ps_device="/job:ps", cluster=cluster)), tf.compat.v1.variable_scope('',custom_getter=ea_custom_getter): ... создайте здесь свою модель ... с tf.device(worker_device): opt = tf.compat.v1.train.MomentumOptimizer(...) optimizer = ElasticAverageOptimizer( opt, num_worker=2, moving_rate=0.01, # или используйте значение по умолчанию communication_period=20, ea_custom_getter=ea_custom_getter) ... train_op = optimizer.apply_gradients( grads_vars, global_step=global_step) ... hooks = [optimizer.make_session_run_hook(is_chief, task_index)] ... с tf.compat.v1.train.MonitoredTrainingSession(master=server.target, is_chief=is_chief, checkpoint_dir=("...), save_checkpoint_secs=600, hooks=hooks) as mon_sess:
| Args | |
|---|---|
worker_device | Строка. Имя worker задания. |
Методы
__call__
__call__(
getter, name, trainable, collections, *args, **kwargs
)
Вызов self как функции.
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/contrib/opt/ElasticAverageCustomGetter