Execute a convolução quantizada híbrida do Tensor `lhs` flutuante e do Tensor `rhs` quantizado.
Dado float `lhs` e quantizado `rhs`, realiza quantização internamente em `lhs` e, em seguida, executa 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 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 quantizado Tensor, 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 (Long batchGroupCount) |
static <V estende o número, T estende o número, U> UniformQuantizedConvolutionHybrid <V> | create ( Scope scope, Operando <T> lhs, Operando <U> rhs, Operando <Float> rhsScales, Operando <Integer> rhsZeroPoints, Class<V> Tout, String padding, Long rhsQuantizationMinVal, Long rhsQuantizationMaxVal, Options... options) Método de fábrica para criar uma classe envolvendo uma nova operação UniformQuantizedConvolutionHybrid. |
estático UniformQuantizedConvolutionHybrid.Options | dimensionNumbers (String dimensionNumbers) |
estático UniformQuantizedConvolutionHybrid.Options | explicitPadding (List<Long> explicitPadding) |
estático UniformQuantizedConvolutionHybrid.Options | featureGroupCount (Long featureGroupCount) |
estático UniformQuantizedConvolutionHybrid.Options | lhsDilation (List<Long> lhsDilation) |
Saída <V> | saída () O Tensor de saída de `Tout`, mesmo rank que `lhs` e `rhs`. |
estático UniformQuantizedConvolutionHybrid.Options | rhsDilation (List<Long> rhsDilation) |
estático UniformQuantizedConvolutionHybrid.Options | rhsQuantizationAxis (Long rhsQuantizationAxis) |
estático UniformQuantizedConvolutionHybrid.Options | windowStrides (List<Long> windowStrides) |
Métodos Herdados
Métodos públicos
public Output <V> 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 UniformQuantizedConvolutionHybrid.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 UniformQuantizedConvolutionHybrid <V> create ( Scope scope, Operand <T> lhs, Operand <U> rhs, Operand <Float> rhsScales, Operand <Integer> rhsZeroPoints, Class<V> Tout, String padding, Long rhsQuantizationMinVal, Long rhsQuantizationMaxVal, Opções... opções)
Método de fábrica para criar uma classe envolvendo uma nova operação UniformQuantizedConvolutionHybrid.
Parâmetros
escopo | escopo atual |
---|---|
lhs | Deve ser um tensor não quantizado de `Tlhs`, classificação >= 3. |
rhs | Deve ser um Tensor quantizado de `Trhs`, mesmo nível de `lhs`. |
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 zero_point ao quantizar os dados originais que `rhs` representa. Mesma condição de forma que `rhs_scales`. |
Tout | O tipo de Tensor de saída. |
preenchimento | string de: `"SAME"`, `"VALID"`, ou `"EXPLICIT"`, indicando o tipo de algoritmo de preenchimento a ser usado. |
rhsQuantizationMinVal | O valor mínimo dos dados quantizados armazenados em `rhs`. Por exemplo, se `Trhs` 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 `Trhs` for qint8, deve 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
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 de tensorflow.UniformQuantizedConvolutionDimensionNumbersAttr proto. Se for string vazia, o padrão é `("NCHW", "OIHW", "NCHW")` (para uma convolução 2D). |
---|
public static UniformQuantizedConvolutionHybrid.Options explicitPadding (List<Long> explicitPadding)
Parâmetros
preenchimento explícito | 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 (explicit_padding[2 * i], explicit_padding[2 * i + 1]) indica space_dimensions[i] (start_padding, end_padding). |
---|
public static UniformQuantizedConvolutionHybrid.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 UniformQuantizedConvolutionHybrid.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. |
---|
saída pública <V> saída ()
O Tensor de saída de `Tout`, mesmo rank que `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
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 UniformQuantizedConvolutionHybrid.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. Assim, este atributo 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 UniformQuantizedConvolutionHybrid.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. |
---|
Execute a convolução quantizada híbrida do Tensor `lhs` flutuante e do Tensor `rhs` quantizado.
Dado float `lhs` e quantizado `rhs`, realiza quantização internamente em `lhs` e, em seguida, executa 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 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 quantizado Tensor, 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 (Long batchGroupCount) |
static <V estende o número, T estende o número, U> UniformQuantizedConvolutionHybrid <V> | create ( Scope scope, Operando <T> lhs, Operando <U> rhs, Operando <Float> rhsScales, Operando <Integer> rhsZeroPoints, Class<V> Tout, String padding, Long rhsQuantizationMinVal, Long rhsQuantizationMaxVal, Options... options) Método de fábrica para criar uma classe envolvendo uma nova operação UniformQuantizedConvolutionHybrid. |
estático UniformQuantizedConvolutionHybrid.Options | dimensionNumbers (String dimensionNumbers) |
estático UniformQuantizedConvolutionHybrid.Options | explicitPadding (List<Long> explicitPadding) |
estático UniformQuantizedConvolutionHybrid.Options | featureGroupCount (Long featureGroupCount) |
estático UniformQuantizedConvolutionHybrid.Options | lhsDilation (List<Long> lhsDilation) |
Saída <V> | saída () O Tensor de saída de `Tout`, mesmo rank que `lhs` e `rhs`. |
estático UniformQuantizedConvolutionHybrid.Options | rhsDilation (List<Long> rhsDilation) |
estático UniformQuantizedConvolutionHybrid.Options | rhsQuantizationAxis (Long rhsQuantizationAxis) |
estático UniformQuantizedConvolutionHybrid.Options | windowStrides (List<Long> windowStrides) |
Métodos Herdados
Métodos públicos
public Output <V> 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 UniformQuantizedConvolutionHybrid.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 UniformQuantizedConvolutionHybrid <V> create ( Scope scope, Operand <T> lhs, Operand <U> rhs, Operand <Float> rhsScales, Operand <Integer> rhsZeroPoints, Class<V> Tout, String padding, Long rhsQuantizationMinVal, Long rhsQuantizationMaxVal, Opções... opções)
Método de fábrica para criar uma classe envolvendo uma nova operação UniformQuantizedConvolutionHybrid.
Parâmetros
escopo | escopo atual |
---|---|
lhs | Deve ser um tensor não quantizado de `Tlhs`, classificação >= 3. |
rhs | Deve ser um Tensor quantizado de `Trhs`, mesmo nível de `lhs`. |
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 zero_point ao quantizar os dados originais que `rhs` representa. Mesma condição de forma que `rhs_scales`. |
Tout | O tipo de Tensor de saída. |
preenchimento | string de: `"SAME"`, `"VALID"`, ou `"EXPLICIT"`, indicando o tipo de algoritmo de preenchimento a ser usado. |
rhsQuantizationMinVal | O valor mínimo dos dados quantizados armazenados em `rhs`. Por exemplo, se `Trhs` 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 `Trhs` for qint8, deve 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
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 de tensorflow.UniformQuantizedConvolutionDimensionNumbersAttr proto. Se for string vazia, o padrão é `("NCHW", "OIHW", "NCHW")` (para uma convolução 2D). |
---|
public static UniformQuantizedConvolutionHybrid.Options explicitPadding (List<Long> explicitPadding)
Parâmetros
preenchimento explícito | 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 (explicit_padding[2 * i], explicit_padding[2 * i + 1]) indica space_dimensions[i] (start_padding, end_padding). |
---|
public static UniformQuantizedConvolutionHybrid.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 UniformQuantizedConvolutionHybrid.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. |
---|
saída pública <V> saída ()
O Tensor de saída de `Tout`, mesmo rank que `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
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 UniformQuantizedConvolutionHybrid.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. Assim, este atributo 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 UniformQuantizedConvolutionHybrid.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. |
---|