@frozen
public struct Conv2D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
Warstwa splotu 2-D (np. splot przestrzenny na obrazach).
Warstwa ta tworzy filtr splotu, który jest splatany z wejściem warstwy w celu wytworzenia tensora wyników.
Filtr splotu 4-D.
Deklaracja
public var filter: Tensor<Scalar>
Wektor odchylenia.
Deklaracja
public var bias: Tensor<Scalar>
Elementowa funkcja aktywacji.
Deklaracja
@noDerivative public let activation: Activation
Kroki okna przesuwnego dla wymiarów przestrzennych.
Deklaracja
@noDerivative public let strides: (Int, Int)
Algorytm dopełniania splotu.
Deklaracja
@noDerivative public let padding: Padding
Współczynnik dylatacji dla wymiarów przestrzennych.
Deklaracja
@noDerivative public let dilations: (Int, Int)
Tworzy warstwę
Conv2D
z określonym filtrem, odchyleniem, funkcją aktywacji, krokami, rozszerzeniami i dopełnieniem.Deklaracja
public init( filter: Tensor<Scalar>, bias: Tensor<Scalar>? = nil, activation: @escaping Activation = identity, strides: (Int, Int) = (1, 1), padding: Padding = .valid, dilations: (Int, Int) = (1, 1) )
Parametry
filter
Filtr splotu 4-D o kształcie [wysokość filtra, szerokość filtra, liczba kanałów wejściowych, liczba kanałów wyjściowych].
bias
Wektor odchylenia kształtu [liczba kanałów wyjściowych].
activation
Elementowa funkcja aktywacji.
strides
Kroki okna przesuwnego dla wymiarów przestrzennych tj. (wysokość kroku, szerokość kroku).
padding
Algorytm dopełniania splotu.
dilations
Współczynniki dylatacji dla wymiarów przestrzennych, tj. (wysokość dylatacji, szerokość dylatacji).
Zwraca wynik uzyskany po zastosowaniu warstwy do podanych danych wejściowych.
Wyjściowe wymiary przestrzenne oblicza się jako:
wysokość wyjściowa = (wysokość wejściowa + 2 * wysokość wyściółki - (wysokość dylatacji * (wysokość filtra - 1) + 1)) / wysokość kroku + 1
szerokość wyjściowa = (szerokość wejściowa + 2 * szerokość wyściółki - (szerokość dylatacji * (szerokość filtra - 1) + 1)) / szerokość kroku + 1
a rozmiary dopełnienia są określone przez schemat dopełnienia.
Notatka
Rozmiar dopełnienia wynosi zero w przypadku użycia
.valid
.Parametry
input
Dane wejściowe do warstwy kształtu [wielkość wsadu, wysokość wejściowa, szerokość wejściowa, liczba kanałów wejściowych].
Wartość zwracana
Wynik kształtu [liczba partii, wysokość wyjściowa, szerokość wyjściowa, liczba kanałów wyjściowych].
Tworzy warstwę
Conv2D
z określonym kształtem filtra, krokami, dopełnieniem, rozszerzeniami i funkcją aktywacji opartej na elementach.Deklaracja
public init( filterShape: (Int, Int, Int, Int), strides: (Int, Int) = (1, 1), padding: Padding = .valid, dilations: (Int, Int) = (1, 1), activation: @escaping Activation = identity, useBias: Bool = true, filterInitializer: ParameterInitializer<Scalar> = glorotUniform(), biasInitializer: ParameterInitializer<Scalar> = zeros() )
Parametry
filterShape
Kształt filtra splotu 4-D reprezentujący (wysokość filtra, szerokość filtra, liczba kanałów wejściowych, liczba kanałów wyjściowych).
strides
Kroki okna przesuwnego dla wymiarów przestrzennych tj. (wysokość kroku, szerokość kroku).
padding
Algorytm dopełniania splotu.
dilations
Współczynniki dylatacji dla wymiarów przestrzennych tj. (wysokość dylatacji, szerokość dylatacji).
activation
Elementowa funkcja aktywacji.
filterInitializer
Inicjator do użycia dla parametrów filtra.
biasInitializer
Inicjator do użycia dla parametrów odchylenia.