Views
No views yet


1import torch
2from PIL import Image
3
4from models.transformer_sd3 import SD3Transformer2DModel
5from pipeline_stable_diffusion_3_ipa import StableDiffusion3Pipeline
6
7model_path = 'stabilityai/stable-diffusion-3.5-large'
8ip_adapter_path = './ip-adapter.bin'
9image_encoder_path = "google/siglip-so400m-patch14-384"
10
11transformer = SD3Transformer2DModel.from_pretrained(
12 model_path, subfolder="transformer", torch_dtype=torch.bfloat16
13)
14
15pipe = StableDiffusion3Pipeline.from_pretrained(
16 model_path, transformer=transformer, torch_dtype=torch.bfloat16
17).to("cuda")
18
19pipe.init_ipadapter(
20 ip_adapter_path=ip_adapter_path,
21 image_encoder_path=image_encoder_path,
22 nb_token=64,
23)
24
25ref_img = Image.open('./assets/1.jpg').convert('RGB')
26
27# please note that SD3.5 Large is sensitive to highres generation like 1536x1536
28image = pipe(
29 width=1024,
30 height=1024,
31 prompt='a cat',
32 negative_prompt="lowres, low quality, worst quality",
33 num_inference_steps=24,
34 guidance_scale=5.0,
35 generator=torch.Generator("cuda").manual_seed(42),
36 clip_image=ref_img,
37 ipadapter_scale=0.5,
38).images[0]
39image.save('./result.jpg')@misc{sd35-large-ipa,
author = {InstantX Team},
title = {InstantX SD3.5-Large IP-Adapter Page},
year = {2024},
}