Incorporamento

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

Uno strato di incorporamento.

Embedding è effettivamente una tabella di ricerca che mappa gli indici da un vocabolario fisso a rappresentazioni vettoriali (dense) di dimensione fissa, ad esempio [[0], [3]] -> [[0.25, 0.1], [0.6, -0.2]] .

  • Una tabella di ricerca apprendibile che associa gli indici del vocabolario alle loro rappresentazioni vettoriali dense.

    Dichiarazione

    public var embeddings: Tensor<Scalar>
  • Crea un livello Embedding con incorporamenti di forma inizializzati in modo casuale (vocabularySize, embeddingSize) in modo che a ogni indice del vocabolario venga assegnata una rappresentazione vettoriale.

    Dichiarazione

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

    Parametri

    vocabularySize

    Il numero di indici distinti (parole) nel vocabolario. Questo numero dovrebbe essere l'indice intero più grande più uno.

    embeddingSize

    Il numero di voci in una singola rappresentazione vettoriale di incorporamento.

    embeddingsInitializer

    Inizializzatore da utilizzare per i parametri di incorporamento.

  • Crea un livello Embedding dagli incorporamenti forniti. Utile per introdurre incorporamenti preaddestrati in un modello.

    Dichiarazione

    public init(embeddings: Tensor<Scalar>)

    Parametri

    embeddings

    La tabella degli incorporamenti preaddestrati.

  • Restituisce un output sostituendo ciascun indice nell'input con la corrispondente rappresentazione vettoriale densa.

    Dichiarazione

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

    Valore di ritorno

    Il tensore creato sostituendo gli indici di input con le loro rappresentazioni vettoriali.