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