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

杭州市建设信用网郑州优化网站关键词

杭州市建设信用网,郑州优化网站关键词,wordpress全自动赚钱,企业网站建设有几种2025-5-21 注:本文只提供思路,没有解决“权重识别”、“BREAK”问题。 要想实现与webui一样的绘图效果与无限prompt,可参考diffusers/examples/community/lpw_stable_diffusion_xl.py 1、上代码 from diffusers import StableDiffusionXLP…

 2025-5-21 注:本文只提供思路,没有解决“权重识别”、“BREAK”问题。

要想实现与webui一样的绘图效果与无限prompt,可参考diffusers/examples/community/lpw_stable_diffusion_xl.py

1、上代码

from diffusers import StableDiffusionXLPipeline,EulerAncestralDiscreteScheduler# 1. 加载模型
config_path = "anime_illust_diffusion_xl"
model_id="anime_illust_diffusion_xl/animeIllustDiffusion_v08.safetensors"
pipe = StableDiffusionXLPipeline.from_single_file(model_id, dtype=torch.bfloat16,config=config_path,local_files_only=True)pipe = pipe.to("cuda") # 2. 准备输入图像和提示词
#======================================
clip_skip = 1prompt = 40 * "1girl, solo, black background,(best quality:1.5)" # 超出77长度限制
negative_prompt = "worst quality, low quality, multi views"max_length = pipe.tokenizer.model_max_length
tokenizers = [pipe.tokenizer,pipe.tokenizer_2]
text_encoders = [pipe.text_encoder,pipe.text_encoder_2]
prompts = [prompt,prompt]
negative_prompts = [negative_prompt,negative_prompt]prompt_embeds_list = []
negative_prompt_embeds_list= []for prompt,negative_prompt, tokenizer, text_encoder in zip(prompts,negative_prompts, tokenizers, text_encoders):input_ids = tokenizer(prompt, return_tensors="pt").input_idsinput_ids = input_ids.to("cuda")negative_ids =tokenizer(negative_prompt, truncation=False, padding="max_length", max_length=input_ids.shape[-1], return_tensors="pt").input_ids                                                                                                     negative_ids = negative_ids.to("cuda")# 分段处理promptconcat_embeds = [] neg_embeds = []for i in range(0, input_ids.shape[-1], max_length):embeds_1 = text_encoder(input_ids[:, i: i + max_length], output_hidden_states=True)pooled_prompt_embeds = embeds_1[0]concat_embeds.append(embeds_1.hidden_states[-(clip_skip+2)])embeds_2 = text_encoder(negative_ids[:, i: i + max_length],output_hidden_states=True)negative_pooled_prompt_embeds = embeds_2[0]neg_embeds.append(embeds_2.hidden_states[-2])# 拼接text_encoder结果# 例:(1,77,768)+(1,22,768) = (1,99,768)prompt_embeds = torch.cat(concat_embeds, dim=1)negative_prompt_embeds = torch.cat(neg_embeds, dim=1)prompt_embeds_list.append(prompt_embeds)negative_prompt_embeds_list.append(negative_prompt_embeds)# 拼接两个text_encoder的特征
# 例:(1,99,768)+(1,99,1280) = (1,99,2048)
prompt_embeds = torch.concat(prompt_embeds_list, dim=-1)
negative_prompt_embeds = torch.concat(negative_prompt_embeds_list, dim=-1)#=====================================# 3. 设置生成参数
num_inference_steps = 28  # 推理步数,可根据需要调整
guidance_scale = 7     # 引导比例,控制生成图像与提示的匹配程度
generator = torch.Generator("cuda").manual_seed(31)# 4. 执行生成
with torch.no_grad():images = pipe(#prompt=prompt,#negative_prompt=negative_prompt,prompt_embeds = prompt_embeds, pooled_prompt_embeds = pooled_prompt_embeds,negative_prompt_embeds = negative_prompt_embeds, negative_pooled_prompt_embeds = negative_pooled_prompt_embeds,height = 1216,width= 832,num_inference_steps=num_inference_steps,guidance_scale=guidance_scale,clip_skip=clip_skip,num_images_per_prompt=2,generator = generator).imagesprint(type(images))
# 5. 保存结果
for id in range(len(images)):images[id].save(f"output_image_{id}.png")

 2、分析

需要准备下面四样东西:

        prompt_embeds   # 正向提示词编码

        pooled_prompt_embeds   # 正向提示词编码的全局池化

        negative_prompt_embeds   # 负向提示词编码

        negative_pooled_prompt_embeds   # 负向提示词的全局池化

前置知识:

1. sdxl有两个text_encoder,不妨设为t1,t2:

        将prompt输入t1,得到768维的数据;输入t2,得到1280维的数据

        最后送入Unet进行cross_attention的,是拼接后2048维的数据

        t1、t2的输入限制了大小,最大为77

2. pooled_prompt_embeds,这玩意的原理我不懂,不过生成方式在上面代码里有写

解决方案

把长度为99的prompt,拆分为77+22,分别输入text_encoder,然后将结果拼接

http://www.dtcms.com/a/483218.html

相关文章:

  • 农业与供应链类 RWA 落地研究报告
  • p2p理财网站开发cms和wordpress
  • 合肥seo整站优化网站做跳转付款
  • 物联网的调试
  • React项目开发(代码架构/规范怎么做)?
  • 做视频网站要准备哪些资料广告设计与制作好找工作吗
  • 双token登录
  • [Backstage] 认证请求的流程 | JWT令牌
  • 简述网站规划的一般步骤马鞍山集团网站设计
  • 使用 Rufus 制作启动盘安装 Windows 与 Ubuntu 系统全流程教程(图文详解+避坑指南)
  • 网站建设项目清单价格海口网站建设哪家最好
  • 网站接入服务商网站app建设图片素材
  • 3ds Max从入门到精通:建模、动画与渲染完整实战教程
  • 建设工程项目编号在什么网站查网站建设方案的内容
  • 做网站 多少钱全国优秀施工企业查询
  • 【免费】轻量级服务器centos监控程序+内存+cpu+nginx+适合小型站长使用
  • 青岛模板建站代理模板建站公司
  • 瑞芯微算法环境搭建(1)------编译ffmpeg
  • python策略网站怎么做seo策略工具
  • 建立了公司网站网络营销心得体会
  • 从 C 到 C++:容器适配器 std::stack 与 std::queue 详解
  • 工信部网站备案查询 验证码错误2019年建设银行安徽招聘网站
  • wordpress网站如何搬家wordpress开发入门视频教程
  • 电子商务网站建设与管理思考与练习做暧视频免费网站
  • 建站公司兴田德润网页制作模板 html
  • Spring Boot 3零基础教程,深度理解 Spring Boot 自动配置原理,笔记11
  • PHP MQTT 订阅服务:实时消息接收与数据库存储解决方案
  • 设计网站网站名称冒用公司名做网站
  • Android进阶之路 - 全方位监听视图加载完成
  • PPT-EA:PPT自动生成器