自定义模型继承 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)
        # .......
相关推荐
说私域13 分钟前
基于定制开发开源 AI 智能名片 S2B2C 商城小程序的热点与人工下发策略研究
人工智能·小程序
Moshow郑锴19 分钟前
机器学习相关算法:回溯算法 贪心算法 回归算法(线性回归) 算法超参数 多项式时间 朴素贝叶斯分类算法
算法·机器学习·回归
Tiger Z29 分钟前
《动手学深度学习v2》学习笔记 | 1. 引言
pytorch·深度学习·ai编程
GoGeekBaird1 小时前
GoHumanLoopHub开源上线,开启Agent人际协作新方式
人工智能·后端·github
Jinkxs1 小时前
测试工程师的AI转型指南:从工具使用到测试策略重构
人工智能·重构
别惹CC1 小时前
Spring AI 进阶之路01:三步将 AI 整合进 Spring Boot
人工智能·spring boot·spring
stbomei3 小时前
当 AI 开始 “理解” 情感:情感计算技术正在改写人机交互规则
人工智能·人机交互
Moshow郑锴8 小时前
人工智能中的(特征选择)数据过滤方法和包裹方法
人工智能
TY-20259 小时前
【CV 目标检测】Fast RCNN模型①——与R-CNN区别
人工智能·目标检测·目标跟踪·cnn
CareyWYR10 小时前
苹果芯片Mac使用Docker部署MinerU api服务
人工智能