Можно импортировать и визуализировать данные об обучении и валидации в Deep Network Designer. Используя это приложение вы можете:
Импортируйте объекты datastore для обучения. После импорта Deep Network Designer отображает предварительный просмотр данных. Для получения дополнительной информации смотрите, Импортируют Данные.
Импортируйте обучающие данные для проблем классификации изображений от ImageDatastore
возразите или папка, содержащая подпапки изображений в классе. Можно также выбрать встроенные опции, чтобы увеличить учебные изображения во время обучения. Для получения дополнительной информации смотрите Увеличение Изображений.
Импортируйте данные о валидации от объекта datastore. Для классификации изображений можно также выбрать данные о валидации из папки, содержащей подпапки изображений для каждого класса, или принять решение разделить данные о валидации из обучающих данных. Для получения дополнительной информации смотрите Данные о Валидации.
Для получения дополнительной информации о наборах данных можно использовать, чтобы начать с глубоким обучением, видеть Наборы данных для Глубокого обучения. Для получения дополнительной информации о построении и использовании объектов datastore для применения глубокого обучения, смотрите Хранилища данных для Глубокого обучения.
В Deep Network Designer можно импортировать данные о классификации изображений от datastore изображений или папки, содержащей подпапки изображений от каждого класса. Можно также импортировать и обучить любой объект datastore, который работает с trainNetwork
функция. Выберите метод импорта на основе типа datastore, который вы используете.
Импортируйте ImageDatastore Объект | Импортируйте любой другой объект Datastore (Не рекомендуемый для ImageDatastore ) |
---|---|
Выберите Import Data> Import Image Data.
| Выберите Import Data> Import Datastore.
|
После импорта Deep Network Designer обеспечивает предварительный просмотр импортированных данных так, чтобы можно было проверять, что данные как ожидалось до обучения. Для данных о классификации изображений Deep Network Designer также отображает гистограмму меток класса и случайный выбор изображений из импортированных данных. Можно также принять решение видеть, что случайные изображения принадлежат определенному классу.
Импортируйте данные задачей
Задача | Тип данных | Метод импорта данных | Визуализация в качестве примера |
---|---|---|---|
Отобразите классификацию | Папка с подпапками, содержащими изображения для каждого класса. Метки класса получены с подымен папок. Для примера смотрите Передачу обучения с Deep Network Designer. | Выберите Import Data> Import Image Data. Можно выбрать опции увеличения и задать данные о валидации с помощью диалогового окна Import Image Data. После импорта Deep Network Designer отображает гистограмму меток класса. Можно также видеть случайные наблюдения от каждого класса. |
|
Например, создайте datastore изображений, содержащий данные о цифрах. dataFolder = fullfile(toolboxdir('nnet'),'nndemos', ... 'nndatasets','DigitDataset'); imds = imageDatastore(dataFolder, ... 'IncludeSubfolders',true, ... 'LabelSource','foldernames'); | |||
Например, создайте увеличенный datastore изображений, содержащий данные о цифрах. dataFolder = fullfile(toolboxdir('nnet'),'nndemos', ... 'nndatasets','DigitDataset'); imds = imageDatastore(dataFolder, ... 'IncludeSubfolders',true, ... 'LabelSource','foldernames'); imageAugmenter = imageDataAugmenter( ... 'RandRotation',[1,2]); augimds = augmentedImageDatastore([28 28],imds, ... 'DataAugmentation',imageAugmenter); augimds = shuffle(augimds); | Выберите Import Data> Import Datastore. Можно задать данные о валидации в диалоговом окне Import Datastore. После импорта Deep Network Designer показывает предварительный просмотр первых пяти наблюдений в datastore. |
| |
Семантическая сегментация | Например, объедините dataFolder = fullfile(toolboxdir('vision'), ... 'visiondata','triangleImages'); imageDir = fullfile(dataFolder,'trainingImages'); labelDir = fullfile(dataFolder,'trainingLabels'); imds = imageDatastore(imageDir); classNames = ["triangle","background"]; labelIDs = [255 0]; pxds = pixelLabelDatastore(labelDir,classNames,labelIDs); cds = combine(imds,pxds); Можно также объединить pximds = pixelLabelImageDatastore(imds,pxds); | Выберите Import Data> Import Datastore. Можно задать данные о валидации в диалоговом окне Import Datastore. После импорта Deep Network Designer показывает предварительный просмотр первых пяти наблюдений в datastore. |
|
Регрессия от изображения к изображению | Например, объедините шумные входные изображения и нетронутые выходные изображения, чтобы создать данные, подходящие для регрессии от изображения к изображению. dataFolder = fullfile(toolboxdir('nnet'),'nndemos', ... 'nndatasets','DigitDataset'); imds = imageDatastore(dataFolder, ... 'IncludeSubfolders',true, .... 'LabelSource','foldernames'); imds = transform(imds,@(x) rescale(x)); imdsNoise = transform(imds,@(x) {imnoise(x,'Gaussian',0.2)}); cds = combine(imdsNoise,imds); cds = shuffle(cds); | Выберите Import Data> Import Datastore. Можно задать данные о валидации в диалоговом окне Import Datastore. После импорта Deep Network Designer показывает предварительный просмотр первых пяти наблюдений в datastore. |
|
Регрессия | Создайте данные, подходящие для того, чтобы обучить сети регрессии путем объединения объектов datastore массивов. [XTrain,~,YTrain] = digitTrain4DArrayData; ads = arrayDatastore(XTrain,'IterationDimension',4, ... 'OutputType','cell'); adsAngles = arrayDatastore(YTrain,'OutputType','cell'); cds = combine(ads,adsAngles); Для получения дополнительной информации об обучении сети регрессии, смотрите, Обучают Сверточную нейронную сеть Регрессии. | Выберите Import Data> Import Datastore. Можно задать данные о валидации в диалоговом окне Import Datastore. После импорта Deep Network Designer показывает предварительный просмотр первых пяти наблюдений в datastore. |
|
Последовательности и временные ряды | Для данных в оперативной памяти создайте данные, подходящие для обучения путем объединения объектов datastore массивов. [XTrain,YTrain] = japaneseVowelsTrainData;
XTrain = padsequences(XTrain,2);
adsXTrain = arrayDatastore(XTrain,'IterationDimension',3);
adsYTrain = arrayDatastore(YTrain);
cdsTrain = combine(adsXTrain,adsYTrain);
Для получения информации об обучении сети на данных временных рядов смотрите, Обучат сеть для Прогнозирования Временных рядов Используя Deep Network Designer. Для данных, которые не помещаются в память, используйте пользовательский объект datastore. Для примера, показывающего, как создать пользовательский datastore последовательности, смотрите, Обучат сеть Используя Пользовательский Мини-пакетный Datastore для Данных о Последовательности. | Выберите Import Data> Import Datastore. Можно задать данные о валидации в диалоговом окне Import Datastore. После импорта Deep Network Designer показывает предварительный просмотр первых пяти наблюдений в datastore. |
|
Другие расширенные рабочие процессы (такие как числовой вход функции, данные, которые не помещаются в память, обработка изображений, и аудио и речевая обработка) | Datastore Для других расширенных рабочих процессов используйте подходящий объект datastore. Например, пользовательский datastore, Например, создайте dataFolder = fullfile(toolboxdir('images'),'imdata'); imds = imageDatastore(dataFolder,'FileExtensions',{'.jpg'}); dnds = denoisingImageDatastore(imds,... 'PatchesPerImage',512,... 'PatchSize',50,... 'GaussianNoiseLevel',[0.01 0.1]); Для табличных данных массива необходимо преобразовать данные в подходящий datastore, чтобы обучить использование Deep Network Designer. Например, запустите путем преобразовывания таблицы в массивы, содержащие предикторы и ответы. Затем преобразуйте массивы в | Выберите Import Data> Import Datastore. Можно задать данные о валидации в диалоговом окне Import Datastore. После импорта Deep Network Designer показывает предварительный просмотр первых пяти наблюдений в datastore. |
|
Для проблем классификации изображений Deep Network Designer предоставляет простые возможности увеличения применяться к обучающим данным. Откройте диалоговое окно Import Image Data путем выбора Import Data> Import Image Data. Можно выбрать опции, чтобы применить случайную комбинацию отражения, вращения, перемасштабирования и операций перевода к обучающим данным.
Можно эффективно увеличить сумму обучающих данных путем применения рандомизированного увеличения к данным. Увеличение также позволяет вам обучить нейронные сети, чтобы быть инвариантными к искажениям в данных изображения. Например, можно добавить рандомизированные вращения, чтобы ввести изображения так, чтобы сеть была инвариантной к присутствию вращения во входных изображениях. Увеличение данных может также помочь препятствовать тому, чтобы сеть сверхсоответствовала и запомнила точные детали учебных изображений. Когда вы используете увеличение данных, одна случайным образом увеличенная версия каждого изображения используется в течение каждой эпохи обучения, где эпоха является всей передачей алгоритма настройки по целому обучающему набору данных. Поэтому каждая эпоха использует немного отличающийся набор данных, но фактическое количество учебных изображений в каждую эпоху не изменяется. Для получения дополнительной информации смотрите, Создают и Исследуют Datastore для Классификации Изображений.
Чтобы выполнить более общие и комплексные операции предварительной обработки изображений, чем предлагаемые Deep Network Designer, используйте TransformedDatastore
и CombinedDatastore
объекты. Импортировать CombinedDatastore
и TransformedDatastore
объекты, выберите Import Data> Import Datastore.
Для получения дополнительной информации об увеличении изображений смотрите, Предварительно обрабатывают Изображения для Глубокого обучения.
В Deep Network Designer можно импортировать данные о валидации, чтобы использовать во время обучения. Данные о валидации являются данными, которые сеть не использует, чтобы обновить веса и смещения во время обучения. Когда сеть непосредственно не использует эти данные, это полезно для оценки истинной точности сети во время обучения. Можно контролировать метрики валидации, такие как потеря и точность, чтобы оценить, если сеть сверхсоответствует или underfitting, и настройте опции обучения как требуется. Например, если потеря валидации намного выше, чем учебная потеря, то сетевая сила сверхсоответствовать.
Для получения дополнительной информации об улучшении точности нейронных сетей для глубокого обучения смотрите Советы Глубокого обучения и Приемы.
В Deep Network Designer можно импортировать данные о валидации:
От datastore в рабочей области.
От папки, содержащей подпапки изображений для каждого класса (отображают только данные о классификации).
Путем разделения фрагмента обучающих данных, чтобы использовать в качестве данных о валидации (отображают только данные о классификации).
При разделении данных о валидации из обучающих данных Deep Network Designer разделяет процент обучающих данных от каждого класса. Например, предположите, что вы имеете набор данных с двумя классами, кошкой и собакой, и принимаете решение использовать 30% обучающих данных для валидации. Deep Network Designer использует последние 30% изображений с меткой "кошка" и последние 30% с меткой "собака" как набор валидации.
Вместо того, чтобы использовать последние 30% обучающих данных как данные о валидации, можно принять решение случайным образом выделить наблюдения наборам обучения и валидации путем установки флажка Randomize в диалоговом окне Import Image Data. Рандомизация изображений может улучшить точность сетей, обученных на данных, хранимых в неслучайном порядке. Например, набор данных цифр состоит из 10 000 синтетических полутоновых изображений рукописных цифр. Этот набор данных имеет базовый порядок, в котором изображения с тем же стилем почерка появляются друг рядом с другом в каждом классе. Пример отображения следует.
Рандомизация гарантирует, что, когда вы разделяете данные, изображения переставляются так, чтобы наборы обучения и валидации содержали случайные изображения от каждого класса. Используя данные об обучении и валидации, которые состоят из подобного распределения изображений, может помочь предотвратить сверхподбор кривой. Не рандомизация данных гарантирует, что разделение данных об обучении и валидации является тем же каждым разом и может помочь улучшить воспроизводимость результатов. Для получения дополнительной информации смотрите splitEachLabel
.
Deep Network Designer | TransformedDatastore
| CombinedDatastore
| imageDatastore
| augmentedImageDatastore
| splitEachLabel