tensorflow:: ops:: Conv2D

#include <nn_ops.h>

Oblicza splot 2-D na podstawie input 4-D i tensorów filter .

Streszczenie

Biorąc pod uwagę tensor wejściowy o kształcie [batch, in_height, in_width, in_channels] i tensor filtru/jądra o kształcie [filter_height, filter_width, in_channels, out_channels] , ta operacja wykonuje następujące operacje:

  1. Spłaszcza filtr do macierzy 2-D o kształcie [filter_height * filter_width * in_channels, output_channels] .
  2. Wyodrębnia fragmenty obrazu z tensora wejściowego w celu utworzenia wirtualnego tensora o kształcie [batch, out_height, out_width, filter_height * filter_width * in_channels] .
  3. Dla każdego patcha następuje mnożenie w prawo macierzy filtrów i wektora patcha obrazu.

Szczegółowo, przy użyciu domyślnego formatu NHWC,

output[b, i, j, k] =
    sum_{di, dj, q} input[b, strides[1] * i + di, strides[2] * j + dj, q] *
                    filter[di, dj, q, k]

Musi być strides[0] = strides[3] = 1 . W najczęstszym przypadku tych samych kroków poziomych i wierzchołkowych, strides = [1, stride, stride, 1] .

Argumenty:

  • zakres: obiekt zakresu
  • Dane wejściowe: Tensor 4-D. Kolejność wymiarów jest interpretowana zgodnie z wartością data_format , szczegóły poniżej.
  • filtr: 4-wymiarowy tensor o kształcie [filter_height, filter_width, in_channels, out_channels]
  • Kroki: 1-wymiarowy tensor o długości 4. Krok okna przesuwnego dla każdego wymiaru danych input . Kolejność wymiarów jest określana przez wartość data_format , szczegóły poniżej.
  • padding: Typ algorytmu wypełniania, który ma zostać użyty.

Atrybuty opcjonalne (patrz Attrs ):

  • explicit_paddings: Jeśli padding ma wartość "EXPLICIT" , lista jawnych wartości wypełnienia. Dla i-tego wymiaru, wartość wypełnienia wstawianego przed i po wymiarze wynosi odpowiednio explicit_paddings[2 * i] i explicit_paddings[2 * i + 1] . Jeśli padding nie ma "EXPLICIT" , explicit_paddings musi być puste.
  • data_format: Określ format danych wejściowych i wyjściowych. W domyślnym formacie „NHWC” dane są przechowywane w kolejności: [partia, wysokość, szerokość, kanały]. Alternatywnie, format może być „NCHW”, czyli w kolejności przechowywania danych: [partia, kanały, wysokość, szerokość].
  • Dylatacje: jednowymiarowy tensor o długości 4. Współczynnik dylatacji dla każdego wymiaru danych input . Jeśli ustawione na k > 1, między każdym elementem filtru w tym wymiarze będzie k-1 pominiętych komórek. Kolejność wymiarów jest określana przez wartość data_format , szczegóły powyżej. Dylatacje w wymiarach wsadowych i głębokości muszą wynosić 1.

Zwroty:

  • Output : Tensor 4-D. Kolejność wymiarów jest określana przez wartość data_format , szczegóły poniżej.

Konstruktory i destruktory

Conv2D (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input filter, const gtl::ArraySlice< int > & strides, StringPiece padding)
Conv2D (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input filter, const gtl::ArraySlice< int > & strides, StringPiece padding, const Conv2D::Attrs & attrs)

Atrybuty publiczne

operation
output

Funkcje publiczne

node () const
::tensorflow::Node *
operator::tensorflow::Input () const
operator::tensorflow::Output () const

Publiczne funkcje statyczne

DataFormat (StringPiece x)
Dilations (const gtl::ArraySlice< int > & x)
ExplicitPaddings (const gtl::ArraySlice< int > & x)
UseCudnnOnGpu (bool x)

Struktury

tensorflow:: ops:: Conv2D:: Attrs

Opcjonalne settery atrybutów dla Conv2D .

Atrybuty publiczne

działanie

Operation operation

wyjście

::tensorflow::Output output

Funkcje publiczne

Konwersja 2D

 Conv2D(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input,
  ::tensorflow::Input filter,
  const gtl::ArraySlice< int > & strides,
  StringPiece padding
)

Konwersja 2D

 Conv2D(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input,
  ::tensorflow::Input filter,
  const gtl::ArraySlice< int > & strides,
  StringPiece padding,
  const Conv2D::Attrs & attrs
)

węzeł

::tensorflow::Node * node() const 

operator::tensorflow::Input

 operator::tensorflow::Input() const 

operator::tensorflow::Output

 operator::tensorflow::Output() const 

Publiczne funkcje statyczne

Format danych

Attrs DataFormat(
  StringPiece x
)

Rozszerzenia

Attrs Dilations(
  const gtl::ArraySlice< int > & x
)

Wyraźne wypełnienia

Attrs ExplicitPaddings(
  const gtl::ArraySlice< int > & x
)

UżyjCudnnOnGpu

Attrs UseCudnnOnGpu(
  bool x
)