SegmentMaxV2

classe final pública SegmentMaxV2

Calcula o máximo 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 = \max_j(data_j)\\) onde `max` é sobre `j` tal que `segment_ids[j] == i`.

Se o máximo estiver vazio para um determinado ID de segmento `i`, ele produzirá o menor valor possível para o tipo numérico específico, `output[i] = numeric_limits ::menor()`.

Nota: Atualmente, esta operação é suportada apenas com jit_compile=True.

Atenção: Na CPU, os valores em `segment_ids` são sempre validados para serem ordenados, e um erro é lançado para índices que não estão aumentando. Na GPU, isso não gera um erro para índices não classificados. Na GPU, os índices fora de ordem resultam em um comportamento seguro, mas não especificado, que pode incluir o tratamento de índices fora de ordem como iguais a um índice seguinte menor.

A única diferença com SegmentMax é 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) deve ser igual a `num_segments` - 1 para 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 maiores que o tamanho de saída esperado, os últimos elementos recebem o menor valor possível para o tipo numérico específico.

Por exemplo:

>>> @tf.function(jit_compile=True) ... def test(c): ... return tf.raw_ops.SegmentMaxV2(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, 3, 3, 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 estende o número, U estende o número, V estende o número> SegmentMaxV2 <T>
create ( Escopo escopo , Operando <T> dados, Operando <U> segmentIds, Operando <V> numSegmentos)
Método de fábrica para criar uma classe envolvendo uma nova operação SegmentMaxV2.
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 SegmentMaxV2 <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 SegmentMaxV2.

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 SegmentMaxV2

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`.