exponenta event banner

resize3dLayer

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

Описание

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

Создание

Описание

пример

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

пример

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

пример

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

пример

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

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

Свойства

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

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

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

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

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

При включении карты ссылочных элементов входные данные слоя имеют имена 'in1' и 'ref', где 'ref' - имя карты ссылочных элементов. Используйте входные имена при подключении или отключении слоя с помощью connectLayers (инструментарий глубокого обучения) или disconnectLayers (инструментарий глубокого обучения).

Метод интерполяции, указанный как '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 если свойство EnityReferureInput имеет значение false или 2 если свойство EnityReferureInput имеет значение true.

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

Входные имена слоя, указанные как {'in'} если свойство EnityReferureInput имеет значение false или {'in','ref'} если свойство EnityReferureInput имеет значение 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 resize с именем 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. Первый вход 3D изменяет размеры слоя, автоматически связан с продукцией 3D входного слоя изображения.

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/.

См. также

| | (инструментарий глубокого обучения) | (инструментарий для глубокого обучения) | (инструментарий для глубокого обучения)

Темы

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