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 模組而不進行合併,來恢復基礎模型。這將返回原始的基礎模型。