Сохранение словарного объекта из библиотеки torchtext Pytorch - PullRequest
0 голосов
/ 16 апреля 2020

Построение модели классификации текста с использованием факельного текста pytorch. Объект словаря находится в поле data. *:

def create_tabularDataset_object(self,csv_path):
   self.TEXT = data.Field(tokenize=self.tokenizer,batch_first=True,include_lengths=True)
   self.LABEL = data.LabelField(dtype = torch.float,batch_first=True)
def get_vocab_with_glov(self,data):
   # initialize glove embeddings
   self.TEXT.build_vocab(data,min_freq=100,vectors = "glove.6B.100d")

После обучения при обслуживании модели в производстве как мне удерживать объект TEXT? во время предсказания мне это нужно для индексации слов токенов

[TEXT.vocab.stoi[t] for t in tokenizedׁ_sentence]

я что-то упускаю и нет необходимости держать этот объект? Нужен ли мне какой-нибудь другой файл, кроме весов модели?

1 Ответ

0 голосов
/ 16 апреля 2020

Я обнаружил, что могу сохранить его как pkl: сохранение TEXT.vocab как pkl сработало:

def save_vocab(vocab, path):
    import pickle
    output = open(path, 'wb')
    pickle.dump(vocab, output)
    output.close()

Где

vocab = TEXT.vocab 

и чтение как обычно ,

...