SeparabileConv2D

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

Uno strato di convoluzione separabile 2D.

Questo livello esegue una convoluzione in profondità che agisce separatamente sui canali seguita da una convoluzione puntuale che mescola i canali.

  • Il kernel di convoluzione profonda 4-D.

    Dichiarazione

    public var depthwiseFilter: Tensor<Scalar>
  • Il kernel di convoluzione puntuale 4-D.

    Dichiarazione

    public var pointwiseFilter: Tensor<Scalar>
  • Il vettore di polarizzazione.

    Dichiarazione

    public var bias: Tensor<Scalar>
  • La funzione di attivazione per elemento.

    Dichiarazione

    @noDerivative
    public let activation: Activation
  • I passi avanti della finestra scorrevole per le dimensioni spaziali.

    Dichiarazione

    @noDerivative
    public let strides: (Int, Int)
  • L'algoritmo di riempimento per la convoluzione.

    Dichiarazione

    @noDerivative
    public let padding: Padding
  • Il tipo di funzione di attivazione per elemento.

    Dichiarazione

    public typealias Activation = @differentiable (Tensor<Scalar>) -> Tensor<Scalar>
  • Crea un livello SeparableConv2D con il filtro, la distorsione, la funzione di attivazione, i passi e il riempimento in senso di profondità e punto specificati.

    Dichiarazione

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

    Parametri

    depthwiseFilter

    Il kernel di convoluzione profonda 4-D [filter height, filter width, input channels count, channel multiplier] .

    pointwiseFilter

    Il kernel di convoluzione puntuale 4-D [1, 1, channel multiplier * input channels count, output channels count] .

    bias

    Il vettore di polarizzazione.

    activation

    La funzione di attivazione per elemento.

    strides

    I passi avanti della finestra scorrevole per le dimensioni spaziali.

    padding

    L'algoritmo di riempimento per la convoluzione.

  • Restituisce l'output ottenuto dall'applicazione del livello all'input specificato.

    Dichiarazione

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

    Parametri

    input

    L'input al livello.

    Valore di ritorno

    Il risultato.

  • Crea un livello SeparableConv2D con la forma del filtro in senso di profondità e punto, i passi, il riempimento e la funzione di attivazione per elemento specificati.

    Dichiarazione

    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()
    )

    Parametri

    depthwiseFilterShape

    La forma del kernel di convoluzione profonda 4-D.

    pointwiseFilterShape

    La forma del kernel di convoluzione puntuale 4-D.

    strides

    I passi della finestra scorrevole per le dimensioni spazio/spazio-temporali.

    padding

    L'algoritmo di riempimento per la convoluzione.

    activation

    La funzione di attivazione per elemento.

    filterInitializer

    Inizializzatore da utilizzare per i parametri del filtro.

    biasInitializer

    Inizializzatore da utilizzare per i parametri di bias.