SeparableConv2D

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

Una capa de convolución 2-D Separable.

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

  • El núcleo de convolución en profundidad 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 deslizante para dimensiones espaciales.

    Declaración

    @noDerivative
    public let strides: (Int, Int)
  • El algoritmo de relleno para 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 un SeparableConv2D capa con la profundidad para dar lugar especificado y filtro puntual, el sesgo, la función de activación, zancadas, y el relleno.

    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 4 D-profundidad para dar lugar convolución kernel [filter height, filter width, input channels count, channel multiplier] .

    pointwiseFilter

    El 4-D puntual convolución kernel [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 deslizante para dimensiones espaciales.

    padding

    El algoritmo de relleno para convolución.

  • Devuelve la salida obtenida 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 devuelto

    La salida.

  • Crea un SeparableConv2D capa con la profundidad para dar lugar y el filtro puntual forma especificada, zancadas, relleno, y la función de activación de elemento a elemento.

    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 deslizante para dimensiones espaciales / espaciotemporales.

    padding

    El algoritmo de relleno para 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.