本文主要讲解两点:

  1. lora中的strength_model和strength_clip在代码中是如何起作用的;
    在这里插入图片描述
  2. 解释提示词的权重如:(girl:1.2)是如何起作用的。

解析

  1. lora中的strength_model和strength_clip在代码中是如何起作用的;strength_model是控制lora在unet中的权重;strength_clip是控制lora在clip中的权重;
    a. 如下图代码所示,首先获取lora的两个低秩矩阵;
    b. 然后获取计算尺度因子alpha;
    b. 然后两个矩阵相乘得到lora_diff;
    c. 最后,模型的原始权重 = 模型的原始权重 + strength_model* alpha* lora_diff,完成;
    在这里插入图片描述

  2. 解释提示词的权重如:(girl:1.2)是如何起作用的。
    a. 如果提示词有权重的话,会获取一些特殊的字符的id,to_encode中有两个列表,每个列表长度(77,);
    b. 把to_encode放到encode中得到feature,out(2,77,1280);第一个是prompt feature把它作为x0,第二个是empty feature把它作为x1;
    c. 第三步返回的提示词特征的计算公式就是:out = weight*x0+(1-weight)*x1;

在这里插入图片描述

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐