UniformRequantize

classe final pública UniformRequantize

Dado o tensor quantizado `input`, requantize-o com novos parâmetros de quantização.

Dado o tensor quantizado `input`, que foi quantizado usando {input_scales, input_zero_points, input_quantization_axis, input_quantization_min_val, input_quantization_max_val}, requantize-o para um tensor, que é quantizado usando {output_scales, output_zero_points, output_quantization_axis, output_quantization_min_val, output_quantization_max_val}. A requantização é feita usando a fórmula: output_quantized_data = clip( (input_quantized_data - input_zero_point) * (input_scale / output_scale) + output_zero_point, output_quantization_min_val, output_quantization_max_val)

Os casos suportados de quantização por tensor e por eixo são os seguintes:

  • por tensor -> por tensor
  • por tensor -> por eixo
  • por eixo -> por eixo onde input_quantization_axis é igual a output_quantization_axis. ou seja, pelo menos um entre input_quantization_axis e output_quantization_axis deve ser -1, ou dois devem ser iguais.

Classes aninhadas

classe UniformRequantize.Options Atributos opcionais para UniformRequantize

Métodos públicos

Saída <U>
comoSaída ()
Retorna o identificador simbólico de um tensor.
estático <U, T> UniformRequantize <U>
create ( Escopo do escopo, Operando <T> entrada, Operando <Float> inputScales, Operando <Integer> inputZeroPoints, Operando <Float> outputScales, Operando <Integer> outputZeroPoints, Class<U> Tout, Long inputQuantizationMinVal, Long inputQuantizationMaxVal, Long outputQuantizationMinVal, Long outputQuantizationMaxVal, Options... options)
Método de fábrica para criar uma classe que envolve uma nova operação UniformRequantize.
static UniformRequantize.Options
inputQuantizationAxis (Long inputQuantizationAxis)
Saída <U>
saída ()
A saída quantizou o Tensor de Tout, cuja forma é a mesma da entrada.
static UniformRequantize.Options
outputQuantizationAxis (Long outputQuantizationAxis)

Métodos Herdados

Métodos públicos

Public Output <U> asOutput ()

Retorna o identificador simbólico de um tensor.

As entradas para 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 o cálculo da entrada.

public static UniformRequantize <U> create ( Escopo do escopo, Operando <T> entrada, Operando <Float> inputScales, Operando <Integer> inputZeroPoints, Operando <Float> outputScales, Operando <Integer> outputZeroPoints, Class<U> Tout, Long inputQuantizationMinVal, Long inputQuantizationMaxVal, Long outputQuantizationMinVal, Long outputQuantizationMaxVal, Options... options)

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

Parâmetros
alcance escopo atual
entrada Deve ser um tensor de estanho.
escalas de entrada O(s) valor(es) flutuante(s) usado(s) como escala(s) ao quantificar os dados originais que `input` representa. Deve ser um tensor escalar se quantization_axis for -1 (quantização por tensor), caso contrário, tensor 1D de tamanho (input.dim_size(quantization_axis),) (quantização por eixo).
inputZeroPoints O(s) valor(es) int32 usado(s) como zero_point(s) ao quantificar os dados originais que `input` representa. Mesma condição de forma que as escalas.
outputScales Os valores flutuantes a serem usados ​​como nova(s) escala(s) para quantificar os dados originais que `input` representa. Deve ser um tensor escalar se quantization_axis for -1 (quantização por tensor), caso contrário, tensor 1D de tamanho (input.dim_size(quantization_axis),) (quantização por eixo).
outputZeroPoints O(s) valor(es) int32 a serem usados ​​como novo(s) zero_point(s) para quantificar os dados originais que `input` representa. Mesma condição de forma que as escalas.
Tout O tipo de Tensor de saída. Um tf.DType de: tf.qint8, tf.qint32
inputQuantizationMinVal O valor mínimo de quantização que foi usado ao quantificar os dados originais que o `input` representa. O objetivo deste atributo é normalmente (mas não limitado a) indicar um intervalo estreito, onde é definido como: `(Tin o mais baixo) + 1` se o intervalo for estreito, e `(Tin o mais baixo)` caso contrário. Por exemplo, se Tin for qint8, isso será definido como -127 se for quantizado em faixa estreita ou -128 se não for.
inputQuantizationMaxVal O valor máximo de quantização que foi usado ao quantificar os dados originais que o `input` representa. O objetivo deste atributo é normalmente (mas não limitado a) indicar um intervalo estreito, onde é definido como: `(Tout max)` tanto para intervalo estreito quanto para intervalo não estreito. Por exemplo, se Tin for qint8, será definido como 127.
outputQuantizationMinVal O novo valor mínimo de quantização para quantizar os dados originais que `input` representa.
outputQuantizationMaxVal O novo valor máximo de quantização para quantizar os dados originais que `input` representa.
opções carrega valores de atributos opcionais
Devoluções
  • uma nova instância de UniformRequantize

public static UniformRequantize.Options inputQuantizationAxis (Long inputQuantizationAxis)

Parâmetros
inputQuantizationAxis O eixo de quantização que foi usado ao quantificar os dados originais que o `input` representa. Indica o índice de dimensão do tensor onde a quantização por eixo é aplicada para as fatias ao longo dessa dimensão. Se definido como -1 (padrão), indica quantização por tensor. Caso contrário, deve ser definido dentro do intervalo [0, input.dims()).

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

A saída quantizou o Tensor de Tout, cuja forma é a mesma da entrada.

public static UniformRequantize.Options outputQuantizationAxis (Long outputQuantizationAxis)

Parâmetros
outputQuantizationAxis O novo eixo de quantização a ser usado para quantizar os dados originais que o `input` representa.