当前位置: 首页 > article >正文

LlamaFactory——如何使用魔改后的模型

需求来源:有时我们可能想在llamafactory框架支持的模型上进行一些改动,例如修改forward()方法等,修改方法我们可以通过继承Transformers库中相应的class并重写相应的方法即可,那我们如何使用自己的模型呢?

首先,我们需要定位模型初始化的相关代码,具体路径为:LLaMA-Factory-main/src/llamafactory/model/loader.py

# 大致在169行的位置
model = load_class.from_pretrained(**init_kwargs)

上述代码实现了模型的初始化,其中load_class是OrderDict的一个子类,功能主要是根据config的类型找到对应模型class,例如Qwen2VLConfig(源码:transformers/models/qwen2_vl/configuration_qwen2_vl.py)对应Qwen2VLForConditionalGeneration(源码:transformers/models/qwen2_vl/modeling_qwen2_vl.py),本质上类似于字典,那我们只需要把相应的值替换为我们自己的模型即可,具体代码如下:

load_class.register(type(config), YourCustomModelClass, exist_ok=True)
model = load_class.from_pretrained(**init_kwargs)

使用load_class的register()方法,把模型class替换为自己的模型即可,一定注意参数exist_ok要设置为True,才能覆写已有Config类对应的模型,不然会报错。

http://www.lryc.cn/news/2392520.html

相关文章:

  • 【前端】【css预处理器】Sass与Less全面对比与构建对应知识体系
  • 【请关注】关于VC++实现使用Redis不同方法,有效达到 Redis 性能优化、防击穿
  • 【加密算法】
  • 20250529-C#知识:索引器
  • 【笔记】suna部署之获取 Tavily API key
  • 06-Web后端基础(java操作数据库)
  • JavaScript性能优化实战的技术文-——仙盟创梦IDE
  • GitHub Copilot 使用手册与原理解析
  • vllm 2080TI ubuntu环境安装
  • 【C语言】指针详解(接)
  • 【C】箭头运算符
  • HTTP Accept简介
  • 什么是单片机?
  • 联通专线加持!亿林网络 24 核 32G 裸金属服务器,千兆共享带宽适配中小型企业 IT 架构
  • Ubuntu的shell脚本
  • 微信小程序页面嵌套web-view点击系统导航返回时进行弹窗处理
  • 从抄表到节能,电费管理系统如何重构公寓运营场景——仙盟创梦IDE
  • Rust 学习笔记:关于闭包的练习题
  • 记一次前端逻辑绕过登录到内网挖掘
  • 有什么excel.js支持IE11,可以显示EXCEL单元格数据,支持单元格合并,边框线,单元格背景
  • x86 与 ARM 汇编深度对比:聚焦 x86 汇编的独特魅力
  • Springboot 整合 WebSocket 实现聊天室功能
  • 用 Trae IDE 打造一个桌面小爬虫:从 PyQt5 开始,轻松采集掘金首页内容
  • python和风api获取天气(JSON Web Token)
  • 模板应用更新同步到所有开发中的应用
  • git和gitee的常用语句命令
  • 52、C# 泛型 (Generics)
  • 理解 Vue 2 的响应式原理:数据劫持与依赖收集的背后
  • 深入理解 Pinia:Vue 状态管理的革新与实践
  • Dubbo高频面试题