cereeenn120 commited on
Commit
6cc882d
·
1 Parent(s): 05b9ead

Fix pipe establishment

Browse files
Files changed (2) hide show
  1. app.py +123 -9
  2. requirements.txt +6 -3
app.py CHANGED
@@ -1,13 +1,30 @@
1
  import gradio as gr
 
 
2
  import spaces
 
3
  import os
4
- from diffusers import FluxPipeline
 
5
  # PuLID veya IP-Adapter yüklemeleri varsayılarak...
6
 
 
 
 
 
 
7
  # Modeli belleğe al
8
- pipe = FluxPipeline.from_pretrained("black-forest-labs/FLUX.1-schnell")
 
 
 
 
 
 
 
 
 
9
 
10
- @spaces.GPU # ZeroGPU'yu tetikleyen dekoratör
11
  def generate_character_image(character_name, prompt):
12
  # 1. Karakterin referans fotoğrafının yolunu bul
13
  ref_image_path = f"characters/{character_name}/ref1.jpg"
@@ -20,12 +37,109 @@ def generate_character_image(character_name, prompt):
20
 
21
  return image
22
 
23
- with gr.Blocks() as demo:
24
- char_dropdown = gr.Dropdown(choices=["Kahraman 1", "Kötü Karakter"], label="Karakter Seç")
25
- prompt_input = gr.Textbox(label="Zengin Sahne Promptu (Örn: Karanlık bir ormanda büyü yapıyor)")
26
- btn = gr.Button("Üret")
27
- out_img = gr.Image()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28
 
29
- btn.click(fn=generate_character_image, inputs=[char_dropdown, prompt_input], outputs=out_img)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30
 
31
  demo.launch()
 
1
  import gradio as gr
2
+ import numpy as np
3
+ import random
4
  import spaces
5
+ import torch
6
  import os
7
+ #from diffusers import FluxPipeline
8
+ from diffusers import DiffusionPipeline
9
  # PuLID veya IP-Adapter yüklemeleri varsayılarak...
10
 
11
+ dtype = torch.bfloat16
12
+ device = "cuda" if torch.cuda.is_available() else "cpu"
13
+
14
+ hf_token = os.getenv("HF_TOKEN")
15
+
16
  # Modeli belleğe al
17
+ pipe = DiffusionPipeline.from_pretrained(
18
+ "black-forest-labs/FLUX.1-schnell",
19
+ torch_dtype=dtype,
20
+ token=hf_token
21
+ ).to(device)
22
+
23
+ MAX_SEED = np.iinfo(np.int32).max
24
+ MAX_IMAGE_SIZE = 2048
25
+
26
+ @spaces.GPU() # ZeroGPU'yu tetikleyen dekoratör
27
 
 
28
  def generate_character_image(character_name, prompt):
29
  # 1. Karakterin referans fotoğrafının yolunu bul
30
  ref_image_path = f"characters/{character_name}/ref1.jpg"
 
37
 
38
  return image
39
 
40
+ def infer(prompt, seed=42, randomize_seed=False, width=1024, height=1024, num_inference_steps=4, progress=gr.Progress(track_tqdm=True)):
41
+ if randomize_seed:
42
+ seed = random.randint(0, MAX_SEED)
43
+ generator = torch.Generator().manual_seed(seed)
44
+ image = pipe(
45
+ prompt = prompt,
46
+ width = width,
47
+ height = height,
48
+ num_inference_steps = num_inference_steps,
49
+ generator = generator,
50
+ guidance_scale=0.0
51
+ ).images[0]
52
+ return image, seed
53
+
54
+ examples = [
55
+ "a tiny astronaut hatching from an egg on the moon",
56
+ "a cat holding a sign that says hello world",
57
+ "an anime illustration of a wiener schnitzel",
58
+ ]
59
+
60
+ css="""
61
+ #col-container {
62
+ margin: 0 auto;
63
+ max-width: 520px;
64
+ }
65
+ """
66
+
67
+ with gr.Blocks(css=css) as demo:
68
 
69
+ with gr.Column(elem_id="col-container"):
70
+ gr.Markdown(f"""# FLUX.1 [schnell]
71
+ 12B param rectified flow transformer distilled from [FLUX.1 [pro]](https://blackforestlabs.ai/) for 4 step generation
72
+ [[blog](https://blackforestlabs.ai/announcing-black-forest-labs/)] [[model](https://huggingface.co/black-forest-labs/FLUX.1-schnell)]
73
+ """)
74
+
75
+ with gr.Row():
76
+
77
+ prompt = gr.Text(
78
+ label="Prompt",
79
+ show_label=False,
80
+ max_lines=1,
81
+ placeholder="Enter your prompt",
82
+ container=False,
83
+ )
84
+
85
+ run_button = gr.Button("Run", scale=0)
86
+
87
+ result = gr.Image(label="Result", show_label=False)
88
+
89
+ with gr.Accordion("Advanced Settings", open=False):
90
+
91
+ seed = gr.Slider(
92
+ label="Seed",
93
+ minimum=0,
94
+ maximum=MAX_SEED,
95
+ step=1,
96
+ value=0,
97
+ )
98
+
99
+ randomize_seed = gr.Checkbox(label="Randomize seed", value=True)
100
+
101
+ with gr.Row():
102
+
103
+ width = gr.Slider(
104
+ label="Width",
105
+ minimum=256,
106
+ maximum=MAX_IMAGE_SIZE,
107
+ step=32,
108
+ value=1024,
109
+ )
110
+
111
+ height = gr.Slider(
112
+ label="Height",
113
+ minimum=256,
114
+ maximum=MAX_IMAGE_SIZE,
115
+ step=32,
116
+ value=1024,
117
+ )
118
+
119
+ with gr.Row():
120
+
121
+
122
+ num_inference_steps = gr.Slider(
123
+ label="Number of inference steps",
124
+ minimum=1,
125
+ maximum=50,
126
+ step=1,
127
+ value=4,
128
+ )
129
+
130
+ gr.Examples(
131
+ examples = examples,
132
+ fn = infer,
133
+ inputs = [prompt],
134
+ outputs = [result, seed],
135
+ cache_examples=False
136
+ )
137
+
138
+ gr.on(
139
+ triggers=[run_button.click, prompt.submit],
140
+ fn = infer,
141
+ inputs = [prompt, seed, randomize_seed, width, height, num_inference_steps],
142
+ outputs = [result, seed]
143
+ )
144
 
145
  demo.launch()
requirements.txt CHANGED
@@ -1,6 +1,9 @@
1
- starlette
2
  gradio
3
  gradio-client
4
  huggingface_hub
5
- datasets
6
- openai
 
 
 
 
 
 
1
  gradio
2
  gradio-client
3
  huggingface_hub
4
+ accelerate
5
+ diffusers==0.30.0
6
+ transformers==4.44.2
7
+ torch
8
+ xformers
9
+ sentencepiece