В этом примере показано, как создать и обучить простую сверточную нейронную сеть классификации глубокого обучения с помощью Deep Network Designer. Сверточные нейронные сети являются особыми инструментами для глубокого обучения и особенно подходят для распознавания изображений.
В этом примере, вас:
Импортируйте данные изображения.
Определить сетевую архитектуру.
Задайте опции обучения.
Обучите сеть.
Загрузите выборочные данные цифры как datastore изображений. imageDatastore
функционируйте автоматически помечает изображения на основе имен папок. Набор данных имеет 10 классов, и каждое изображение в наборе данных 28 28 на 1 пиксель.
digitDatasetPath = fullfile(matlabroot,'toolbox','nnet','nndemos', ... 'nndatasets','DigitDataset'); imds = imageDatastore(digitDatasetPath, ... 'IncludeSubfolders',true, ... 'LabelSource','foldernames');
Открытый Deep Network Designer. Создайте сеть, импортируйте и визуализируйте данные и обучите сеть с помощью Deep Network Designer.
deepNetworkDesigner
Чтобы создать пустую сеть, сделайте паузу в Пустой Сети и нажмите New.
Чтобы импортировать datastore изображений, выберите вкладку Data и нажмите Import Data> Import Image Data. Выберите imds
как источник данных. Отложите 30% обучающих данных, чтобы использовать в качестве данных о валидации. Случайным образом выделите наблюдения наборам обучения и валидации путем выбора Randomize.
Импортируйте данные путем нажатия на Import.
В панели Разработчика задайте архитектуру сверточной нейронной сети. Перетащите слои из Библиотеки Слоя и соедините их. Чтобы быстро искать слои, используйте поле поиска слоев Filter в панели Библиотеки Слоя. Чтобы отредактировать свойства слоя, кликните по слою и отредактируйте значения в панели Свойств.
Соедините слои в этом порядке:
imageInputLayer
с InputSize
набор свойств к 28,28,1
convolution2dLayer
batchNormalizationLayer
reluLayer
fullyConnectedLayer
с OutputSize
набор свойств к 10
softmaxLayer
classificationLayer
Для получения дополнительной информации о слоях глубокого обучения, смотрите Список слоев глубокого обучения.
Задайте опции обучения и обучите сеть.
На вкладке Training нажмите Training Options. В данном примере определите максимальный номер эпох к 5 и сохраните другие настройки по умолчанию. Установите опции обучения путем нажатия на Close. Для получения дополнительной информации об опциях обучения, смотрите Настроенные Параметры и Обучите Сверточную нейронную сеть.
Обучите сеть путем нажатия на Train.
Точность является частью меток, которые сеть предсказывает правильно. В этом случае больше чем 97% предсказанных меток совпадают с истинными метками набора валидации.
Чтобы экспортировать обучивший сеть в рабочую область, на вкладке Training, нажимают Export.
Для следующих шагов в глубоком обучении можно попытаться использовать предварительно обученные сети для других задач. Решите новые задачи классификации на своих данных изображения с передачей обучения. Например, смотрите Начало работы с Передачей обучения. Чтобы узнать больше о предварительно обученных сетях, смотрите Предварительно обученные Глубокие нейронные сети.
Deep Network Designer | trainingOptions