У меня есть модель классификации текста, которая пропускает вложения слов через GRU, а выходные данные этого GRU передаются в ANN, который дает один класс в качестве вывода.
Набор данных огромен (1,4 миллиона строк), и я обучаю его в Google Colab. Требуется 15 минут, чтобы пройти через 500 строк набора данных.
Итак, чтобы ускорить обучение, я решил использовать предварительно обученные векторы Glove вместо случайных вложений, которые предоставляет Pytorch. Как мне это реализовать?
И есть ли какие-либо идеи относительно того, что мне делать с пропущенными словами, которых нет в векторах Перчаток? Как они будут встроены?
Будут оценены любые другие идеи по ускорению.
EDIT:
На основании запроса @scarecrow для кода.
Код, который я использовал для преобразования вложений в тензор с плавающей точкой:
print(f'First embedding: {embeddings[0]}')
print(f'The dimensions of the embeddings are: {len(embeddings[0])}')
embed = torch.FloatTensor([embeddings[0], embeddings[1]])
Это только пример. Я думал, что будет лучше показать, какой блок кода выдает ошибку.
Я получаю ошибку:
First embedding: ['0.418', '0.24968', '-0.41242', '0.1217', '0.34527', '-0.044457', '-0.49688', '-0.17862', '-0.00066023', '-0.6566', '0.27843', '-0.14767', '-0.55677', '0.14658', '-0.0095095', '0.011658', '0.10204', '-0.12792', '-0.8443', '-0.12181', '-0.016801', '-0.33279', '-0.1552', '-0.23131', '-0.19181', '-1.8823', '-0.76746', '0.099051', '-0.42125', '-0.19526', '4.0071', '-0.18594', '-0.52287', '-0.31681', '0.00059213', '0.0074449', '0.17778', '-0.15897', '0.012041', '-0.054223', '-0.29871', '-0.15749', '-0.34758', '-0.045637', '-0.44251', '0.18785', '0.0027849', '-0.18411', '-0.11514', '-0.78581']
The dimensions of the embeddings are: 50
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-59-f8951bd3f739> in <module>()
1 print(f'First embedding: {embeddings[0]}')
2 print(f'The dimensions of the embeddings are: {len(embeddings[0])}')
----> 3 embed = torch.FloatTensor([embeddings[0], embeddings[1]])
ValueError: too many dimensions 'str'