Realiza un agrupamiento máximo fraccional en la entrada.
La agrupación máxima fraccionada es ligeramente diferente a la agrupación máxima normal. En la agrupación máxima normal, se reduce el tamaño de un conjunto de entrada tomando el valor máximo de las subsecciones N x N más pequeñas del conjunto (a menudo 2x2) y se intenta reducir el conjunto en un factor de N, donde N es un número entero. La agrupación máxima fraccionada, como podría esperarse de la palabra "fraccional", significa que la tasa de reducción general N no tiene que ser un número entero.
Los tamaños de las regiones de agrupación se generan aleatoriamente pero son bastante uniformes. Por ejemplo, veamos la dimensión de la altura y las restricciones en la lista de filas que serán los límites del grupo.
Primero definimos lo siguiente:
1. input_row_length: la cantidad de filas del conjunto de entrada 2. output_row_length: que será menor que la entrada 3. alpha = input_row_length / output_row_length: nuestra relación de reducción 4. K = piso (alpha) 5. row_pooling_sequence: este es el resultado lista de filas de límites de la piscina
Entonces, row_pooling_sequence debería satisfacer:
1. a [0] = 0: el primer valor de la secuencia es 0 2. a [end] = input_row_length: el último valor de la secuencia es el tamaño 3. K <= (a [i + 1] - a [ i]) <= K + 1: todos los intervalos son K o K + 1 tamaño 4. length (row_pooling_sequence) = output_row_length + 1
Para obtener más detalles sobre la agrupación máxima fraccionada, consulte este documento: [Benjamin Graham, Fractional Max-Pooling] (http://arxiv.org/abs/1412.6071)
Clases anidadas
clase | Opciones FractionalMaxPool.Options | Los atributos opcionales para FractionalMaxPool |
Constantes
Cuerda | OP_NAME | El nombre de esta operación, como lo conoce el motor central de TensorFlow |
Métodos públicos
Salida < TInt64 > | colPoolingSequence () secuencia de agrupación de columnas, necesaria para calcular el gradiente. |
estática <T se extiende TNumber > FractionalMaxPool <T> | crear ( Alcance alcance, operando <T> valor, List <Float> poolingRatio, Opciones ... Opciones) Método de fábrica para crear una clase que envuelva una nueva operación FractionalMaxPool. |
estáticas FractionalMaxPool.Options | determinista (determinista Boolean) |
Salida <T> | salida () tensor de salida después de la agrupación máxima fraccional. |
estáticas FractionalMaxPool.Options | la superposición (Boolean solapamiento) |
estáticas FractionalMaxPool.Options | pseudoaleatorio (Boolean pseudoaleatorio) |
Salida < TInt64 > | rowPoolingSequence () secuencia de agrupación de filas, necesaria para calcular el gradiente. |
estáticas FractionalMaxPool.Options | semilla (semilla de larga duración) |
estáticas FractionalMaxPool.Options | seed2 (Long seed2) |
Métodos heredados
Constantes
OP_NAME pública final static String
El nombre de esta operación, como lo conoce el motor central de TensorFlow
Métodos públicos
pública de salida < TInt64 > colPoolingSequence ()
secuencia de agrupación de columnas, necesaria para calcular el gradiente.
public static FractionalMaxPool <T> crear ( Alcance alcance, operando <T> valor, List <Float> poolingRatio, Opciones ... Opciones)
Método de fábrica para crear una clase que envuelva una nueva operación FractionalMaxPool.
Parámetros
alcance | alcance actual |
---|---|
valor | 4-D con forma `[lote, altura, ancho, canales]`. |
poolingRatio | Relación de agrupación para cada dimensión de "valor", actualmente solo admite la dimensión de fila y columna y debe ser> = 1.0. Por ejemplo, una proporción de agrupación válida se parece a [1.0, 1.44, 1.73, 1.0]. El primer y último elemento deben ser 1.0 porque no permitimos la agrupación en las dimensiones de lote y canales. 1,44 y 1,73 son la relación de agrupación en las dimensiones de altura y anchura, respectivamente. |
opciones | lleva valores de atributos opcionales |
Devoluciones
- una nueva instancia de FractionalMaxPool
estáticas pública FractionalMaxPool.Options determinista (determinista booleana)
Parámetros
determinista | Cuando se establece en True, se utilizará una región de agrupación fija al iterar sobre un nodo FractionalMaxPool en el gráfico de cálculo. Se utiliza principalmente en pruebas unitarias para hacer que FractionalMaxPool sea determinista. |
---|
estáticas pública FractionalMaxPool.Options superpuestas (booleano superposición)
Parámetros
superposición | Cuando se establece en Verdadero, significa que al agrupar, ambas celdas utilizan los valores en el límite de las celdas de agrupación adyacentes. Por ejemplo: `índice 0 1 2 3 4` `valor 20 5 16 3 7` Si la secuencia de agrupación es [0, 2, 4], se utilizará dos veces 16 en el índice 2. El resultado sería [20, 16] para la agrupación máxima fraccionada. |
---|
public static FractionalMaxPool.Options pseudoaleatoria (booleano pseudoaleatorio)
Parámetros
pseudoRandom | Cuando se establece en Verdadero, genera la secuencia de agrupación de forma pseudoaleatoria; de lo contrario, de forma aleatoria. Revise el papel [Benjamin Graham, Fractional Max-Pooling] (http://arxiv.org/abs/1412.6071) para ver la diferencia entre pseudoaleatorio y aleatorio. |
---|
pública de salida < TInt64 > rowPoolingSequence ()
secuencia de agrupación de filas, necesaria para calcular el gradiente.
public static FractionalMaxPool.Options semilla (semilla de larga duración)
Parámetros
semilla | Si la semilla o semilla2 se establecen en un valor distinto de cero, el generador de números aleatorios es sembrado por la semilla dada. De lo contrario, es sembrado por una semilla aleatoria. |
---|
public static FractionalMaxPool.Options seed2 (Long seed2)
Parámetros
semilla2 | Una segunda semilla para evitar la colisión de semillas. |
---|