- Update readme to log the RCFG experiment - Refactor code - Add delta parameter on Animate_Anyone_Sampler node - Add ComfyUI Sampler progress bar
38 lines
1.2 KiB
Python
38 lines
1.2 KiB
Python
import time
|
|
import torch
|
|
from diffusers import (StableDiffusionPipeline,
|
|
EulerAncestralDiscreteScheduler)
|
|
from sfast.compilers.diffusion_pipeline_compiler import (compile,
|
|
CompilationConfig)
|
|
|
|
def load_model():
|
|
model = StableDiffusionPipeline.from_pretrained(
|
|
'runwayml/stable-diffusion-v1-5',
|
|
torch_dtype=torch.float16)
|
|
|
|
model.scheduler = EulerAncestralDiscreteScheduler.from_config(
|
|
model.scheduler.config)
|
|
model.safety_checker = None
|
|
model.to(torch.device('cuda'))
|
|
return model
|
|
|
|
model = load_model()
|
|
|
|
config = CompilationConfig.Default()
|
|
# xformers and Triton are suggested for achieving best performance.
|
|
try:
|
|
import xformers
|
|
config.enable_xformers = True
|
|
except ImportError:
|
|
print('xformers not installed, skip')
|
|
try:
|
|
import triton
|
|
config.enable_triton = True
|
|
except ImportError:
|
|
print('Triton not installed, skip')
|
|
# CUDA Graph is suggested for small batch sizes and small resolutions to reduce CPU overhead.
|
|
# But it can increase the amount of GPU memory used.
|
|
# For StableVideoDiffusionPipeline it is not needed.
|
|
config.enable_cuda_graph = True
|
|
|
|
model = compile(model, config) |