UniformQuantizedConvolution

public final class UniformQuantizedConvolution

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

Dado `lhs` quantizado e `rhs` quantizado, executa ponto quantizado em `lhs` e `rhs` para fazer `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.
estática UniformQuantizedConvolution.Options
batchGroupCount (Long batchGroupCount)
static <U, T> 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, Options... options)
Método de fábrica para criar uma classe envolvendo uma nova operação UniformQuantizedConvolution.
estática UniformQuantizedConvolution.Options
dimensionNumbers (String dimensionNumbers)
estática UniformQuantizedConvolution.Options
explicitPadding (List<Long> explicitPadding)
estática UniformQuantizedConvolution.Options
featureGroupCount (Long featureGroupCount)
estática UniformQuantizedConvolution.Options
lhsDilation (List<Long> lhsDilation)
estática UniformQuantizedConvolution.Options
lhsQuantizationAxis (Longo lhsQuantizationAxis)
Saída <U>
saída ()
O tensor quantizado de saída de `Tout`, mesmo nível de `lhs` e `rhs`.
estática UniformQuantizedConvolution.Options
outputQuantizationAxis (Long outputQuantizationAxis)
estática UniformQuantizedConvolution.Options
rhsDilation (List<Long> rhsDilation)
estática UniformQuantizedConvolution.Options
rhsQuantizationAxis (Long rhsQuantizationAxis)
estática UniformQuantizedConvolution.Options
windowStrides (List<Long> windowStrides)

Métodos Herdados

Métodos públicos

public Output <U> asOutput ()

Retorna o identificador simbólico de um tensor.

As entradas para as 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 a computação da entrada.

public static UniformQuantizedConvolution.Options batchGroupCount (Long batchGroupCount)

Parâmetros
batchGroupCount O número de grupos de lotes. 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, Operand <Integer> outputZeroPoints, Class<U> Tout, String padding, Long lhsQuantizationMinVal, Long lhsQuantizationMaxVal, Long rhsQuantizationMinVal, Long rhsQuantizationMaxVal, Long outputQuantizationMinVal, Long outputQuantizationMaxVal, Options... options)

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

Parâmetros
escopo escopo atual
lhs Deve ser um tensor quantizado, classificação >= 3.
rhs Deve ser um tensor quantizado, de mesma classificação que `lhs`.
lhsScales Os valores flutuantes usados ​​como fatores de escala ao quantizar os dados originais que `lhs` representa. Deve ser um `Tensor` escalar (`lhs` suporta apenas quantização por tensor).
lhsZeroPoints O(s) valor(es) int32 usado(s) como ponto zero ao quantizar os dados originais que `lhs` representa. Mesma condição de forma que `lhs_scales`.
rhsScales Os valores flutuantes usados ​​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.
rhsZeroPoints 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`.
escalas de saída Os valores flutuantes a serem usados ​​como fatores de escala ao quantizar os dados originais que a `saída` 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` também devem ser `Tensor`s escalares.
outputZeroPoints 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`.
Tout O tipo de `saída` `Tensor`.
preenchimento string de: `"SAME"`, `"VALID"`, ou `"EXPLICIT"`, indicando o tipo de algoritmo de preenchimento a ser usado.
lhsQuantizationMinVal O valor mínimo dos dados quantizados armazenados em `lhs`. Por exemplo, se `Tin` for `qint8`, deve ser definido como -127 se a faixa estreita for quantizada ou -128 se não for.
lhsQuantizationMaxVal O valor máximo dos dados quantizados armazenados em `lhs`. Por exemplo, se `Tin` for `qint8`, deve ser definido como 127.
rhsQuantizationMinVal O valor mínimo dos dados quantizados armazenados em `rhs`. Por exemplo, se `Tin` for `qint8`, deve ser definido como -127 se a faixa estreita for quantizada ou -128 se não for.
rhsQuantizationMaxVal O valor máximo dos dados quantizados armazenados em `rhs`. Por exemplo, se `Tin` for `qint8`, deve ser definido como 127.
outputQuantizationMinVal O valor mínimo dos dados quantizados armazenados em `output`. Por exemplo, se `Tout` for `qint8`, deve ser definido como -127 se a faixa estreita for quantizada ou -128 se não for.
outputQuantizationMaxVal O valor máximo dos dados quantizados armazenados em `output`. Por exemplo, se `Tout` for `qint8`, deve 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
números de dimensão Estrutura das 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 for string vazia, o padrão é `("NCHW", "OIHW", "NCHW")` (para uma convolução 2D).

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

Parâmetros
preenchimento explícito 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, deve 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 `spatial_dimensions[i]`.

public static UniformQuantizedConvolution.Options featureGroupCount (Long featureGroupCount)

Parâmetros
featureGroupCount 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
lhs Dilatação O fator de dilatação a ser aplicado 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.

public static UniformQuantizedConvolution.Options lhsQuantizationAxis (Long lhsQuantizationAxis)

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

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

O tensor quantizado de saída de `Tout`, mesmo nível de `lhs` e `rhs`.

public static UniformQuantizedConvolution.Options outputQuantizationAxis (Long outputQuantizationAxis)

Parâmetros
outputQuantizationAxis 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), isso 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, isso deve ser definido como -1 ou `dimension_numbers.output_feature_dimension`. Outros valores aumentarão o erro na construção do OpKernel.

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

Parâmetros
rhs Dilataçã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.

public static UniformQuantizedConvolution.Options rhsQuantizationAxis (Long rhsQuantizationAxis)

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

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

Parâmetros
windowStrides O passo 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 uma lista vazia for fornecida, o passo para cada dimensão espacial é definido como 1.