Oddzielne Conv2D

@frozen
public struct SeparableConv2D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint

Oddzielna warstwa splotu 2-D.

Warstwa ta wykonuje splot wgłębny, który działa oddzielnie na kanały, po którym następuje splot punktowy, który miesza kanały.

  • Jądro splotu głębokiego 4-D.

    Deklaracja

    public var depthwiseFilter: Tensor<Scalar>
  • Jądro splotu punktowego 4-D.

    Deklaracja

    public var pointwiseFilter: 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
  • Elementowy typ funkcji aktywacji.

    Deklaracja

    public typealias Activation = @differentiable (Tensor<Scalar>) -> Tensor<Scalar>
  • Tworzy warstwę SeparableConv2D z określonym filtrem głębokościowym i punktowym, odchyleniem, funkcją aktywacji, krokami i dopełnieniem.

    Deklaracja

    public init(
      depthwiseFilter: Tensor<Scalar>,
      pointwiseFilter: Tensor<Scalar>,
      bias: Tensor<Scalar>? = nil,
      activation: @escaping Activation = identity,
      strides: (Int, Int) = (1, 1),
      padding: Padding = .valid
    )

    Parametry

    depthwiseFilter

    Jądro splotu głębokiego 4-D [filter height, filter width, input channels count, channel multiplier] .

    pointwiseFilter

    Jądro splotu punktowego 4-D [1, 1, channel multiplier * input channels count, output channels count] .

    bias

    Wektor odchylenia.

    activation

    Elementowa funkcja aktywacji.

    strides

    Kroki okna przesuwnego dla wymiarów przestrzennych.

    padding

    Algorytm dopełniania splotu.

  • Zwraca wynik uzyskany po zastosowaniu warstwy do podanych danych wejściowych.

    Deklaracja

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

    Parametry

    input

    Wejście do warstwy.

    Wartość zwracana

    Wyjście.

  • Tworzy warstwę SeparableConv2D z określonym kształtem filtra wgłębnego i punktowego, krokami, dopełnieniem i funkcją aktywacji według elementów.

    Deklaracja

    public init(
      depthwiseFilterShape: (Int, Int, Int, Int),
      pointwiseFilterShape: (Int, Int, Int, Int),
      strides: (Int, Int) = (1, 1),
      padding: Padding = .valid,
      activation: @escaping Activation = identity,
      useBias: Bool = true,
      depthwiseFilterInitializer: ParameterInitializer<Scalar> = glorotUniform(),
      pointwiseFilterInitializer: ParameterInitializer<Scalar> = glorotUniform(),
      biasInitializer: ParameterInitializer<Scalar> = zeros()
    )

    Parametry

    depthwiseFilterShape

    Kształt jądra splotu głębokiego 4-D.

    pointwiseFilterShape

    Kształt jądra splotu punktowego 4-D.

    strides

    Kroki przesuwanego okna dla wymiarów przestrzennych/przestrzenno-czasowych.

    padding

    Algorytm dopełniania splotu.

    activation

    Elementowa funkcja aktywacji.

    filterInitializer

    Inicjator do użycia dla parametrów filtra.

    biasInitializer

    Inicjator do użycia dla parametrów odchylenia.