UniformQuantizedConvolutionHybrid

clase final pública UniformQuantizedConvolutionHybrid

Realice una convolución cuantificada híbrida del tensor flotante `lhs` y el tensor cuantificado `rhs`.

Dado el `lhs` flotante y el `rhs` cuantificado, internamente realiza la cuantificación en `lhs` y luego realiza la convolución cuantificada en `lhs` y `rhs` cuantificados.

La cuantificación interna en `lhs` es una cuantificación a `Trhs`, rango dinámico, por lote (por eje a lo largo del eje `dimension_numbers.input_batch_dimension`), asimétrico y no de rango estrecho (el rango es [Trhs_MIN, Trhs_MAX]) .

`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 % lote_group_count == 0 - rhs_output_feature % lote_group_count == 0

`rhs` debe ser un tensor cuantificado, donde su valor de datos se cuantifica usando la fórmula: datos_cuantizados = clip(datos_originales / escala + punto_cero, val_min_cuantización, val_max_cuantización).

Clases anidadas

clase UniformQuantizedConvolutionHybrid.Options Atributos opcionales para UniformQuantizedConvolutionHybrid

Métodos públicos

Salida <V>
como salida ()
Devuelve el identificador simbólico de un tensor.
Estático UniformQuantizedConvolutionHybrid.Options
BatchGroupCount (BatchGroupCount largo)
estático <V extiende el número, T extiende el número, U> UniformQuantizedConvolutionHybrid <V>
crear ( alcance alcance , Operando <T> lhs, Operando <U> rhs, Operando <Float> rhsScales, Operando <Integer> rhsZeroPoints, Class<V> Tout, String padding, Long rhsQuantizationMinVal, Long rhsQuantizationMaxVal, Opciones... opciones)
Método de fábrica para crear una clase que envuelve una nueva operación UniformQuantizedConvolutionHybrid.
Estático UniformQuantizedConvolutionHybrid.Options
dimensionNumbers (Dimensión de cadenaNumbers)
Estático UniformQuantizedConvolutionHybrid.Options
explícitoPadding (Lista<Long> explícitoPadding)
Estático UniformQuantizedConvolutionHybrid.Options
featureGroupCount (cuenta de grupo de características larga)
Estático UniformQuantizedConvolutionHybrid.Options
lhsDilation (Lista<Long> lhsDilation)
Salida <V>
producción ()
El tensor de salida de "Tout", el mismo rango que "lhs" y "rhs".
Estático UniformQuantizedConvolutionHybrid.Options
rhsDilation (Lista<Long> rhsDilation)
Estático UniformQuantizedConvolutionHybrid.Options
rhsQuantizationAxis (rhsQuantizationAxis largo)
Estático UniformQuantizedConvolutionHybrid.Options
windowStrides (Lista<Largo> windowStrides)

Métodos heredados

Métodos públicos

Salida pública <V> 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.

público estático UniformQuantizedConvolutionHybrid.Options 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.

público estático UniformQuantizedConvolutionHybrid <V> crear ( Alcance alcance, Operando <T> lhs, Operando <U> rhs, Operando <Float> rhsScales, Operando <Integer> rhsZeroPoints, Clase<V> Tout, relleno de cadena, rhsQuantizationMinVal largo, rhsQuantizationMaxVal largo, Opciones... opciones)

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

Parámetros
alcance alcance actual
lhs Debe ser un tensor no cuantificado de `Tlhs`, rango >= 3.
derecho Debe ser un tensor cuantificado de "Trhs", del mismo rango que "lhs".
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 punto_cero al cuantificar los datos originales que representa "rhs". Misma condición de forma que `rhs_scales`.
Revendedor El tipo de tensor de salida.
relleno cadena de: `"SAME"`, `"VALID"` o `"EXPLICIT"`, que indica el tipo de algoritmo de relleno a utilizar.
rhsCuantizaciónMinVal El valor mínimo de los datos cuantificados almacenados en "rhs". Por ejemplo, si `Trhs` 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 `Trhs` es qint8, debe establecerse en 127.
opciones lleva valores de atributos opcionales
Devoluciones
  • una nueva instancia de UniformQuantizedConvolutionHybrid

público estático UniformQuantizedConvolutionHybrid.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).

público estático UniformQuantizedConvolutionHybrid.Options explicitPadding (List<Long> explicitPadding)

Parámetros
explícitoRelleno Si el atributo `padding` es `"EXPLICIT"`, debe establecerse como una lista que indique los rellenos explícitos al inicio y al final de cada dimensión espacial izquierda. De lo contrario, este atributo 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 dimensiones_espaciales[i] (start_padding, end_padding).

público estático UniformQuantizedConvolutionHybrid.Options featureGroupCount (Long featureGroupCount)

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.

público estático UniformQuantizedConvolutionHybrid.Options 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 izquierdas). Si la lista está vacía, la dilatación de cada dimensión espacial izquierda se establece en 1.

Salida pública <V> salida ()

El tensor de salida de "Tout", el mismo rango que "lhs" y "rhs". Los datos de salida son los datos de salida no cuantificados.

pública estática UniformQuantizedConvolutionHybrid.Options 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 derechas). Si la lista está vacía, la dilatación de cada dimensión espacial rhs se establece en 1.

público estático UniformQuantizedConvolutionHybrid.Options rhsQuantizationAxis (Long rhsQuantizationAxis)

Parámetros
rhsQuantizationAxis 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, este atributo debe establecerse en -1 o `dimension_numbers.kernel_output_feature_dimension`. Otros valores generarán errores en la construcción de OpKernel.

público estático UniformQuantizedConvolutionHybrid.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.