将模型上传到huggingface

发布时间 2023-03-24 15:39:25作者: tiansz

在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")