Incrustar

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

Una capa de incrustación.

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

  • Una tabla de búsqueda de aprendizaje que asigna índices de vocabulario a sus densas representaciones vectoriales.

    Declaración

    public var embeddings: Tensor<Scalar>
  • Crea una Embedding capa con incrustaciones inicializados aleatoriamente de forma (vocabularySize, embeddingSize) por lo que cada índice de vocabulario se da 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 de vector de incrustación.

    embeddingsInitializer

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

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

    Declaración

    public init(embeddings: Tensor<Scalar>)

    Parámetros

    embeddings

    La mesa de incrustaciones previamente entrenadas.

  • Devuelve una salida reemplazando cada índice en la entrada con la representación de vector denso correspondiente.

    Declaración

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

    Valor devuelto

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