incrustar

public struct Embedding<Scalar> : Module where Scalar : TensorFlowFloatingPoint

Una capa de incrustación.

Embedding es efectivamente una tabla de búsqueda que asigna índices de un vocabulario fijo a representaciones vectoriales de tamaño fijo (densas), por ejemplo [[0], [3]] -> [[0.25, 0.1], [0.6, -0.2]]

  • Una tabla de búsqueda que se puede aprender y que asigna índices de vocabulario a sus densas representaciones vectoriales.

    Declaración

    public var embeddings: Tensor<Scalar>
  • Crea una capa Embedding con incrustaciones de formas inicializadas aleatoriamente (vocabularySize, embeddingSize) para que cada índice de vocabulario reciba una representación vectorial.

    Declaración

    public init(
      vocabularySize: Int,
      embeddingSize: Int,
      embeddingsInitializer: ParameterInitializer<Scalar> = { Tensor(randomUniform: $0) }
    )

    Parámetros

    vocabularySize

    El número de índices (palabras) distintos en el vocabulario. Este número debe ser el índice entero más grande más uno.

    embeddingSize

    El número de entradas en una única representación vectorial de incrustación.

    embeddingsInitializer

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

  • Crea una capa Embedding a partir de las incrustaciones proporcionadas. Útil para introducir incrustaciones previamente entrenadas en un modelo.

    Declaración

    public init(embeddings: Tensor<Scalar>)

    Parámetros

    embeddings

    La tabla de incrustaciones previamente entrenada.

  • Devuelve una salida reemplazando cada índice en la entrada con la representación vectorial densa correspondiente.

    Declaración

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

    Valor de retorno

    El tensor creado reemplazando los índices de entrada con sus representaciones vectoriales.