resize3dLayer

3-D изменения размера слоя

Описание

Слой 3-D изменения размера изменяет размер входного 3-D с помощью масштабного коэффициента, на заданную высоту, ширину и глубину или на размер опорной входной карты признаков. Для использования этого слоя требуются Deep Learning Toolbox™.

Создание

Описание

пример

layer = resize3dLayer('Scale',scale) создает слой изменения размера 3-D и устанавливает свойство Scale как масштабный коэффициент, заданный scale.

пример

layer = resize3dLayer('OutputSize',outputSize) создает слой 3-D изменения размера и устанавливает свойство OutputSize с высотой, шириной и глубиной, заданными outputSize.

пример

layer = resize3dLayer('EnableReferenceInput',tf) создает слой 3-D размера и устанавливает свойство EnableReferenceInput с логическим значением, заданным tf. Когда вы задаете значение как trueслой добавляет дополнительный вход, который принимает карту ссылочных функций и изменяет размер входных данных на размер карты ссылочных функций.

пример

layer = resize3dLayer(___,Name,Value) также устанавливает необязательные свойства Method, GeometricTransformMode, NearestRoundingMode и Name с помощью аргументов пары "имя-значение". Можно задать несколько аргументы пары "имя-значение". Заключайте каждое имя свойства в одинарные кавычки.

Пример: layer = resize3dLayer('OutputSize',[128 128 36],'Method','trilinear') создает 3D, изменяют размеры слоя, который изменяет размеры входа к использующей трехлинейной интерполяции 128 на 128 на 36 пикселей

Свойства

расширить все

Изменить размеры

Шкала коэффициент для изменения размера входа, заданный как 3-элементный вектор-строка положительных чисел. Масштабные коэффициенты предназначены для размерностей, столбцов и плоскостей, соответственно. При создании слоя можно задать Scale в качестве скаляра для использования одного и того же значения для всех размерностей.

Выходной размер измененного размера входного сигнала, заданный как 3-элементный вектор-строка положительных целых чисел вида [nrows ncols nplanes]. Можно задать два элемента как NaN, в этом случае слой вычисляет значения автоматически, чтобы сохранить соотношение сторон входа.

Добавьте ссылки функции карту как вход в слой, заданный в виде числа или логического 0 (false) или 1 (true).. Когда вы задаете значение как true, слой изменяет размер высоты, ширины и глубины входа так, чтобы он совпадал с высотой, шириной и глубиной карты ссылки функции. Операция изменения размера не изменяет количество каналов входа.

Когда вы включаете карту ссылки функции, входы в слой имеют имена 'in1' и 'ref', где 'ref' - имя ссылки функций. Используйте входные имена при соединении или разъединении слоя при помощи connectLayers (Deep Learning Toolbox) или disconnectLayers (Deep Learning Toolbox).

Метод интерполяции, заданный как 'nearest' для интерполяции по ближайшему соседу или 'trilinear' для трилинейной интерполяции.

Геометрический режим преобразования для отображения точек из входного пространства в выходное пространство, заданный как 'half-pixel' или 'asymmetric'.

Режим округления для интерполяции по ближайшему соседу, заданный как одно из следующего.

  • 'round' - используйте то же поведение округления что и MATLAB® round функция.

  • 'floor' - используйте то же поведение округления что и MATLAB floor функция.

  • 'onnx-10' - воспроизвести поведение изменения размера оператора ONNX™ (Open Neural Network Exchange) opset 10 Resize.

Это свойство действительно, когда Method свойство 'nearest'.

Слой

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

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

Количество входов слоя, заданное как 1 когда свойство EnableReferenceInput false или 2 когда свойство EnableReferenceInput true.

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

Входные имена слоя, заданные как {'in'} когда свойство EnableReferenceInput false или {'in','ref'} когда свойство EnableReferenceInput true.

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

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

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

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

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

Примеры

свернуть все

Создайте слой 3-D размера. Задайте горизонтальный и вертикальный масштабный коэффициент 2 и множительный масштабный коэффициент 4.

layer = resize3dLayer('Scale',[2 2 4])
layer = 
  Resize3DLayer with properties:

                      Name: ''
                     Scale: [2 2 4]
                OutputSize: []
      EnableReferenceInput: 0
                    Method: 'nearest'
    GeometricTransformMode: 'half-pixel'
       NearestRoundingMode: 'round'

  Show all properties

Создайте 3-D слой изменения размера с именем 'resize224' с выходным размером [224 224 224].

layer = resize3dLayer('OutputSize',[224 224 224],'Name','resize224')
layer = 
  Resize3DLayer with properties:

                      Name: 'resize224'
                     Scale: []
                OutputSize: [224 224 224]
      EnableReferenceInput: 0
                    Method: 'nearest'
    GeometricTransformMode: 'half-pixel'
       NearestRoundingMode: 'round'

  Show all properties

Создайте массив слоев, который включает слой 3-D изменения размера, который принимает ссылку ссылочных входных функций.

layers = [
    image3dInputLayer([32 32 32 3],'Name','image')
    resize3dLayer('EnableReferenceInput',true,'Name','resize')]
layers = 
  2x1 Layer array with layers:

     1   'image'    3-D Image Input   32x32x32x3 images with 'zerocenter' normalization
     2   'resize'   Resize            nnet.cnn.layer.Resize3DLayer

Создайте layerGraph. Первый вход слоя изменения размера 3-D автоматически соединяется с выходом входного слоя 3-D изображения.

lgraph = layerGraph(layers);

Соедините 'ref' вход слоя изменения размера 3-D в выход слоя, который обеспечивает карту ссылочных функций при помощи connectLayers функция. Этот пример показывает тривиальную связь, в которой 'ref' вход также соединяется с выходом входного слоя 3-D изображения.

lgraph = connectLayers(lgraph,'image','resize/ref');

Создайте слой 3-D размера с именем 'rescale0.5' с равномерным масштабным коэффициентом 0,5. Задайте метод интерполяции как трилинейную интерполяцию.

layer = resize3dLayer('Scale',0.5,'Method','trilinear','Name','rescale0.5')
layer = 
  Resize3DLayer with properties:

                      Name: 'rescale0.5'
                     Scale: [0.5000 0.5000 0.5000]
                OutputSize: []
      EnableReferenceInput: 0
                    Method: 'trilinear'
    GeometricTransformMode: 'half-pixel'
       NearestRoundingMode: 'round'

  Show all properties

Ссылки

[1] Откройте обмен нейронными сетями. https://github.com/onnx/.

См. также

| | (Deep Learning Toolbox) | (Deep Learning Toolbox) | (Deep Learning Toolbox)

Введенный в R2020b