exponenta event banner

resize2dLayer

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

Описание

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

Создание

Описание

пример

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

пример

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

пример

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

пример

layer = resize2dLayer(___,Name,Value) задает необязательные свойства Method, GeometricTransformMode, NearestRoadingMode и 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 (инструментарий глубокого обучения) или disconnectLayers (инструментарий глубокого обучения).

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

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

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

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

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

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

.

См. также

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

Темы

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