tensorflow::ops::Convolution2D native en profondeur

#include <nn_ops.h>

Calcule une convolution en profondeur 2D à partir de tenseurs input et filter 4D.

Résumé

Étant donné un tenseur d'entrée de forme [batch, in_height, in_width, in_channels] et un tenseur de filtre/noyau de forme [filter_height, filter_width, in_channels, channel_multiplier] contenant in_channels filtres de convolution de profondeur 1, depthwise_conv2d applique un filtre différent à chaque canal d'entrée (en passant de 1 à channel_multiplier canaux pour chaque filtre), puis concatène les résultats. La sortie comporte ainsi in_channels * channel_multiplier canaux.

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]

Doit avoir strides[0] = strides[3] = 1 . Pour le cas le plus courant des mêmes strides horizontales et de sommets, strides = [1, stride, stride, 1] .

Arguments :

  • portée : un objet Scope
  • pas : 1-D de longueur 4. Le pas de la fenêtre glissante pour chaque dimension de input .
  • padding : le type d’algorithme de padding à utiliser.

Attributs optionnels (voir Attrs ) :

  • data_format : Spécifiez le format des données d’entrée et de sortie. Par défaut, avec le format « NHWC », les données sont stockées dans l’ordre suivant : [lot, hauteur, largeur, canaux]. Vous pouvez également utiliser le format « NCHW », auquel cas l’ordre de stockage est : [lot, canaux, hauteur, largeur].
  • Dilatations : tenseur 1D de longueur 4. Facteur de dilatation pour chaque dimension de input . Si k > 1, k-1 cellules seront ignorées entre chaque élément de filtre sur cette dimension. L’ordre des dimensions est déterminé par la valeur de data_format (voir ci-dessus pour plus de détails). Les dilatations des dimensions batch et depth doivent être égales à 1.

Retours :

  • Output : Le tenseur de sortie.

Constructeurs et destructeurs

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)

attributs publics

operation
output

fonctions publiques

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

fonctions statiques publiques

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

Structures

tensorflow::ops::DepthwiseConv2dNative::Attrs

Définiteurs d'attributs optionnels pour DepthwiseConv2dNative .

attributs publics

opération

Operation operation

sortir

::tensorflow::Output output

fonctions publiques

Convolution 2D native en profondeur

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

Convolution 2D native en profondeur

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

nœud

::tensorflow::Node * node() const 

opérateur::tensorflow::Entrée

 operator::tensorflow::Input() const 

opérateur::tensorflow::Sortie

 operator::tensorflow::Output() const 

fonctions statiques publiques

Format de données

Attrs DataFormat(
  StringPiece x
)

Dilatations

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

Rembourrages explicites

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