resize2dLayer

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

Описание

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

Создание

Описание

пример

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

пример

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

пример

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

пример

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

Пример: layer = resize2dLayer('OutputSize',[128 128],'Method','bilinear') создает 2-е, изменяют размеры слоя, который изменяет размеры входа к билинейной интерполяции использования 128 на 128 пикселей

Свойства

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

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

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

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

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

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

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

Геометрический режим преобразования для отображения точек из входного пространства в выходное пространство, заданный как '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

Примеры

свернуть все

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

layer = resize2dLayer('Scale',[2 4])
layer = 
  Resize2DLayer with properties:

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

  Show all properties

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

layer = resize2dLayer('OutputSize',[224 224],'Name','resize224')
layer = 
  Resize2DLayer with properties:

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

  Show all properties

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

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

     1   'image'    Image Input   32x32x3 images with 'zerocenter' normalization
     2   'resize'   Resize        nnet.cnn.layer.Resize2DLayer

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

lgraph = layerGraph(layers);

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

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

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

layer = resize2dLayer('Scale',0.5,'Method','bilinear','Name','rescale0.5')
layer = 
  Resize2DLayer with properties:

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

  Show all properties

Ссылки

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

Расширенные возможности

Генерация кода GPU
Сгенерируйте код CUDA ® для графических процессоров NVIDIA ® с помощью GPU Coder™

.

См. также

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

Введенный в R2020b