解決diffusers加載stablediffusion模型,輸入prompt總是報錯token數超出clip最大長度限制

1. StableDiffusion1.5

在加載huggingface中的擴散模型時,輸入prompt總是會被報錯超過clip的最大長度限制。
解決方案:使用compel庫

from diffusers import AutoPipelineForText2Image
import torch
import pdb
from compel import Compeldevice = torch.device("cuda:3")
# 大模型
model_path = "/data1/zhikun.zhao/huggingface_test/hubd/stable-diffusion-v1-5"
pipeline = AutoPipelineForText2Image.from_pretrained(model_path, torch_dtype=torch.float32
).to(device)# 設置lora
pipeline.load_lora_weights("/data1/zhikun.zhao/huggingface_test/hubd/adapter/c_adapt1", weight_name="zhenshi.safetensors", adapter_name = "zhenshi")#保證重復性和可復現性
generator = torch.Generator("cuda:3").manual_seed(31)prompt = "score_7_up, realhuman, photo_\\(medium\\), (dreamy, haze:1.2), (shot on GoPro hero:1.3), instagram, ultra-realistic, high quality, high resolution, RAW photo, 8k, 4k, soft shadows, artistic, shy, bashful, innocent, interior, dramatic, dynamic composition, 18yo woman, medium shot, closeup, petite 18-year-old woman, (hazel eyes,lip piercing,long silver straight hairs,Layered Curls cut, effect ,Sad expression, Downturned mouth, drooping eyelids, furrowed brows:0.8), wearing a figure-hugging dress with a plunging neckline and lace details, paired with black opaque tights pantyhose and knee-high leather boots, The look is bold and daring, perfect for a night out, detailed interior space, "
negative_prompt = "score_1, skinny, slim, ribs, abs, 2girls, piercings, bimbo breasts, professional, bokeh, blurry, text"compel = Compel(tokenizer = pipeline.tokenizer, text_encoder = pipeline.text_encoder)
conditioning = compel.build_conditioning_tensor(prompt)
negative_conditioning = compel.build_conditioning_tensor(negative_prompt) # .build_conditioning_tensor()和()通用
[conditioning, negative_conditioning] = compel.pad_conditioning_tensors_to_same_length([conditioning, negative_conditioning])out = pipeline(prompt_embeds = conditioning,num_images_per_prompt = 1, generator=generator, num_inference_steps = 50, # 建議步數50就可以height = 1024, width = 1024,guidance_scale = 7   # 文字相關度,這個值越高,生成圖像就跟文字提示越接近,但是值太大效果就不好了。
)
image = out.images[0]
image.save("img/test.png")

2. StableDiffusionXL1.0

上述解決方案在加載SDXL1.0模型的時候提示:輸入prompt_embeds的同時應該輸入pooled_prompt_embeds。
修改部分上述代碼如下:

out = pipeline(prompt_embeds = conditioning[0], pooled_prompt_embeds = conditioning[1],negative_prompt_embeds = negative_conditioning[0], negative_pooled_prompt_embeds = negative_conditioning[1],num_images_per_prompt = 1, generator=generator, num_inference_steps = 50, # 建議步數50就可以height = 1024, width = 768,guidance_scale = 3   # 文字相關度,這個值越高,生成圖像就跟文字提示越接近,但是值太大效果就不好了。
)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/72694.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/72694.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/72694.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

jmeter配件元素

jmeter配件元素 CSV Data Set Config名詞解釋測試場景Recycle on EOF:False配置測試結果 Recycle on EOF:True配置測試結果 Sharing mode:All Threads配置測試結果 Sharing mode:Current thread group配置測試結果 Sharing mode:Current thread配置測試結果 HTTP Header Manage…

Navicat SqlServer 設置自增主鍵

Navicat是一款優秀的數據庫管理工具&#xff0c;可以連接很多類型的數據庫。使用它可以極大的提高工作效率。 Navicat 不能設置SqlServer自增字段&#xff0c;只能通過sql語句來實現 建表時設置 create table <表名> ( <字段1-主鍵> int identity (1,1) primar…

Elasticsearch搜索引擎 3(DSL)

Elasticsearch提供了基于JSON的DSL&#xff08;Domain Specific Language&#xff09;語句來定義查詢條件&#xff0c;其JavaAPI就是在組織DSL條件。 1.DSL查詢 葉子查詢&#xff08;Leaf query clauses&#xff09;&#xff1a;在特定的字段里查詢特定值&#xff0c;屬于簡單…

final 在 java 中有什么作用?

final 在 java 中有什么作用&#xff1f; 修飾變量 修飾基本數據類型變量&#xff1a; 當用final修飾基本數據類型變量時&#xff0c;該變量就變成了常量&#xff0c;其值在初始化后不能被改變。 final int num 10; // num 20; // 這行代碼會導致編譯錯誤&#xff0c;因…

Dubbo/Hession2序列化Immutable類型的集合異常問題

問題排查 根據堆棧信息可見&#xff0c;dubbo使用默認的hession2進行序列化時出現了異常&#xff0c;異常堆棧根原因為&#xff1a;null array 位于java.util.CollSer#readResolve方法中&#xff0c;即在序列化集合時&#xff0c;集合數組為空。 向上追溯jdk.internal.ref…

目標檢測任務,如何區分兩個相近似的目標

首先&#xff0c;要了解清楚檢測的場景下&#xff0c;肉眼能否區分出目標的差異性。 如果可以區分&#xff0c;那觀察數據周圍背景的差異是否較大&#xff0c;可以先通過添加樣本來提升模型的檢測精度。添加樣本時一定要注意&#xff0c;樣本標注的準確性&#xff0c;樣本的豐…

Java面試黃金寶典1

1. 8 種基本數據類型 整數類型 byte&#xff1a; 它是最小的整數類型&#xff0c;占用 1 個字節&#xff08;8 位&#xff09;。在一些對內存使用要求極高的場景&#xff0c;比如嵌入式系統開發、數據傳輸時對數據量有嚴格限制的情況&#xff0c;會使用 byte 類型。例如&#x…

OSGEarth

OSGEarth 基于 OpenSceneGraph 構建的一個擴展庫&#xff0c;專門用于地球科學和地理信息系統&#xff08;GIS&#xff09;數據的可視化。它允許開發者創建逼真的三維地球模型&#xff0c;并在其上展示各種地理空間數據。 高端一點的表述 基于三維引擎osg開發的三維數字地球…

Word 小黑第34套

對應大貓34 設置第二頁水印&#xff0c;取消第一頁的&#xff1a;取消第二頁頁眉鏈接&#xff0c;刪除第一張水印圖片&#xff08;delete&#xff09; 調整水印圖片&#xff1a;點開頁眉頁腳 雙擊圖片 可以調整 郵件合并 -創建標簽 橫標簽數3 豎標簽5 表布局 -查看網格線 插…

2.5.1 io_uring

文章目錄 2.5.1 io_uring1. 對比1. select、poll、epoll 對比表格2. 關鍵特性說明&#xff1a;3. 應用場景 2. 異步io1. 頻繁copy2. 如何做到線程安全 3. io_uring1. 實現2. 關鍵點&#xff1a;3. 問題1. Reactor 與 Proactor 的三點不同2. epoll 與 io_uring 的區別 2.5.1 io_…

K8S學習之基礎三十六:node-exporter部署

Prometheus v2.2.1 ? 編寫yaml文件&#xff0c;包含創建ns、configmap、deployment、service # 創建monitoring空間 vi prometheus-ns.yaml apiVersion: v1 kind: Namespace metadata:name: monitoring# 創建SA并綁定權限 kubectl create serviceaccount monitor -n monito…

為什么“連接斷開可能導致鎖未釋放”

目錄 兩種典型場景可能導致鎖未及時釋放1. **數據庫未及時檢測到連接斷開**2. **應用程序未正確處理事務** 為什么說“可能因連接斷開導致死鎖”&#xff1f;如何避免此類問題&#xff1f;總結 在大多數數據庫實現中&#xff0c;如果持有鎖的連接&#xff08;或會話&#xff09…

【實戰指南】基于DevExpress輕量化主題實現WPF應用性能升級

DevExpress WPF擁有120個控件和庫&#xff0c;將幫助您交付滿足甚至超出企業需求的高性能業務應用程序。通過DevExpress WPF能創建有著強大互動功能的XAML基礎應用程序&#xff0c;這些應用程序專注于當代客戶的需求和構建未來新一代支持觸摸的解決方案。 無論是Office辦公軟件…

【C++多線程】C++異步線程池提交任務的寫法和解釋

// 提交任務到線程池 template<class F, class... Args> auto ThreadPool::enqueue(F&& f, Args&&... args) -> std::future<typename std::result_of<F(Args...)>::type> {using return_type typename std::result_of<F(Args...)>…

CSS 屬性選擇器詳解

CSS 屬性選擇器詳解 引言 CSS(層疊樣式表)是網頁設計中的重要組成部分,它用于控制網頁元素的樣式和布局。屬性選擇器是CSS選擇器的一種,它允許開發者根據元素的特定屬性來選擇和樣式化元素。本文將詳細講解CSS屬性選擇器的概念、語法以及常用屬性選擇器的使用方法。 一、…

二維前綴矩陣

1.大衣的旅行 #include<bits/stdc.h> #define int long long using namespace std; int t; int n,m,k; bool check(int mid,vector<vector<int>>pre,vector<vector<int>>a) {for(int i1; i<n; i){for(int j1; j<m; j){//枚舉以老師房間為…

python-leetcode 56.電話號碼的字母組合

題目&#xff1a; 給定一個僅包含數字的2-9的字符串&#xff0c;返回所有它可能表示的字母組合&#xff0c;答案可以按任意順序返回 給出數字到字母的映射如下&#xff08;與電話按鍵相同&#xff09;&#xff0c;注意1不對應任何字母 方法一&#xff1a;深度優先搜索&#x…

keepalived應用

Keepalived 是一個基于 VRRP&#xff08;虛擬路由冗余協議&#xff09;實現的高可用解決方案&#xff0c;常用于構建高可用性的服務器集群&#xff0c;特別是在負載均衡場景中&#xff0c;可確保服務的不間斷運行。以下為你詳細介紹它&#xff1a; 0主要功能 高可用性&#x…

5.0 VisionPro調用USB相機的方法與步驟說明(一)

本文介紹如何在C#中調用visionPro以處理USB相機采集到的圖片。示例如下: 主要思路如下: 1. 使用AForge來打開以及采集usb相機照片。 usb相機處于一直運行狀態。每隔100ms采集一次照片。且觸發一次事件。 public void Start() { this.videoSourcePlayer.Stop(); …

論文閱讀:Deep Hybrid Camera Deblurring for Smartphone Cameras

今天介紹一篇 ACM SIGGRAPH 2024 的文章&#xff0c;關于手機影像中的去模糊的文章。 Deep Hybrid Camera Deblurring for Smartphone Cameras Abstract 手機攝像頭盡管取得了顯著的進步&#xff0c;但由于傳感器和鏡頭較為緊湊&#xff0c;在低光環境下的成像仍存在困難&am…