Google I/O에 참여해 주셔서 감사합니다. 주문형 모든 세션 보기 주문형 시청

tensorflow :: ops :: FractionalMaxPool

#include <nn_ops.h>

입력에 대해 부분 최대 풀링을 수행합니다.

요약

부분 최대 풀링은 일반 최대 풀링과 약간 다릅니다. 일반 최대 풀링에서는 집합의 더 작은 N x N 하위 섹션 (종종 2x2)의 최대 값을 취하여 입력 집합의 크기를 줄이고 집합을 N의 인수 (여기서 N은 정수)로 줄이려고합니다. "분수"라는 단어에서 예상 할 수있는 분수 최대 풀링은 전체 축소 비율 N이 정수일 필요가 없음을 의미합니다.

풀링 영역의 크기는 무작위로 생성되지만 상당히 균일합니다. 예를 들어 높이 차원과 풀 경계가 될 행 목록의 제약 조건을 살펴 보겠습니다.

먼저 다음을 정의합니다.

  1. input_row_length : 입력 세트의 행 수
  2. output_row_length : 입력보다 작습니다.
  3. alpha = input_row_length / output_row_length : 축소 비율
  4. K = 바닥 (알파)
  5. row_pooling_sequence : 풀 경계 행의 결과 목록입니다.

그런 다음 row_pooling_sequence는 다음을 충족해야합니다.

  1. a [0] = 0 : 시퀀스의 첫 번째 값이 0입니다.
  2. a [end] = input_row_length : 시퀀스의 마지막 값은 크기입니다.
  3. K <= (a [i + 1]-a [i]) <= K + 1 : 모든 간격은 K 또는 K + 1 크기입니다.
  4. 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
)