тензорный поток :: ops :: DepthwiseConv2dNative
#include <nn_ops.h>
Вычисляет двумерную глубинную свертку с учетом input
filter
тензоров и 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
- шаги: 1-D длины 4. Шаг скользящего окна для каждого измерения
input
. - padding: Тип используемого алгоритма заполнения.
Необязательные атрибуты (см. 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) | |
ExplicitPaddings (const gtl::ArraySlice< int > & x) |
Структуры | |
---|---|
tenorflow :: 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
оператор :: тензорный поток :: Ввод
operator::tensorflow::Input() const
оператор :: tenorflow :: Выход
operator::tensorflow::Output() const
Публичные статические функции
Формат данных
Attrs DataFormat( StringPiece x )
Расширения
Attrs Dilations( const gtl::ArraySlice< int > & x )
ExplicitPaddings
Attrs ExplicitPaddings( const gtl::ArraySlice< int > & x )