0
0 комментариев
import numpy as np
import codecs
 
fileObj = codecs.open("fragments.txt", "r", "utf_8_sig")
text = fileObj.read()
fileObj.close()
 
strings = text.split('\n')
 
char_dictionary = np.load('bag_of_characters.npy').item()
START_SYM = 165
END_SYM = 166
UNK = 167
SPACE_SYM = 168
CHARACTER_SYM = 169
train_size = len(strings)
dict_len = len(char_dictionary) + 5
 
MAX_LENGTH = 130
 
def char_to_code(char):
    if char in char_dictionary.keys():
        return char_dictionary[char]
    else:
        return UNK
 
data = np.zeros(shape=(train_size, MAX_LENGTH, dict_len),dtype='float32')
for i in range(train_size):
    for pos, char in enumerate(strings[i]):
            data[i, pos, char_to_code(char)] = 1

Пытаюсь преобразовать стоки в numpy массив с помощью one-hot-encoding на character уровне. В массиве 1.6кк строк при попытке преобразовать более +-200к строк выдает memory error.У меня вопрос в том, это физический предел моего ПК(8 гб) или можно как то обойти эту ошибку?
Спасибо.


Добавить комментарий