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 :
- Aplatit le filtre en une matrice 2D de forme
[filter_height * filter_width * in_channels, output_channels]. - 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]. - 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 dedata_format; voir ci-dessous pour plus de détails. - padding : le type d’algorithme de padding à utiliser.
Attributs optionnels (voir Attrs ) :
- explicit_paddings : Si
paddingest 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 respectivementexplicit_paddings[2 * i]etexplicit_paddings[2 * i + 1]. Sipaddingn'est pas"EXPLICIT",explicit_paddingsdoit ê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 dedata_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 dedata_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 )