Используйте Experiment Manager, чтобы обучить нейронные сети параллельно

По умолчанию Experiment Manager запускает один суд над вашим экспериментом за один раз на одном центральном процессоре. Если у вас есть Parallel Computing Toolbox™, можно сконфигурировать эксперимент, чтобы запустить несколько испытаний одновременно или запустить один суд за один раз по нескольким графическим процессорам в кластере, или в облаке.

Учебный сценарийРекомендация
Запустите несколько испытаний одновременно с помощью одного параллельного рабочего для каждого испытания.

Настройте свою параллельную среду и включите опцию Use Parallel прежде, чем запустить ваш эксперимент. Запуски Experiment Manager столько же одновременных испытаний сколько существуют рабочие в вашем параллельном пуле.

Если вы имеете несколько графических процессоров, находите что-либо подобное выполнению, обычно увеличивает скорость вашего эксперимента. Однако, если у вас есть один графический процессор, все рабочие совместно используют тот графический процессор, таким образом, вы не получаете учебное ускорение, и вы увеличиваете возможности графического процессора, исчерпывающего память.

Запустите один суд за один раз по нескольким параллельным рабочим.

Встроенные учебные эксперименты:

Пользовательские учебные эксперименты:

  • В функции обучения эксперименту, настроенной ваша параллельная среда и использование spmd блокируйтесь, чтобы задать пользовательский параллельный учебный цикл. Для получения дополнительной информации смотрите, Обучат сеть параллельно с Пользовательским Учебным Циклом.

  • Отключите опцию Use Parallel прежде, чем запустить ваш эксперимент.

Совет

Чтобы запустить эксперимент в параллельном MATLAB Online использования, у вас должен быть доступ к кластеру Центра Облака. Для получения дополнительной информации смотрите Использование Parallel Computing Toolbox с Кластером Центра Облака в MATLAB Online (Parallel Computing Toolbox).

Настройте параллельную среду

Обучайтесь на нескольких графических процессорах

Если вы имеете несколько графических процессоров, находите что-либо подобное выполнению, обычно увеличивает скорость вашего эксперимента. Используя графический процессор для глубокого обучения требует Parallel Computing Toolbox и поддерживаемого устройства графического процессора. Для получения дополнительной информации смотрите Поддержку графического процессора Релизом (Parallel Computing Toolbox).

  • Для встроенных учебных экспериментов поддержка графического процессора является автоматической. По умолчанию эти эксперименты используют графический процессор, если вы доступны.

  • Для пользовательских учебных экспериментов расчеты происходят на центральном процессоре по умолчанию. Чтобы обучаться на графическом процессоре, преобразуйте свои данные в gpuArray объекты. Чтобы определить, доступен ли применимый графический процессор, вызовите canUseGPU функция.

Для лучших результатов, прежде чем вы запустите свой эксперимент, создают параллельный пул со столькими же рабочих сколько графические процессоры. Можно проверять количество доступных графических процессоров при помощи gpuDeviceCount (Parallel Computing Toolbox) функция.

numGPUs = gpuDeviceCount("available");
parpool(numGPUs)

Обучайтесь в кластере или в облаке

Если ваши эксперименты занимают много времени, чтобы работать на вашей локальной машине, можно ускорить обучение при помощи компьютерного кластера в локальной сети или путем аренды высокоэффективных графических процессоров в облаке. После того, как вы завершите начальную настройку, можно запустить эксперименты с минимальными изменениями в коде. Работа над кластером или в облаке требует MATLAB® Parallel Server™. Для получения дополнительной информации смотрите Глубокое обучение в Облаке.

Запустите несколько испытаний параллельно

Чтобы запустить несколько испытаний вашего эксперимента параллельно, на панели инструментов Experiment Manager, нажимают Use Parallel и затем Run . Если нет никакого текущего параллельного пула, Experiment Manager запускает тот с помощью кластерного профиля по умолчанию.

Запуски Experiment Manager столько же одновременных испытаний сколько существуют рабочие в вашем параллельном пуле. Все другие испытания в вашем эксперименте ставятся в очередь для более поздней оценки. Таблица результатов показывает состояние и прогресс каждого испытания.

Results table for experiment running in parallel.

В то время как эксперимент запускается, можно отследить его прогресс путем отображения учебного графика для каждого испытания. Можно также остановить испытания, которые, кажется, показывают низкие результаты. Для получения дополнительной информации смотрите Обучение Остановке и Перезапуску.

Примечание

Experiment Manager не поддерживает выполнение нескольких испытаний параллельно, когда вы устанавливаете опцию обучения ExecutionEnvironment к "multi-gpu" или "parallel" или когда вы включаете опции обучения DispatchInBackground. Используйте эти опции, чтобы ускорить ваше обучение, только если вы намереваетесь запустить один суд над вашим экспериментом за один раз. Для получения дополнительной информации смотрите, Увеличивают Глубокое обучение параллельно, на графических процессорах, и в Datastore Облака и Использования для Параллельной Диспетчеризации Обучения и Фона.

Смотрите также

Приложения

Функции

Объекты

Похожие темы