HPSv3 / generate /utils /pipelines.py
sdsdgwe's picture
update
9b57ce7
import torch
from pydantic import BaseModel, Field
from typing import Optional, Dict, Any
class PipelineParam(BaseModel):
pipeline_name: str
generation_path: str
pipeline_type: str = 't2i'
pipe_init_kwargs: Dict[str, Any] = Field(default_factory=dict)
generation_kwargs: Dict[str, Any] = Field(default_factory=dict)
base_resolution: int = 1024
force_aspect_ratio: Optional[int] = None
flux_dev_pipe = PipelineParam(
pipeline_name='pretrained_models/FLUX.1-dev',
generation_path=f'generation/flux_dev',
pipe_init_kwargs={
"torch_dtype": torch.bfloat16,
},
base_resolution=1024,
generation_kwargs={
"guidance_scale": 3.5,
"num_inference_steps": 28,
"max_sequence_length": 512,
}
)
flux_schnell_pipe = PipelineParam(
pipeline_name='pretrained_models/FLUX.1-schnell',
generation_path=f'generation/flux_schnell',
pipe_init_kwargs={
"torch_dtype": torch.bfloat16,
},
base_resolution=1024,
generation_kwargs={
"guidance_scale": 3.5,
"num_inference_steps": 4,
}
)
sd3_medium_pipe = PipelineParam(
pipeline_name='pretrained_models/stable-diffusion-3-medium-diffusers',
generation_path=f'generation/sd3_medium',
pipe_init_kwargs={
"torch_dtype": torch.float16,
},
base_resolution=1024,
generation_kwargs={
"guidance_scale": 7.0,
"num_inference_steps": 28,
}
)
sd_xl_pipe = PipelineParam(
pipeline_name='pretrained_models/stable-diffusion-xl-base-1.0',
generation_path=f'generation/sd_xl',
pipe_init_kwargs={
"torch_dtype": torch.float16,
},
base_resolution=1024,
generation_kwargs={
"guidance_scale": 5,
"num_inference_steps": 50,
}
)
sd_1_5_pipe = PipelineParam(
pipeline_name='pretrained_models/stable-diffusion-v1-5',
generation_path=f'generation/sd_1_5',
pipe_init_kwargs={
"torch_dtype": torch.float16,
},
base_resolution=512,
generation_kwargs={
}
)
vq_diffusion_pipe = PipelineParam(
pipeline_name='pretrained_models/vq-diffusion-ithq',
generation_path=f'generation/vq_diffusion',
pipe_init_kwargs={
"torch_dtype": torch.float16,
},
base_resolution=256,
generation_kwargs={}
)
sd_2_pipe = PipelineParam(
pipeline_name='pretrained_models/stable-diffusion-2',
generation_path=f'generation/sd_2',
pipe_init_kwargs={
"torch_dtype": torch.float16,
},
base_resolution=512,
force_aspect_ratio=1,
)
sd_1_1_pipe = PipelineParam(
pipeline_name='pretrained_models/stable-diffusion-v1-1',
generation_path=f'generation/sd_1_1',
pipe_init_kwargs={"torch_dtype": torch.float16,},
base_resolution=512,
force_aspect_ratio=1,
)
sd_1_4_pipe = PipelineParam(
pipeline_name='pretrained_models/stable-diffusion-v1-4',
generation_path=f'generation/sd_1_4',
pipe_init_kwargs={
"torch_dtype": torch.float16,
},
base_resolution=512,
force_aspect_ratio=1,
)
sd_2_1_pipe = PipelineParam(
pipeline_name='pretrained_models/stable-diffusion-2-1-base',
generation_path=f'generation/sd_2_1',
pipe_init_kwargs={
"torch_dtype": torch.float16,
},
base_resolution=512,
force_aspect_ratio=1,
)
openjourney_pipe = PipelineParam(
pipeline_name='pretrained_models/openjourney',
generation_path=f'generation/openjourney',
pipe_init_kwargs={
"torch_dtype": torch.float16,
},
base_resolution=512,
force_aspect_ratio=1,
)
playground_v2_5_pipe = PipelineParam(
pipeline_name='pretrained_models/playground-v2.5-1024px-aesthetic',
generation_path=f'generation/playground_v_2_5',
pipe_init_kwargs={
"torch_dtype": torch.float16,
},
base_resolution=1024,
)
versatile_pipe = PipelineParam(
pipeline_name='pretrained_models/versatile-diffusion',
generation_path=f'generation/versatile',
pipe_init_kwargs={
"torch_dtype": torch.float16,
},
base_resolution=512,
force_aspect_ratio=1,
)
glide_pipe = PipelineParam(
pipeline_name='pretrained_models/glide-base',
generation_path=f'generation/glide',
pipe_init_kwargs={
"torch_dtype": torch.float16,
},
base_resolution=512,
force_aspect_ratio=1,
)
sd_3_5_medium_pipe = PipelineParam(
pipeline_name='stabilityai/stable-diffusion-3.5-medium',
generation_path=f'generation/sd_3_5_medium',
pipe_init_kwargs={
"torch_dtype": torch.bfloat16,
},
base_resolution=1024,
generation_kwargs={
"num_inference_steps": 40,
"guidance_scale": 4.5,
}
)
sd_3_5_large_pipe = PipelineParam(
pipeline_name='stabilityai/stable-diffusion-3.5-large',
generation_path=f'generation/sd_3_5_large',
pipe_init_kwargs={
"torch_dtype": torch.bfloat16,
},
base_resolution=1024,
generation_kwargs={
"num_inference_steps": 28,
"guidance_scale": 3.5,
}
)
kolors_pipe = PipelineParam(
pipeline_name='pretrained_models/Kolors-diffusers',
generation_path=f'generation/kolors',
pipe_init_kwargs={
"torch_dtype": torch.float16,
'variant': 'fp16',
},
base_resolution=1024,
generation_kwargs={
"num_inference_steps": 50,
"guidance_scale": 5.0,
}
)
cogview4_pipe = PipelineParam(
pipeline_name='pretrained_models/CogView4-6B',
generation_path=f'generation/cogview4',
pipe_init_kwargs={
"torch_dtype": torch.bfloat16,
},
base_resolution=1024,
generation_kwargs={
"num_inference_steps": 50,
"guidance_scale": 3.5,
}
)
pixart_sigma_pipe = PipelineParam(
pipeline_name='pretrained_models/PixArt-Sigma-XL-2-1024-MS',
generation_path=f'generation/pixart_sigma',
pipeline_type='t2i',
pipe_init_kwargs={
"torch_dtype": torch.bfloat16,
},
base_resolution=1024,
)
hunyuanvideo_pipe = PipelineParam(
pipeline_name='pretrained_models/hunyuanvideo_diffusers',
generation_path=f'generation/hunyuanvideo',
pipe_init_kwargs={
"torch_dtype": torch.bfloat16,
},
base_resolution=1024,
pipeline_type='t2v',
generation_kwargs={
"num_inference_steps": 30,
"num_frames": 1,
}
)
hunyuandit_pipe = PipelineParam(
pipeline_name='pretrained_models/HunyuanDiT-v1.2-Diffusers',
generation_path=f'generation/hunyuandit',
pipe_init_kwargs={
"torch_dtype": torch.float16,
},
base_resolution=1024,
pipeline_type='t2i',
generation_kwargs={
}
)
# API models
# Fal.ai
flux_pro_v1_1_ultr_pipe = PipelineParam(
pipeline_name='fal-ai/flux-pro/v1.1-ultra',
generation_path=f'generation/flux_pro_v1_1_ultra',
base_resolution=1024,
generation_kwargs={
"enable_safety_checker": False,
"num_images": 1,
# "aspect_ratio": "1:1",
"output_format": "jpeg",
"safety_tolerance": 5,
}
)
recraftv3_pipe = PipelineParam(
pipeline_name='fal-ai/recraft-v3',
generation_path=f'generation/recraftv3',
base_resolution=1024,
generation_kwargs={
"enable_safety_checker": False,
"num_images": 1,
# "aspect_ratio": "1:1",
"output_format": "jpeg",
"safety_tolerance": 5,
}
)