自定义模型继承 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)
        # .......
相关推荐
算家计算14 小时前
重磅突破!全球首个真实物理环境机器人基准测试正式发布,具身智能迎来 “ImageNet 时刻”
人工智能·资讯
新智元14 小时前
苹果 M5「夜袭」高通英特尔!AI 算力狂飙 400%,Pro 三剑客火速上新
人工智能·openai
GoppViper14 小时前
什么是GEO生成式引擎优化?GEO科普:定义、原理与应用指南
人工智能·搜索引擎
新智元14 小时前
谷歌 × 耶鲁联手发布抗癌神器!AI 推理精准狙击「隐身」癌细胞
人工智能·openai
勤源科技14 小时前
运维知识图谱的构建与应用
运维·人工智能·知识图谱
明月(Alioo)14 小时前
机器学习入门,无监督学习之K-Means聚类算法完全指南:面向Java开发者的Python实现详解
python·算法·机器学习
jndingxin15 小时前
瑞芯微算法环境搭建(2)------编译opencv
人工智能·opencv·计算机视觉
LeeZhao@15 小时前
【具身智能】具身机器人VLA算法入门及实战(一):具身智能系统及VLA
人工智能·docker·语言模型·机器人
深度之眼15 小时前
【Nature高分思路速递】 物理驱动的机器学习
人工智能·机器学习·pinn
甜辣uu15 小时前
【源码讲解+复现】YOLOv10: Real-Time End-to-End Object Detection
人工智能·yolo·目标检测·nms-free