Ta strona została przetłumaczona przez Cloud Translation API.
Switch to English

tf.nn.fractional_max_pool

TensorFlow 1 wersja Zobacz źródło na GitHub

Wykonuje frakcyjnej max łączenia na wejściu.

Ułamkowy max pooling jest nieco inna niż zwykła max poolingu. W regularnych max poolingu, ty zmniejszać się zbiór wejściowy przyjmując wartość maksymalną mniejszych N x N podsekcje zestawu (często 2x2), i starają się zmniejszyć zestaw o współczynnik N, gdzie N jest liczbą całkowitą. Ułamkowy max pooling, jak można oczekiwać od słowa „cząstkowej”, oznacza, że ​​ogólny wskaźnik redukcji N nie musi być liczbą całkowitą.

Rozmiary regionów łączeniu są generowane losowo, ale są dość jednolite. Na przykład, wygląd Spójrzmy prawdzie w wymiarze wysokości, a także ograniczenia dotyczące listy wierszy, które będą granice basen.

Najpierw musimy określić, co następuje:

  1. input_row_length: liczba wierszy ze zbioru wejściowego
  2. output_row_length: co będzie mniejszy niż na wejściu
  3. a = input_row_length / output_row_length: nasze przełożenie
  4. K = podłoga (a)
  5. row_pooling_sequence: to jest lista wynikiem basen brzegowych rzędach

Następnie row_pooling_sequence powinien spełniać:

  1. w [0] = 0: pierwsza wartość w sekwencji wynosi 0
  2. w [end] = input_row_length: ostatnia wartość sekwencji jest wielkość
  3. K <(A [i + 1] - i [i]) <= k + 1: wszystkie przedziały mają K lub K + 1 wielkość
  4. Długość (row_pooling_sequence) + 1 = output_row_length

value Tensor . 4-D w kształcie [batch, height, width, channels] .
pooling_ratio Int lub lista ints , które ma długość 1 , 2 lub 4 . Stosunek pulę dla każdego wymiaru value aktualnie obsługuje tylko rzędu Col wymiary i powinna być> = 1,0. Na przykład, ważne stosunek łączenie wygląda jak [1,0, 1,44, 1,73, 1,0]. Pierwsze i ostatnie elementy muszą być 1.0, ponieważ nie pozwalają na łączenie kanałów wsadowych i wymiarach. 1.44 i 1.73 zostały na stosunek wymiarów wysokości i szerokości łączenie odpowiednio.
pseudo_random Opcjonalny bool . Domyślnie jest to False . Po ustawieniu na True , generuje sekwencję buforowanie w sposób pseudolosowy, inaczej, w sposób losowy. Sprawdź papier (Graham, 2015) dla różnicy między pseudo i przypadkowe.
overlapping Opcjonalny bool . Domyślnie jest to False . Po ustawieniu na True oznacza to, gdy łączenie wartości na granicy sąsiednich komórek łączenia używane są zarówno przez komórki. Na przykład: index 0 1 2 3 4 value 20 5 16 3 7 Jeśli sekwencja łączenie w [0, 2, 4], a następnie 16, o indeksie 2 zostaną użyte dwukrotnie. Wynik będzie [20, 16] do frakcyjnej max łączenia.
seed Opcjonalny int . Domyślnie 0 . Jeśli ustawiony na wartość niezerową, generator liczb losowych zaszczepiono przez dany nasion. W przeciwnym razie jest rozstawiony przez losowej nasion.
name Nazwę operacji (opcjonalnie).

Krotką Tensor obiektów ( output , row_pooling_sequence , col_pooling_sequence ). Wyjście: Wyjście Tensor po frakcyjnej max poolingu. Ten sam typ jako value . row_pooling_sequence: a Tensor typu int64 . col_pooling_sequence: a Tensor typu int64 .

Bibliografia:

Ułamkowy Max-Pooling: Graham, 2015 ( pdf )