hatmanstack commited on
Commit
c3ac009
·
1 Parent(s): 7b8a4a9

Back to StabilityXL untill 3.5 Included in Diffusers

Browse files
Files changed (1) hide show
  1. app.py +16 -49
app.py CHANGED
@@ -3,44 +3,20 @@ import random
3
  import spaces
4
  import gradio as gr
5
  from PIL import Image
6
- from models_transformer_sd3 import SD3Transformer2DModel
7
- from pipeline_stable_diffusion_3_ipa import StableDiffusion3Pipeline
8
- import gc
9
- import os
10
- from huggingface_hub import login
11
-
12
- TOKEN = os.getenv('TOKEN')
13
- login(TOKEN)
14
-
15
- model_path = 'stabilityai/stable-diffusion-3.5-large'
16
- ip_adapter_path = './ip-adapter.bin'
17
- image_encoder_path = "google/siglip-so400m-patch14-384"
18
 
19
  device = "cuda" if torch.cuda.is_available() else "cpu"
20
  dtype = torch.float16 if torch.cuda.is_available() else torch.float32
21
-
22
- transformer = SD3Transformer2DModel.from_pretrained(
23
- model_path, subfolder="transformer", torch_dtype=torch.bfloat16
24
- )
25
-
26
- pipe = StableDiffusion3Pipeline.from_pretrained(
27
- model_path, transformer=transformer, torch_dtype=torch.bfloat16
28
- ) ## For ZeroGPU no .to("cuda")
29
-
30
- pipe.init_ipadapter(
31
- ip_adapter_path=ip_adapter_path,
32
- image_encoder_path=image_encoder_path,
33
- nb_token=64,
34
- )
35
-
36
  pipe.to(device)
37
-
38
  def randomize_seed_fn(seed: int, randomize_seed: bool) -> int:
39
  if randomize_seed:
40
  seed = random.randint(0, 2000)
41
  return seed
42
-
43
- @spaces.GPU() ## For ZeroGPU
44
  def create_image(image_pil,
45
  prompt,
46
  n_prompt,
@@ -52,9 +28,6 @@ def create_image(image_pil,
52
  target="Load only style blocks",
53
  ):
54
 
55
- if image_pil is None:
56
- return None
57
-
58
  if target !="Load original IP-Adapter":
59
  if target=="Load only style blocks":
60
  scale = {
@@ -70,25 +43,19 @@ def create_image(image_pil,
70
  "up": {"block_0": [0.0, control_scale, 0.0]},
71
  }
72
  pipe.set_ip_adapter_scale(scale)
73
-
74
- style_image = Image.open(image_pil).convert('RGB')
 
75
 
76
 
77
  image = pipe(
78
- width=1024,
79
- height=1024,
80
- prompt=prompt,
81
- negative_prompt="lowres, low quality, worst quality",
82
- num_inference_steps=24,
83
- guidance_scale=guidance_scale,
84
- generator=torch.Generator("cuda").manual_seed(randomize_seed_fn(seed, True)), ## For ZeroGPU no device="cpu"
85
- clip_image=style_image,
86
- ipadapter_scale=scale,
87
- ).images[0]
88
-
89
- if torch.cuda.is_available():
90
- torch.cuda.empty_cache()
91
- gc.collect()
92
 
93
  return image
94
 
 
3
  import spaces
4
  import gradio as gr
5
  from PIL import Image
6
+ from diffusers import AutoPipelineForText2Image
7
+ from diffusers.utils import load_image
 
 
 
 
 
 
 
 
 
 
8
 
9
  device = "cuda" if torch.cuda.is_available() else "cpu"
10
  dtype = torch.float16 if torch.cuda.is_available() else torch.float32
11
+ pipe = AutoPipelineForText2Image.from_pretrained("stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=dtype)
12
+ pipe.load_ip_adapter("h94/IP-Adapter", subfolder="sdxl_models", weight_name="ip-adapter_sdxl.bin")
 
 
 
 
 
 
 
 
 
 
 
 
 
13
  pipe.to(device)
 
14
  def randomize_seed_fn(seed: int, randomize_seed: bool) -> int:
15
  if randomize_seed:
16
  seed = random.randint(0, 2000)
17
  return seed
18
+
19
+ @spaces.GPU()
20
  def create_image(image_pil,
21
  prompt,
22
  n_prompt,
 
28
  target="Load only style blocks",
29
  ):
30
 
 
 
 
31
  if target !="Load original IP-Adapter":
32
  if target=="Load only style blocks":
33
  scale = {
 
43
  "up": {"block_0": [0.0, control_scale, 0.0]},
44
  }
45
  pipe.set_ip_adapter_scale(scale)
46
+
47
+ style_image = load_image(image_pil)
48
+ generator = torch.Generator().manual_seed(randomize_seed_fn(seed, True))
49
 
50
 
51
  image = pipe(
52
+ prompt=prompt,
53
+ ip_adapter_image=style_image,
54
+ negative_prompt=n_prompt,
55
+ guidance_scale=guidance_scale,
56
+ num_inference_steps=num_inference_steps,
57
+ generator=generator,
58
+ ).images[0]
 
 
 
 
 
 
 
59
 
60
  return image
61