Calcula o produto ao longo dos 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 dos segmentos.
Calcula um tensor tal que \\(output_i = \prod_j data_j\\) onde o produto é sobre `j` tal que `segment_ids[j] == i`.
Se o produto estiver vazio para um determinado ID de segmento `i`, `output[i] = 1`.
Nota: Atualmente, esta operação é suportada apenas com jit_compile=True.
A única diferença com SegmentProd é a entrada adicional `num_segments`. Isso ajuda a avaliar a forma 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 1-d segment_ids 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 são atribuídos 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]]) >>> test( c).numpy() array([[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. |
estático <T, U estende Número, V estende Número> SegmentProdV2 <T> | |
Saída <T> | saída () Tem a mesma forma dos dados, exceto pelas 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
public Output <T> asOutput ()
Retorna o identificador simbólico de um tensor.
As entradas para as 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 a computação da entrada.
public static SegmentProdV2 <T> create ( Scope scope, Operand <T> data, Operand <U> segmentIds, Operand <V> numSegments)
Método de fábrica para criar uma classe envolvendo uma nova operação SegmentProdV2.
Parâmetros
escopo | escopo atual |
---|---|
segmentIDs | Um tensor 1-D cujo tamanho é igual ao tamanho da primeira dimensão de `dados`. Os valores devem ser classificados e podem ser repetidos. Os valores devem ser menores que `num_segments`. Atenção: 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 a mesma forma dos dados, exceto pelas primeiras dimensões `segment_ids.rank`, que são substituídas por uma única dimensãow que tem tamanho `num_segments`.
Calcula o produto ao longo dos 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 dos segmentos.
Calcula um tensor tal que \\(output_i = \prod_j data_j\\) onde o produto é sobre `j` tal que `segment_ids[j] == i`.
Se o produto estiver vazio para um determinado ID de segmento `i`, `output[i] = 1`.
Nota: Atualmente, esta operação é suportada apenas com jit_compile=True.
A única diferença com SegmentProd é a entrada adicional `num_segments`. Isso ajuda a avaliar a forma 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 1-d segment_ids 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 são atribuídos 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]]) >>> test( c).numpy() array([[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. |
estático <T, U estende Número, V estende Número> SegmentProdV2 <T> | |
Saída <T> | saída () Tem a mesma forma dos dados, exceto pelas 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
public Output <T> asOutput ()
Retorna o identificador simbólico de um tensor.
As entradas para as 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 a computação da entrada.
public static SegmentProdV2 <T> create ( Scope scope, Operand <T> data, Operand <U> segmentIds, Operand <V> numSegments)
Método de fábrica para criar uma classe envolvendo uma nova operação SegmentProdV2.
Parâmetros
escopo | escopo atual |
---|---|
segmentIDs | Um tensor 1-D cujo tamanho é igual ao tamanho da primeira dimensão de `dados`. Os valores devem ser classificados e podem ser repetidos. Os valores devem ser menores que `num_segments`. Atenção: 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 a mesma forma dos dados, exceto pelas primeiras dimensões `segment_ids.rank`, que são substituídas por uma única dimensãow que tem tamanho `num_segments`.