SeparableConv2D

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

Una capa de convolución separable en 2-D.

Esta capa realiza una convolución en profundidad que actúa por separado en los canales seguida de una convolución puntual que mezcla canales.

  • El núcleo de convolución profunda 4-D.

    Declaración

    public var depthwiseFilter: Tensor<Scalar>
  • El núcleo de convolución puntual 4-D.

    Declaración

    public var pointwiseFilter: 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)
  • El algoritmo de relleno para la convolución.

    Declaración

    @noDerivative
    public let padding: Padding
  • El tipo de función de activación por elementos.

    Declaración

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

    Declaración

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

    Parámetros

    depthwiseFilter

    El núcleo de convolución en profundidad 4-D [filter height, filter width, input channels count, channel multiplier] .

    pointwiseFilter

    El núcleo de convolución puntual 4-D [1, 1, channel multiplier * input channels count, output channels count] .

    bias

    El vector de sesgo.

    activation

    La función de activación por elementos.

    strides

    Los pasos de la ventana corredera para las dimensiones espaciales.

    padding

    El algoritmo de relleno para la convolución.

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

    Declaración

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

    Parámetros

    input

    La entrada a la capa.

    Valor de retorno

    La salida.

  • Crea una capa SeparableConv2D con la forma de filtro puntual y en profundidad, los pasos, el relleno y la función de activación de elementos especificados.

    Declaración

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

    Parámetros

    depthwiseFilterShape

    La forma del núcleo de convolución en profundidad 4-D.

    pointwiseFilterShape

    La forma del núcleo de convolución puntual 4-D.

    strides

    Los pasos de la ventana corredera para las dimensiones espacio/espacio-temporales.

    padding

    El algoritmo de relleno para la convolución.

    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.