UniformQuantizedConvolution

clase final pública UniformQuantizedConvolution

Realice una convolución cuantificada del tensor cuantificado `lhs` y del tensor cuantificado `rhs`. para generar una "salida" cuantificada.

Dados "lhs" y "rhs" cuantificados, realiza un punto cuantificado en "lhs" y "rhs" para generar una "salida" cuantificada.

`lhs` y `rhs` deben ser tensores del mismo rango y cumplir las siguientes condiciones 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` y `rhs` deben cuantificarse como tensor, donde el valor de los datos se cuantifica mediante la fórmula:

quantized_data = clip(original_data / scale + zero_point, quantization_min_val, quantization_max_val)
 
La `salida` también se cuantifica mediante la misma fórmula. Si "rhs" está cuantificado por tensor, "output" también debe estar cuantificado por tensor.

Clases anidadas

clase Opciones de convolución cuantificada uniforme Atributos opcionales para UniformQuantizedConvolution

Métodos públicos

Salida <U>
como salida ()
Devuelve el identificador simbólico de un tensor.
Estático UniformQuantizedConvolution.Options
BatchGroupCount (BatchGroupCount largo)
estática <U, T> UniformQuantizedConvolution <U>
crear ( Alcance alcance, Operando <T> lhs, Operando <T> rhs, Operando <Float> lhsScales, Operando <Entero> lhsZeroPoints, Operando <Float> rhsScales, Operando <Entero> rhsZeroPoints, Operando <Float> escalas de salida, Operando <Entero > salidaZeroPoints, Class<U> Tout, relleno de cadena, Long lhsQuantizationMinVal, Long lhsQuantizationMaxVal, Long rhsQuantizationMinVal, Long rhsQuantizationMaxVal, Long OutputQuantizationMinVal, Long OutputQuantizationMaxVal, Opciones... opciones)
Método de fábrica para crear una clase que envuelve una nueva operación UniformQuantizedConvolution.
Estático UniformQuantizedConvolution.Options
dimensionNumbers (Dimensión de cadenaNumbers)
Estático UniformQuantizedConvolution.Options
explícitoPadding (Lista<Long> explícitoPadding)
Estático UniformQuantizedConvolution.Options
featureGroupCount (cuenta de grupo de características larga)
Estático UniformQuantizedConvolution.Options
lhsDilation (Lista<Long> lhsDilation)
Estático UniformQuantizedConvolution.Options
lhsQuantizationAxis (largo lhsQuantizationAxis)
Salida <U>
producción ()
El tensor cuantificado de salida de "Tout", el mismo rango que "lhs" y "rhs".
Estático UniformQuantizedConvolution.Options
OutputQuantizationAxis (eje de cuantificación de salida largo)
Estático UniformQuantizedConvolution.Options
rhsDilation (Lista<Long> rhsDilation)
Estático UniformQuantizedConvolution.Options
rhsQuantizationAxis (rhsQuantizationAxis largo)
Estático UniformQuantizedConvolution.Options
windowStrides (Lista<Largo> windowStrides)

Métodos heredados

Métodos públicos

Salida pública <U> como Salida ()

Devuelve el identificador simbólico de un tensor.

Las entradas a las operaciones de TensorFlow son salidas de otra operación de TensorFlow. Este método se utiliza para obtener un identificador simbólico que representa el cálculo de la entrada.

UniformQuantizedConvolution.Options estático público BatchGroupCount (Long BatchGroupCount)

Parámetros
loteGrupoRecuento El número de grupos de lotes. Se utiliza para filtros agrupados. Debe ser un divisor de `output_feature`.

public static UniformQuantizedConvolution <U> create ( Alcance alcance, Operando <T> lhs, Operando <T> rhs, Operando <Float> lhsScales, Operando <Integer> lhsZeroPoints, Operando <Float> rhsScales, Operando <Integer> rhsZeroPoints, Operando <Float > escalas de salida, operando <entero> salidaCeropuntos, clase<U> Tout, relleno de cadena, lhsQuantizationMinVal largo, lhsQuantizationMaxVal largo, rhsQuantizationMinVal largo, rhsQuantizationMaxVal largo, QuantizationMinVal de salida largo, QuantizationMaxVal de salida largo, Opciones... opciones)

Método de fábrica para crear una clase que envuelve una nueva operación UniformQuantizedConvolution.

Parámetros
alcance alcance actual
lhs Debe ser un tensor cuantificado, rango >= 3.
derecho Debe ser un tensor cuantificado, del mismo rango que "lhs".
lhsEscalas Los valores flotantes utilizados como factores de escala al cuantificar los datos originales que representa "lhs". Debe ser un `Tensor` escalar (`lhs` solo admite cuantificación por tensor).
lhsCeroPuntos Los valores int32 utilizados como puntos cero al cuantificar los datos originales que representa "lhs". Misma condición de forma que `lhs_scales`.
rhsEscalas Los valores flotantes utilizados como factores de escala al cuantificar los datos originales que representa "rhs". Debe ser un `Tensor` escalar para la cuantización por tensor, o un `Tensor` 1D de tamaño `rhs.dim_size(kernel_output_feature_dimension)`, para la cuantización por canal.
rhsCeroPuntos Los valores int32 utilizados como puntos cero al cuantificar los datos originales que representa "rhs". Misma condición de forma que `rhs_scales`.
escalas de salida Los valores flotantes que se utilizarán como factores de escala al cuantificar los datos originales que representa la "salida". Debe ser un `Tensor` escalar para la cuantización por tensor, o un `Tensor` 1D de tamaño `rhs.dim_size(kernel_output_feature_dimension)`, que es igual a `output.dim_size(output_feature_dimension)`, para la cuantización por canal. Si "rhs" está cuantificado por tensor, la salida también debe estar cuantificada por tensor. Esto significa que si `rhs_scales` y `rhs_zero_points` son `tensores` escalares, `output_scales` y `output_zero_points` también deben ser `tensores` escalares.
salidaCeroPuntos Los valores int32 utilizados como puntos cero al cuantificar los datos originales que representa la salida. Misma condición de forma que `output_scales`.
Revendedor El tipo de `salida` `Tensor`.
relleno cadena de: `"SAME"`, `"VALID"` o `"EXPLICIT"`, que indica el tipo de algoritmo de relleno a utilizar.
lhsCuantizaciónMinVal El valor mínimo de los datos cuantificados almacenados en "lhs". Por ejemplo, si `Tin` es `qint8`, debe establecerse en -127 si se cuantifica un rango estrecho o -128 en caso contrario.
lhsCuantizaciónMaxVal El valor máximo de los datos cuantificados almacenados en `lhs`. Por ejemplo, si "Tin" es "qint8", debe establecerse en 127.
rhsCuantizaciónMinVal El valor mínimo de los datos cuantificados almacenados en "rhs". Por ejemplo, si `Tin` es `qint8`, debe establecerse en -127 si se cuantifica un rango estrecho o -128 en caso contrario.
rhsQuantizationMaxVal El valor máximo de los datos cuantificados almacenados en "rhs". Por ejemplo, si "Tin" es "qint8", debe establecerse en 127.
salidaCuantizaciónMinVal El valor mínimo de los datos cuantificados almacenados en "salida". Por ejemplo, si `Tout` es `qint8`, se debe establecer en -127 si se cuantifica un rango estrecho o -128 en caso contrario.
salidaQuantizationMaxVal El valor máximo de los datos cuantificados almacenados en "salida". Por ejemplo, si "Tout" es "qint8", debe establecerse en 127.
opciones lleva valores de atributos opcionales
Devoluciones
  • una nueva instancia de UniformQuantizedConvolution

público estático UniformQuantizedConvolution.Options dimensionNumbers (String dimensionNumbers)

Parámetros
dimensiónNúmeros Estructura de la información de dimensiones para la operación de convolución. Debe ser una cadena vacía (predeterminada) o una cadena serializada del proto `tensorflow.UniformQuantizedConvolutionDimensionNumbersAttr`. Si la cadena está vacía, el valor predeterminado es `("NCHW", "OIHW", "NCHW")` (para una convolución 2D).

UniformQuantizedConvolution.Options estático público explícitoPadding (List<Long> explícitoPadding)

Parámetros
explícitoRelleno Si `padding` es `"EXPLICIT"`, debe establecerse como una lista que indique los rellenos explícitos al inicio y al final de cada dimensión espacial `lhs`. De lo contrario, debe estar vacío.

(Si se usa,) Debe ser una lista de tamaño `2 * (número de dimensiones espaciales izquierdas)`, donde `(explicit_padding[2 * i], explicit_padding[2 * i + 1])` indica `(start_padding, end_padding) ` de `dimensiones_espaciales[i]`.

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

Parámetros
característicaGrupoRecuento El número de grupos de características. Se utiliza para convoluciones agrupadas. Debe ser un divisor tanto de `lhs_feature` como de `output_feature`.

UniformQuantizedConvolution.Options estático público lhsDilation (List<Long> lhsDilation)

Parámetros
lhsDilatación El factor de dilatación a aplicar en cada dimensión espacial de `lhs`. Debe ser una lista vacía (predeterminada) o una lista de tamaño (número de dimensiones espaciales `lhs`). Si la lista está vacía, la dilatación de cada dimensión espacial "lhs" se establece en 1.

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

Parámetros
lhsCuantizaciónEje Indica el índice de dimensión del tensor donde se aplica la cuantificación por eje para los cortes a lo largo de esa dimensión. Si se establece en -1 (predeterminado), esto indica cuantización por tensor. Para `lhs`, solo se admite la cuantificación por tensor. Por lo tanto, debe establecerse en -1. Otros valores generarán errores en la construcción de OpKernel.

Salida pública <U> salida ()

El tensor cuantificado de salida de "Tout", el mismo rango que "lhs" y "rhs".

público estático UniformQuantizedConvolution.Options salidaQuantizationAxis (salida largaQuantizationAxis)

Parámetros
salidaCuantizaciónEje Indica el índice de dimensión del tensor donde se aplica la cuantificación por eje para los cortes a lo largo de esa dimensión. Si se establece en -1 (predeterminado), esto indica cuantización por tensor. Para la "salida", solo se admite la cuantificación por tensor o por canal a lo largo de "output_feature_dimension". Por lo tanto, esto debe establecerse en -1 o `dimension_numbers.output_feature_dimension`. Otros valores generarán errores en la construcción de OpKernel.

UniformQuantizedConvolution.Options estático público rhsDilation (List<Long> rhsDilation)

Parámetros
rhsDilatación El factor de dilatación a aplicar en cada dimensión espacial de `rhs`. Debe ser una lista vacía (predeterminada) o una lista de tamaño (número de dimensiones espaciales "rhs"). Si la lista está vacía, la dilatación de cada dimensión espacial "rhs" se establece en 1.

Public Static UniformQuantizedConvolution.Options rhsQuantizationAxis (Largo rhsQuantizationAxis)

Parámetros
rhsCuantizaciónAxis Indica el índice de dimensión del tensor donde se aplica la cuantificación por eje para los cortes a lo largo de esa dimensión. Si se establece en -1 (predeterminado), esto indica cuantización por tensor. Para `rhs`, solo se admite la cuantificación por tensor o por canal a lo largo de `kernel_output_feature_dimension`. Por lo tanto, esto debe establecerse en -1 o `dimension_numbers.kernel_output_feature_dimension`. Otros valores generarán errores en la construcción de OpKernel.

Public Static UniformQuantizedConvolution.Options windowStrides (List<Long> windowStrides)

Parámetros
ventanazancadas El paso de la ventana corredera para cada dimensión espacial de `lhs`. Debe ser una lista vacía (predeterminada) o una lista de tamaño (número de dimensiones espaciales). Si se proporciona una lista vacía, el paso para cada dimensión espacial se establece en 1.