Umieszczanie

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

Warstwa osadzająca.

Embedding jest w rzeczywistości tabelą przeglądową, która odwzorowuje indeksy ze stałego słownictwa na reprezentacje wektorowe o stałym rozmiarze (gęste), np. [[0], [3]] -> [[0.25, 0.1], [0.6, -0.2]] .

  • Przydatna do nauki tabela przeglądowa, która odwzorowuje indeksy słownictwa na ich gęste reprezentacje wektorowe.

    Deklaracja

    public var embeddings: Tensor<Scalar>
  • Tworzy warstwę Embedding z losowo zainicjowanymi osadzaniami kształtu (vocabularySize, embeddingSize) dzięki czemu każdy indeks słownictwa ma reprezentację wektorową.

    Deklaracja

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

    Parametry

    vocabularySize

    Liczba odrębnych wskaźników (słów) w słownictwie. Liczba ta powinna być największym indeksem liczby całkowitej plus jeden.

    embeddingSize

    Liczba wpisów w pojedynczej reprezentacji wektora osadzania.

    embeddingsInitializer

    Inicjator do użycia dla parametrów osadzania.

  • Tworzy warstwę Embedding na podstawie dostarczonych osadzań. Przydatne przy wprowadzaniu wstępnie wyszkolonych elementów osadzonych do modelu.

    Deklaracja

    public init(embeddings: Tensor<Scalar>)

    Parametry

    embeddings

    Wstępnie wyszkolona tabela osadzania.

  • Zwraca wynik, zastępując każdy indeks na wejściu odpowiednią gęstą reprezentacją wektorową.

    Deklaracja

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

    Wartość zwracana

    Tensor utworzony przez zastąpienie indeksów wejściowych ich reprezentacjami wektorowymi.