QuantizeDownAndShrinkRange

classe final pública QuantizeDownAndShrinkRange

Converta o tensor de 'entrada' quantizado em uma 'saída' de menor precisão, usando o

distribuição real dos valores para maximizar o uso da profundidade de bits inferior e ajustar os intervalos mínimo e máximo de saída de acordo.

[input_min, input_max] são valores flutuantes escalares que especificam o intervalo para a interpretação flutuante dos dados de 'entrada'. Por exemplo, se input_min for -1,0f e input_max for 1,0f, e estivermos lidando com dados quantizados quint16, então um valor 0 nos dados de 16 bits deve ser interpretado como -1,0f, e 65535 significa 1,0f.

Este operador tenta extrair o máximo de precisão possível em uma saída com menor profundidade de bits, calculando os valores mínimo e máximo reais encontrados nos dados. Por exemplo, talvez a entrada quint16 não tenha valores inferiores a 16.384 e nenhum superior a 49.152. Isso significa que apenas metade do intervalo é realmente necessário, todas as interpretações de float estão entre -0,5f e 0,5f, portanto, se quisermos compactar os dados em uma saída quint8, podemos usar esse intervalo em vez do teórico -1,0f a 1,0 f que é sugerido pela entrada min e max.

Na prática, isso é mais útil para obter resultados de operações como QuantizedMatMul, que podem produzir saídas com maior profundidade de bits do que suas entradas e podem ter grandes faixas de saída potencial, mas na prática têm uma distribuição de valores de entrada que usa apenas uma pequena fração do intervalo possível. Ao alimentar esse operador com essa saída, podemos reduzi-la de 32 bits para 8 com perda mínima de precisão.

Constantes

Corda OP_NAME O nome desta operação, conforme conhecido pelo mecanismo principal do TensorFlow

Métodos Públicos

estático <U estende TType > QuantizeDownAndShrinkRange <U>
create ( Escopo do escopo , Operando <? estende TType > entrada, Operando < TFloat32 > inputMin, Operando < TFloat32 > inputMax, Classe<U> outType)
Método de fábrica para criar uma classe que envolve uma nova operação QuantizeDownAndShrinkRange.
Saída <U>
saída ()
Saída < TFloat32 >
saídaMax ()
O valor flutuante que o valor de saída quantizado máximo representa.
Saída < TFloat32 >
saídaMin ()
O valor flutuante que o valor mínimo de saída quantizada representa.

Métodos herdados

Constantes

String final estática pública OP_NAME

O nome desta operação, conforme conhecido pelo mecanismo principal do TensorFlow

Valor constante: "QuantizeDownAndShrinkRange"

Métodos Públicos

public static QuantizeDownAndShrinkRange <U> create ( Escopo do escopo , Operando <? estende TType > entrada, Operando < TFloat32 > inputMin, Operando < TFloat32 > inputMax, Classe <U> outType)

Método de fábrica para criar uma classe que envolve uma nova operação QuantizeDownAndShrinkRange.

Parâmetros
escopo escopo atual
entradaMin O valor flutuante que o valor de entrada quantizado mínimo representa.
entradaMax O valor flutuante que o valor de entrada quantizado máximo representa.
tipo de saída O tipo de saída. Deve ter uma profundidade de bits menor que Tinput.
Devoluções
  • uma nova instância de QuantizeDownAndShrinkRange

Saída pública <U> saída ()

Saída pública < TFloat32 > outputMax ()

O valor flutuante que o valor de saída quantizado máximo representa.

Saída pública < TFloat32 > outputMin ()

O valor flutuante que o valor mínimo de saída quantizada representa.