DepthwiseConv2D

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

Une couche de convolution 2D en profondeur.

Cette couche crée des filtres de convolution séparables qui sont convolués avec l'entrée de la couche pour produire un tenseur de sorties.

  • Le noyau de convolution 4D.

    Déclaration

    public var filter: 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 une couche DepthwiseConv2D avec le filtre, le biais, la fonction d'activation, les foulées et le remplissage spécifiés.

    Déclaration

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

    Paramètres

    filter

    Le noyau de convolution 4D.

    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 la couche de forme, [nombre de lots, hauteur d'entrée, largeur d'entrée, nombre de canaux d'entrée]

    Valeur de retour

    La sortie de la forme, [nombre de lots, hauteur de sortie, largeur de sortie, nombre de canaux d'entrée * multiplicateur de canaux]

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

    Déclaration

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

    Paramètres

    filterShape

    La forme du noyau de convolution 4D avec forme, [largeur du filtre, hauteur du filtre, nombre de canaux d'entrée, multiplicateur de canal].

    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.