Conv2D

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

Une couche de convolution 2D (par exemple convolution spatiale sur les images).

Cette couche crée un filtre de convolution qui est convolué avec l'entrée de la couche pour produire un tenseur de sorties.

  • Le filtre de convolution 4-D.

    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 facteur de dilatation pour les dimensions spatiales.

    Déclaration

    @noDerivative
    public let dilations: (Int, Int)
  • Le type de fonction d’activation par élément.

    Déclaration

    public typealias Activation = @differentiable (Tensor<Scalar>) -> Tensor<Scalar>
  • Crée une couche Conv2D avec le filtre, le biais, la fonction d'activation, les foulées, les dilatations 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,
      dilations: (Int, Int) = (1, 1)
    )

    Paramètres

    filter

    Le filtre de convolution 4D de forme [hauteur du filtre, largeur du filtre, nombre de canaux d'entrée, nombre de canaux de sortie].

    bias

    Le vecteur de biais de forme [nombre de canaux de sortie].

    activation

    La fonction d'activation par élément.

    strides

    Les foulées de la fenêtre glissante pour les dimensions spatiales, c'est à dire (hauteur de foulée, largeur de foulée).

    padding

    L'algorithme de remplissage pour la convolution.

    dilations

    Les facteurs de dilatation pour les dimensions spatiales, c'est-à-dire (hauteur de dilatation, largeur de dilatation).

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

    Les dimensions spatiales en sortie sont calculées comme :

    hauteur de sortie = (hauteur d'entrée + 2 * hauteur de rembourrage - (hauteur de dilatation * (hauteur du filtre - 1) + 1)) / hauteur de foulée + 1

    largeur de sortie = (largeur d'entrée + 2 * largeur de rembourrage - (largeur de dilatation * (largeur du filtre - 1) + 1)) / largeur de foulée + 1

    et les tailles de remplissage sont déterminées par le schéma de remplissage.

    Note

    La taille du remplissage est égale à zéro lors de l'utilisation .valid .

    Déclaration

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

    Paramètres

    input

    L'entrée dans la couche de forme [taille du lot, 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 de sortie].

  • Crée un calque Conv2D avec la forme de filtre, les foulées, le remplissage, les dilatations 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,
      dilations: (Int, Int) = (1, 1),
      activation: @escaping Activation = identity,
      useBias: Bool = true,
      filterInitializer: ParameterInitializer<Scalar> = glorotUniform(),
      biasInitializer: ParameterInitializer<Scalar> = zeros()
    )

    Paramètres

    filterShape

    La forme du filtre de convolution 4D, représentant (hauteur du filtre, largeur du filtre, nombre de canaux d'entrée, nombre de canaux de sortie).

    strides

    Les foulées de la fenêtre glissante pour les dimensions spatiales, c'est à dire (hauteur de foulée, largeur de foulée).

    padding

    L'algorithme de remplissage pour la convolution.

    dilations

    Les facteurs de dilatation pour les dimensions spatiales, c'est-à-dire (hauteur de dilatation, largeur de dilatation).

    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.