Conv1D

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

Une couche de convolution 1D (par exemple, convolution temporelle sur une série temporelle).

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

    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
  • Le pas de la fenêtre glissante pour la dimension temporelle.

    Déclaration

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

    Déclaration

    @noDerivative
    public let padding: Padding
  • Le facteur de dilatation pour la dimension temporelle.

    Déclaration

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

    Déclaration

    public typealias Activation = @differentiable (Tensor<Scalar>) -> Tensor<Scalar>
  • Crée une couche Conv1D avec le filtre, le biais, la fonction d'activation, la foulée, la dilatation et le rembourrage spécifiés.

    Déclaration

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

    Paramètres

    filter

    Le filtre de convolution 3D de forme [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.

    stride

    Le pas de la fenêtre glissante pour la dimension temporelle.

    padding

    L'algorithme de remplissage pour la convolution.

    dilation

    Le facteur de dilatation pour la dimension temporelle.

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

    La largeur de sortie est calculée comme suit :

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

    et la taille du remplissage est déterminée 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 [taille du lot, largeur d'entrée, nombre de canaux d'entrée].

    Valeur de retour

    La sortie de la forme [taille du lot, largeur de sortie, nombre de canaux de sortie].

Disponible où `Scalar.RawSignificand` : `FixedWidthInteger`
  • Crée un calque Conv1D avec la forme de filtre, la foulée, le rembourrage, la dilatation et la fonction d'activation par élément spécifiés.

    Déclaration

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

    Paramètres

    filterShape

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

    stride

    Le pas de la fenêtre glissante pour la dimension temporelle.

    padding

    L'algorithme de remplissage pour la convolution.

    dilation

    Le facteur de dilatation pour la dimension temporelle.

    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.