Konw2D

@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)
  • Elementowy typ funkcji aktywacji.

    Deklaracja

    public typealias Activation = @differentiable (Tensor<Scalar>) -> Tensor<Scalar>
  • 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 .

    Deklaracja

    @differentiable
    public func forward(_ input: Tensor<Scalar>) -> Tensor<Scalar>

    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.