Spaces:
Paused
Paused
| import torch | |
| from PIL import Image | |
| from models.transformer_sd3 import SD3Transformer2DModel | |
| from pipeline_stable_diffusion_3_ipa import StableDiffusion3Pipeline | |
| if __name__ == '__main__': | |
| model_path = 'stabilityai/stable-diffusion-3.5-large' | |
| ip_adapter_path = './ip-adapter.bin' | |
| image_encoder_path = "google/siglip-so400m-patch14-384" | |
| transformer = SD3Transformer2DModel.from_pretrained( | |
| model_path, subfolder="transformer", torch_dtype=torch.bfloat16 | |
| ) | |
| pipe = StableDiffusion3Pipeline.from_pretrained( | |
| model_path, transformer=transformer, torch_dtype=torch.bfloat16 | |
| ).to("cuda") | |
| pipe.init_ipadapter( | |
| ip_adapter_path=ip_adapter_path, | |
| image_encoder_path=image_encoder_path, | |
| nb_token=64, | |
| ) | |
| ref_img = Image.open('./assets/1.jpg').convert('RGB') | |
| image = pipe( | |
| width=1024, | |
| height=1024, | |
| prompt='a cat', | |
| negative_prompt="lowres, low quality, worst quality", | |
| num_inference_steps=24, | |
| guidance_scale=5.0, | |
| generator=torch.Generator("cuda").manual_seed(42), | |
| clip_image=ref_img, | |
| ipadapter_scale=0.5, | |
| ).images[0] | |
| image.save('./result.jpg') |