当前位置: 首页 > news >正文

做网站有什么好处购买模板建站

做网站有什么好处,购买模板建站,电脑做服务器建网站并让外网访问,贵州网站设计1--相关讲解 LORA: LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS LoRA 在 Stable Diffusion 中的三种应用:原理讲解与代码示例 PEFT-LoRA 2--基本原理 固定原始层,通过添加和训练两个低秩矩阵,达到微调模型的效果; 3--简单代…

1--相关讲解

LORA: LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS

LoRA 在 Stable Diffusion 中的三种应用:原理讲解与代码示例

PEFT-LoRA

2--基本原理

        固定原始层,通过添加和训练两个低秩矩阵,达到微调模型的效果;

3--简单代码

import torch
import torch.nn as nn
from peft import LoraConfig, get_peft_model, LoraModel
from peft.utils import get_peft_model_state_dict# 创建模型
class Simple_Model(nn.Module):def __init__(self):super().__init__()self.linear1 = nn.Linear(64, 128)self.linear2 = nn.Linear(128, 256)def forward(self, x: torch.Tensor):x = self.linear1(x)x = self.linear2(x)return xif __name__ == "__main__":# 初始化原始模型origin_model = Simple_Model()# 配置lora configmodel_lora_config = LoraConfig(r = 32, lora_alpha = 32, # scaling = lora_alpha / r 一般来说,lora_alpha的参数初始化为与r相同,即scale=1init_lora_weights = "gaussian", # 参数初始化方式target_modules = ["linear1", "linear2"], # 对应层添加lora层lora_dropout = 0.1)# Test datainput_data = torch.rand(2, 64)origin_output = origin_model(input_data)# 原始模型的权重参数origin_state_dict = origin_model.state_dict() # 两种方式生成对应的lora模型,调用后会更改原始的模型new_model1 = get_peft_model(origin_model, model_lora_config)new_model2 = LoraModel(origin_model, model_lora_config, "default")output1 = new_model1(input_data)output2 = new_model2(input_data)# 初始化时,lora_B矩阵会初始化为全0,因此最初 y = WX + (alpha/r) * BA * X == WX# origin_output == output1 == output2# 获取lora权重参数,两者在key_name上会有区别new_model1_lora_state_dict = get_peft_model_state_dict(new_model1)new_model2_lora_state_dict = get_peft_model_state_dict(new_model2)# origin_state_dict['linear1.weight'].shape -> [output_dim, input_dim]# new_model1_lora_state_dict['base_model.model.linear1.lora_A.weight'].shape -> [r, input_dim]# new_model1_lora_state_dict['base_model.model.linear1.lora_B.weight'].shape -> [output_dim, r]print("All Done!")

4--权重保存和合并

核心公式是:new_weights = origin_weights + alpha* (BA)

    # 借助diffuser的save_lora_weights保存模型权重from diffusers import StableDiffusionPipelinesave_path = "./"global_step = 0StableDiffusionPipeline.save_lora_weights(save_directory = save_path,unet_lora_layers = new_model1_lora_state_dict,safe_serialization = True,weight_name = f"checkpoint-{global_step}.safetensors",)# 加载lora模型权重(参考Stable Diffusion),其实可以重写一个简单的版本from safetensors import safe_openalpha = 1. # 参数融合因子lora_path = "./" + f"checkpoint-{global_step}.safetensors"state_dict = {}with safe_open(lora_path, framework="pt", device="cpu") as f:for key in f.keys():state_dict[key] = f.get_tensor(key)all_lora_weights = []for idx,key in enumerate(state_dict):# only process lora down keyif "lora_B." in key: continueup_key    = key.replace(".lora_A.", ".lora_B.") # 通过lora_A直接获取lora_B的键名model_key = key.replace("unet.", "").replace("lora_A.", "").replace("lora_B.", "")layer_infos = model_key.split(".")[:-1]curr_layer = new_model1while len(layer_infos) > 0:temp_name = layer_infos.pop(0)curr_layer = curr_layer.__getattr__(temp_name)weight_down = state_dict[key].to(curr_layer.weight.data.device)weight_up   = state_dict[up_key].to(curr_layer.weight.data.device)# 将lora参数合并到原模型参数中 -> new_W = origin_W + alpha*(BA)curr_layer.weight.data += alpha * torch.mm(weight_up, weight_down).to(curr_layer.weight.data.device)all_lora_weights.append([model_key, torch.mm(weight_up, weight_down).t()])print('Load Lora Done')

5--完整代码

PEFT_LoRA

http://www.fp688.cn/news/162079.html

相关文章:

  • 医院手机网站建设百度怎么推广产品
  • 做网站在哪里做绍兴seo外包
  • 网站备案需要去哪里营销型网站建设运营
  • 做网站需要好多图片google play应用商店
  • 长春做网站哪家公司好北京seo代理计费
  • 泰安专业的网站建设网站推广方案策划书2000
  • 自己开公司需要什么流程惠州百度seo排名
  • 蓝色创新业务功能展示网页模板seo基础入门视频教程
  • 四川省人民政府副秘长有哪些seo搜索引擎优化实训报告
  • 哪个公司做网站好苏州河南省干部任免最新公示
  • 商城网站建设经验湖南企业竞价优化首选
  • sf网页游戏大全500强企业seo服务商
  • 做直播网站多少钱营销网络推广哪家好
  • wordpress 去掉w如何seo搜索引擎优化
  • 简单的做网站软件有啥网络站点推广的方法有哪些
  • 新闻网站的编辑该怎么做长春网站制作方案定制
  • 网站建设策划 优帮云个人如何注册网址
  • cpa自己做网站竞价推广方案
  • 拓元建设网站成都专门做网站的公司
  • 台州市网站建设合肥网站建设公司
  • 网站备案 做网站如何自己创建一个网站
  • 青岛 市北 疫情网奇seo赚钱培训
  • 怀化火车站网站优秀的网络搜索引擎营销案例
  • 青岛建设集团招工信息网站网站优化建议
  • 合肥企业网站网站排名优化怎么做
  • 网站建设售前说明书html做一个简单的网页
  • 电子网站建设基本流程图网络项目推广平台
  • 岳阳做网站百度网页广告怎么做
  • 平面设计网页设计师招聘seo关键词优化费用
  • 长沙装饰公司seopc流量排行榜企业