Conv3D

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

Une couche de convolution 3D pour la convolution spatiale/spatio-temporelle 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 5-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, Int)
  • L'algorithme de remplissage pour la convolution.

    Déclaration

    @noDerivative
    public let padding: Padding
  • Le facteur de dilatation pour les dimensions spatiales/spatio-temporelles.

    Déclaration

    @noDerivative
    public let dilations: (Int, 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 Conv3D 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, Int) = (1, 1, 1),
      padding: Padding = .valid,
      dilations: (Int, Int, Int) = (1, 1, 1)
    )

    Paramètres

    filter

    Le filtre de convolution 5D de forme [profondeur du filtre, 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 (profondeur de foulée, hauteur de foulée, largeur de foulée)

    padding

    L'algorithme de remplissage pour la convolution.

    dilations

    Le facteur de dilatation pour les dimensions spatiales/spatio-temporelles.

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

    Les dimensions spatiales en sortie sont calculées comme :

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

    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 [nombre de lots, profondeur d'entrée, 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, profondeur de sortie, hauteur de sortie, largeur de sortie, nombre de canaux de sortie].

  • Crée un calque Conv3D avec la forme de filtre, les foulées, le remplissage, les dilatations et la fonction d'activation par élément spécifiés. Le tenseur de filtre est initialisé à l'aide de l'initialisation uniforme Glorot avec la graine spécifiée. Le vecteur de biais est initialisé avec des zéros.

    Déclaration

    public init(
      filterShape: (Int, Int, Int, Int, Int),
      strides: (Int, Int, Int) = (1, 1, 1),
      padding: Padding = .valid,
      dilations: (Int, Int, Int) = (1, 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 5-D, représentant (profondeur du filtre, 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 (profondeur de foulée, hauteur de foulée, largeur de foulée)

    padding

    L'algorithme de remplissage pour la convolution.

    dilations

    Le facteur de dilatation pour les dimensions spatiales/spatio-temporelles.

    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.