Executa o pooling máximo fracionário na entrada.
O pool máximo fracionário é ligeiramente diferente do pool máximo regular. No pool máximo regular, você reduz o tamanho de um conjunto de entrada tomando o valor máximo de N x N subseções menores do conjunto (geralmente 2x2) e tenta reduzir o conjunto por um fator de N, onde N é um inteiro. O pooling máximo fracionário, como você pode esperar da palavra "fracionário", significa que a taxa de redução geral N não precisa ser um número inteiro.
Os tamanhos das regiões de pool são gerados aleatoriamente, mas são bastante uniformes. Por exemplo, vamos examinar a dimensão da altura e as restrições na lista de linhas que serão os limites do pool.
Primeiro, definimos o seguinte:
1. input_row_length: o número de linhas do conjunto de entrada 2. output_row_length: que será menor do que a entrada 3. alpha = input_row_length / output_row_length: nossa taxa de redução 4. K = floor (alpha) 5. row_pooling_sequence: este é o resultado lista de linhas de limite da piscina
Então, row_pool_sequence deve satisfazer:
1. a [0] = 0: o primeiro valor da sequência é 0 2. a [end] = input_row_length: o último valor da sequência é o tamanho 3. K <= (a [i + 1] - a [ i]) <= K + 1: todos os intervalos são K ou K + 1 tamanho 4. comprimento (row_pooling_sequence) = output_row_length + 1
Para obter mais detalhes sobre o pool máximo fracionário, consulte este artigo: [Benjamin Graham, Fractional Max-Pooling] (http://arxiv.org/abs/1412.6071)
Classes aninhadas
classe | FractionalMaxPool.Options | Atributos opcionais para FractionalMaxPool |
Constantes
Fragmento | OP_NAME | O nome desta operação, conforme conhecido pelo motor principal TensorFlow |
Métodos Públicos
Output < TInt64 > | colPoolingSequence () sequência de agrupamento de colunas, necessária para calcular o gradiente. |
estática <T estende TNumber > FractionalMaxPool <T> | criar ( Scope escopo, Operando <T> valor, List <float> poolingRatio, Options ... Opções) Método de fábrica para criar uma classe envolvendo uma nova operação FractionalMaxPool. |
estáticos FractionalMaxPool.Options | determinista (booleano determinístico) |
Output <T> | saída () tensor de saída após pooling máximo fracionário. |
estáticos FractionalMaxPool.Options | sobreposição (booleano sobreposição) |
estáticos FractionalMaxPool.Options | pseudo-aleatório (booleano Pseudorandom) |
Output < TInt64 > | rowPoolingSequence () sequência de pooling de linhas, necessária para calcular o gradiente. |
estáticos FractionalMaxPool.Options | sementes (semente Long) |
estáticos FractionalMaxPool.Options | seed2 (seed2 Long) |
Métodos herdados
Constantes
nome_op final String public static
O nome desta operação, conforme conhecido pelo motor principal TensorFlow
Métodos Públicos
pública Output < TInt64 > colPoolingSequence ()
sequência de agrupamento de colunas, necessária para calcular o gradiente.
public static FractionalMaxPool <T> create ( Scope escopo, Operando <T> valor, List <float> poolingRatio, Options ... Opções)
Método de fábrica para criar uma classe envolvendo uma nova operação FractionalMaxPool.
Parâmetros
alcance | escopo atual |
---|---|
valor | 4-D com forma `[lote, altura, largura, canais]`. |
poolingRatio | A proporção de pooling para cada dimensão de `valor`, atualmente suporta apenas dimensão de linha e coluna e deve ser> = 1,0. Por exemplo, uma proporção de agrupamento válida se parece com [1,0, 1,44, 1,73, 1,0]. O primeiro e o último elementos devem ser 1,0, porque não permitimos o agrupamento em dimensões de lote e canais. 1,44 e 1,73 são a proporção de pool nas dimensões de altura e largura, respectivamente. |
opções | carrega valores de atributos opcionais |
Devoluções
- uma nova instância de FractionalMaxPool
public static FractionalMaxPool.Options determinista (determinista Boolean)
Parâmetros
determinista | Quando definido como True, uma região de pool fixa será usada ao iterar sobre um nó FractionalMaxPool no gráfico de computação. Usado principalmente em teste de unidade para tornar FractionalMaxPool determinístico. |
---|
public static FractionalMaxPool.Options sobrepostas (Boolean sobreposição)
Parâmetros
sobreposto | Quando definido como True, significa que, ao agrupar, os valores no limite das células de agrupamento adjacentes são usados por ambas as células. Por exemplo: `índice 0 1 2 3 4` `valor 20 5 16 3 7` Se a sequência de agrupamento for [0, 2, 4], então 16, no índice 2, será usado duas vezes. O resultado seria [20, 16] para pooling máximo fracionário. |
---|
public static FractionalMaxPool.Options pseudo-aleatórios (Boolean pseudo-aleatórios)
Parâmetros
pseudoRandom | Quando definido como True, gera a sequência de agrupamento de forma pseudo-aleatória, caso contrário, de forma aleatória. Verifique o papel [Benjamin Graham, Fractional Max-Pooling] (http://arxiv.org/abs/1412.6071) para diferenças entre pseudo-aleatório e aleatório. |
---|
pública Output < TInt64 > rowPoolingSequence ()
sequência de pooling de linhas, necessária para calcular o gradiente.
public static FractionalMaxPool.Options semente (seed Long)
Parâmetros
semente | Se seed ou seed2 forem definidos como diferentes de zero, o gerador de número aleatório é propagado por um determinado seed. Caso contrário, é semeado por uma semente aleatória. |
---|
public static FractionalMaxPool.Options seed2 (seed2 Long)
Parâmetros
seed2 | Uma segunda semente para evitar a colisão de sementes. |
---|