文章目录
前言
理解llava相关参数传递方法,有利于我们对模型修改模块使用参数来控制。llava提供参数包含训练参数TrainingArguments、模型参数ModelArguments、数据相关参数DataArguments。这里,我将会使用Demo为大家解读,并在理解Demo后,继续以llava源码解读,使其理解使用方法,也会给出相应参数添加方法。
一、@dataclass装饰器说明
dataclasses 是一个非常优雅的工具,可以轻松地创建简单的类,并自动生成常见的类方法,比如 init、repr 等。最大好处就是可以不需要构建__init__这样函数,也可一使用field方法。我之所以说这个是由于llava构建参数传递使用了该装饰器。为此,我简单说明一下。我也写了一个简单测试DataArguments与DataArguments_contrast效果基本一致。
代码如下:
from dataclasses import dataclass, field
@dataclass
class DataArguments