@frozen
public struct Conv3D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
Warstwa splotu 3-D do splotu przestrzennego/przestrzenno-czasowego na obrazach.
Warstwa ta tworzy filtr splotu, który jest splatany z wejściem warstwy w celu wytworzenia tensora wyników.
Filtr splotu 5-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, Int)
Algorytm dopełniania splotu.
Deklaracja
@noDerivative public let padding: Padding
Współczynnik dylatacji dla wymiarów przestrzennych/przestrzenno-czasowych.
Deklaracja
@noDerivative public let dilations: (Int, Int, Int)
Tworzy warstwę
Conv3D
z określonym filtrem, odchyleniem, funkcją aktywacji, krokami i dopełnieniem.Deklaracja
public init( filter: Tensor<Scalar>, bias: Tensor<Scalar>? = nil, activation: @escaping Activation = identity, strides: (Int, Int, Int) = (1, 1, 1), padding: Padding = .valid, dilations: (Int, Int, Int) = (1, 1, 1) )
Parametry
filter
Filtr splotu 5-D o kształcie [głębokość filtra, 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. (głębokość kroku, wysokość kroku, szerokość kroku)
padding
Algorytm dopełniania splotu.
dilations
Współczynnik dylatacji dla wymiarów przestrzennych/przestrzenno-czasowych.
Zwraca wynik uzyskany po zastosowaniu warstwy do podanych danych wejściowych.
Wyjściowe wymiary przestrzenne oblicza się jako:
głębokość wyjściowa = (głębokość wejściowa + 2 * głębokość wyściółki - (głębokość dylatacji * (głębokość filtra - 1) + 1)) / głębokość kroku + 1
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 [liczba partii, głębokość wejściowa, wysokość wejściowa, szerokość wejściowa, liczba kanałów wejściowych].
Wartość zwracana
Wynik kształtu [liczba partii, głębokość wyjściowa, wysokość wyjściowa, szerokość wyjściowa, liczba kanałów wyjściowych].
Tworzy warstwę
Conv3D
z określonym kształtem filtra, krokami, dopełnieniem, rozszerzeniami i funkcją aktywacji opartej na elementach. Tensor filtra jest inicjowany przy użyciu jednolitej inicjalizacji Glorot z określonym ziarnem. Wektor odchylenia jest inicjowany zerami.Deklaracja
public init( filterShape: (Int, Int, Int, Int, Int), strides: (Int, Int, Int) = (1, 1, 1), padding: Padding = .valid, dilations: (Int, Int, Int) = (1, 1, 1), activation: @escaping Activation = identity, useBias: Bool = true, filterInitializer: ParameterInitializer<Scalar> = glorotUniform(), biasInitializer: ParameterInitializer<Scalar> = zeros() )
Parametry
filterShape
Kształt filtra splotu 5-D reprezentujący (głębokość filtra, wysokość filtra, szerokość filtra, liczba kanałów wejściowych, liczba kanałów wyjściowych).
strides
Kroki okna przesuwnego dla wymiarów przestrzennych tj. (głębokość kroku, wysokość kroku, szerokość kroku)
padding
Algorytm dopełniania splotu.
dilations
Współczynnik dylatacji dla wymiarów przestrzennych/przestrzenno-czasowych.
activation
Elementowa funkcja aktywacji.
filterInitializer
Inicjator do użycia dla parametrów filtra.
biasInitializer
Inicjator do użycia dla parametrów odchylenia.