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

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

В этом примере вы:

  • Импорт данных.

  • Определите сетевую архитектуру.

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

  • Обучите сеть.

Загрузка данных

Загрузите цифру выборочных данных как изображение datastore. The 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

Чтобы создать пустую сеть, сделайте паузу в пустой сети и нажмите кнопку Создать.

Чтобы импортировать image datastore, выберите вкладку Data и нажмите Import Data > Import Image Data. Выберите imds как источник данных. Выделите 30% обучающих данных для использования в качестве данных валидации. Случайным образом распределите наблюдения в наборы обучения и валидации путем выбора Randomize.

Импортировать данные можно нажав кнопку Импорт.

Определение сетевой архитектуры

На панели Designer задайте архитектуру сверточной нейронной сети. Перетащите слои из библиотеки слоев и соедините их. Для быстрого поиска слоев используйте поле поиска «Фильтрация слоев» на панели «Библиотека слоев». Чтобы отредактировать свойства слоя, щелкните слой и отредактируйте значения на панели свойств.

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

  1. imageInputLayer с InputSize значение свойства установлено в 28,28,1

  2. convolution2dLayer

  3. batchNormalizationLayer

  4. reluLayer

  5. fullyConnectedLayer с OutputSize значение свойства установлено в 10

  6. softmaxLayer

  7. classificationLayer

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

Обучите сеть

Укажите опции обучения и обучите сеть.

На вкладке Обучение нажмите Опции обучения. В данном примере установите максимальное количество эпох равным 5 и сохраните другие настройки по умолчанию. Установите опции обучения нажав кнопку Закрыть. Для получения дополнительной информации об опциях обучения см. Раздел «Настройка параметров» и «Train сверточной нейронной сети».

Обучите сеть, нажав Train.

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

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

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

См. также

|

Похожие темы