Отобразите входной слой
Изображение ввело входные параметры слоя 2D изображения к сети, и применяет нормализацию данных.
Для 3-D входа изображений используйте image3dInputLayer.
возвращает входной слой изображений и задает layer = imageInputLayer(inputSize)InputSize свойство.
InputSize — Размер входаРазмер входных данных в виде вектора-строки из целых чисел [h w c], где hW, и c соответствуйте высоте, ширине и количеству каналов соответственно.
Для полутоновых изображений задайте вектор с c равняйтесь 1.
Для изображений RGB задайте вектор с c равняйтесь 3.
Для многоспектральных или гиперспектральных изображений задайте вектор с c равняйтесь количеству каналов.
Для 3-D изображения или входа объема, используйте image3dInputLayer.
Пример:
[224 224 3]
Normalization — Нормализация данных'zerocenter' (значение по умолчанию) | 'zscore' | 'rescale-symmetric' | 'rescale-zero-one' | 'none' | указатель на функциюНормализация данных, чтобы применить каждый раз данные вперед распространена через входной слой в виде одного из следующего:
'zerocenter' — Вычтите среднее значение, заданное Mean.
'zscore' — Вычтите среднее значение, заданное Mean и разделитесь на StandardDeviation.
'rescale-symmetric' — Перемасштабируйте вход, чтобы быть в области значений [-1, 1] использование минимальных и максимальных значений, заданных Min и Max, соответственно.
'rescale-zero-one' — Перемасштабируйте вход, чтобы быть в области значений [0, 1] использование минимальных и максимальных значений, заданных Min и Max, соответственно.
'none' — Не нормируйте входные данные.
указатель на функцию — Нормирует данные с помощью заданной функции. Функция должна иметь форму Y = func(X), где X входные данные и выход Y нормированные данные.
Программное обеспечение, по умолчанию, автоматически вычисляет статистику нормализации в учебное время. Чтобы сэкономить время когда обучение, задайте необходимую статистику для нормализации и установите 'ResetInputNormalization' опция в trainingOptions к false.
NormalizationDimension — Размерность нормализации'auto' (значение по умолчанию) | 'channel' | 'element' | 'all'Размерность нормализации в виде одного из следующего:
'auto' – Если опцией обучения является false и вы задаете любые из статистических данных нормализации (MeanСтандартное отклонениеmin, или Max), затем нормируйте по размерностям, совпадающим со статистикой. В противном случае повторно вычислите статистику в учебное время и примените мудрую каналом нормализацию.
'channel' – Мудрая каналом нормализация.
'element' – Поэлементная нормализация.
'all' – Нормируйте все значения с помощью скалярной статистики.
Mean — Среднее значение для нулевого центра и нормализации z-счета[] (значение по умолчанию) | трехмерный массив | числовой скалярСреднее значение для нулевого центра и нормализации z-счета в виде h-by-w-by-c массив, 1 1 c массивом средних значений на канал, числовой скаляр или [], где h, w и c соответствуют высоте, ширине и количеству каналов среднего значения, соответственно.
Если вы задаете Mean свойство, затем Normalization должен быть 'zerocenter' или 'zscore'. Если Mean [], затем программное обеспечение вычисляет среднее значение в учебное время.
Можно установить это свойство при создании сетей без обучения (например, при сборке сетей с помощью assembleNetwork).
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
StandardDeviation — Стандартное отклонение для нормализации z-счета[] (значение по умолчанию) | трехмерный массив | числовой скалярСтандартное отклонение для нормализации z-счета в виде h-by-w-by-c массив, 1 1 c массивом средних значений на канал, числовой скаляр или [], где h, w и c соответствуют высоте, ширине и количеству каналов стандартного отклонения, соответственно.
Если вы задаете StandardDeviation свойство, затем Normalization должен быть 'zscore'. Если StandardDeviation [], затем программное обеспечение вычисляет стандартное отклонение в учебное время.
Можно установить это свойство при создании сетей без обучения (например, при сборке сетей с помощью assembleNetwork).
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
Min — Минимальное значение для того, чтобы перемасштабировать[] (значение по умолчанию) | трехмерный массив | числовой скалярМинимальное значение для того, чтобы перемасштабировать в виде h-by-w-by-c массив, 1 1 c массивом минимумов на канал, числовой скаляр или [], где h, w и c соответствуют высоте, ширине и количеству каналов минимумов, соответственно.
Если вы задаете Min свойство, затем Normalization должен быть 'rescale-symmetric' или 'rescale-zero-one'. Если Min [], затем программное обеспечение вычисляет минимум в учебное время.
Можно установить это свойство при создании сетей без обучения (например, при сборке сетей с помощью assembleNetwork).
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
Max — Максимальное значение для того, чтобы перемасштабировать[] (значение по умолчанию) | трехмерный массив | числовой скалярМаксимальное значение для того, чтобы перемасштабировать в виде h-by-w-by-c массив, 1 1 c массивом максимумов на канал, числовой скаляр или [], где h, w и c соответствуют высоте, ширине и количеству каналов максимумов, соответственно.
Если вы задаете Max свойство, затем Normalization должен быть 'rescale-symmetric' или 'rescale-zero-one'. Если Max [], затем программное обеспечение вычисляет максимум в учебное время.
Можно установить это свойство при создании сетей без обучения (например, при сборке сетей с помощью assembleNetwork).
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
DataAugmentation — Увеличение данных преобразовывает'none' (значение по умолчанию) | 'randcrop' | 'randfliplr' | массив ячеек 'randcrop' и 'randfliplr'DataAugmentation свойство не рекомендуется. Чтобы предварительно обработать изображения с обрезкой, отражение и другие геометрические преобразования, используют augmentedImageDatastore вместо этого.
Увеличение данных преобразовывает, чтобы использовать во время обучения в виде одного из следующих.
'none' — Никакое увеличение данных
'randcrop' — Возьмите случайную обрезку из учебного изображения. Случайная обрезка имеет тот же размер как входной размер.
'randfliplr' — Случайным образом инвертируйте входные изображения горизонтально с 50%-м шансом.
Массив ячеек 'randcrop' и 'randfliplr'. Программное обеспечение применяет увеличение в порядке, заданном в массиве ячеек.
Увеличение данных изображения является другим способом уменьшать сверхподбор кривой [1], [2].
Типы данных: string | char | cell
Name — Имя слоя'' (значение по умолчанию) | вектор символов | строковый скаляр
Имя слоя в виде вектора символов или строкового скаляра. Чтобы включать слой в график слоев, необходимо задать непустое уникальное имя слоя. Если вы обучаете серийную сеть со слоем и Name установлен в '', затем программное обеспечение автоматически присваивает имя к слою в учебное время.
Типы данных: char | string
NumInputs — Количество входных параметровКоличество входных параметров слоя. Слой не имеет никаких входных параметров.
Типы данных: double
InputNames — Введите имена{} (значение по умолчанию)Введите имена слоя. Слой не имеет никаких входных параметров.
Типы данных: cell
NumOutputs — Количество выходных параметровКоличество выходных параметров слоя. Этот слой имеет один выход только.
Типы данных: double
OutputNames — Выведите имена{'out'} (значение по умолчанию)Выведите имена слоя. Этот слой имеет один выход только.
Типы данных: cell
Создайте входной слой изображений для 28 28 цветных изображений с именем 'input'. По умолчанию слой выполняет нормализацию данных путем вычитания среднего изображения набора обучающих данных от каждого входного изображения.
inputlayer = imageInputLayer([28 28 3],'Name','input')
inputlayer =
ImageInputLayer with properties:
Name: 'input'
InputSize: [28 28 3]
Hyperparameters
DataAugmentation: 'none'
Normalization: 'zerocenter'
NormalizationDimension: 'auto'
Mean: []
Включайте входной слой изображений в Layer массив.
layers = [ ... imageInputLayer([28 28 1]) convolution2dLayer(5,20) reluLayer maxPooling2dLayer(2,'Stride',2) fullyConnectedLayer(10) softmaxLayer classificationLayer]
layers =
7x1 Layer array with layers:
1 '' Image Input 28x28x1 images with 'zerocenter' normalization
2 '' Convolution 20 5x5 convolutions with stride [1 1] and padding [0 0 0 0]
3 '' ReLU ReLU
4 '' Max Pooling 2x2 max pooling with stride [2 2] and padding [0 0 0 0]
5 '' Fully Connected 10 fully connected layer
6 '' Softmax softmax
7 '' Classification Output crossentropyex
AverageImage свойство будет удаленоНе рекомендуемый запуск в R2019b
AverageImage будет удален. Используйте Mean вместо этого. Чтобы обновить ваш код, замените все экземпляры AverageImage с Mean. Нет никаких различий между свойствами, которые требуют дополнительных обновлений вашего кода.
imageInputLayer и image3dInputLayer, по умолчанию используйте мудрую каналом нормализациюИзменение поведения в будущем релизе
Начиная в R2019b, imageInputLayer и image3dInputLayer, по умолчанию используйте мудрую каналом нормализацию. В предыдущих версиях эти слои используют поэлементную нормализацию. Чтобы воспроизвести это поведение, установите NormalizationDimension опция этих слоев к 'element'.
[1] Krizhevsky, A. i. Sutskever и Г. Э. Хинтон. "Классификация ImageNet с глубокими сверточными нейронными сетями". Усовершенствования в нейронных системах обработки информации. Vol 25, 2012.
[2] Cireşan, D., У. Мейер, Дж. Шмидхубер. "Многостолбцовые глубокие нейронные сети для классификации изображений". Конференция по IEEE по компьютерному зрению и распознаванию образов, 2012.
Deep Network Designer | augmentedImageDatastore | convolution2dLayer | fullyConnectedLayer | image3dInputLayer | maxPooling2dLayer | trainNetwork
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.