lora体验

项目链接

GitHub - cloneofsimo/lora: Using Low-rank adaptation to quickly fine-tune diffusion models.

现在如果想体验stable diffusion的lora功能,有很多种渠道吧,虽然lora是微软开源,但是cloneofsimo提供了适配stable diffusion的lora流程。

数据准备

我准备了20张葫芦娃的图片用于微调,没有什么特别操作。

微调

微调耗时很短,10分钟?

Code Review

代码基于cli_lora_pti.py 执行, 针对输入的关键词,我们生成对应的token id. 其实就是建立embedding的映射了。

这里有点不理解的是,initialize_token_ids, place_token_ids的作用不太理解。。。

接下来,进入

复制代码
PivotalTuningDatasetCapation

它的作用就是构建数据集。

接下来,还有inpaint的训练选项,这是一个我很感兴趣的功能。我们可以选择是使用inpainting_dataloader还是text2img_dataloader 加载数据

然后,我们设定require_grad为false。

复制代码
   unet.requires_grad_(False)
    vae.requires_grad_(False)

接下来,我们可以选择是否进行inversion, 如果选择训练inversion,我们会对于text encoder进行训练,

接下来,我们可以选择利用lora进行训练,这里可以选择是否使用extended lora进行训练,

然后,我们可以inspect_lora(什么意思呢?

最后,我们又一次进行tuning,对象为text_encoder和unet。并进行保存!我认为这个代码结构非常的清晰简洁,值得多看!

看什么呢?

有几个问题需要再梳理清楚

  1. initialized_token_id和place holder token id是什么关系

  2. inpaint 的操作如何进行?

  3. inspect lora是什么操作?

  4. inversion的细节

  5. extended lora是什么操作?

  6. unet微调的细节?

  7. vae不需要微调吗?

相关推荐
高洁019 小时前
大模型-详解 Vision Transformer (ViT)
人工智能·python·深度学习·算法·transformer
xier_ran19 小时前
Transformer:Decoder 中,Cross-Attention 所用的 K(Key)和 V(Value)矩阵,是如何从 Encoder 得到的
深度学习·矩阵·transformer
2401_8414956420 小时前
【自然语言处理】轻量版生成式语言模型GPT
人工智能·python·gpt·深度学习·语言模型·自然语言处理·transformer
机器学习之心2 天前
SSA-Transformer-LSTM麻雀搜索算法优化组合模型分类预测结合SHAP分析!优化深度组合模型可解释分析,Matlab代码
分类·lstm·transformer·麻雀搜索算法优化·ssa-transformer
Rock_yzh3 天前
AI学习日记——Transformer的架构:编码器与解码器
人工智能·深度学习·神经网络·学习·transformer
yuluo_YX3 天前
语义模型 - 从 Transformer 到 Qwen
人工智能·深度学习·transformer
大千AI助手3 天前
Megatron-LM张量并行详解:原理、实现与应用
人工智能·大模型·llm·transformer·模型训练·megatron-lm张量并行·大千ai助手
Cathy Bryant3 天前
智能模型对齐(一致性)alignment
笔记·神经网络·机器学习·数学建模·transformer
知识搬运工人4 天前
传统卷积神经网络中的核心运算是卷积或者矩阵乘,请问transformer模型架构主要的计算
矩阵·cnn·transformer
跳跳糖炒酸奶4 天前
第九章、GPT1:Improving Language Understanding by Generative Pre-Training(理论部分)
transformer·解码器·gpt1