Серверная стратегия параметров с оценщиками (Tensorflow) - PullRequest
2 голосов
/ 05 марта 2019

Как я могу проводить распределенное обучение с использованием Parameter Server Strategy с оценщиками? Как определить спецификацию кластера без использования TF_CONFIG для оценщиков?

1 Ответ

0 голосов
/ 16 апреля 2019

Насколько я понимаю, использование переменной Environment, TF_CONFIG является обязательным для использования распределенной стратегии сервера параметров, в которой мы определяем спецификацию кластера, информацию PS и информацию о задачах в формате json.

Ниже приведен фрагмент кода, демонстрирующий распределенное обучение с использованием стратегии сервера параметров с оценщиками:

    # Configuring the Workers, Parameter Servers and Tasks
    NUM_WORKERS = 1
    IP_ADDRS = ['localhost']
    PORTS = [12345]

    os.environ['TF_CONFIG'] = json.dumps({
            'cluster': {
                'worker': ['%s:%d' % (IP_ADDRS[w], PORTS[w]) for w in range(NUM_WORKERS)],
                'ps': ['%s:%d' % (IP_ADDRS[w], PORTS[w]) for w in range(NUM_WORKERS)]
            },
            'task': {'type': 'worker', 'index': 0}
        })

    # Method for using ParamterServerStrategy
    strategy = tf.distribute.experimental.ParameterServerStrategy()

    config = tf.estimator.RunConfig(train_distribute=strategy)

    classifier = tf.estimator.Estimator(
        model_fn=model_fn, model_dir='/tmp/multiworker', config=config)
    tf.estimator.train_and_evaluate(
        classifier,
        train_spec=tf.estimator.TrainSpec(input_fn=input_fn),
        eval_spec=tf.estimator.EvalSpec(input_fn=input_fn)
    )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...