РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
220 of 824 menu

Слой Embedding

Слой Embedding применяется для преобразования целочисленных индексов в плотные векторы фиксированной размерности. Первым параметром слой принимает размер словаря (максимальный индекс + 1), вторым - размерность выходного вектора. Третьим параметром можно передать форму входных данных. Этот слой часто используется в задачах обработки естественного языка для представления слов в виде векторов.

Синтаксис

tf.keras.layers.Embedding(input_dim, output_dim, [input_length])

Пример

Давайте создадим слой Embedding с размером словаря 10 и размерностью выходного вектора 3, а затем применим его к тензору индексов:

import tensorflow as tf layer = tf.keras.layers.Embedding(input_dim=10, output_dim=3) t = tf.constant([1, 2, 3, 4, 5]) res = layer(t) print(res)

Результат выполнения кода:

tf.Tensor( [[ 0.02853646 -0.03659466 0.01307705] [ 0.01991716 -0.04187349 0.00244924] [ 0.02727077 0.00220152 -0.0078701 ] [-0.04043824 -0.04838318 -0.00330355] [-0.00746578 0.00370527 0.01271417]], shape=(5, 3), dtype=float32)

Пример

Давайте создадим слой Embedding и передадим ему на вход двумерный тензор индексов:

import tensorflow as tf layer = tf.keras.layers.Embedding(input_dim=10, output_dim=3) t = tf.constant([[1, 2, 3], [4, 5, 6]]) res = layer(t) print(res)

Результат выполнения кода:

tf.Tensor( [[[ 0.02853646 -0.03659466 0.01307705] [ 0.01991716 -0.04187349 0.00244924] [ 0.02727077 0.00220152 -0.0078701 ]] [[-0.04043824 -0.04838318 -0.00330355] [-0.00746578 0.00370527 0.01271417] [-0.00646333 0.04049467 -0.02781747]]], shape=(2, 3, 3), dtype=float32)

Пример

Давайте получим матрицу весов слоя Embedding с помощью метода get_weights:

import tensorflow as tf layer = tf.keras.layers.Embedding(input_dim=10, output_dim=3) t = tf.constant([1, 2, 3]) res = layer(t) weights = layer.get_weights() print(weights[0].shape)

Результат выполнения кода:

(10, 3)

Смотрите также

  • слой Dense,
    который применяет плотное преобразование к входным данным
  • слой LSTM,
    который реализует долгую краткосрочную память
  • слой GRU,
    который реализует управляемый рекуррентный блок
  • слой Masking,
    который маскирует последовательности для пропуска временных шагов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить