SéparableConv1D

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

Une couche de convolution séparable 1D.

Cette couche effectue une convolution en profondeur qui agit séparément sur les canaux, suivie d'une convolution ponctuelle qui mélange les canaux.

  • Le noyau de convolution en profondeur 3D.

    Déclaration

    public var depthwiseFilter: Tensor<Scalar>
  • Le noyau de convolution ponctuelle 3D.

    Déclaration

    public var pointwiseFilter: Tensor<Scalar>
  • Le vecteur de biais.

    Déclaration

    public var bias: Tensor<Scalar>
  • La fonction d'activation par élément.

    Déclaration

    @noDerivative
    public let activation: Activation
  • Les avancées de la fenêtre glissante pour les dimensions spatiales.

    Déclaration

    @noDerivative
    public let stride: Int
  • L'algorithme de remplissage pour la convolution.

    Déclaration

    @noDerivative
    public let padding: Padding
  • Le type de fonction d’activation par élément.

    Déclaration

    public typealias Activation = @differentiable (Tensor<Scalar>) -> Tensor<Scalar>
  • Crée un calque SeparableConv1D avec le filtre en profondeur et par point, le biais, la fonction d'activation, les foulées et le remplissage spécifiés.

    Déclaration

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

    Paramètres

    depthwiseFilter

    Le noyau de convolution en profondeur 3D [filter width, input channels count, channel multiplier] .

    pointwiseFilter

    Le noyau de convolution ponctuelle 3D [1, channel multiplier * input channels count, output channels count] .

    bias

    Le vecteur de biais.

    activation

    La fonction d'activation par élément.

    strides

    Les avancées de la fenêtre glissante pour les dimensions spatiales.

    padding

    L'algorithme de remplissage pour la convolution.

  • Renvoie le résultat obtenu en appliquant le calque à l’entrée donnée.

    Déclaration

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

    Paramètres

    input

    L'entrée dans le calque.

    Valeur de retour

    Le résultat.

  • Crée un calque SeparableConv1D avec la forme de filtre en profondeur et par point, les foulées, le remplissage et la fonction d'activation par élément spécifiés.

    Déclaration

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

    Paramètres

    depthwiseFilterShape

    La forme du noyau de convolution en profondeur 3D.

    pointwiseFilterShape

    La forme du noyau de convolution ponctuelle 3D.

    strides

    Les avancées de la fenêtre glissante pour les dimensions temporelles.

    padding

    L'algorithme de remplissage pour la convolution.

    activation

    La fonction d'activation par élément.

    filterInitializer

    Initialiseur à utiliser pour les paramètres de filtre.

    biasInitializer

    Initialiseur à utiliser pour les paramètres de biais.