FractionalMaxPool

classe finale publique FractionalMaxPool

Effectue un pooling maximum fractionnaire sur l’entrée.

La mise en commun maximale fractionnée est légèrement différente de la mise en commun maximale régulière. Dans le pooling maximal régulier, vous réduisez la taille d'un ensemble d'entrées en prenant la valeur maximale des sous-sections N x N plus petites de l'ensemble (souvent 2x2) et essayez de réduire l'ensemble d'un facteur N, où N est un nombre entier. La mise en commun fractionnée maximale, comme on peut s'y attendre du mot « fractionnaire », signifie que le rapport de réduction global N ne doit pas nécessairement être un nombre entier.

Les tailles des régions de pooling sont générées de manière aléatoire mais sont assez uniformes. Par exemple, regardons la dimension de hauteur et les contraintes sur la liste des lignes qui constitueront les limites du pool.

Nous définissons d’abord ce qui suit :

1. input_row_length : le nombre de lignes de l'ensemble d'entrée 2. output_row_length : qui sera plus petit que l'entrée 3. alpha = input_row_length / output_row_length : notre taux de réduction 4. K = floor(alpha) 5. row_pooling_sequence : voici le résultat liste des lignes de limite de pool

Ensuite, row_pooling_sequence devrait satisfaire :

1. a[0] = 0 : la première valeur de la séquence est 0 2. a[end] = input_row_length : la dernière valeur de la séquence est la taille 3. K <= (a[i+1] - a[ i]) <= K+1 : tous les intervalles sont de taille K ou K+1 4. length(row_pooling_sequence) = output_row_length+1

Pour plus de détails sur le pooling maximum fractionnaire, consultez cet article : [Benjamin Graham, Fractional Max-Pooling](http://arxiv.org/abs/1412.6071)

Classes imbriquées

classe FractionalMaxPool.Options Attributs facultatifs pour FractionalMaxPool

Constantes

Chaîne OP_NAME Le nom de cette opération, tel que connu par le moteur principal TensorFlow

Méthodes publiques

Sortie < TInt64 >
colPoolingSequence ()
séquence de regroupement de colonnes, nécessaire pour calculer le gradient.
statique <T étend TNumber > FractionalMaxPool <T>
créer ( Portée de la portée , valeur de l'opérande <T>, options List<Float> poolingRatio, Options... )
Méthode d'usine pour créer une classe encapsulant une nouvelle opération FractionalMaxPool.
FractionalMaxPool.Options statique
déterministe (déterministe booléen)
Sortie <T>
sortir ()
tenseur de sortie après une mise en commun maximale fractionnaire.
FractionalMaxPool.Options statique
chevauchement (chevauchement booléen)
FractionalMaxPool.Options statique
pseudoRandom (pseudoRandom booléen)
Sortie < TInt64 >
rangéePoolingSequence ()
séquence de regroupement de lignes, nécessaire pour calculer le gradient.
FractionalMaxPool.Options statique
graine (graine longue)
FractionalMaxPool.Options statique
graine2 (graine longue2)

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

Valeur constante : "FractionalMaxPool"

Méthodes publiques

Sortie publique < TInt64 > colPoolingSequence ()

séquence de regroupement de colonnes, nécessaire pour calculer le gradient.

public static FractionalMaxPool <T> créer ( portée de la portée , valeur de l'opérande <T>, liste <Float> poolingRatio, options... options)

Méthode d'usine pour créer une classe encapsulant une nouvelle opération FractionalMaxPool.

Paramètres
portée portée actuelle
valeur 4-D avec la forme `[lot, hauteur, largeur, canaux]`.
poolingRatio Le ratio de regroupement pour chaque dimension de « valeur », ne prend actuellement en charge que les dimensions de ligne et de colonne et devrait être >= 1,0. Par exemple, un ratio de mise en commun valide ressemble à [1,0, 1,44, 1,73, 1,0]. Le premier et le dernier élément doivent être 1.0 car nous n'autorisons pas le pooling sur les dimensions des lots et des canaux. 1,44 et 1,73 sont respectivement le rapport de regroupement sur les dimensions de hauteur et de largeur.
choix porte des valeurs d'attributs facultatifs
Retour
  • une nouvelle instance de FractionalMaxPool

public static FractionalMaxPool.Options déterministe (déterministe booléen)

Paramètres
déterministe Lorsqu'elle est définie sur True, une région de pooling fixe sera utilisée lors de l'itération sur un nœud FractionalMaxPool dans le graphe de calcul. Principalement utilisé dans les tests unitaires pour rendre FractionalMaxPool déterministe.

sortie publique <T> sortie ()

tenseur de sortie après une mise en commun maximale fractionnaire.

public static FractionalMaxPool.Options se chevauchant (chevauchement booléen)

Paramètres
chevauchement Lorsqu'il est défini sur True, cela signifie que lors du regroupement, les valeurs à la limite des cellules de regroupement adjacentes sont utilisées par les deux cellules. Par exemple:

`indice 0 1 2 3 4`

`valeur 20 5 16 3 7`

Si la séquence de pooling est [0, 2, 4], alors 16, à l'index 2, sera utilisé deux fois. Le résultat serait [20, 16] pour un pooling maximum fractionnaire.

public statique FractionalMaxPool.Options pseudoRandom (pseudoRandom booléen)

Paramètres
pseudo-aléatoire Lorsqu'il est défini sur True, génère la séquence de regroupement de manière pseudo-aléatoire, sinon de manière aléatoire. Vérifiez l'article [Benjamin Graham, Fractional Max-Pooling] (http://arxiv.org/abs/1412.6071) pour connaître la différence entre pseudo-aléatoire et aléatoire.

Sortie publique < TInt64 > rowPoolingSequence ()

séquence de regroupement de lignes, nécessaire pour calculer le gradient.

graine publique statique FractionalMaxPool.Options (graine longue)

Paramètres
graine Si seed ou seed2 sont définis comme étant différents de zéro, le générateur de nombres aléatoires est amorcé par la graine donnée. Sinon, il est ensemencé par une graine aléatoire.

public statique FractionalMaxPool.Options seed2 (Long seed2)

Paramètres
graine2 Une deuxième graine pour éviter la collision des graines.