PEFT 文档
LyCORIS
并获得增强的文档体验
开始使用
LyCORIS
LyCORIS(Lora beYond Conventional methods, Other Rank adaptation Implementations for Stable diffusion)是类似 LoRA 的矩阵分解适配器,它修改 UNet 的交叉注意力层。LoHa 和 LoKr 方法继承自此处的 `Lycoris` 类。
LycorisConfig
class peft.tuners.lycoris_utils.LycorisConfig
< 源 >( task_type: typing.Union[str, peft.utils.peft_types.TaskType, NoneType] = None peft_type: typing.Union[str, peft.utils.peft_types.PeftType, NoneType] = None auto_mapping: typing.Optional[dict] = None base_model_name_or_path: typing.Optional[str] = None revision: typing.Optional[str] = None inference_mode: bool = False rank_pattern: Optional[dict] = <factory> alpha_pattern: Optional[dict] = <factory> )
LyCORIS 类适配器的基础配置
LycorisLayer
LyCORIS 类适配器的基础层
merge
< 源 >( safe_merge: bool = False adapter_names: Optional[list[str]] = None )
将活动的适配器权重合并到基础权重中
此方法将所有已合并的适配器层从基础权重中分离出来。
LycorisTuner
class peft.tuners.lycoris_utils.LycorisTuner
< 源 >( model peft_config: Union[PeftConfig, dict[str, PeftConfig]] adapter_name: str low_cpu_mem_usage: bool = False state_dict: Optional[dict[str, torch.Tensor]] = None )
参数
- model (
torch.nn.Module
) — 要适配的模型。 - config (LoraConfig) — Lora 模型的配置。
- adapter_name (
str
) — 适配器的名称,默认为"default"
。 - low_cpu_mem_usage (
bool
,可选
, 默认为False
) — 在元设备上创建空的适配器权重。有助于加快加载过程。
LyCORIS 类适配器的基础调谐器
删除一个现有的适配器。
merge_and_unload
< 源 >( progressbar: bool = False safe_merge: bool = False adapter_names: Optional[list[str]] = None )
此方法将适配器层合并到基础模型中。如果有人想将基础模型用作独立模型,则需要此操作。
设置活动的适配器。
此外,此函数将把指定的适配器设置为可训练的(即 requires_grad=True)。如果不希望如此,请使用以下代码。
通过移除所有 lora 模块而不进行合并,来恢复基础模型。这将返回原始的基础模型。