Skip to content

Commit ff18993

Browse files
committed
fix: guidance_scale not work in sd
Signed-off-by: hibobmaster <[email protected]>
1 parent 6597881 commit ff18993

File tree

1 file changed

+19
-26
lines changed

1 file changed

+19
-26
lines changed

backend/python/diffusers/backend_diffusers.py

Lines changed: 19 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -149,9 +149,9 @@ def LoadModel(self, request, context):
149149
local = False
150150
modelFile = request.Model
151151

152-
cfg_scale = 7
152+
self.cfg_scale = 7
153153
if request.CFGScale != 0:
154-
cfg_scale = request.CFGScale
154+
self.cfg_scale = request.CFGScale
155155

156156
clipmodel = "runwayml/stable-diffusion-v1-5"
157157
if request.CLIPModel != "":
@@ -173,17 +173,14 @@ def LoadModel(self, request, context):
173173
if (request.PipelineType == "StableDiffusionImg2ImgPipeline") or (request.IMG2IMG and request.PipelineType == ""):
174174
if fromSingleFile:
175175
self.pipe = StableDiffusionImg2ImgPipeline.from_single_file(modelFile,
176-
torch_dtype=torchType,
177-
guidance_scale=cfg_scale)
176+
torch_dtype=torchType)
178177
else:
179178
self.pipe = StableDiffusionImg2ImgPipeline.from_pretrained(request.Model,
180-
torch_dtype=torchType,
181-
guidance_scale=cfg_scale)
179+
torch_dtype=torchType)
182180

183181
elif request.PipelineType == "StableDiffusionDepth2ImgPipeline":
184182
self.pipe = StableDiffusionDepth2ImgPipeline.from_pretrained(request.Model,
185-
torch_dtype=torchType,
186-
guidance_scale=cfg_scale)
183+
torch_dtype=torchType)
187184
## img2vid
188185
elif request.PipelineType == "StableVideoDiffusionPipeline":
189186
self.img2vid=True
@@ -197,38 +194,32 @@ def LoadModel(self, request, context):
197194
self.pipe = AutoPipelineForText2Image.from_pretrained(request.Model,
198195
torch_dtype=torchType,
199196
use_safetensors=SAFETENSORS,
200-
variant=variant,
201-
guidance_scale=cfg_scale)
197+
variant=variant)
202198
elif request.PipelineType == "StableDiffusionPipeline":
203199
if fromSingleFile:
204200
self.pipe = StableDiffusionPipeline.from_single_file(modelFile,
205-
torch_dtype=torchType,
206-
guidance_scale=cfg_scale)
201+
torch_dtype=torchType)
207202
else:
208203
self.pipe = StableDiffusionPipeline.from_pretrained(request.Model,
209-
torch_dtype=torchType,
210-
guidance_scale=cfg_scale)
204+
torch_dtype=torchType)
211205
elif request.PipelineType == "DiffusionPipeline":
212206
self.pipe = DiffusionPipeline.from_pretrained(request.Model,
213-
torch_dtype=torchType,
214-
guidance_scale=cfg_scale)
207+
torch_dtype=torchType)
215208
elif request.PipelineType == "VideoDiffusionPipeline":
216209
self.txt2vid=True
217210
self.pipe = DiffusionPipeline.from_pretrained(request.Model,
218-
torch_dtype=torchType,
219-
guidance_scale=cfg_scale)
211+
torch_dtype=torchType)
220212
elif request.PipelineType == "StableDiffusionXLPipeline":
221213
if fromSingleFile:
222214
self.pipe = StableDiffusionXLPipeline.from_single_file(modelFile,
223-
torch_dtype=torchType, use_safetensors=True,
224-
guidance_scale=cfg_scale)
215+
torch_dtype=torchType,
216+
use_safetensors=True)
225217
else:
226218
self.pipe = StableDiffusionXLPipeline.from_pretrained(
227219
request.Model,
228220
torch_dtype=torchType,
229221
use_safetensors=True,
230-
variant=variant,
231-
guidance_scale=cfg_scale)
222+
variant=variant)
232223

233224
if CLIPSKIP and request.CLIPSkip != 0:
234225
self.clip_skip = request.CLIPSkip
@@ -384,12 +375,12 @@ def GenerateImage(self, request, context):
384375
image = image.resize((1024, 576))
385376

386377
generator = torch.manual_seed(request.seed)
387-
frames = self.pipe(image, decode_chunk_size=CHUNK_SIZE, generator=generator).frames[0]
378+
frames = self.pipe(image, guidance_scale=self.cfg_scale, decode_chunk_size=CHUNK_SIZE, generator=generator).frames[0]
388379
export_to_video(frames, request.dst, fps=FPS)
389380
return backend_pb2.Result(message="Media generated successfully", success=True)
390381

391382
if self.txt2vid:
392-
video_frames = self.pipe(prompt, num_inference_steps=steps, num_frames=int(FRAMES)).frames
383+
video_frames = self.pipe(prompt, guidance_scale=self.cfg_scale, num_inference_steps=steps, num_frames=int(FRAMES)).frames
393384
export_to_video(video_frames, request.dst)
394385
return backend_pb2.Result(message="Media generated successfully", success=True)
395386

@@ -398,13 +389,15 @@ def GenerateImage(self, request, context):
398389
conditioning = self.compel.build_conditioning_tensor(prompt)
399390
kwargs["prompt_embeds"]= conditioning
400391
# pass the kwargs dictionary to the self.pipe method
401-
image = self.pipe(
392+
image = self.pipe(
393+
guidance_scale=self.cfg_scale,
402394
**kwargs
403395
).images[0]
404396
else:
405397
# pass the kwargs dictionary to the self.pipe method
406398
image = self.pipe(
407-
prompt,
399+
prompt,
400+
guidance_scale=self.cfg_scale,
408401
**kwargs
409402
).images[0]
410403

0 commit comments

Comments
 (0)