将模型上传到huggingface
在notebook上输入如下代码并运行后,输入write的token
from huggingface_hub import notebook_login
notebook_login()
# 设置训练参数
from transformers import TrainingArguments
batch_size = 32
logging_steps = len(encoded['train']) // batch_size
model_name = f"{model_pretrained}-finetuned-disaster"
training_args = TrainingArguments(
report_to='none',
output_dir=model_name,
num_train_epochs=2,
learning_rate=2e-5,
per_device_train_batch_size=batch_size,
per_device_eval_batch_size=batch_size,
weight_decay=.01,
evaluation_strategy='epoch',
disable_tqdm=False,
logging_steps=logging_steps,
log_level='error',
push_to_hub=True,
)
# 模型训练和评估
from transformers import Trainer
from sklearn.metrics import accuracy_score, f1_score
def compute_metrics(pred):
"""Compute accuracy and f1 score
"""
labels = pred.label_ids
preds = pred.predictions.argmax(-1)
f1 = f1_score(labels, preds, average='weighted')
acc = accuracy_score(labels, preds)
return {'accuracy': acc, 'f1': f1}
trainer = Trainer(
model=model,
args=training_args,
compute_metrics=compute_metrics,
train_dataset=encoded['train'],
eval_dataset=encoded['validation'],
tokenizer=tokenizer,
)
trainer.train()
# trainer.save_model()
trainer.push_to_hub("tiansz/roberta-large-finetuned-disaster")