UniformQuantizedConvolutionHybrid

classe final pública UniformQuantizedConvolutionHybrid

Execute a convolução quantizada híbrida do tensor flutuante `lhs` e do tensor quantizado `rhs`.

Dado `lhs` flutuante e `rhs` quantizado, executa internamente a quantização em `lhs` e, em seguida, executa a convolução quantizada em `lhs` e `rhs` quantizados.

A quantização interna em `lhs` é uma quantização para `Trhs`, faixa dinâmica, por lote (por eixo ao longo do eixo `dimension_numbers.input_batch_dimension`), assimétrica e não faixa estreita (a faixa é [Trhs_MIN, Trhs_MAX]) .

`lhs` e `rhs` devem ser tensores da mesma classificação e atender às seguintes condições de forma. - lhs_feature % feature_group_count == 0 - lhs_feature % rhs_input_feature == 0 - lhs_feature / feature_group_count == rhs_input_feature - rhs_output_feature % feature_group_count == 0 - lhs_batch % batch_group_count == 0 - rhs_output_feature % batch_group_count == 0

`rhs` deve ser Tensor quantizado, onde seu valor de dados é quantizado usando a fórmula: quantized_data = clip(original_data /scale + zero_point, quantization_min_val, quantization_max_val).

Classes aninhadas

aula UniformQuantizedConvolutionHybrid.Options Atributos opcionais para UniformQuantizedConvolutionHybrid

Métodos Públicos

Saída <V>
asOutput ()
Retorna o identificador simbólico de um tensor.
estático UniformQuantizedConvolutionHybrid.Options
batchGroupCount (Lot batchGroupCount)
static <V estende o número, T estende o número, U> UniformQuantizedConvolutionHybrid <V>
create ( Escopo do escopo , Operando <T> lhs, Operando <U> rhs, Operando <Float> rhsScales, Operando <Integer> rhsZeroPoints, Classe<V> Tout, Preenchimento de string, Long rhsQuantizationMinVal, Long rhsQuantizationMaxVal, Opções... opções)
Método de fábrica para criar uma classe que envolve uma nova operação UniformQuantizedConvolutionHybrid.
estático UniformQuantizedConvolutionHybrid.Options
dimensionNumbers (string dimensionNumbers)
estático UniformQuantizedConvolutionHybrid.Options
explicitPadding (Lista<Long> explicitPadding)
estático UniformQuantizedConvolutionHybrid.Options
featureGroupCount (recurso longoGroupCount)
estático UniformQuantizedConvolutionHybrid.Options
lhsDilation (Lista<Long> lhsDilation)
Saída <V>
saída ()
O tensor de saída de `Tout`, mesma classificação de `lhs` e `rhs`.
estático UniformQuantizedConvolutionHybrid.Options
rhsDilation (Lista<Long> rhsDilation)
estático UniformQuantizedConvolutionHybrid.Options
rhsQuantizationAxis (Long rhsQuantizationAxis)
estático UniformQuantizedConvolutionHybrid.Options
windowStrides (List<Long> windowStrides)

Métodos herdados

Métodos Públicos

Saída pública <V> 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 UniformQuantizedConvolutionHybrid.Options batchGroupCount (Longo batchGroupCount)

Parâmetros
loteGroupCount O número de grupos de lote. Usado para filtros agrupados. Deve ser um divisor de output_feature.

public static UniformQuantizedConvolutionHybrid <V> create ( Escopo escopo , Operando <T> lhs, Operando <U> rhs, Operando <Float> rhsScales, Operando <Integer> rhsZeroPoints, Classe<V> Tout, Preenchimento de string, Long rhsQuantizationMinVal, Long rhsQuantizationMaxVal, Opções... opções)

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

Parâmetros
escopo escopo atual
lhs Deve ser um tensor não quantizado de `Tlhs`, classificação >= 3.
rh Deve ser um tensor quantizado de `Trhs`, mesma classificação de `lhs`.
escalas rhs O(s) valor(es) flutuante(s) usado(s) como fatores de escala ao quantizar os dados originais que `rhs` representa. Deve ser um Tensor escalar para quantização por tensor, ou Tensor 1D de tamanho `rhs.dim_size(kernel_output_feature_dimension)`, para quantização por canal.
rhsZeroPontos O(s) valor(es) int32 usado(s) como ponto_zero ao quantizar os dados originais que `rhs` representa. Mesma condição de forma que `rhs_scales`.
Anunciante O tipo de tensor de saída.
preenchimento string de: `"SAME"`, `"VALID"` ou `"EXPLICIT"`, indicando o tipo de algoritmo de preenchimento a ser usado.
rhsQuantizaçãoMinVal O valor mínimo dos dados quantizados armazenados em `rhs`. Por exemplo, se `Trhs` for qint8, deve ser definido como -127 se for quantizado em faixa estreita ou -128 se não for.
rhsQuantizaçãoMaxVal O valor máximo dos dados quantizados armazenados em `rhs`. Por exemplo, se `Trhs` for qint8, deverá ser definido como 127.
opções carrega valores de atributos opcionais
Devoluções
  • uma nova instância de UniformQuantizedConvolutionHybrid

public static UniformQuantizedConvolutionHybrid.Options dimensionNumbers (String dimensionNumbers)

Parâmetros
dimensãoNúmeros Estrutura de informações de dimensão para a operação de convolução. Deve ser uma string vazia (padrão) ou uma string serializada do proto tensorflow.UniformQuantizedConvolutionDimensionNumbersAttr. Se a string estiver vazia, o padrão é `("NCHW", "OIHW", "NCHW")` (para uma convolução 2D).

public static UniformQuantizedConvolutionHybrid.Options explicitPadding (List<Long> explicitPadding)

Parâmetros
explícitoPadding Se `padding` Attr for `"EXPLICIT"`, deve ser definido como uma lista indicando os preenchimentos explícitos no início e no final de cada dimensão espacial lhs. Caso contrário, este Attr deve estar vazio.

(Se usado,) Deve ser uma lista de tamanho 2 * (número de dimensões espaciais lhs), onde (preenchimento_explícito[2 * i], preenchimento_explícito[2 * i + 1]) indica dimensões_espaciais[i] (preenchimento_inicial, preenchimento_final).

public static UniformQuantizedConvolutionHybrid.Options featureGroupCount (recurso longoGroupCount)

Parâmetros
recursoGroupCount O número de grupos de recursos. Usado para convoluções agrupadas. Deve ser um divisor de lhs_feature e output_feature.

public static UniformQuantizedConvolutionHybrid.Options lhsDilation (List<Long> lhsDilation)

Parâmetros
lhsDilatação O fator de dilatação a aplicar em cada dimensão espacial de `lhs`. Deve ser uma lista vazia (padrão) ou uma lista de tamanho (número de dimensões espaciais lhs). Se a lista estiver vazia, a dilatação para cada dimensão espacial lhs é definida como 1.

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

O tensor de saída de `Tout`, mesma classificação de `lhs` e `rhs`. Os dados de saída são os dados de saída não quantizados.

public static UniformQuantizedConvolutionHybrid.Options rhsDilation (List<Long> rhsDilation)

Parâmetros
rhsDilatação O fator de dilatação a ser aplicado em cada dimensão espacial de `rhs`. Deve ser uma lista vazia (padrão) ou uma lista de tamanho (número de dimensões espaciais rhs). Se a lista estiver vazia, a dilatação para cada dimensão espacial rhs é definida como 1.

público estático UniformQuantizedConvolutionHybrid.Options rhsQuantizationAxis (Long rhsQuantizationAxis)

Parâmetros
rhsQuantizationAxis 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. Para o `rhs`, apenas a quantização por tensor ou a quantização por canal ao longo de kernel_output_feature_dimension é suportada. Portanto, este atributo deve ser definido como -1 ou `dimension_numbers.kernel_output_feature_dimension`. Outros valores gerarão erros na construção do OpKernel.

public static UniformQuantizedConvolutionHybrid.Options windowStrides (List<Long> windowStrides)

Parâmetros
janelaStrides O avanço da janela deslizante para cada dimensão espacial de `lhs`. Deve ser uma lista vazia (padrão) ou uma lista de tamanho (número de dimensões espaciais). Se for fornecida uma lista vazia, o passo para cada dimensão espacial é definido como 1.