Conv3D

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

Una capa de convolución tridimensional para convolución espacial/espacio-temporal sobre imágenes.

Esta capa crea un filtro de convolución que convoluciona con la entrada de la capa para producir un tensor de salidas.

  • El filtro de convolución 5-D.

    Declaración

    public var filter: Tensor<Scalar>
  • El vector de sesgo.

    Declaración

    public var bias: Tensor<Scalar>
  • La función de activación por elementos.

    Declaración

    @noDerivative
    public let activation: Activation
  • Los pasos de la ventana corredera para las dimensiones espaciales.

    Declaración

    @noDerivative
    public let strides: (Int, Int, Int)
  • El algoritmo de relleno para la convolución.

    Declaración

    @noDerivative
    public let padding: Padding
  • El factor de dilatación para las dimensiones espacio/espaciotemporales.

    Declaración

    @noDerivative
    public let dilations: (Int, Int, Int)
  • El tipo de función de activación por elementos.

    Declaración

    public typealias Activation = @differentiable (Tensor<Scalar>) -> Tensor<Scalar>
  • Crea una capa Conv3D con el filtro, el sesgo, la función de activación, los avances y el relleno especificados.

    Declaración

    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)
    )

    Parámetros

    filter

    El filtro de convolución 5-D de forma [profundidad del filtro, altura del filtro, ancho del filtro, recuento de canales de entrada, recuento de canales de salida].

    bias

    El vector de polarización de la forma [recuento de canales de salida].

    activation

    La función de activación por elementos.

    strides

    Los pasos de la ventana corredera para dimensiones espaciales, es decir (profundidad de paso, altura de paso, ancho de paso)

    padding

    El algoritmo de relleno para la convolución.

    dilations

    El factor de dilatación para las dimensiones espaciales/espacio-temporales.

  • Devuelve el resultado obtenido al aplicar la capa a la entrada dada.

    Las dimensiones espaciales de salida se calculan como:

    profundidad de salida = (profundidad de entrada + 2 * profundidad de relleno - (profundidad de dilatación * (profundidad de filtro - 1) + 1)) / profundidad de zancada + 1

    altura de salida = (altura de entrada + 2 * altura de relleno - (altura de dilatación * (altura de filtro - 1) + 1)) / altura de zancada + 1

    ancho de salida = (ancho de entrada + 2 * ancho de relleno - (ancho de dilatación * (ancho de filtro - 1) + 1)) / ancho de zancada + 1

    y los tamaños de relleno están determinados por el esquema de relleno.

    Nota

    El tamaño del relleno es igual a cero cuando se usa .valid .

    Declaración

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

    Parámetros

    input

    La entrada a la capa de forma [recuento de lotes, profundidad de entrada, altura de entrada, ancho de entrada, recuento de canales de entrada].

    Valor de retorno

    La salida de la forma [recuento de lotes, profundidad de salida, altura de salida, ancho de salida, recuento de canales de salida].

  • Crea una capa Conv3D con la forma de filtro, pasos, relleno, dilataciones y función de activación de elementos especificados. El tensor de filtro se inicializa mediante la inicialización uniforme de Glorot con la semilla especificada. El vector de sesgo se inicializa con ceros.

    Declaración

    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()
    )

    Parámetros

    filterShape

    La forma del filtro de convolución 5-D, que representa (profundidad del filtro, altura del filtro, ancho del filtro, recuento de canales de entrada, recuento de canales de salida).

    strides

    Los pasos de la ventana corredera para dimensiones espaciales, es decir (profundidad de paso, altura de paso, ancho de paso)

    padding

    El algoritmo de relleno para la convolución.

    dilations

    El factor de dilatación para las dimensiones espaciales/espacio-temporales.

    activation

    La función de activación por elementos.

    filterInitializer

    Inicializador que se utilizará para los parámetros del filtro.

    biasInitializer

    Inicializador que se utilizará para los parámetros de polarización.