QuantizeDownAndShrinkRange

QuantizeDownAndShrinkRange classe final pública

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

distribuição real dos valores para maximizar o uso da profundidade de bits inferior e ajustar as faixas de saída mín. e máx. de acordo.

[input_min, input_max] são flutuantes escalares que especificam o intervalo para a interpretação flutuante dos dados de 'entrada'. Por exemplo, se input_min é -1.0f e input_max é 1.0f, e estamos 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 espremer o máximo de precisão possível em uma saída com uma profundidade de bits menor, calculando os valores mínimo e máximo reais encontrados nos dados. Por exemplo, talvez essa 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 flutuantes estão entre -0,5f e 0,5f, então, 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 mín e máx.

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

Constantes

Fragmento OP_NAME O nome desta operação, conforme conhecido pelo motor principal TensorFlow

Métodos Públicos

estática <U estende TType > QuantizeDownAndShrinkRange <U>
criar ( Scope escopo, Operando <? estende TType > entrada, Operando < TFloat32 > inputMin, Operando < TFloat32 > inputMax, Class <U> outType)
Método de fábrica para criar uma classe que envolve uma nova operação QuantizeDownAndShrinkRange.
Output <U>
saída ()
Output < TFloat32 >
outputMax ()
O valor flutuante que o valor de saída quantizado máximo representa.
Output < TFloat32 >
outputMin ()
O valor flutuante que o valor mínimo de saída quantizado representa.

Métodos herdados

Constantes

nome_op final String public static

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

Valor constante: "QuantizeDownAndShrinkRange"

Métodos Públicos

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

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

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

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

pública Output < TFloat32 > outputMax ()

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

pública Output < TFloat32 > outputMin ()

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