поскольку моя модель поезда находится на нескольких графических процессорах, во время обучения я использую train.extend для проверки моей модели каждую эпоху, но chainer.training.extensions.Evaluator имеет только один аргумент устройства, но сетевой параметр моей модели находится на 2 графических процессорах. как проверить в этой ситуации?
Как использовать несколько графических процессоров в chainer.training.extensions.Evaluator?
Ответы (1)
Аргумент device
функции Evaluator
указывает, на какое устройство должны быть помещены входные данные. Он ничего не делает с параметрами модели.
Если вашей модели также нужны входные данные, загружаемые на несколько графических процессоров, Evaluator
не поддерживает такой случай напрямую, поэтому вам необходимо настроить его. Самый простой способ — настроить функцию пользовательского конвертера (которая отвечает за копирование данных на соответствующие устройства). Подробную информацию о converter
см. в документе Evaluator
. https://docs.chainer.org/en/stable/reference/generated/chainer.training.extensions.Evaluator.html
person
Seiya Tokui
schedule
14.09.2017
Вы имеете в виду, что параметр модели и данные могут быть на двух разных графических процессорах? тогда как они могут рассчитывать вместе в этой ситуации? (например, Wx + b, но W и x находятся на 2 разных графических процессорах)?
- person machen; 15.09.2017
Я не могу полностью понять это
- person machen; 15.09.2017
В этом случае вам нужно вручную отправить x на GPU, на котором существует W.
- person Seiya Tokui; 23.10.2017