#python #google-colaboratory #huggingface-transformers #pytorch-lightning #pytorch-dataloader
Вопрос:
Я обучил тонкую настройку модели T5 с помощью моего набора данных.
Вот мой класс моделей
class QA_model(pl.LightningModule):
def __init__(self):
super().__init__()
self.model=T5ForConditionalGeneration.from_pretrained(model_t5,return_dict=True)
def forward(self,input_ids, attention_mask,labels=None):
output=self.model(input_ids=input_ids,
attention_mask=attention_mask,labels=labels)
return output.loss, output.logits
def training_step(self,batch,batch_idx):
input_ids=batch['input_ids']
attention_mask=batch['attention_mask']
labels=batch['labels']
loss,outputs=self.forward(input_ids, attention_mask,labels)
self.log('train_loss',loss,prog_bar=True,logger=True)
return loss
def validation_step(self,batch,batch_idx):
input_ids=batch['input_ids']
attention_mask=batch['attention_mask']
labels=batch['labels']
loss,outputs=self.forward(input_ids, attention_mask,labels)
self.log('val_loss',loss,prog_bar=True,logger=True)
return loss
def test_step(self,batch,batch_idx):
input_ids=batch['input_ids']
attention_mask=batch['attention_mask']
labels=batch['labels']
loss,outputs=self.forward(input_ids, attention_mask,labels)
self.log('test_loss',loss,prog_bar=True,logger=True)
return loss
def configure_optimizers(self):
return AdamW(self.parameters(),lr=0.0001)
Я инициализирую свою модель:
my_model=QA_model()
from pytorch_lightning.callbacks import ModelCheckpoint
checkpoint_callback=ModelCheckpoint(
dirpath='checkpoints',
filename='best-checkpoints',
save_top_k=1,
verbose=True,
monitor='val_loss',
mode='min'
)
от pytorch_lightning.регистраторы импортируют тензорный регистратор
logger=TensorBoardLogger('training-logs',name='QA_model')
trainer=pl.Trainer(
logger=logger,
checkpoint_callback=checkpoint_callback,
max_epochs=N_EPOCHS,
gpus=1,
progress_bar_refresh_rate=30
)
и после того, как я тренировался:
trainer.fit(my_model,data_module)
Когда я настраиваю модель, я хочу поместить ее в обнимающее лицо.
Я использую следующую команду:
trainer.save_pretrained("my_account/t5-base-finetuned-legal_data")
trainer.push_to_hub("my_account/t5-base-finetuned-legal_data")
но это дает ошибку:
QA_model model does not have save_pretrained/push_to_hub attribute.
Я использую следующие версии:
!pip install --quiet transformers==4.1.1
!pip install --quiet pytorch-lightning==1.1.3
!pip install --quiet tokenizers==0.9.4
!pip install --quiet sentencepiece==0.1.94
Комментарии:
1. Какую версию
transformers
вы используете?2. @трансформаторы Деннингера==4.1.1