自定义模型继承 Hugging 的 PreTrainedModel

问题背景

使用 HuggingFace 的 Trainer 进行训练,自定义模型继承 PreTrainedModel,希望能够通过 from_pretrained 容易地实现:从上次保存的 checkpoint 处继续训练。

问题描述

Traceback (most recent call last):
  File "D:\PycharmProjects\gaze\SPIGA\train\train.py", line 60, in <module>
    .from_pretrained('checkpoint-1175')
  File "D:\Anaconda3\envs\transformers\lib\site-packages\transformers\modeling_utils.py", line 2535, in from_pretrained
    config, model_kwargs = cls.config_class.from_pretrained(
AttributeError: 'NoneType' object has no attribute 'from_pretrained'

问题分析

问题定位为:cls.config_class 为 None,结果导致 'NoneType' object has no attribute 'from_pretrained'

问题解决

自定义模型时,声明 config_class

python 复制代码
from transformers.configuration_utils import PretrainedConfig
from transformers.modeling)utils import PreTrainedModel

class CustomModel(PreTrainedModel):
	# 注意 1:在这里声明 config_class
    config_class = PretrainedConfig
    # 注意 2:重写的 __init__ 方法需要有 config 参数,不然会报错
    def __init__(self, config=PretrainedConfig(), num_landmarks=98, num_edges=15, steps=3, **kwargs):
        super().__init__(config=config)
        # .......
相关推荐
果冻人工智能17 分钟前
2025 年将颠覆商业的 8 大 AI 应用场景
人工智能·ai员工
代码不行的搬运工19 分钟前
神经网络12-Time-Series Transformer (TST)模型
人工智能·神经网络·transformer
石小石Orz21 分钟前
Three.js + AI:AI 算法生成 3D 萤火虫飞舞效果~
javascript·人工智能·算法
罗小罗同学27 分钟前
医工交叉入门书籍分享:Transformer模型在机器学习领域的应用|个人观点·24-11-22
深度学习·机器学习·transformer
孤独且没人爱的纸鹤30 分钟前
【深度学习】:从人工神经网络的基础原理到循环神经网络的先进技术,跨越智能算法的关键发展阶段及其未来趋势,探索技术进步与应用挑战
人工智能·python·深度学习·机器学习·ai
阿_旭33 分钟前
TensorFlow构建CNN卷积神经网络模型的基本步骤:数据处理、模型构建、模型训练
人工智能·深度学习·cnn·tensorflow
羊小猪~~33 分钟前
tensorflow案例7--数据增强与测试集, 训练集, 验证集的构建
人工智能·python·深度学习·机器学习·cnn·tensorflow·neo4j
极客代码40 分钟前
【Python TensorFlow】进阶指南(续篇三)
开发语言·人工智能·python·深度学习·tensorflow
zhangfeng113340 分钟前
pytorch 的交叉熵函数,多分类,二分类
人工智能·pytorch·分类
Seeklike41 分钟前
11.22 深度学习-pytorch自动微分
人工智能·pytorch·深度学习