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:
- Aplatit le filtre en une matrice 2D avec la 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, 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 dedata_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 respectivementexplicit_paddings[2 * i]
etexplicit_paddings[2 * i + 1]
. Sipadding
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 dedata_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 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) |
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 )