SegmentProdV2

classe finale publique SegmentProdV2

Calcule le produit le long des segments d'un tenseur.

Lisez [la section sur la segmentation](https://tensorflow.org/api_docs/python/tf/math#Segmentation) pour une explication des segments.

Calcule un tenseur tel que \\(output_i = \prod_j data_j\\) où le produit est sur `j` tel que `segment_ids[j] == i`.

Si le produit est vide pour un ID de segment donné `i`, `output[i] = 1`.

Remarque : cette opération n'est actuellement prise en charge qu'avec jit_compile=True.

La seule différence avec SegmentProd est l'entrée supplémentaire « num_segments ». Cela aide à évaluer la forme de sortie au moment de la compilation. `num_segments` doit être cohérent avec segment_ids. par exemple Max(segment_ids) - 1 doit être égal à `num_segments` pour un segment_ids 1-d Avec des num_segments incohérents, l'opération s'exécute toujours. la seule différence est que la sortie prend la taille de num_segments quelle que soit la taille des segment_ids et des données. pour num_segments inférieur à la taille de sortie attendue, les derniers éléments sont ignorés pour num_segments supérieur à la taille de sortie attendue, les derniers éléments se voient attribuer 1.

Par exemple:

>>> @tf.function(jit_compile=True) ... def test(c) : ... return tf.raw_ops.SegmentProdV2(data=c, segment_ids=tf.constant([0, 0, 1]), num_segments=2) >>> c = tf.constant([[1,2,3,4], [4, 3, 2, 1], [5,6,7,8]]) >>> test( c).numpy() tableau([[4, 6, 6, 4], [5, 6, 7, 8]], dtype=int32)

Méthodes publiques

Sortie <T>
comme Sortie ()
Renvoie le handle symbolique d'un tenseur.
statique <T, U étend le nombre, V étend le nombre> SegmentProdV2 <T>
créer ( Portée de la portée , Données de l'opérande <T>, Opérande <U> segmentIds, Opérande <V> numSegments)
Méthode d'usine pour créer une classe encapsulant une nouvelle opération SegmentProdV2.
Sortie <T>
sortir ()
A la même forme que les données, à l'exception des premières dimensions `segment_ids.rank`, qui sont remplacées par une seule dimension qui a la taille `num_segments`.

Méthodes héritées

Méthodes publiques

sortie publique <T> asOutput ()

Renvoie le handle symbolique d'un 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 SegmentProdV2 <T> créer (portée de portée , données d'opérande <T>, opérandes <U> segmentIds, opérande <V> numSegments)

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

Paramètres
portée portée actuelle
ID de segment Un tenseur 1D dont la taille est égale à la taille de la première dimension des « données ». Les valeurs doivent être triées et peuvent être répétées. Les valeurs doivent être inférieures à « num_segments ».

Attention : Les valeurs sont toujours validées pour être triées sur CPU, jamais validées sur GPU.

Retour
  • une nouvelle instance de SegmentProdV2

sortie publique <T> sortie ()

A la même forme que les données, à l'exception des premières dimensions `segment_ids.rank`, qui sont remplacées par une seule dimension qui a la taille `num_segments`.