fluxo tensor:: ops:: FracionárioMaxPool
#include <nn_ops.h>
Executa pooling máximo fracionário na entrada.
Resumo
O pool máximo fracionário é um pouco diferente do pool máximo normal. No pooling máximo regular, você reduz o tamanho de um conjunto de entrada pegando o valor máximo das subseções N x N menores do conjunto (geralmente 2x2) e tenta reduzir o conjunto por um fator de N, onde N é um número inteiro. O agrupamento 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 agrupamento são gerados aleatoriamente, mas são bastante uniformes. Por exemplo, vejamos a dimensão da altura e as restrições na lista de linhas que serão limites do pool.
Primeiro definimos o seguinte:
- input_row_length: o número de linhas do conjunto de entrada
- output_row_length: que será menor que a entrada
- alfa = input_row_length / output_row_length: nossa taxa de redução
- K = piso (alfa)
- row_pooling_sequence: esta é a lista de resultados das linhas dos limites do pool
Então, row_pooling_sequence deve satisfazer:
- a[0] = 0 : o primeiro valor da sequência é 0
- a[end] = input_row_length: o último valor da sequência é o tamanho
- K <= (a[i+1] - a[i]) <= K+1 : todos os intervalos são de tamanho K ou K+1
- comprimento(row_pooling_sequence) = saída_row_length+1
Para obter mais detalhes sobre pooling máximo fracionário, consulte este artigo: Benjamin Graham, Fractional Max-Pooling
Argumentos:
- escopo: um objeto Escopo
- valor: 4-D com forma
[batch, height, width, channels]
. - pooling_ratio: taxa de agrupamento para cada dimensão de
value
, atualmente suporta apenas dimensões 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 agrupamento em dimensões de lote e canais. 1,44 e 1,73 são a proporção de agrupamento nas dimensões de altura e largura, respectivamente.
Atributos opcionais (veja Attrs
):
- pseudo_random: Quando definido como True, gera a sequência de pooling de forma pseudoaleatória, caso contrário, de forma aleatória. Verifique o artigo Benjamin Graham, Fractional Max-Pooling para saber a diferença entre pseudoaleatório e aleatório.
- sobreposição: quando definido como True, significa que, ao agrupar, os valores no limite das células adjacentes do agrupamento são usados por ambas as células. Por exemplo:
index 0 1 2 3 4
value 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 pool máximo fracionário.
- determinístico: 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 testes de unidade para tornar FractionalMaxPool determinístico.
- seed: Se seed ou seed2 forem definidos como diferentes de zero, o gerador de números aleatórios será propagado pela semente fornecida. Caso contrário, é semeado por uma semente aleatória.
- seed2: Uma segunda semente para evitar colisão de sementes.
Retorna:
- Saída
Output
: tensor de saída após pooling máximo fracionário. -
Output
row_pooling_sequence: sequência de pooling de linhas, necessária para calcular o gradiente. -
Output
col_pooling_sequence: sequência de agrupamento de colunas, necessária para calcular o gradiente.
Construtores e Destruidores | |
---|---|
FractionalMaxPool (const :: tensorflow::Scope & scope, :: tensorflow::Input value, const gtl::ArraySlice< float > & pooling_ratio) | |
FractionalMaxPool (const :: tensorflow::Scope & scope, :: tensorflow::Input value, const gtl::ArraySlice< float > & pooling_ratio, const FractionalMaxPool::Attrs & attrs) |
Atributos públicos | |
---|---|
col_pooling_sequence | |
operation | |
output | |
row_pooling_sequence |
Funções estáticas públicas | |
---|---|
Deterministic (bool x) | |
Overlapping (bool x) | |
PseudoRandom (bool x) | |
Seed (int64 x) | |
Seed2 (int64 x) |
Estruturas | |
---|---|
tensorflow:: ops:: FractionalMaxPool:: Attrs | Configuradores de atributos opcionais para FractionalMaxPool . |
Atributos públicos
col_pooling_sequence
::tensorflow::Output col_pooling_sequence
operação
Operation operation
saída
::tensorflow::Output output
row_pooling_sequence
::tensorflow::Output row_pooling_sequence
Funções públicas
FracionárioMaxPool
FractionalMaxPool( const ::tensorflow::Scope & scope, ::tensorflow::Input value, const gtl::ArraySlice< float > & pooling_ratio )
FracionárioMaxPool
FractionalMaxPool( const ::tensorflow::Scope & scope, ::tensorflow::Input value, const gtl::ArraySlice< float > & pooling_ratio, const FractionalMaxPool::Attrs & attrs )
Funções estáticas públicas
Determinístico
Attrs Deterministic( bool x )
Sobreposição
Attrs Overlapping( bool x )
Pseudoaleatório
Attrs PseudoRandom( bool x )
Semente
Attrs Seed( int64 x )
Semente2
Attrs Seed2( int64 x )