TypeError: argument of type 'NoneType' is not iterable
xinli2008 opened this issue · 2 comments
nice job! And i try to use the SAG as follows:
`
from diffusers import DiffusionPipeline,StableDiffusionSAGPipeline
pipe = StableDiffusionSAGPipeline.from_pretrained("/mnt/xxx/result_diffusers", torch_dtype=torch.float16, use_safetensors=True, variant="bf16")
pipe.to("cuda:0")
positive_prompt = 'sl_1234, man, long hair, wearing red sweater'
negative_prompt = 'text, worst quality'
image = pipe( positive_prompt, negative_prompt=negative_prompt, num_inference_steps=50, guidance_scale=7.5,
num_images_per_prompt=batch_size,
sag_scale=1.0
).images
`
the error is :
File "demo.py", line 49, in
image = pipe(
File "/usr/local/lib/python3.8/dist-packages/torch/utils/_contextlib.py", line 115, in decorate_context
return func(*args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_sag.py", line 653, in call
noise_pred = self.unet(
File "/usr/local/lib/python3.8/dist-packages/torch/nn/modules/module.py", line 1501, in _call_impl
return forward_call(*args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/diffusers/models/unet_2d_condition.py", line 839, in forward
if "text_embeds" not in added_cond_kwargs:
TypeError: argument of type 'NoneType' is not iterable
can you give me some advice? @SusungHong
IIUC you are trying to use SAG with SDXL. But SDXL's UNet takes as input extra args (see here) and StableDiffusionSAGPipeline
has not been expanded yet to support XL models (which is why you get this error: see here: the extra args are not passed to the UNet).
--
In the meanwhile you can test SAG with SDXL using Refiners (x) => I put some instructions here.
Hope that helps!
(x): an open source, PyTorch-based framework made to easily train and run adapters on top of foundational models. See also #4
thank you very much, i will try that.