如何为Stable Diffusion XL配置指定推理参数以生成图像?
设置SDXL推理参数的方法
直接在调用pipe()方法时传入对应的参数即可,diffusers库中SDXL的参数对应关系如下:
- 你要的
width→ 直接用参数名width - 你要的
height→ 直接用参数名height - 你要的
steps→ 对应参数名num_inference_steps - 你要的
cfg_scale→ 对应参数名guidance_scale
修改后的完整代码如下:
import os import datetime from diffusers import DiffusionPipeline import torch if __name__ == "__main__": output_dir = "output_images" os.makedirs(output_dir, exist_ok=True) pipe = DiffusionPipeline.from_pretrained( "stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=torch.float16, use_safetensors=True, variant="fp16", ) pipe.to("cuda") pipe.enable_xformers_memory_efficient_attention() prompt = "Extreme close up of a slice a lemon with splashing green cocktail, alcohol, healthy food photography" # 配置推理参数 inference_params = { "width": 1024, "height": 1024, "num_inference_steps": 30, "guidance_scale": 7.5 } images = pipe(prompt=prompt, **inference_params).images timestamp = datetime.datetime.now().strftime("%Y%m%d_%H%M%S") image_path = os.path.join(output_dir, f"output_{timestamp}.jpg") images[0].save(image_path) print(f"Image saved at: {image_path}")
参数说明
width/height:建议设置为8的倍数,SDXL推荐的基础尺寸是1024x1024,也可根据需求调整为1280x720、720x1280等,非8倍数可能导致生成异常。num_inference_steps:一般取值20-50,步数越多图像细节越丰富,但生成速度越慢。guidance_scale:通常取值5-10,值越高图像越贴合提示词,但过高可能引发图像失真、色彩异常。
内容的提问来源于stack exchange,提问作者LeMoussel
相关产品推荐
相关产品推荐

