tensorflow::ops::Conv2D

#include <nn_ops.h>

Calcule une convolution 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, out_channels] , cette opération effectue les opérations suivantes :

  1. Aplatit le filtre en une matrice 2D de forme [filter_height * filter_width * in_channels, output_channels] .
  2. Extrait des patchs d'image du tenseur d'entrée pour former un tenseur virtuel de forme [batch, out_height, out_width, filter_height * filter_width * in_channels] .
  3. Pour chaque patch, multiplier à droite la matrice de filtre et le vecteur du patch d'image.

Plus précisément, avec le format NHWC par défaut,

output[b, i, j, k] =
    sum_{di, dj, q} input[b, strides[1] * i + di, strides[2] * j + dj, q] *
                    filter[di, dj, q, k]

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
  • Entrée : un tenseur à 4 dimensions. L’ordre des dimensions est interprété en fonction de la valeur de data_format ; voir ci-dessous pour plus de détails.
  • filtre : un tenseur 4D de forme [filter_height, filter_width, in_channels, out_channels]
  • strides : tenseur unidimensionnel de longueur 4. Le pas de la fenêtre glissante pour chaque dimension de input . L’ordre des dimensions est déterminé par la valeur de data_format ; voir ci-dessous pour plus de détails.
  • padding : le type d’algorithme de padding à utiliser.

Attributs optionnels (voir Attrs ) :

  • explicit_paddings : Si padding est défini sur "EXPLICIT" , liste des valeurs de remplissage explicites. Pour la i-ème dimension, les valeurs de remplissage insérées avant et après la dimension sont respectivement explicit_paddings[2 * i] et explicit_paddings[2 * i + 1] . Si padding n'est pas "EXPLICIT" , explicit_paddings doit être vide.
  • 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 : Un tenseur à 4 dimensions. L’ordre des dimensions est déterminé par la valeur de data_format ; voir ci-dessous pour plus de détails.

Constructeurs et destructeurs

Conv2D (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input filter, const gtl::ArraySlice< int > & strides, StringPiece padding)
Conv2D (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input filter, const gtl::ArraySlice< int > & strides, StringPiece padding, const Conv2D::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)
UseCudnnOnGpu (bool x)

Structures

tensorflow::ops::Conv2D::Attrs

Définiteurs d'attributs optionnels pour Conv2D .

attributs publics

opération

Operation operation

sortir

::tensorflow::Output output

fonctions publiques

Conv2D

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

Conv2D

 Conv2D(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input,
  ::tensorflow::Input filter,
  const gtl::ArraySlice< int > & strides,
  StringPiece padding,
  const Conv2D::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
)

Utiliser Cudnn sur GPU

Attrs UseCudnnOnGpu(
  bool x
)