Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

tensorflow :: opérations :: Conv2D

#include <nn_ops.h>

Calcule une convolution 2-D avec une input 4-D et filter tenseurs de filter .

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 avec la 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, multiplie à droite la matrice de filtre et le vecteur de patch d'image.

En détail, 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 des strides[0] = strides[3] = 1 . Dans le cas le plus courant des mêmes foulées horizontales et de sommets, strides = [1, stride, stride, 1] .

Arguments:

  • scope: un objet Scope
  • entrée: Un tenseur 4-D. L'ordre des dimensions est interprété en fonction de la valeur de data_format , voir ci-dessous pour plus de détails.
  • filter: Un tenseur de forme 4-D [filter_height, filter_width, in_channels, out_channels]
  • foulées: tenseur 1-D de longueur 4. La foulée de la fenêtre coulissante pour chaque dimension d' 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 remplissage à utiliser.

Attributs facultatifs (voir Attrs ):

  • explicit_paddings: Si le padding est "EXPLICIT" , la liste des montants de remplissage explicites. Pour la ième dimension, la quantité de remplissage insérée avant et après la dimension est 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 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 de: [lot, hauteur, largeur, canaux]. Alternativement, le format pourrait être "NCHW", l'ordre de stockage des données de: [lot, canaux, hauteur, largeur].
  • dilations: tenseur 1-D de longueur 4. Le facteur de dilatation pour chaque dimension d' input . Si la valeur est 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 le lot et les dimensions de profondeur doivent être de 1.

Retour:

  • Output : un tenseur 4-D. 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)

Structs

tensorflow :: ops :: Conv2D :: Attrs

Définisseurs d' attributs facultatifs pour Conv2D .

Attributs publics

opération

Operation operation

production

::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 

operator :: tensorflow :: Input

 operator::tensorflow::Input() const 

operator :: tensorflow :: Output

 operator::tensorflow::Output() const 

Fonctions statiques publiques

DataFormat

Attrs DataFormat(
  StringPiece x
)

Les dilatations

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

ExplicitPaddings

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

UseCudnnOnGpu

Attrs UseCudnnOnGpu(
  bool x
)