Создайте простую сеть классификации изображений Используя Deep Network Designer

В этом примере показано, как создать и обучить простую сверточную нейронную сеть классификации глубокого обучения с помощью 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.

Архитектура сети Define

В панели Разработчика задайте архитектуру сверточной нейронной сети. Перетащите слои из Библиотеки Слоя и соедините их. Чтобы быстро искать слои, используйте поле поиска слоев Filter в панели Библиотеки Слоя. Чтобы отредактировать свойства слоя, кликните по слою и отредактируйте значения в панели Свойств.

Соедините слои в этом порядке:

  1. imageInputLayer с InputSize набор свойств к 28,28,1

  2. convolution2dLayer

  3. batchNormalizationLayer

  4. reluLayer

  5. fullyConnectedLayer с OutputSize набор свойств к 10

  6. softmaxLayer

  7. classificationLayer

Для получения дополнительной информации о слоях глубокого обучения, смотрите Список слоев глубокого обучения.

Обучение сети

Задайте опции обучения и обучите сеть.

На вкладке Training нажмите Training Options. В данном примере определите максимальный номер эпох к 5 и сохраните другие настройки по умолчанию. Установите опции обучения путем нажатия на Close. Для получения дополнительной информации об опциях обучения, смотрите Настроенные Параметры и Обучите Сверточную нейронную сеть.

Обучите сеть путем нажатия на Train.

Точность является частью меток, которые сеть предсказывает правильно. В этом случае больше чем 97% предсказанных меток совпадают с истинными метками набора валидации.

Чтобы экспортировать обучивший сеть в рабочую область, на вкладке Training, нажимают Export.

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

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

|

Похожие темы