SéparableConv2D

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

Une couche de convolution séparable 2D.

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 4D.

    Déclaration

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

    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 strides: (Int, 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 SeparableConv2D 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,
      strides: (Int, Int) = (1, 1),
      padding: Padding = .valid
    )

    Paramètres

    depthwiseFilter

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

    pointwiseFilter

    Le noyau de convolution ponctuelle 4D [1, 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 SeparableConv2D 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, 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()
    )

    Paramètres

    depthwiseFilterShape

    La forme du noyau de convolution en profondeur 4D.

    pointwiseFilterShape

    La forme du noyau de convolution ponctuelle 4D.

    strides

    Les progrès de la fenêtre glissante pour les dimensions spatiales/spatio-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.