Calcula o produto ao longo de segmentos de um tensor.
Leia [a seção sobre segmentação](https://tensorflow.org/api_docs/python/tf/math#Segmentation) para obter uma explicação sobre segmentos.
Calcula um tensor tal que \\(output_i = \prod_j data_j\\) onde o produto está acima de `j` tal que `segment_ids[j] == i`.
Se o produto estiver vazio para um determinado ID de segmento `i`, `output[i] = 1`.
Nota: Esta operação é atualmente suportada apenas com jit_compile=True.
A única diferença com SegmentProd é a entrada adicional `num_segments`. Isso ajuda a avaliar o formato de saída em tempo de compilação. `num_segments` deve ser consistente com segment_ids. por exemplo, Max(segment_ids) - 1 deve ser igual a `num_segments` para um segment_ids 1-d. Com num_segments inconsistentes, a operação ainda é executada. a única diferença é que a saída assume o tamanho de num_segments independentemente do tamanho de segment_ids e dados. para num_segments menor que o tamanho de saída esperado, os últimos elementos são ignorados; para num_segments maior que o tamanho de saída esperado, os últimos elementos recebem 1.
Por exemplo:
>>> @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]]) >>> teste( c).numpy() matriz([[4, 6, 6, 4], [5, 6, 7, 8]], dtype=int32)
Métodos Públicos
Saída <T> | asOutput () Retorna o identificador simbólico de um tensor. |
static <T, U estende o número, V estende o número> SegmentProdV2 <T> | |
Saída <T> | saída () Tem o mesmo formato dos dados, exceto as primeiras dimensões `segment_ids.rank`, que são substituídas por uma única dimensãow que tem tamanho `num_segments`. |
Métodos herdados
Métodos Públicos
Saída pública <T> asOutput ()
Retorna o identificador simbólico de um tensor.
As entradas para operações do TensorFlow são saídas de outra operação do TensorFlow. Este método é usado para obter um identificador simbólico que representa o cálculo da entrada.
public static SegmentProdV2 <T> create (escopo do escopo, operando <T> dados, operando <U> segmentIds, operando <V> numSegments)
Método de fábrica para criar uma classe que envolve uma nova operação SegmentProdV2.
Parâmetros
escopo | escopo atual |
---|---|
IDs de segmento | Um tensor 1-D cujo tamanho é igual ao tamanho da primeira dimensão dos `dados`. Os valores devem ser classificados e podem ser repetidos. Os valores devem ser menores que `num_segments`. Cuidado: Os valores são sempre validados para serem classificados na CPU, nunca validados na GPU. |
Devoluções
- uma nova instância de SegmentProdV2
Saída pública <T> saída ()
Tem o mesmo formato dos dados, exceto as primeiras dimensões `segment_ids.rank`, que são substituídas por uma única dimensãow que tem tamanho `num_segments`.