Загрузка модели SimpleTransformer с использованием библиотеки обнимающих лиц?

#deep-learning #nlp #pytorch #bert-language-model #simpletransformers

#глубокое обучение #нлп #пыторч #берт-язык-модель #простые преобразователи

Вопрос:

Я новичок в НЛП. У меня есть модель, которую я настроил на набор данных с помощью простых преобразователей, которые я использовал для загрузки следующим образом :

 from simpletransformers.language_representation import RepresentationModel model = RepresentationModel(model_type='bert',model_name='./new_model',use_cuda=False)  

Теперь я хочу использовать веса слоя пула в формате pickle и использовать их в новом кодере-декодере архитектура кодера-декодера выглядит следующим образом:

вход:размер 768 , пул: размер 768 , скрытый: размер 3072, пул:728 , выход:размер 768

который я реализовал так(я не уверен в этом)

 import torch.nn.functional as F  class Autoencoder(nn.Module):  def __init__(self):  super(Autoencoder, self).__init__()  # encoder  self.input = nn.Linear(in_features=768, out_features=768)  self.pool = nn.Linear(in_features=768, out_features=768)  self.hidden = nn.Linear(in_features=768, out_features=3072)  self.pool2 = nn.Linear(in_features=3072, out_features=768)  self.output = nn.Linear(in_features=768, out_features=768)  def forward(self, x):  x = F.relu(self.input(x))  x = F.relu(self.pool(x))  x = F.relu(self.hidden(x))  x = F.relu(self.pool2(x))  x = F.relu(self.output(x))  return x  

Теперь я знаю , что могу загрузить слой пула вот так:

 model.bert.pooler.state_dict()  

Но это, похоже, не работает для простых трансформаторов .

Как я могу сохранить слой пула в формате рассола ? И как я могу загрузить эти грузы в этот новый класс?

Я был бы очень рад, если бы вы ответили мне