public struct Embedding<Scalar> : Module where Scalar : TensorFlowFloatingPoint
Слой внедрения.
Embedding
фактически представляет собой таблицу поиска, которая отображает индексы из фиксированного словаря в векторные представления фиксированного размера (плотные), например [[0], [3]] -> [[0.25, 0.1], [0.6, -0.2]]
.
Обучаемая таблица поиска, которая сопоставляет словарные индексы с их плотными векторными представлениями.
Декларация
public var embeddings: Tensor<Scalar>
Создает слой
Embedding
со случайно инициализированными внедрениями формы(vocabularySize, embeddingSize)
так что каждому индексу словаря присваивается векторное представление.Декларация
public init( vocabularySize: Int, embeddingSize: Int, embeddingsInitializer: ParameterInitializer<Scalar> = { Tensor(randomUniform: $0) } )
Параметры
vocabularySize
Количество различных индексов (слов) в словаре. Это число должно быть наибольшим целочисленным индексом плюс один.
embeddingSize
Количество записей в одном векторном представлении внедрения.
embeddingsInitializer
Инициализатор, используемый для параметров внедрения.
Создает слой
Embedding
из предоставленных внедрений. Полезно для введения в модель предварительно обученных внедрений.Декларация
public init(embeddings: Tensor<Scalar>)
Параметры
embeddings
Предварительно обученная таблица вложений.
Возвращает выходные данные, заменяя каждый индекс во входных данных соответствующим плотным векторным представлением.
Возвращаемое значение
Тензор, созданный путем замены входных индексов их векторными представлениями.