exponenta event banner

image3dInputLayer

3-D слой ввода изображения

Описание

Входной слой 3-D изображения вводит 3-D изображения или объемы в сеть и применяет нормализацию данных.

Для 2-D ввода изображения используйте imageInputLayer.

Создание

Описание

layer = image3dInputLayer(inputSize) возвращает 3-D слой ввода изображения и задает InputSize собственность.

пример

layer = image3dInputLayer(inputSize,Name,Value) задает дополнительные свойства, используя пары имя-значение. Можно указать несколько пар имя-значение. Заключите каждое имя свойства в отдельные кавычки.

Свойства

развернуть все

3-D Ввод изображения

Размер входных данных, указанный как вектор строки целых чисел [h w d c], где h, w, d, и c соответствуют высоте, ширине, глубине и количеству каналов соответственно.

  • Для ввода в градациях серого задайте вектор с помощью c равно 1.

  • Для ввода RGB укажите вектор с c равно 3.

  • Для многоспектрального или гиперспектрального ввода укажите вектор с помощью c равно количеству каналов.

Для 2-D ввода изображения используйте imageInputLayer.

Пример: [132 132 116 3]

Нормализация данных для применения при каждом прямом распространении данных через входной уровень, определяемая одним из следующих параметров:

  • '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.

Размер нормализации, указанный как одно из следующих значений:

  • 'auto' - Если вариант обучения false и укажите любую из статистики нормализации (Mean, StandardDeviation, Min, или Max), затем нормализовать по измерениям, соответствующим статистике. В противном случае пересчитайте статистику во время обучения и примените нормализацию канала.

  • 'channel' - Канальная нормализация.

  • 'element' - Элементная нормализация.

  • 'all' - Нормализация всех значений с помощью скалярной статистики.

Среднее значение для нормализации нулевого центра и z-оценки, указанное как массив h-by-w-by-d-by-c, массив 1-by-1-by-c средних значений на канал, числовой скаляр или [], где h, w, d и c соответствуют высоте, ширине, глубине и количеству каналов среднего значения, соответственно.

При указании Mean собственность, то Normalization должно быть 'zerocenter' или 'zscore'. Если Mean является []затем программное обеспечение вычисляет среднее значение во время обучения.

Это свойство можно задать при создании сетей без обучения (например, при сборке сетей с помощью assembleNetwork).

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Стандартное отклонение для нормализации z-показателя, определяемое как массив h-by-w-by-d-by-c, массив 1-by-1-by-c средств на канал, числовой скаляр или [], где h, w, d и c соответствуют высоте, ширине, глубине и количеству каналов стандартного отклонения соответственно.

При указании StandardDeviation собственность, то Normalization должно быть 'zscore'. Если StandardDeviation является []затем программное обеспечение вычисляет стандартное отклонение во время обучения.

Это свойство можно задать при создании сетей без обучения (например, при сборке сетей с помощью assembleNetwork).

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Минимальное значение для масштабирования, указанное как массив h-by-w-by-d-by-c, массив 1-by-1-by-c минимумов на канал, числовой скаляр или [], где h, w, d и c соответствуют высоте, ширине, глубине и количеству каналов минимумов соответственно.

При указании Min собственность, то Normalization должно быть 'rescale-symmetric' или 'rescale-zero-one'. Если Min является [], то программное обеспечение вычисляет минимум во время обучения.

Это свойство можно задать при создании сетей без обучения (например, при сборке сетей с помощью assembleNetwork).

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Максимальное значение для масштабирования, указанное как массив h-by-w-by-d-by-c, массив 1-by-1-by-c максимумов на канал, числовой скаляр или [], где h, w, d и c соответствуют высоте, ширине, глубине и количеству каналов максимумов соответственно.

При указании Min собственность, то Normalization должно быть 'rescale-symmetric' или 'rescale-zero-one'. Если Max является [], то программное обеспечение вычисляет максимум во время обучения.

Это свойство можно задать при создании сетей без обучения (например, при сборке сетей с помощью assembleNetwork).

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Слой

Имя слоя, указанное как символьный вектор или строковый скаляр. Чтобы включить слой в график слоев, необходимо указать непустое уникальное имя слоя. Если вы обучаете последовательную сеть с уровнем и Name имеет значение ''затем программа автоматически присваивает имя слою во время обучения.

Типы данных: char | string

Количество входов слоя. Слой не имеет входных данных.

Типы данных: double

Входные имена слоя. Слой не имеет входных данных.

Типы данных: cell

Количество выходов уровня. Этот уровень имеет только один выход.

Типы данных: double

Выходные имена слоя. Этот уровень имеет только один выход.

Типы данных: cell

Примеры

свернуть все

Создание слоя ввода 3-D изображения для изображений 132-132-116 цвета 3-D с именем 'input'. По умолчанию слой выполняет нормализацию данных путем вычитания среднего изображения обучающего набора из каждого входного изображения.

layer = image3dInputLayer([132 132 116],'Name','input')
layer = 
  Image3DInputLayer with properties:

                      Name: 'input'
                 InputSize: [132 132 116 1]

   Hyperparameters
             Normalization: 'zerocenter'
    NormalizationDimension: 'auto'
                      Mean: []

Включить слой ввода 3-D изображения в Layer массив.

layers = [
    image3dInputLayer([28 28 28 3])
    convolution3dLayer(5,16,'Stride',4)
    reluLayer
    maxPooling3dLayer(2,'Stride',4)
    fullyConnectedLayer(10)
    softmaxLayer
    classificationLayer]
layers = 
  7x1 Layer array with layers:

     1   ''   3-D Image Input         28x28x28x3 images with 'zerocenter' normalization
     2   ''   Convolution             16 5x5x5 convolutions with stride [4  4  4] and padding [0  0  0; 0  0  0]
     3   ''   ReLU                    ReLU
     4   ''   3-D Max Pooling         2x2x2 max pooling with stride [4  4  4] and padding [0  0  0; 0  0  0]
     5   ''   Fully Connected         10 fully connected layer
     6   ''   Softmax                 softmax
     7   ''   Classification Output   crossentropyex

Вопросы совместимости

развернуть все

Не рекомендуется начинать с R2019b

Изменение поведения в будущем выпуске

Представлен в R2019a