Spaces:
Running
on
Zero
Running
on
Zero
Update app.py
Browse files
app.py
CHANGED
@@ -20,7 +20,6 @@ from diffusers import (
|
|
20 |
StableDiffusionPipeline, ControlNetModel,
|
21 |
DPMSolverMultistepScheduler, AutoencoderKL,
|
22 |
)
|
23 |
-
# +++ 修正点A: compel ライブラリをインポート +++
|
24 |
from compel import Compel
|
25 |
from insightface.app import FaceAnalysis
|
26 |
|
@@ -164,7 +163,7 @@ for emb in EMB_DIR.glob("*.*"):
|
|
164 |
print("emb skip →", emb.name)
|
165 |
pipe.to(device)
|
166 |
|
167 |
-
#
|
168 |
compel_proc = Compel(
|
169 |
tokenizer=pipe.tokenizer,
|
170 |
text_encoder=pipe.text_encoder,
|
@@ -192,7 +191,6 @@ except Exception as e:
|
|
192 |
##############################################################################
|
193 |
# 4. プロンプト & 生成関数
|
194 |
##############################################################################
|
195 |
-
# +++ 修正点C: 不要な <lora:...> 記述を削除 +++
|
196 |
BASE_PROMPT = (
|
197 |
"masterpiece, ultra-realistic photo of {subject}, "
|
198 |
"cinematic lighting, shallow depth of field, textured skin, "
|
@@ -207,7 +205,6 @@ NEG_PROMPT = (
|
|
207 |
"missing arms, missing legs, (badhandv4:0.7), BadNegAnatomyV1-neg, skin blemishes, acnes, age spot, glans"
|
208 |
)
|
209 |
|
210 |
-
# +++ 修正点D: generate関数全体をcompel対応版に書き換え +++
|
211 |
@spaces.GPU(duration=90)
|
212 |
def generate(
|
213 |
face_np, subject, add_prompt, add_neg, cfg, ip_scale, steps, w, h, upscale, up_factor,
|
@@ -224,9 +221,8 @@ def generate(
|
|
224 |
pipe.set_ip_adapter_scale(ip_scale)
|
225 |
img_in = Image.fromarray(face_np)
|
226 |
|
227 |
-
# compel
|
228 |
-
prompt_embeds = compel_proc(prompt)
|
229 |
-
negative_prompt_embeds = compel_proc(neg)
|
230 |
|
231 |
result = pipe(
|
232 |
prompt_embeds=prompt_embeds,
|
|
|
20 |
StableDiffusionPipeline, ControlNetModel,
|
21 |
DPMSolverMultistepScheduler, AutoencoderKL,
|
22 |
)
|
|
|
23 |
from compel import Compel
|
24 |
from insightface.app import FaceAnalysis
|
25 |
|
|
|
163 |
print("emb skip →", emb.name)
|
164 |
pipe.to(device)
|
165 |
|
166 |
+
# compel プロセッサを初期化
|
167 |
compel_proc = Compel(
|
168 |
tokenizer=pipe.tokenizer,
|
169 |
text_encoder=pipe.text_encoder,
|
|
|
191 |
##############################################################################
|
192 |
# 4. プロンプト & 生成関数
|
193 |
##############################################################################
|
|
|
194 |
BASE_PROMPT = (
|
195 |
"masterpiece, ultra-realistic photo of {subject}, "
|
196 |
"cinematic lighting, shallow depth of field, textured skin, "
|
|
|
205 |
"missing arms, missing legs, (badhandv4:0.7), BadNegAnatomyV1-neg, skin blemishes, acnes, age spot, glans"
|
206 |
)
|
207 |
|
|
|
208 |
@spaces.GPU(duration=90)
|
209 |
def generate(
|
210 |
face_np, subject, add_prompt, add_neg, cfg, ip_scale, steps, w, h, upscale, up_factor,
|
|
|
221 |
pipe.set_ip_adapter_scale(ip_scale)
|
222 |
img_in = Image.fromarray(face_np)
|
223 |
|
224 |
+
# +++ 最終修正: compelを一度に呼び出し、プロンプトとネガティブプロンプトの長さを揃える +++
|
225 |
+
prompt_embeds, negative_prompt_embeds = compel_proc([prompt, neg])
|
|
|
226 |
|
227 |
result = pipe(
|
228 |
prompt_embeds=prompt_embeds,
|