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