GroupNorm

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

Una capa que aplica la normalización de grupo sobre un minigolote de entradas.

Referencia: Grupo Normalización .

  • El valor de compensación, también conocido como beta.

    Declaración

    public var offset: Tensor<Scalar>
  • El valor de escala, también conocido como gamma.

    Declaración

    public var scale: Tensor<Scalar>
  • El número de grupos.

    Declaración

    @noDerivative
    public let groupCount: Int
  • eje

    El eje donde se encuentran las características.

    Declaración

    @noDerivative
    public let axis: Int
  • El valor épsilon de la varianza.

    Declaración

    @noDerivative
    public let epsilon: Scalar
  • Crea una capa de normalización de grupo.

    Condición previa

    El eje no puede ser eje de lotes.

    Condición previa

    El desplazamiento debe tener rango 1.

    Condición previa

    El número de elementos del desplazamiento debe ser divisible por grupos.

    Condición previa

    El desplazamiento y la escala deben tener la misma forma.

    Declaración

    public init(
      offset: Tensor<Scalar>,
      scale: Tensor<Scalar>,
      groupCount: Int,
      axis: Int,
      epsilon: Scalar
    )

    Parámetros

    offset

    El valor de compensación inicial.

    scale

    El valor de escala inicial.

    groupCount

    El número de grupos.

    axis

    El eje donde se encuentran las características.

    epsilon

    El valor épsilon de la varianza.

  • Crea una capa de normalización de grupo.

    Condición previa

    El eje no puede ser eje de lotes.

    Condición previa

    El recuento de funciones debe ser divisible por grupos.

    Declaración

    public init(
      featureCount: Int,
      groupCount: Int,
      axis: Int = -1,
      epsilon: Scalar = 1e-3
    )

    Parámetros

    featureCount

    El número de funciones.

    groupCount

    El número de grupos.

    axis

    El eje donde se encuentran las características. El valor predeterminado es -1.

    epsilon

    El pequeño escalar se sumaba a la varianza. El valor predeterminado es 0,001.

  • Devuelve la salida obtenida al aplicar la capa a la entrada dada.

    Condición previa

    El eje no puede ser un eje por lotes.

    Condición previa

    Los números de características de la entrada y el desplazamiento deben ser los mismos.

    Declaración

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

    Parámetros

    input

    La entrada a la capa.

    Valor devuelto

    La salida.