3-D средний слой объединения
3-D средний слой объединения выполняет субдискретизацию путем деления 3D входа на кубовидные области объединения и вычисление средних значений каждой области.
создает средний слой объединения и устанавливает layer
= averagePooling3dLayer(poolSize
)PoolSize
свойство.
устанавливает дополнительный layer
= averagePooling3dLayer(poolSize
,Name,Value
)Stride
и Name
свойства с помощью пар "имя-значение". Чтобы задать входное дополнение, используйте 'Padding'
аргумент пары "имя-значение". Например, averagePooling3dLayer(2,'Stride',2)
создает 3-D средний слой объединения с размером пула [2 2 2]
и шаг [2 2 2]
. Можно задать несколько пар "имя-значение". Заключите каждое имя свойства в одинарные кавычки.
Используйте разделенные от запятой аргументы пары "имя-значение", чтобы задать размер нулевого дополнения, чтобы добавить вдоль ребер входа слоя или установить Stride
и Name
свойства. Заключите имена в одинарные кавычки.
averagePooling3dLayer(2,'Stride',2)
создает 3-D средний слой объединения с размером пула [2 2 2]
и шаг [2 2 2]
.'Padding'
— Введите дополнение ребра
(значение по умолчанию) | массив неотрицательных целых чисел | 'same'
Введите дополнение ребра, заданное как разделенная запятой пара, состоящая из 'Padding'
и одно из этих значений:
'same'
— Добавьте дополнение размера, вычисленного программным обеспечением при обучении или время прогноза так, чтобы выход имел тот же размер как вход, когда шаг равняется 1. Если шаг больше, чем 1, то выходным размером является ceil(inputSize/stride)
, где inputSize
высота, ширина или глубина входа и stride
шаг в соответствующей размерности. Программное обеспечение добавляет тот же объем дополнения к верху и низу, налево и праву, и к передней и задней части, если это возможно. Если дополнение в данной размерности имеет нечетное значение, то программное обеспечение добавляет дополнительное дополнение во вход как постдополнение. Другими словами, программное обеспечение добавляет дополнительное вертикальное дополнение в нижнюю часть, дополнительное горизонтальное дополнение направо и дополнительное дополнение глубины к задней части входа.
Неотрицательный целочисленный p
— Добавьте дополнение размера p
ко всем ребрам входа.
Трехэлементный векторный [a b c]
из неотрицательных целых чисел — Добавляют дополнение размера a
к верху и низу, дополнению размера b
налево и право и дополнение размера c
к передней и задней части входа.
2 3 матричный [t l f;b r k]
из неотрицательных целых чисел — Добавляют дополнение размера t
к верхней части, b
к нижней части, l
налево, r
направо, f
к передней стороне и k
к задней части входа. Другими словами, верхняя строка задает предварительное дополнение, и вторая строка задает постдополнение в трех измерениях.
Пример:
'Padding',1
добавляет одна строка дополнения к верху и низу, одному столбцу дополнения налево и права и одной плоскости дополнения к передней и задней части входа.
Пример:
'Padding','same'
добавляет дополнение так, чтобы выход имел тот же размер как вход (если шаг равняется 1).
PoolSize
— Размерности объединения областейРазмерности областей объединения, заданных как вектор трех положительных целых чисел [h w d]
, где h
высота, w
ширина и d
глубина. При создании слоя можно задать PoolSize
как скаляр, чтобы использовать то же значение во всех трех измерениях.
Если размерности шага Stride
меньше соответствующих размерностей объединения, затем перекрытие областей объединения.
Дополнительные размерности PaddingSize
должен быть меньше размерностей области объединения PoolSize
.
Пример:
[2 1 1]
задает области объединения высоты 2, ширина 1, и глубина 1.
Stride
— Размер шага для того, чтобы пересечь вход
(значение по умолчанию) | вектор трех положительных целых чиселРазмер шага для того, чтобы пересечь вход в трех измерениях, заданных как векторный [a b c]
из трех положительных целых чисел, где a
вертикальный размер шага, b
горизонтальный размер шага и c
размер шага вдоль направления глубины. При создании слоя можно задать Stride
как скаляр, чтобы использовать то же значение в размерах шага во всех трех направлениях.
Если размерности шага Stride
меньше соответствующих размерностей объединения, затем перекрытие областей объединения.
Дополнительные размерности PaddingSize
должен быть меньше размерностей области объединения PoolSize
.
Пример:
[2 3 1]
задает вертикальный размер шага 2, горизонтальный размер шага 3 и размер шага вдоль глубины 1.
PaddingSize
— Размер дополнения
(значение по умолчанию) | 2 3 матрица неотрицательных целых чиселРазмер дополнения, чтобы применяться к входным границам, заданным как 2 3 матричный [t l f;b r k]
из неотрицательных целых чисел, где t
и b
дополнение, применился к верху и низу в вертикальном направлении, l
и r
дополнение, применился к левому и правому в горизонтальном направлении и f
и k
дополнение, применился к передней и задней части вдоль глубины. Другими словами, верхняя строка задает предварительное дополнение, и вторая строка задает постдополнение в трех измерениях.
Когда вы создадите слой, используйте 'Padding'
аргумент пары "имя-значение", чтобы задать дополнительный размер.
Пример:
[1 2 4;1 2 4]
добавляет одна строка дополнения к верху и низу, двум столбцам дополнения налево и права и четырех плоскостей дополнения к передней и задней части входа.
PaddingMode
— Метод, чтобы определить дополнительный размер'manual'
(значение по умолчанию) | 'same'
Метод, чтобы определить дополнительный размер, заданный как 'manual'
или 'same'
.
Программное обеспечение автоматически устанавливает значение PaddingMode
на основе 'Дополнительного' значения вы задаете при создании слоя.
Если вы устанавливаете 'Padding'
опция к скаляру или вектору неотрицательных целых чисел, затем программное обеспечение автоматически устанавливает PaddingMode
к 'manual'
.
Если вы устанавливаете 'Padding'
опция к 'same'
, затем программное обеспечение автоматически устанавливает PaddingMode
к 'same'
и вычисляет размер дополнения в учебное время так, чтобы выход имел тот же размер как вход, когда шаг равняется 1. Если шаг больше, чем 1, то выходным размером является ceil(inputSize/stride)
, где inputSize
высота, ширина или глубина входа и stride
шаг в соответствующей размерности. Программное обеспечение добавляет тот же объем дополнения к верху и низу, налево и праву, и к передней и задней части, если это возможно. Если дополнение в данной размерности имеет нечетное значение, то программное обеспечение добавляет дополнительное дополнение во вход как постдополнение. Другими словами, программное обеспечение добавляет дополнительное вертикальное дополнение в нижнюю часть, дополнительное горизонтальное дополнение направо и дополнительное дополнение глубины к задней части входа.
Name
— Имя слоя''
(значение по умолчанию) | вектор символов | представляет скаляр в виде строки
Имя слоя, заданное как вектор символов или скаляр строки. Чтобы включать слой в график слоя, необходимо задать непустое уникальное имя слоя. Если вы обучаете серийную сеть со слоем и Name
установлен в ''
, затем программное обеспечение автоматически присваивает имя к слою в учебное время.
Типы данных: char |
string
NumInputs
— Количество входных параметровКоличество входных параметров слоя. Этот слой принимает один вход только.
Типы данных: double
InputNames
— Введите имена{'in'}
(значение по умолчанию)Введите имена слоя. Этот слой принимает один вход только.
Типы данных: cell
NumOutputs
— Количество выходных параметровКоличество выходных параметров слоя. Этот слой имеет один выход только.
Типы данных: double
OutputNames
— Выведите имена{'out'}
(значение по умолчанию)Выведите имена слоя. Этот слой имеет один выход только.
Типы данных: cell
Создайте 3-D средний слой объединения с неналожением областей объединения, который прореживает фактором 2.
layer = averagePooling3dLayer(2,'Stride',2)
layer = AveragePooling3DLayer with properties: Name: '' Hyperparameters PoolSize: [2 2 2] Stride: [2 2 2] PaddingMode: 'manual' PaddingSize: [2x3 double]
Включайте 3-D средний слой объединения в Layer
массив.
layers = [ ... image3dInputLayer([28 28 28 3]) convolution3dLayer(5,20) reluLayer averagePooling3dLayer(2,'Stride',2) fullyConnectedLayer(10) softmaxLayer classificationLayer]
layers = 7x1 Layer array with layers: 1 '' 3-D Image Input 28x28x28x3 images with 'zerocenter' normalization 2 '' Convolution 20 5x5x5 convolutions with stride [1 1 1] and padding [0 0 0; 0 0 0] 3 '' ReLU ReLU 4 '' Average 3D Pooling 2x2x2 average pooling with stride [2 2 2] and padding [0 0 0; 0 0 0] 5 '' Fully Connected 10 fully connected layer 6 '' Softmax softmax 7 '' Classification Output crossentropyex
Создайте 3-D средний слой объединения с наложением областей объединения и дополнением для верха и низа входа.
layer = averagePooling3dLayer([3 2 2],'Stride',2,'Padding',[1 0 0])
layer = AveragePooling3DLayer with properties: Name: '' Hyperparameters PoolSize: [3 2 2] Stride: [2 2 2] PaddingMode: 'manual' PaddingSize: [2x3 double]
Этот слой создает области объединения размера 3 2 на 2 и берет среднее значение этих двенадцати элементов в каждой области. Шаг 2 во всех размерностях. Области объединения накладываются, потому что существуют размерности шага Stride
это меньше соответствующих размерностей объединения PoolSize
.
3-D средний слой объединения расширяет функциональность среднего слоя объединения к третьей размерности, глубине. Средний слой объединения выполняет субдискретизацию путем деления входа на прямоугольные или кубовидные области объединения и вычисления среднего значения каждой области. Чтобы узнать больше, см. определение среднего слоя объединения на averagePooling2dLayer
страница с описанием.
averagePooling2dLayer
| convolution3dLayer
| maxPooling3dLayer
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.