В этом примере показано, как использовать Experiment Manager, чтобы настроить гиперпараметры сети, обученной в Deep Network Designer.
Можно использовать Deep Network Designer, чтобы создать сеть, импортировать данные и обучить сеть. Можно затем использовать Experiment Manager, чтобы развернуться через область значений гиперзначений параметров, чтобы найти оптимальные опции обучения.
Чтобы сгенерировать live скрипт, чтобы воссоздать создание и обучение сети, вы создаете в Deep Network Designer, на вкладке Training, выбираете Export> Generate Code for Training. Выберите расположение файла MAT и нажмите ОК. Для примера, показывающего, как обучить сеть классификации в Deep Network Designer, смотрите, Создают Простую Сеть Классификации Изображений Используя Deep Network Designer.
Deep Network Designer создает live скрипт и файл MAT, содержащий начальные параметры (веса и смещения) от вашей сети. Если вы импортируете данные из рабочей области в Deep Network Designer, то сгенерированный файл MAT содержит данные также.
Выполнение сгенерированного скрипта создает сеть (включая настраиваемые параметры из файла MAT), импортирует данные, устанавливает опции обучения и обучает сеть.
Experiment Manager позволяет вам создать эксперименты глубокого обучения, чтобы обучить нейронные сети под различными начальными условиями и сравнить результаты. Можно использовать Experiment Manager, чтобы настроить сеть, которую вы первоначально обучаете в Deep Network Designer.
Открытый Experiment Manager.
experimentManager
Сделайте паузу на Проекте и нажмите Create. Experiment Manager обеспечивает несколько шаблонов, которые поддерживают много рабочих процессов глубокого обучения, включая классификацию изображений, отображают регрессию, классификацию последовательностей, семантическую сегментацию и пользовательские учебные циклы.
Сделайте паузу на Встроенном Обучении и нажмите ADD.
Задайте название и местоположение для нового проекта и нажмите Save. Experiment Manager открывает новый эксперимент в проекте. Панель Эксперимента отображает описание, гиперпараметры, функцию настройки и метрики, которые задают эксперимент.
В гипертаблице параметров задайте значения гиперпараметров, чтобы использовать в эксперименте. Когда вы запускаете эксперимент, Experiment Manager обучает сеть с помощью каждой комбинации гиперзначений параметров, заданных в таблице. В данном примере развернитесь по начальной скорости обучения.
Под Гиперпараметрами нажмите Add, чтобы добавить новый гиперпараметр, чтобы развернуться.
Добавьте гиперпараметр myInitialLearnRate
. Установите гиперпараметр развертывать последовательность значений 0.001:0.002:0.015
.
Когда вы создаете эксперимент, Experiment Manager создает шаблон функции настройки. Чтобы отредактировать эту функцию, под Функцией Setup, нажимают Edit.
Пустая настройка функционирует Experiment1_setup1
открывается в редакторе MATLAB. Experiment Manager использует выходные параметры этой функции, чтобы вызвать trainNetwork
функция.
Функция настройки состоит в том, где вы задаете обучающие данные, сетевую архитектуру и опции обучения для эксперимента.
Скопируйте и вставьте live скрипт, сгенерированный Deep Network Designer в функции настройки.
Адаптируйте скрипт к использованию в Experiment Manager путем изменения входных аргументов функции, чтобы совпадать с именами переменных в сгенерированном скрипте. Входные параметры к Experiment1_setup1
должен совпадать с теми сгенерированное использование скрипта в вызове trainNetwork
.
В скрипте, сгенерированном Deep Network Designer, найдите имена переменных данных, сети и опций обучения в нижней части сгенерированного live скрипта в вызове trainNetwork
. Измените входные аргументы функции настройки, чтобы соответствовать. Например, если ваш сгенерированный live скрипт вызывает trainNetwork
с данными imdsTrain
, сеть lgraph
, и опции обучения opts
, затем необходимо внести следующие изменения во входных аргументах функции настройки эксперимента:
Измените trainingData
к imdsTrain
.
Измените layers
к lgraph
.
Измените options
к opts
.
Можно проверять, чтобы видеть, нужно ли для входных параметров изменение путем поиска желтого подчеркивания во входных аргументах функции настройки.
Измените опции обучения так, чтобы Experiment Manager провел развертку гиперпараметра скорости обучения.
Установите начальную скорость обучения на params.myInitialLearnRate
.
Опционально, скройте выходную информацию путем добавления дополнительного аргумента "Verbose",false
значения имени.
trainNetwork
Experiment Manager использует выходные параметры функции настройки, чтобы вызвать trainNetwork
функция. Удалите вызов trainNetwork
от скопированного и вставленного сгенерированного кода.
Функция настройки теперь готова. Нажмите Save, чтобы сохранить вашу отредактированную функцию настройки.
В Experiment Manager, запуск эксперимент путем нажатия на Run. Когда вы запускаете эксперимент, Experiment Manager обучает сеть, заданную функцией настройки. Каждое испытание использует одну из скоростей обучения, заданных в гипертаблице параметров.
В то время как эксперимент запускается, нажмите Training Plot, чтобы отобразить учебный график и отследить прогресс каждого испытания.
Таблица результатов показывает точность и потерю для каждого испытания. Когда эксперимент заканчивается, можно отсортировать испытания по метрикам точности или потери, чтобы видеть, какое испытание выполняет лучшее. В этом эксперименте Испытание 6, с начальной скоростью обучения 0,0110, имеет самую высокую точность валидации.
Чтобы закрыть эксперимент, в панели Браузера Эксперимента, щелкают правой кнопкой по имени проекта и выбирают Close Project. Experiment Manager закрывает все эксперименты и результаты, содержавшиеся в проекте.
Deep Network Designer | Experiment Manager | trainingOptions
| trainNetwork