flux tensoriel : : opérations : : DepthwiseConv2dNative

#include <nn_ops.h>

Calcule une convolution en profondeur 2D à partir des 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 filtre/noyau de forme [filter_height, filter_width, in_channels, channel_multiplier] , contenant des filtres convolutifs in_channels de profondeur 1, depthwise_conv2d applique un filtre différent à chaque canal d'entrée (en passant de 1 canal aux canaux channel_multiplier pour chacun), puis concatène les résultats ensemble. Ainsi, la sortie a des canaux 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]

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

Arguments :

  • scope : un objet Scope
  • foulées : 1-D de longueur 4. La foulée de la fenêtre glissante pour chaque dimension d' input .
  • padding : Le type d’algorithme de remplissage à utiliser.

Attributs facultatifs (voir Attrs ) :

  • data_format : spécifiez le format de données des données d'entrée et de sortie. Avec le format par défaut « NHWC », les données sont stockées dans l'ordre : [lot, hauteur, largeur, canaux]. Alternativement, le format pourrait être « NCHW », l'ordre de stockage des données étant : [lot, canaux, hauteur, largeur].
  • dilatations : tenseur 1-D de longueur 4. Le facteur de dilatation pour chaque dimension d' input . Si défini sur k > 1, il y aura k-1 cellules 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 dans les dimensions du lot et de la profondeur doivent être de 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

Setters d'attributs facultatifs pour DepthwiseConv2dNative .

Attributs publics

opération

Operation operation

sortir

::tensorflow::Output output

Fonctions publiques

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
)

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
)

Remplissages explicites

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