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不需要微调吗?

相关推荐
笔画人生1 小时前
系统级整合:`ops-transformer` 在 CANN 全栈架构中的角色与实践
深度学习·架构·transformer
深鱼~2 小时前
深度剖析ops-transformer:LayerNorm与GEMM的融合优化
人工智能·深度学习·transformer
chian-ocean2 小时前
智能多模态助手实战:基于 `ops-transformer` 与开源 LLM 构建 LLaVA 风格推理引擎
深度学习·开源·transformer
熊文豪2 小时前
从零开始:基于CANN ops-transformer的自定义算子开发指南
人工智能·深度学习·transformer·cann
chian-ocean3 小时前
视觉新范式:基于 `ops-transformer` 的 Vision Transformer 高效部署
人工智能·深度学习·transformer
芷栀夏5 小时前
CANN 仓库实战:用 DrissionPage 构建高效、稳定的 UI 自动化测试框架
ui·aigc·transformer·cann
禁默6 小时前
Ops-Transformer深入:CANN生态Transformer专用算子库赋能多模态生成效率跃迁
人工智能·深度学习·transformer·cann
饭饭大王6667 小时前
当 AI 系统开始“自省”——在 `ops-transformer` 中嵌入元认知能力
人工智能·深度学习·transformer
哈哈你是真的厉害8 小时前
驾驭万亿参数 MoE:深度剖析 CANN ops-transformer 算子库的“核武库”
人工智能·深度学习·aigc·transformer
chian-ocean8 小时前
百万级图文检索实战:`ops-transformer` + 向量数据库构建语义搜索引擎
数据库·搜索引擎·transformer