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

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

Класс Embedding хранит таблицу векторов: номер слова из словаря превращается в строку чисел фиксированной длины. В текстовых задачах такой номер задают целым числом.

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

import torch import torch.nn as nn table = nn.Embedding(num_embeddings=10, embedding_dim=4) word_ids = torch.tensor([0, 2, 5]) vectors = table(word_ids) print(vectors.shape) # выведет torch.Size([3, 4])

На выходе для каждого номера получается отдельный вектор. Число строк совпадает с числом номеров во входном тензоре, а ширина строки равна заданной длине вектора.

import torch import torch.nn as nn table = nn.Embedding(20, 8) word_ids = torch.tensor([3, 7]) vectors = table(word_ids) print(vectors.shape) # выведет torch.Size([2, 8])

Соберите таблицу на 15 слов с длиной вектора 6. Подайте номера 1, 4 и 9 и выведите форму результата.

Возьмите словарь из 50 позиций и векторы длиной 12. Преобразуйте один номер 0 и выведите форму строки.

Опишите таблицу на 8 слов и 3 числа в каждом векторе. Подайте ряд номеров 2, 5, 5, 1 и выведите форму массива на выходе.

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