tensorflow::ops::QuantizeDownAndShrinkRange

#include <math_ops.h>

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

Resumo

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

[input_min, input_max] são valores escalares de ponto flutuante que especificam o intervalo para a interpretação em ponto 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 em 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 obter a maior 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 essa entrada quint16 não tenha valores menores que 16.384 e nenhum maior que 49.152. Isso significa que apenas metade do intervalo é realmente necessária, pois todas as interpretações de ponto flutuante estão entre -0,5f e 0,5f. Portanto, se quisermos comprimir os dados em uma saída quint8, podemos usar esse intervalo em vez do intervalo teórico de -1,0f a 1,0f sugerido pelos valores mínimo e máximo da entrada.

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

Argumentos:

  • escopo: Um objeto de escopo
  • input_min: O valor float que o menor valor de entrada quantizado representa.
  • input_max: O valor float que o valor máximo de entrada quantizada representa.
  • out_type: O tipo de saída. Deve ter uma profundidade de bits menor que Tinput.

Devoluções:

  • Output saída
  • Output output_min: O valor float que o valor mínimo de saída quantizada representa.
  • Output output_max: O valor float que o valor máximo de saída quantizada representa.

Construtores e Destrutores

QuantizeDownAndShrinkRange (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input input_min, :: tensorflow::Input input_max, DataType out_type)

Atributos públicos

operation
output
output_max
output_min

Atributos públicos

operação

Operation operation

saída

::tensorflow::Output output

saída_máxima

::tensorflow::Output output_max

saída_mínima

::tensorflow::Output output_min

Funções públicas

QuantizarReduzirEAmplitude

 QuantizeDownAndShrinkRange(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input,
  ::tensorflow::Input input_min,
  ::tensorflow::Input input_max,
  DataType out_type
)