tensorflow::ops::DepthwiseConv2dNative

#include <nn_ops.h>

Выполняет двумерную сверточную операцию с разделением по глубине, используя четырехмерные input и тензоры filter .

Краткое содержание

При наличии входного тензора формы [batch, in_height, in_width, in_channels] и тензора фильтра/ядра формы [filter_height, filter_width, in_channels, channel_multiplier] , содержащего in_channels сверточных фильтров глубиной 1, depthwise_conv2d применяет к каждому входному каналу свой фильтр (расширяя количество каналов от 1 до channel_multiplier для каждого), а затем объединяет результаты. Таким образом, на выходе получается in_channels * channel_multiplier каналов.

for k in 0..in_channels-1
  for q in 0..channel_multiplier-1
    output[b, i, j, k * channel_multiplier + q] =
      sum_{di, dj} input[b, strides[1] * i + di, strides[2] * j + dj, k] *
                        filter[di, dj, k, q]

Должно быть strides[0] = strides[3] = 1 В наиболее распространенном случае одинаковых горизонтальных и вершинных шагов strides = [1, stride, stride, 1] .

Аргументы:

  • scope: Объект Scope
  • strides: 1-мерный интервал длиной 4. Шаг скользящего окна для каждого измерения input .
  • Заполнение: Тип используемого алгоритма заполнения.

Дополнительные атрибуты (см. Attrs ):

  • data_format: Укажите формат входных и выходных данных. При формате по умолчанию "NHWC" данные хранятся в следующем порядке: [пакет, высота, ширина, каналы]. В качестве альтернативы можно использовать формат "NCHW", порядок хранения данных: [пакет, каналы, высота, ширина].
  • Расширение: одномерный тензор длиной 4. Коэффициент расширения для каждого измерения input . Если установлено значение k > 1, между каждым элементом фильтра в этом измерении будет пропущено k-1 ячеек. Порядок измерений определяется значением data_format , подробности см. выше. Расширение в измерениях пакета и глубины должно быть равно 1.

Возвращает:

  • Output : выходной тензор.

Конструкторы и Деструкторы

DepthwiseConv2dNative (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input filter, const gtl::ArraySlice< int > & strides, StringPiece padding)
DepthwiseConv2dNative (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input filter, const gtl::ArraySlice< int > & strides, StringPiece padding, const DepthwiseConv2dNative::Attrs & attrs)

Общедоступные атрибуты

operation
output

Общественные функции

node () const
::tensorflow::Node *
operator::tensorflow::Input () const
operator::tensorflow::Output () const

Открытые статические функции

DataFormat (StringPiece x)
Dilations (const gtl::ArraySlice< int > & x)

Структуры

tensorflow::ops::DepthwiseConv2dNative::Attrs

Дополнительные параметры установки атрибутов для DepthwiseConv2dNative .

Общедоступные атрибуты

операция

Operation operation

выход

::tensorflow::Output output

Общественные функции

DepthwiseConv2dNative

 DepthwiseConv2dNative(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input,
  ::tensorflow::Input filter,
  const gtl::ArraySlice< int > & strides,
  StringPiece padding
)

DepthwiseConv2dNative

 DepthwiseConv2dNative(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input,
  ::tensorflow::Input filter,
  const gtl::ArraySlice< int > & strides,
  StringPiece padding,
  const DepthwiseConv2dNative::Attrs & attrs
)

узел

::tensorflow::Node * node() const 

оператор::tensorflow::Input

 operator::tensorflow::Input() const 

оператор::tensorflow::Output

 operator::tensorflow::Output() const 

Открытые статические функции

Формат данных

Attrs DataFormat(
  StringPiece x
)

Расширения

Attrs Dilations(
  const gtl::ArraySlice< int > & x
)