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