Всегда ли tf.estimator.Estimator.evaluate () работает на одном графическом процессоре? - PullRequest
0 голосов
/ 30 августа 2018

У меня сложилось впечатление, что при вызове evaluate() в экземпляре tf.estimator.Estimator не запускается модель на нескольких графических процессорах, даже если стратегия распределения MirroredStrategy, настроенная на использование как минимум 2 графических процессоров .

Вот примерный скрипт, который предлагает такое поведение: https://gist.github.com/patzm/b69fcdf33fc9062683d749d0ea936b5e

Вот скриншот nvidia-smi, показывающий это поведение: Exemplary screenshot of nvidia-smi

Если evaluate() должен работать, если используется, как указано выше, на нескольких графических процессорах, пожалуйста, выделите мои ошибки в своем ответе.

1 Ответ

0 голосов
/ 23 января 2019

В вашем RunConfig также установите стратегию на eval_distribute, подробнее см. this

run_config = tf.estimator.RunConfig(
    model_dir=tf.test.get_temp_dir(),
    session_config=tf.ConfigProto(allow_soft_placement=True),
    train_distribute=distribution_strategy,
    eval_distribute=distribution_strategy
)
...