Создайте и отредактируйте нейронные сети для глубокого обучения в интерактивном режиме с помощью приложения Deep Network Designer. Используя это приложение, вы можете:
Импортируйте и отредактируйте сети.
Создайте новые сети с нуля.
Перетащите мышью, чтобы добавить новые слои и создать новые связи.
Просмотрите и отредактируйте свойства слоя.
Сгенерируйте код MATLAB®.
Начиная с предварительно обученной сети и подстройки его с передачей, учащейся, обычно намного быстрее и легче, чем обучение новой сети с нуля. Для примера, показывающего, как использовать обучение с переносом для предварительно обученной сети, смотрите, что Передача Учится с Deep Network Designer.
Чтобы открыть Deep Network Designer, на вкладке Apps, под Machine Learning and Deep Learning, кликают по значку приложения. Также можно открыть приложение из командной строки:
deepNetworkDesigner
Если вы хотите изменить или скопировать существующую сеть, можно импортировать ее в приложение из рабочей области. Пытаться редактировать предварительно обученную сеть, введите:
net = googlenet;
Нажмите Import и выберите сеть, чтобы загрузить из рабочей области. Deep Network Designer отображает уменьшивший масштаб представление целой сети.
В приложении можно использовать любой из встроенных слоев, чтобы создать сеть. Кроме того, можно работать с пользовательскими слоями путем создания их в командной строке и затем импорта сети в приложение. Для списка доступных слоев и примеров пользовательских слоев, смотрите Список слоев глубокого обучения.
Соберите сети путем перетаскивания блоков от Layer Library и соединения их. Можно работать с блоками слоев за один раз. Выберите несколько слоев, затем копируют и вставляют или удаляют.
Чтобы просмотреть и отредактировать свойства слоя, выберите слой. Для получения информации обо всех свойствах слоя кликните по имени слоя в таблице на странице List of Deep Learning Layers.
Для советов при выборе подходящей сетевой архитектуры смотрите Советы Глубокого обучения и Приемы.
Создание блоков слоев, чтобы скопировать и соединить повторенные модули может быть полезным. Например, можно использовать блоки слоев, чтобы создать несколько копий групп свертки, пакетной нормализации и слоев ReLU. Можно добавить слои в конец предварительно обученных сетей, чтобы сделать их глубже. Также, если вы работаете с маленькими входными изображениями, можно отредактировать предварительно обученную сеть, чтобы упростить его. Например, можно создать более простую сеть путем удаления модулей слоев, таких как модули начала, от сети GoogLeNet.
Чтобы проверять сеть и исследовать слои более подробно, нажмите Analyze. Исследуйте проблемы и исследуйте свойства слоя, чтобы помочь вам решить несоответствия размера в сети. Возвратитесь к Deep Network Designer, чтобы отредактировать слои, затем проверять результаты путем нажатия на Analyze снова. Отредактированная сеть готова к обучению, если Нейронная сеть для глубокого обучения Анализатор сообщает о нулевых ошибках.
Чтобы экспортировать сеть в рабочую область, возвратитесь к Deep Network Designer и нажмите Export. Deep Network Designer экспортирует сеть в новую переменную, содержащую отредактированные сетевые слои. После экспорта можно предоставить переменную слоя к функции trainNetwork
.
Обучите сеть. В данном примере примите, что слои, экспортируемые из приложения, называют lgraph_1
, и что ваши изображения находятся в увеличенном datastore изображений под названием images
.
trainedNet = trainNetwork(images,lgraph_1,options)
Для получения информации об изменении размеров и обработке изображений, смотрите, Предварительно обрабатывают Изображения для Глубокого обучения.
Для скрипта в качестве примера, показывающего, как обучить сеть после редактирования его в приложении, смотрите, Обучат сеть Экспортируемые от Deep Network Designer.
Для примеров командной строки, показывающих, то, как установить опции обучения и оценить, обучило сеть точность, смотрите, Создают Простую сеть глубокого обучения для Классификации или Обучают Остаточную Сеть для Классификации Изображений.
Для примера, показывающего, как сгенерировать код MATLAB, который воссоздает сетевую архитектуру и возвращает ее как переменную в рабочей области, смотрите, Генерируют код MATLAB от Deep Network Designer.