UniformRequantize

classe final pública UniformRequantize

Dada a `entrada` do tensor quantizado, 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 eixo_de_quantização_de_entrada e eixo_de_quantização_de_saída deve ser -1 ou dois devem ser iguais.

Classes aninhadas

aula UniformRequantize.Options Atributos opcionais para UniformRequantize

Métodos Públicos

Saída <U>
asOutput ()
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, Saída longaQuantizationMaxVal, Opções... opções)
Método de fábrica para criar uma classe que envolve uma nova operação UniformRequantize.
UniformRequantize.Options estático
inputQuantizationAxis (entrada longaQuantizationAxis)
Saída <U>
saída ()
A saída quantizou o Tensor de Tout, cujo formato é igual ao da entrada.
UniformRequantize.Options estático
outputQuantizationAxis (saída longaQuantizationAxis)

Métodos herdados

Métodos Públicos

Saída pública <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 escopo , Operando <T> entrada, Operando <Float> inputScales, Operando <Integer> inputZeroPoints, Operando <Float> outputScales, Operando <Integer> outputZeroPoints, Class<U> Tout, Long inputQuantizationMinVal, Entrada longaQuantizationMaxVal, Saída longaQuantizationMinVal, Saída longaQuantizationMaxVal, Opções... opções)

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

Parâmetros
escopo escopo atual
entrada Deve ser um tensor de estanho.
escalas de entrada O(s) valor(es) flutuante(s) usado(s) como escala(s) ao quantizar 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 usados ​​como ponto(s) zero ao quantizar os dados originais que `input` representa. Mesma condição de formato das escalas.
escalas de saída Os valores flutuantes a serem usados ​​como novas escalas para quantizar 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).
saídaZeroPoints O(s) valor(es) int32 a serem usados ​​como novos pontos_zero para quantizar os dados originais que `input` representa. Mesma condição de formato das escalas.
Anunciante O tipo de tensor de saída. Um tf.DType de: tf.qint8, tf.qint32
entradaQuantizaçãoMinVal O valor mínimo de quantização que foi usado ao quantizar os dados originais que `input` representa. O objetivo deste atributo é normalmente (mas não limitado a) indicar um intervalo estreito, onde é definido como: `(Tin lower) + 1` se for um intervalo estreito, e `(Tin lower)` caso contrário. Por exemplo, se Tin for qint8, será definido como -127 se for quantizado em faixa estreita ou -128 se não for.
entradaQuantizaçãoMaxVal O valor máximo de quantização que foi usado ao quantizar os dados originais que `input` representa. O objetivo deste atributo é normalmente (mas não limitado a) indicar intervalo estreito, onde é definido como: `(Tout max)` para intervalo estreito e não estreito. Por exemplo, se Tin for qint8, será definido como 127.
saídaQuantizaçãoMinVal O novo valor mínimo de quantização para quantizar os dados originais que `input` representa.
saídaQuantizaçãoMaxVal 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

público estático UniformRequantize.Options inputQuantizationAxis (entrada longaQuantizationAxis)

Parâmetros
entradaQuantizaçãoAxis O eixo de quantização que foi usado ao quantizar os dados originais que `input` representa. Indica o índice de dimensão do tensor onde a quantização por eixo é aplicada às 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, cujo formato é igual ao da entrada.

public static UniformRequantize.Options outputQuantizationAxis (saída longaQuantizationAxis)

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