vllm_omni.diffusion.models.ernie_image.pipeline_ernie_image ¶
ErnieImagePipeline ¶
Bases: Module, CFGParallelMixin, SupportImageInput, ProgressBarMixin, DiffusionPipelineProfilerMixin
image_processor instance-attribute ¶
pe_tokenizer instance-attribute ¶
pe_tokenizer = from_pretrained(
pe_base_path,
subfolder="pe_tokenizer",
local_files_only=True,
trust_remote_code=True,
use_fast=False,
)
scheduler instance-attribute ¶
tokenizer instance-attribute ¶
transformer instance-attribute ¶
transformer = ErnieImageTransformer2DModel(
quant_config=quantization_config, **transformer_kwargs
)
vae_scale_factor instance-attribute ¶
weights_sources instance-attribute ¶
weights_sources = [
ComponentSource(
model_or_path=model,
subfolder="transformer",
revision=None,
prefix="transformer.",
fall_back_to_pt=True,
)
]
check_inputs ¶
check_inputs(
prompt,
height,
width,
prompt_embeds=None,
callback_on_step_end_tensor_inputs=None,
guidance_scale=None,
)
encode_prompt ¶
encode_prompt(
prompt: str | list[str],
device: device,
num_images_per_prompt: int = 1,
width: int = 1024,
height: int = 1024,
apply_pe: bool = True,
) -> list[Tensor]
forward ¶
forward(
req: OmniDiffusionRequest,
prompt: str | list[str] | None = None,
negative_prompt: str | list[str] | None = "",
height: int = 1024,
width: int = 1024,
num_inference_steps: int = 50,
guidance_scale: float = 4.0,
num_images_per_prompt: int = 1,
generator: Generator | None = None,
latents: Tensor | None = None,
prompt_embeds: list[FloatTensor] | None = None,
negative_prompt_embeds: list[FloatTensor] | None = None,
output_type: str = "pil",
return_dict: bool = True,
callback_on_step_end: Callable[[int, int, dict], None]
| None = None,
callback_on_step_end_tensor_inputs: list[str] = [
"latents"
],
) -> DiffusionOutput
get_ernie_image_post_process_func ¶
get_ernie_image_post_process_func(
od_config: OmniDiffusionConfig,
)