Incorporação

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

Uma camada de incorporação.

Embedding é efetivamente uma tabela de pesquisa que mapeia índices de um vocabulário fixo para representações vetoriais de tamanho fixo (densas), por exemplo [[0], [3]] -> [[0.25, 0.1], [0.6, -0.2]] .

  • Uma tabela de pesquisa que pode ser aprendida que mapeia índices de vocabulário para suas representações vetoriais densas.

    Declaração

    public var embeddings: Tensor<Scalar>
  • Cria uma camada Embedding com embeddings de forma inicializados aleatoriamente (vocabularySize, embeddingSize) para que cada índice de vocabulário receba uma representação vetorial.

    Declaração

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

    Parâmetros

    vocabularySize

    O número de índices distintos (palavras) no vocabulário. Este número deve ser o maior índice inteiro mais um.

    embeddingSize

    O número de entradas em uma única representação vetorial de incorporação.

    embeddingsInitializer

    Inicializador a ser usado para os parâmetros de incorporação.

  • Cria uma camada Embedding a partir dos embeddings fornecidos. Útil para introduzir embeddings pré-treinados em um modelo.

    Declaração

    public init(embeddings: Tensor<Scalar>)

    Parâmetros

    embeddings

    A tabela de incorporações pré-treinadas.

  • Retorna uma saída substituindo cada índice na entrada pela representação vetorial densa correspondente.

    Declaração

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

    Valor de retorno

    O tensor criado substituindo os índices de entrada por suas representações vetoriais.