UniformQuantizedConvolution

classe final pública UniformQuantizedConvolution

Execute a convolução quantizada do Tensor `lhs` quantizado e do Tensor `rhs` quantizado. para fazer uma `saída` quantizada.

Dado `lhs` e `rhs` quantizado, executa ponto quantizado em `lhs` e `rhs` para obter uma `saída` quantizada.

`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

`lhs` e `rhs` devem ser quantizados Tensor, onde o valor dos dados é quantizado usando a fórmula:

quantized_data = clip(original_data / scale + zero_point, quantization_min_val, quantization_max_val)
 
`output` também é quantizado, usando a mesma fórmula. Se `rhs` for quantizado por tensor, `output` também deve ser quantizado por tensor.

Classes aninhadas

aula UniformQuantizedConvolution.Options Atributos opcionais para UniformQuantizedConvolution

Métodos Públicos

Saída <U>
asOutput ()
Retorna o identificador simbólico de um tensor.
UniformQuantizedConvolution.Options estático
batchGroupCount (Lot batchGroupCount)
estático <U, T> UniformQuantizedConvolution <U>
create ( Escopo do escopo , Operando <T> lhs, Operando <T> rhs, Operando <Float> lhsScales, Operando <Integer> lhsZeroPoints, Operando <Float> rhsScales, Operando <Integer> rhsZeroPoints, Operando <Float> outputScales, Operando <Integer > outputZeroPoints, Class<U> Tout, preenchimento de string, lhsQuantizationMinVal longo, lhsQuantizationMaxVal longo, rhsQuantizationMinVal longo, rhsQuantizationMaxVal longo, 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 UniformQuantizedConvolution.
UniformQuantizedConvolution.Options estático
dimensionNumbers (string dimensionNumbers)
UniformQuantizedConvolution.Options estático
explicitPadding (Lista<Long> explicitPadding)
UniformQuantizedConvolution.Options estático
featureGroupCount (recurso longoGroupCount)
UniformQuantizedConvolution.Options estático
lhsDilation (Lista<Long> lhsDilation)
UniformQuantizedConvolution.Options estático
lhsQuantizationAxis (lhsQuantizationAxis longo)
Saída <U>
saída ()
O tensor quantizado de saída de `Tout`, mesma classificação de `lhs` e `rhs`.
UniformQuantizedConvolution.Options estático
outputQuantizationAxis (saída longaQuantizationAxis)
UniformQuantizedConvolution.Options estático
rhsDilation (Lista<Long> rhsDilation)
UniformQuantizedConvolution.Options estático
rhsQuantizationAxis (Long rhsQuantizationAxis)
UniformQuantizedConvolution.Options estático
windowStrides (List<Long> windowStrides)

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 UniformQuantizedConvolution.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 UniformQuantizedConvolution <U> create ( Escopo escopo , Operando <T> lhs, Operando <T> rhs, Operando <Float> lhsScales, Operando <Integer> lhsZeroPoints, Operando <Float> rhsScales, Operando <Integer> rhsZeroPoints, Operando <Float > outputScales, Operando <Integer> outputZeroPoints, Class<U> Tout, String padding, Long lhsQuantizationMinVal, Long lhsQuantizationMaxVal, Long rhsQuantizationMinVal, Long rhsQuantizationMaxVal, Long outputQuantizationMinVal, Long outputQuantizationMaxVal, Opções... opções)

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

Parâmetros
escopo escopo atual
lhs Deve ser um tensor quantizado, classificação >= 3.
rh Deve ser um tensor quantizado, mesma classificação de `lhs`.
lhsEscalas O(s) valor(es) flutuante(s) usado(s) como fatores de escala ao quantizar os dados originais que `lhs` representa. Deve ser um `Tensor` escalar (`lhs` suporta apenas quantização por tensor).
lhsZeroPontos O(s) valor(es) int32 usados ​​como pontos zero ao quantizar os dados originais que `lhs` representa. Mesma condição de forma que `lhs_scales`.
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 usados ​​como pontos zero ao quantizar os dados originais que `rhs` representa. Mesma condição de forma que `rhs_scales`.
escalas de saída Os valores flutuantes a serem usados ​​como fatores de escala ao quantizar os dados originais que `output` representa. Deve ser um `Tensor` escalar para quantização por tensor, ou `Tensor` 1D de tamanho `rhs.dim_size(kernel_output_feature_dimension)` - que é igual a `output.dim_size(output_feature_dimension)`, para quantização por canal. Se `rhs` for quantizado por tensor, a saída também deve ser quantizada por tensor. Isso significa que se `rhs_scales` e `rhs_zero_points` são `Tensor`s escalares, `output_scales` e `output_zero_points` devem ser `Tensor`s escalares também.
saídaZeroPoints Os valores int32 usados ​​como pontos zero ao quantizar os dados originais que a saída representa. Mesma condição de forma que `output_scales`.
Anunciante O tipo de `saída` `Tensor`.
preenchimento string de: `"SAME"`, `"VALID"` ou `"EXPLICIT"`, indicando o tipo de algoritmo de preenchimento a ser usado.
lhsQuantizaçãoMinVal O valor mínimo dos dados quantizados armazenados em `lhs`. Por exemplo, se `Tin` for `qint8`, deve ser definido como -127 se for quantizado em faixa estreita ou -128 se não for.
lhsQuantizaçãoMaxVal O valor máximo dos dados quantizados armazenados em `lhs`. Por exemplo, se `Tin` for `qint8`, deverá ser definido como 127.
rhsQuantizaçãoMinVal O valor mínimo dos dados quantizados armazenados em `rhs`. Por exemplo, se `Tin` 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 `Tin` for `qint8`, deverá ser definido como 127.
saídaQuantizaçãoMinVal O valor mínimo dos dados quantizados armazenados em `output`. Por exemplo, se `Tout` for `qint8`, deve ser definido como -127 se for quantizado em faixa estreita ou -128 se não for.
saídaQuantizaçãoMaxVal O valor máximo dos dados quantizados armazenados em `output`. Por exemplo, se `Tout` for `qint8`, deverá ser definido como 127.
opções carrega valores de atributos opcionais
Devoluções
  • uma nova instância de UniformQuantizedConvolution

public static UniformQuantizedConvolution.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 UniformQuantizedConvolution.Options explicitPadding (List<Long> explicitPadding)

Parâmetros
explícitoPadding Se `padding` 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, deverá estar vazio.

(Se usado,) Deve ser uma lista de tamanho `2 * (número de dimensões espaciais lhs)`, onde `(explicit_padding[2 * i], explicit_padding[2 * i + 1])` indica `(start_padding, end_padding) ` de `dimensões_espaciais[i]`.

público estático UniformQuantizedConvolution.Options featureGroupCount (long featureGroupCount)

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 UniformQuantizedConvolution.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.

público estático UniformQuantizedConvolution.Options lhsQuantizationAxis (lhsQuantizationAxis longo)

Parâmetros
lhsQuantizationAxis 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 `lhs`, apenas a quantização por tensor é suportada. Portanto, isso deve ser definido como -1. Outros valores gerarão erros na construção do OpKernel.

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

O tensor quantizado de saída de `Tout`, mesma classificação de `lhs` e `rhs`.

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

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

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

public static UniformQuantizedConvolution.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.