Embedding

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

Uma camada de incorporação.

Embedding é efectivamente uma tabela de pesquisa que mapeia índices a partir de um vocabulário fixo às representações vetor de tamanho fixo (densa), 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 Embedding camada com incorporações inicializados aleatoriamente de forma (vocabularySize, embeddingSize) de modo que cada índice de vocabulário, é dada uma representação vectorial.

    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 Embedding camada a partir das incorporações fornecidos. Útil para introduzir embeddings pré-treinados em um modelo.

    Declaração

    public init(embeddings: Tensor<Scalar>)

    Parâmetros

    embeddings

    A mesa de embeddings pré-treinada.

  • Retorna uma saída substituindo cada índice na entrada pela representação de vetor denso correspondente.

    Declaração

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

    Valor de retorno

    O tensor criado pela substituição dos índices de entrada por suas representações vetoriais.