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

Вектор слова в TensorFlow

Слова в модели задают целыми номерами в словаре. Сам номер мало что говорит о смысле, поэтому его переводят в вектор слова - набор чисел фиксированной длины, который подбирают при обучении.

Класс Embedding хранит таблицу таких векторов. При создании указывают размер словаря и длину вектора. На вход подают целые номера слов, на выходе получают готовые строки из таблицы.

Создадим слой с пятью словами и вектором длины три. Подадим одну фразу из трёх номеров и выведем форму ответа:

import tensorflow as tf ids = tf.constant([[2, 0, 1]]) layer = tf.keras.layers.Embedding(5, 3) vectors = layer(ids) print(vectors.shape) # выведет (1, 3, 3)

Первая ось - размер партии, вторая - число слов во фразе, третья - длина вектора. Для двух фраз в одной партии форма меняется только по оси партии:

import tensorflow as tf ids = tf.constant([[1, 2], [0, 3]]) layer = tf.keras.layers.Embedding(4, 2) vectors = layer(ids) print(vectors.shape)

Задайте таблицу на десять слов с длиной вектора четыре. Подайте на неё одну строку номеров [0, 5, 2] и выведите форму результата.

Соберите партию из двух строк [1, 3] и [2, 0]. Пропустите их через таблицу на шесть слов с вектором длины 5 и выведите форму ответа.

Создайте целые номера одной фразы длины пять в одной строке партии. Узнайте форму тензора после перевода в векторы при длине вектора 8 и словаре из двадцати слов.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить