Calcule une convolution 2D à partir des tenseurs 4-D « entrée » et « filtre ».
É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 ce qui suit :
1. Aplatit le filtre en une matrice 2D avec la forme `[filter_height * filter_width * in_channels, output_channels]`. 2. Extrait les 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.
Dans le détail, avec le format NHWC par défaut,
sortie[b, i, j, k] = somme_{di, dj, q} entrée[b, strides[1] * i + di, strides[2] * j + dj, q] * filtre[di, dj, q,k]
Doit avoir `strides[0] = strides[3] = 1`. Pour le cas le plus courant des mêmes foulées horizontales et verticales, « foulées = [1, foulée, foulée, 1] ».
Classes imbriquées
classe | Conv2d.Options | Attributs facultatifs pour Conv2d |
Constantes
Chaîne | OP_NAME | Le nom de cette opération, tel que connu par le moteur principal TensorFlow |
Méthodes publiques
Sortie <T> | comme Sortie () Renvoie le handle symbolique du tenseur. |
statique <T étend TNumber > Conv2d <T> | créer (portée de portée , entrée d'opérande <T>, filtre d'opérande <T>, foulées de liste <Long>, remplissage de chaîne, options... options) Méthode d'usine pour créer une classe encapsulant une nouvelle opération Conv2d. |
Conv2d.Options statique | dataFormat (Chaîne dataFormat) |
Conv2d.Options statique | dilatations (List<Long> dilatations) |
Conv2d.Options statique | explicitPaddings (List<Long> explicitPaddings) |
Sortie <T> | sortir () Un tenseur 4-D. |
Conv2d.Options statique | useCudnnOnGpu (booléen useCudnnOnGpu) |
Méthodes héritées
Constantes
chaîne finale statique publique OP_NAME
Le nom de cette opération, tel que connu par le moteur principal TensorFlow
Méthodes publiques
sortie publique <T> asOutput ()
Renvoie le handle symbolique du tenseur.
Les entrées des opérations TensorFlow sont les sorties d'une autre opération TensorFlow. Cette méthode est utilisée pour obtenir un handle symbolique qui représente le calcul de l’entrée.
public static Conv2d <T> create (portée de portée , entrée d'opérande <T>, filtre d'opérande <T>, foulées de liste <Long>, remplissage de chaîne, options... options)
Méthode d'usine pour créer une classe encapsulant une nouvelle opération Conv2d.
Paramètres
portée | portée actuelle |
---|---|
saisir | 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. |
filtre | Un tenseur 4D de forme `[filter_height, filter_width, in_channels, out_channels]` |
foulées | Tenseur 1-D de longueur 4. La foulée de la fenêtre glissante pour chaque dimension de « entrée ». L'ordre des dimensions est déterminé par la valeur de `data_format`, voir ci-dessous pour plus de détails. |
rembourrage | Le type d’algorithme de remplissage à utiliser. |
choix | porte des valeurs d'attributs facultatifs |
Retour
- une nouvelle instance de Conv2d
public statique Conv2d.Options dataFormat (String dataFormat)
Paramètres
format de données | 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 Conv2d.Options statiques publiques (dilatations List<Long>)
Paramètres
dilatations | Tenseur 1-D de longueur 4. Le facteur de dilatation pour chaque dimension de « entrée ». 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. |
---|
public static Conv2d.Options explicitPaddings (List<Long> explicitPaddings)
Paramètres
explicitPaddings | Si `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. |
---|
sortie publique <T> sortie ()
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.