Адаптируйте код, сгенерированный в Deep Network Designer, для использования в Experiment Manager

В этом примере показов, как использовать Experiment Manager для настройки гиперпараметров сети, обученной в Deep Network Designer.

Можно использовать Deep Network Designer, чтобы создать сеть, импортировать данные и обучить сеть. Затем можно использовать Experiment Manager, чтобы просмотреть область значений значений гиперзначений параметров, чтобы найти оптимальные опции обучения.

Сгенерируйте скрипт обучения

Чтобы сгенерировать live скрипт для воссоздания создания и обучения сети, созданной в Deep Network Designer, на вкладке Обучение выберите Экспорт > Сгенерировать код для обучения. Выберите расположение файла MAT и нажмите кнопку OK. Пример, показывающий, как обучить классификационную сеть в Deep Network Designer, см. в разделе Создание Простой сети классификации изображений с помощью Deep Network Designer.

Deep Network Designer создает live скрипт и MAT файла, содержащий начальные параметры (веса и смещения) от вашей сети. Если вы импортируете данные из рабочей области в Deep Network Designer, то сгенерированный файл MAT также содержит данные.

Выполнение сгенерированного скрипта создает сеть (включая настраиваемые параметры из файла MAT), импортирует данные, устанавливает опции обучения и обучает сеть.

Откройте Experiment Manager

Experiment Manager позволяет вам создать эксперименты по глубокому обучению для обучения сетей при различных начальных условиях и сравнения результатов. Можно использовать Experiment Manager для настройки сети, которую вы первоначально обучили в Deep Network Designer.

Откройте Experiment Manager.

experimentManager

Пауза в Project и нажмите Create. Experiment Manager предоставляет несколько шаблонов, которые поддерживают многие рабочие процессы глубокого обучения, включая классификацию изображений, регрессию изображений, классификацию последовательностей, семантическую сегментацию и пользовательские циклы обучения.

Приостановите встроенное обучение и нажмите ADD.

Укажите имя и местоположение нового проекта и нажмите кнопку «Сохранить». Experiment Manager открывает новый эксперимент в проекте. На панели Эксперимент (Experiment) отображаются описание, гиперпараметры, функция настройки и метрики, которые определяют эксперимент.

Добавление гиперпараметров

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

В разделе «Гиперпараметров» нажмите «Добавить», чтобы добавить новый гиперпараметр для сдвига.

Добавьте гиперпараметр myInitialLearnRate. Установите гиперпараметр, чтобы протянуть последовательность значений 0.001:0.002:0.015.

Создайте функцию Setup, используя сгенерированный скрипт

Когда вы создаете эксперимент, Experiment Manager создает шаблон функции настройки. Чтобы отредактировать эту функцию, в разделе Setup Function нажатия кнопки Edit.

Пустая функция настройки Experiment1_setup1 откроется в редакторе MATLAB. Experiment Manager использует выходы этой функции, чтобы вызвать trainNetwork функция.

Функция настройки находится там, где вы задаете обучающие данные, сетевую архитектуру и опции обучения для эксперимента.

Скопируйте и вставьте live скрипт, сгенерированный Deep Network Designer, внутрь функции настройки.

Адаптируйте входные аргументы функции Setup

Адаптируйте скрипт для использования в Experiment Manager путем изменения входных аргументов функции так, чтобы они совпадали с именами переменных в сгенерированном скрипте. Входные параметры в Experiment1_setup1 должен совпадать с теми, которые использует сгенерированный скрипт в вызове trainNetwork.

В скрипте, сгенерированном Deep Network Designer, найдите имена переменных данных, сети и опции обучения в нижней части сгенерированного live скрипта в вызове to trainNetwork. Измените входные аргументы функции настройки так, чтобы они совпадали. Для примера, если ваш сгенерированный live скрипт вызывает trainNetwork с данными imdsTrain, сетевые lgraph, и опции обучения opts, затем необходимо внести следующие изменения во входные аргументы функции настройки эксперимента:

  • Изменение trainingData на imdsTrain.

  • Изменение layers на lgraph.

  • Изменение options на opts.

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

Адаптация опций обучения

Измените опции обучения так, чтобы Experiment Manager провел гиперпараметр свип скорости обучения.

  • Установите начальную скорость обучения равным params.myInitialLearnRate.

  • Опционально скрыть выходные данные путем добавления дополнительного аргумента имя-значение "Verbose",false.

Удалите вызов trainNetwork

Experiment Manager использует выходы функции настройки, чтобы вызвать trainNetwork функция. Удалите вызов, чтобы trainNetwork из скопированного и вставленного сгенерированного кода.

Теперь функция настройки готова. Нажмите кнопку Сохранить, чтобы сохранить отредактированную функцию настройки.

Запуск эксперимента

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

Во время выполнения эксперимента нажмите Training Plot, чтобы отобразить график обучения и отследить прогресс в каждом испытании.

Таблица результатов отображает точность и потери для каждого пробного периода. Когда эксперимент заканчивается, можно отсортировать испытания по метрикам точности или потерь, чтобы увидеть, какое испытание работает лучше всего. В этом эксперименте Испытание 6 с начальной скоростью обучения 0,0110 имеет самую высокую точность валидации.

Чтобы закрыть эксперимент, на панели «Браузер экспериментов» щелкните правой кнопкой мыши имя проекта и выберите «Закрыть проект». Experiment Manager закрывает все эксперименты и результаты, содержащиеся в проекте.

См. также

| | |

Похожие темы