You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将PyTorch Lightning微调的T5模型上传至Hugging Face Hub

报错根因

你遇到的报错是由两个错误调用导致的:

  • save_pretrained和push_to_hub是Hugging Face Transformers库中PreTrainedModel子类的专属方法,你自定义的QA_model是PyTorch Lightning的LightningModule子类,本身不具备这两个方法
  • 你选择的调用对象是trainer(PyTorch Lightning训练器实例),训练器只负责调度训练流程,也不具备这两个方法
    你实际需要调用方法的对象是QA_model内部封装的T5ForConditionalGeneration实例,也就是self.model属性。
解决步骤

1. 提取训练完成的T5模型实例

训练结束后直接从你初始化的my_model中提取内部的T5模型:

trained_t5 = my_model.model

如果你是从本地checkpoint加载已训练好的模型,可以先加载Lightning checkpoint再提取:

my_model = QA_model.load_from_checkpoint("checkpoints/best-checkpoints.ckpt")
trained_t5 = my_model.model

2. 完成Hugging Face登陆

执行上传前需要先在终端/Notebook中运行以下命令,输入你的Hugging Face账号Access Token完成登陆:

huggingface-cli login

3. 保存并上传模型+分词器

为了保证其他用户可以正常加载使用你的模型,需要同时上传模型权重和对应的分词器:

from transformers import T5Tokenizer

# 加载你训练时使用的对应版本T5分词器
tokenizer = T5Tokenizer.from_pretrained(model_t5)

# 可选:先保存到本地目录
trained_t5.save_pretrained("t5-base-finetuned-legal_data")
tokenizer.save_pretrained("t5-base-finetuned-legal_data")

# 上传到Hugging Face Hub
trained_t5.push_to_hub("my_account/t5-base-finetuned-legal_data")
tokenizer.push_to_hub("my_account/t5-base-finetuned-legal_data")
可选兼容方案

如果你使用的transformers 4.1.1版本push_to_hub功能不稳定,可以先把模型和分词器保存到本地目录后,手动进入目录执行官方CLI命令上传:

cd t5-base-finetuned-legal_data
huggingface-cli upload my_account/t5-base-finetuned-legal_data .

内容的提问来源于stack exchange,提问作者Sht

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 13:06:01