tensorflow :: ops :: FractionalMaxPool
#include <nn_ops.h>
입력에 대해 부분 최대 풀링을 수행합니다.
요약
부분 최대 풀링은 일반 최대 풀링과 약간 다릅니다. 일반 최대 풀링에서는 집합의 더 작은 N x N 하위 섹션 (종종 2x2)의 최대 값을 취하여 입력 집합의 크기를 줄이고 집합을 N의 인수 (여기서 N은 정수)로 줄이려고합니다. "분수"라는 단어에서 예상 할 수있는 분수 최대 풀링은 전체 축소 비율 N이 정수일 필요가 없음을 의미합니다.
풀링 영역의 크기는 무작위로 생성되지만 상당히 균일합니다. 예를 들어 높이 차원과 풀 경계가 될 행 목록의 제약 조건을 살펴 보겠습니다.
먼저 다음을 정의합니다.
- input_row_length : 입력 세트의 행 수
- output_row_length : 입력보다 작습니다.
- alpha = input_row_length / output_row_length : 축소 비율
- K = 바닥 (알파)
- row_pooling_sequence : 풀 경계 행의 결과 목록입니다.
그런 다음 row_pooling_sequence는 다음을 충족해야합니다.
- a [0] = 0 : 시퀀스의 첫 번째 값이 0입니다.
- a [end] = input_row_length : 시퀀스의 마지막 값은 크기입니다.
- K <= (a [i + 1]-a [i]) <= K + 1 : 모든 간격은 K 또는 K + 1 크기입니다.
- length (row_pooling_sequence) = output_row_length + 1
부분 최대 풀링에 대한 자세한 내용은 Benjamin Graham, Fractional Max-Pooling 문서를 참조하십시오.
인수 :
- 범위 : 범위 개체
- 값 : 4-D 모양
[batch, height, width, channels]
. - pooling_ratio :
value
각 차원에 대한 풀링 비율. 현재 행 및 열 차원 만 지원하며> = 1.0이어야합니다. 예를 들어 유효한 풀링 비율은 [1.0, 1.44, 1.73, 1.0]과 같습니다. 배치 및 채널 차원에서 풀링을 허용하지 않으므로 첫 번째 및 마지막 요소는 1.0이어야합니다. 1.44 및 1.73은 각각 높이 및 너비 치수에 대한 풀링 비율입니다.
선택적 속성 ( Attrs
참조) :
- pseudo_random : True로 설정하면 의사 난수 방식으로 풀링 시퀀스를 생성합니다. 그렇지 않으면 임의 방식으로 풀링 시퀀스를 생성합니다. 의사 난수와 무작위의 차이에 대해서는 Benjamin Graham, Fractional Max-Pooling 을 확인하십시오.
- 겹침 : True로 설정하면 풀링시 인접한 풀링 셀 경계의 값이 두 셀에서 모두 사용됨을 의미합니다. 예를 들면 :
index 0 1 2 3 4
value 20 5 16 3 7
풀링 시퀀스가 [0, 2, 4]이면 인덱스 2에서 16이 두 번 사용됩니다. 결과는 부분 최대 풀링의 경우 [20, 16]이됩니다.
- 결정적 : True로 설정하면 계산 그래프에서 FractionalMaxPool 노드를 반복 할 때 고정 풀링 영역이 사용됩니다. 주로 FractionalMaxPool을 결정적으로 만들기 위해 단위 테스트에 사용됩니다.
- seed : seed 또는 seed2가 0이 아닌 값으로 설정된 경우, 난수 생성기는 주어진 seed에 의해 seed됩니다. 그렇지 않으면 임의의 시드로 시드됩니다.
- seed2 : 시드 충돌을 피하기위한 두 번째 시드.
보고:
-
Output
출력 : 분수 최대 풀링 후 출력 텐서. -
Output
row_pooling_sequence : 기울기를 계산하는 데 필요한 행 풀링 시퀀스. -
Output
col_pooling_sequence : 기울기를 계산하는 데 필요한 열 풀링 시퀀스.
생성자와 소멸자 | |
---|---|
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) |
공용 속성 | |
---|---|
col_pooling_sequence | |
operation | |
output | |
row_pooling_sequence |
공개 정적 함수 | |
---|---|
Deterministic (bool x) | |
Overlapping (bool x) | |
PseudoRandom (bool x) | |
Seed (int64 x) | |
Seed2 (int64 x) |
구조체 | |
---|---|
tensorflow :: ops :: FractionalMaxPool :: Attrs | FractionalMaxPool에 대한 선택적 속성 설정자. |
공용 속성
col_pooling_sequence
::tensorflow::Output col_pooling_sequence
조작
Operation operation
산출
::tensorflow::Output output
row_pooling_sequence
::tensorflow::Output row_pooling_sequence
공공 기능
FractionalMaxPool
FractionalMaxPool( const ::tensorflow::Scope & scope, ::tensorflow::Input value, const gtl::ArraySlice< float > & pooling_ratio )
FractionalMaxPool
FractionalMaxPool( const ::tensorflow::Scope & scope, ::tensorflow::Input value, const gtl::ArraySlice< float > & pooling_ratio, const FractionalMaxPool::Attrs & attrs )
공개 정적 함수
결정 론적
Attrs Deterministic( bool x )
겹침
Attrs Overlapping( bool x )
의사 랜덤
Attrs PseudoRandom( bool x )
씨
Attrs Seed( int64 x )
Seed2
Attrs Seed2( int64 x )