panelforge commited on
Commit
d4ecdda
·
verified ·
1 Parent(s): ef5c1c1

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +62 -74
app.py CHANGED
@@ -1,7 +1,6 @@
1
  import gradio as gr
2
  import numpy as np
3
  import random
4
- import spaces
5
  import torch
6
  from diffusers import DiffusionPipeline
7
  import importlib # to import tag modules dynamically
@@ -33,7 +32,7 @@ def load_tags(active_tab):
33
 
34
  return tags_module
35
 
36
- @spaces.GPU
37
  def infer(
38
  prompt, negative_prompt, seed, randomize_seed, width, height, guidance_scale, num_inference_steps,
39
  selected_participant_tags, selected_tribe_tags, selected_role_tags, selected_skin_tone_tags, selected_body_type_tags,
@@ -118,82 +117,71 @@ with gr.Blocks(css=css) as demo:
118
  prompt_info = gr.Textbox(label="Prompts Used", lines=3, interactive=False)
119
  active_tab = gr.State("Prompt Input")
120
 
121
- # State variables for selected tags for each tab
122
- selected_participant_tags_straight = gr.State([])
123
- selected_tribe_tags_straight = gr.State([])
124
- selected_role_tags_straight = gr.State([])
125
- selected_skin_tone_tags_straight = gr.State([])
126
- selected_body_type_tags_straight = gr.State([])
127
- selected_tattoo_tags_straight = gr.State([])
128
- selected_piercing_tags_straight = gr.State([])
129
- selected_expression_tags_straight = gr.State([])
130
- selected_eye_tags_straight = gr.State([])
131
- selected_hair_style_tags_straight = gr.State([])
132
- selected_position_tags_straight = gr.State([])
133
- selected_fetish_tags_straight = gr.State([])
134
- selected_location_tags_straight = gr.State([])
135
- selected_camera_tags_straight = gr.State([])
136
- selected_atmosphere_tags_straight = gr.State([])
137
-
138
- selected_participant_tags_gay = gr.State([])
139
- selected_tribe_tags_gay = gr.State([])
140
- selected_role_tags_gay = gr.State([])
141
- selected_skin_tone_tags_gay = gr.State([])
142
- selected_body_type_tags_gay = gr.State([])
143
- selected_tattoo_tags_gay = gr.State([])
144
- selected_piercing_tags_gay = gr.State([])
145
- selected_expression_tags_gay = gr.State([])
146
- selected_eye_tags_gay = gr.State([])
147
- selected_hair_style_tags_gay = gr.State([])
148
- selected_position_tags_gay = gr.State([])
149
- selected_fetish_tags_gay = gr.State([])
150
- selected_location_tags_gay = gr.State([])
151
- selected_camera_tags_gay = gr.State([])
152
- selected_atmosphere_tags_gay = gr.State([])
153
-
154
- selected_participant_tags_lesbian = gr.State([])
155
- selected_tribe_tags_lesbian = gr.State([])
156
- selected_role_tags_lesbian = gr.State([])
157
- selected_skin_tone_tags_lesbian = gr.State([])
158
- selected_body_type_tags_lesbian = gr.State([])
159
- selected_tattoo_tags_lesbian = gr.State([])
160
- selected_piercing_tags_lesbian = gr.State([])
161
- selected_expression_tags_lesbian = gr.State([])
162
- selected_eye_tags_lesbian = gr.State([])
163
- selected_hair_style_tags_lesbian = gr.State([])
164
- selected_position_tags_lesbian = gr.State([])
165
- selected_fetish_tags_lesbian = gr.State([])
166
- selected_location_tags_lesbian = gr.State([])
167
- selected_camera_tags_lesbian = gr.State([])
168
- selected_atmosphere_tags_lesbian = gr.State([])
169
-
170
  with gr.Tabs() as tabs:
171
  # Prompt Input Tab
172
  with gr.TabItem("Prompt Input"):
173
  prompt = gr.Textbox(label="Prompt", placeholder="Enter your custom prompt")
174
  tabs.select(lambda: "Prompt Input", inputs=None, outputs=active_tab)
175
 
 
176
  with gr.TabItem("Straight"):
177
- # Dynamically load the tags for the "Straight" tab
178
  tags_module = load_tags("Straight")
179
- selected_participant_tags_straight = gr.CheckboxGroup(choices=list(tags_module.participant_tags.keys()), label="Participant Tags")
180
- selected_tribe_tags_straight = gr.CheckboxGroup(choices=list(tags_module.tribe_tags.keys()), label="Tribe Tags")
181
- selected_role_tags_straight = gr.CheckboxGroup(choices=list(tags_module.role_tags.keys()), label="Role Tags")
182
- selected_skin_tone_tags_straight = gr.CheckboxGroup(choices=list(tags_module.skin_tone_tags.keys()), label="Skin Tone Tags")
183
- selected_body_type_tags_straight = gr.CheckboxGroup(choices=list(tags_module.body_type_tags.keys()), label="Body Type Tags")
184
- selected_tattoo_tags_straight = gr.CheckboxGroup(choices=list(tags_module.tattoo_tags.keys()), label="Tattoo Tags")
185
- selected_piercing_tags_straight = gr.CheckboxGroup(choices=list(tags_module.piercing_tags.keys()), label="Piercing Tags")
186
- selected_expression_tags_straight = gr.CheckboxGroup(choices=list(tags_module.expression_tags.keys()), label="Expression Tags")
187
- selected_eye_tags_straight = gr.CheckboxGroup(choices=list(tags_module.eye_tags.keys()), label="Eye Tags")
188
- selected_hair_style_tags_straight = gr.CheckboxGroup(choices=list(tags_module.hair_style_tags.keys()), label="Hair Style Tags")
189
- selected_position_tags_straight = gr.CheckboxGroup(choices=list(tags_module.position_tags.keys()), label="Position Tags")
190
- selected_fetish_tags_straight = gr.CheckboxGroup(choices=list(tags_module.fetish_tags.keys()), label="Fetish Tags")
191
- selected_location_tags_straight = gr.CheckboxGroup(choices=list(tags_module.location_tags.keys()), label="Location Tags")
192
- selected_camera_tags_straight = gr.CheckboxGroup(choices=list(tags_module.camera_tags.keys()), label="Camera Tags")
193
- selected_atmosphere_tags_straight = gr.CheckboxGroup(choices=list(tags_module.atmosphere_tags.keys()), label="Atmosphere Tags")
194
  tabs.select(lambda: "Straight", inputs=None, outputs=active_tab)
195
-
196
- # Repeat the above block for the "Gay" and "Lesbian" tabs.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
197
 
198
  # Advanced Settings
199
  with gr.Accordion("Advanced Settings", open=False):
@@ -213,11 +201,11 @@ with gr.Blocks(css=css) as demo:
213
  run_button.click(
214
  infer,
215
  inputs=[prompt, negative_prompt, seed, randomize_seed, width, height, guidance_scale, num_inference_steps,
216
- selected_participant_tags_straight, selected_tribe_tags_straight, selected_role_tags_straight,
217
- selected_skin_tone_tags_straight, selected_body_type_tags_straight, selected_tattoo_tags_straight,
218
- selected_piercing_tags_straight, selected_expression_tags_straight, selected_eye_tags_straight,
219
- selected_hair_style_tags_straight, selected_position_tags_straight, selected_fetish_tags_straight,
220
- selected_location_tags_straight, selected_camera_tags_straight, selected_atmosphere_tags_straight,
221
  active_tab],
222
  outputs=[result, seed, prompt_info]
223
  )
 
1
  import gradio as gr
2
  import numpy as np
3
  import random
 
4
  import torch
5
  from diffusers import DiffusionPipeline
6
  import importlib # to import tag modules dynamically
 
32
 
33
  return tags_module
34
 
35
+ @gradio.GPU
36
  def infer(
37
  prompt, negative_prompt, seed, randomize_seed, width, height, guidance_scale, num_inference_steps,
38
  selected_participant_tags, selected_tribe_tags, selected_role_tags, selected_skin_tone_tags, selected_body_type_tags,
 
117
  prompt_info = gr.Textbox(label="Prompts Used", lines=3, interactive=False)
118
  active_tab = gr.State("Prompt Input")
119
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
120
  with gr.Tabs() as tabs:
121
  # Prompt Input Tab
122
  with gr.TabItem("Prompt Input"):
123
  prompt = gr.Textbox(label="Prompt", placeholder="Enter your custom prompt")
124
  tabs.select(lambda: "Prompt Input", inputs=None, outputs=active_tab)
125
 
126
+ # Straight Tab
127
  with gr.TabItem("Straight"):
 
128
  tags_module = load_tags("Straight")
129
+ selected_participant_tags = gr.CheckboxGroup(choices=list(tags_module.participant_tags.keys()), label="Participant Tags")
130
+ selected_tribe_tags = gr.CheckboxGroup(choices=list(tags_module.tribe_tags.keys()), label="Tribe Tags")
131
+ selected_role_tags = gr.CheckboxGroup(choices=list(tags_module.role_tags.keys()), label="Role Tags")
132
+ selected_skin_tone_tags = gr.CheckboxGroup(choices=list(tags_module.skin_tone_tags.keys()), label="Skin Tone Tags")
133
+ selected_body_type_tags = gr.CheckboxGroup(choices=list(tags_module.body_type_tags.keys()), label="Body Type Tags")
134
+ selected_tattoo_tags = gr.CheckboxGroup(choices=list(tags_module.tattoo_tags.keys()), label="Tattoo Tags")
135
+ selected_piercing_tags = gr.CheckboxGroup(choices=list(tags_module.piercing_tags.keys()), label="Piercing Tags")
136
+ selected_expression_tags = gr.CheckboxGroup(choices=list(tags_module.expression_tags.keys()), label="Expression Tags")
137
+ selected_eye_tags = gr.CheckboxGroup(choices=list(tags_module.eye_tags.keys()), label="Eye Tags")
138
+ selected_hair_style_tags = gr.CheckboxGroup(choices=list(tags_module.hair_style_tags.keys()), label="Hair Style Tags")
139
+ selected_position_tags = gr.CheckboxGroup(choices=list(tags_module.position_tags.keys()), label="Position Tags")
140
+ selected_fetish_tags = gr.CheckboxGroup(choices=list(tags_module.fetish_tags.keys()), label="Fetish Tags")
141
+ selected_location_tags = gr.CheckboxGroup(choices=list(tags_module.location_tags.keys()), label="Location Tags")
142
+ selected_camera_tags = gr.CheckboxGroup(choices=list(tags_module.camera_tags.keys()), label="Camera Tags")
143
+ selected_atmosphere_tags = gr.CheckboxGroup(choices=list(tags_module.atmosphere_tags.keys()), label="Atmosphere Tags")
144
  tabs.select(lambda: "Straight", inputs=None, outputs=active_tab)
145
+
146
+ # Gay Tab
147
+ with gr.TabItem("Gay"):
148
+ tags_module = load_tags("Gay")
149
+ selected_participant_tags = gr.CheckboxGroup(choices=list(tags_module.participant_tags.keys()), label="Participant Tags")
150
+ selected_tribe_tags = gr.CheckboxGroup(choices=list(tags_module.tribe_tags.keys()), label="Tribe Tags")
151
+ selected_role_tags = gr.CheckboxGroup(choices=list(tags_module.role_tags.keys()), label="Role Tags")
152
+ selected_skin_tone_tags = gr.CheckboxGroup(choices=list(tags_module.skin_tone_tags.keys()), label="Skin Tone Tags")
153
+ selected_body_type_tags = gr.CheckboxGroup(choices=list(tags_module.body_type_tags.keys()), label="Body Type Tags")
154
+ selected_tattoo_tags = gr.CheckboxGroup(choices=list(tags_module.tattoo_tags.keys()), label="Tattoo Tags")
155
+ selected_piercing_tags = gr.CheckboxGroup(choices=list(tags_module.piercing_tags.keys()), label="Piercing Tags")
156
+ selected_expression_tags = gr.CheckboxGroup(choices=list(tags_module.expression_tags.keys()), label="Expression Tags")
157
+ selected_eye_tags = gr.CheckboxGroup(choices=list(tags_module.eye_tags.keys()), label="Eye Tags")
158
+ selected_hair_style_tags = gr.CheckboxGroup(choices=list(tags_module.hair_style_tags.keys()), label="Hair Style Tags")
159
+ selected_position_tags = gr.CheckboxGroup(choices=list(tags_module.position_tags.keys()), label="Position Tags")
160
+ selected_fetish_tags = gr.CheckboxGroup(choices=list(tags_module.fetish_tags.keys()), label="Fetish Tags")
161
+ selected_location_tags = gr.CheckboxGroup(choices=list(tags_module.location_tags.keys()), label="Location Tags")
162
+ selected_camera_tags = gr.CheckboxGroup(choices=list(tags_module.camera_tags.keys()), label="Camera Tags")
163
+ selected_atmosphere_tags = gr.CheckboxGroup(choices=list(tags_module.atmosphere_tags.keys()), label="Atmosphere Tags")
164
+ tabs.select(lambda: "Gay", inputs=None, outputs=active_tab)
165
+
166
+ # Lesbian Tab
167
+ with gr.TabItem("Lesbian"):
168
+ tags_module = load_tags("Lesbian")
169
+ selected_participant_tags = gr.CheckboxGroup(choices=list(tags_module.participant_tags.keys()), label="Participant Tags")
170
+ selected_tribe_tags = gr.CheckboxGroup(choices=list(tags_module.tribe_tags.keys()), label="Tribe Tags")
171
+ selected_role_tags = gr.CheckboxGroup(choices=list(tags_module.role_tags.keys()), label="Role Tags")
172
+ selected_skin_tone_tags = gr.CheckboxGroup(choices=list(tags_module.skin_tone_tags.keys()), label="Skin Tone Tags")
173
+ selected_body_type_tags = gr.CheckboxGroup(choices=list(tags_module.body_type_tags.keys()), label="Body Type Tags")
174
+ selected_tattoo_tags = gr.CheckboxGroup(choices=list(tags_module.tattoo_tags.keys()), label="Tattoo Tags")
175
+ selected_piercing_tags = gr.CheckboxGroup(choices=list(tags_module.piercing_tags.keys()), label="Piercing Tags")
176
+ selected_expression_tags = gr.CheckboxGroup(choices=list(tags_module.expression_tags.keys()), label="Expression Tags")
177
+ selected_eye_tags = gr.CheckboxGroup(choices=list(tags_module.eye_tags.keys()), label="Eye Tags")
178
+ selected_hair_style_tags = gr.CheckboxGroup(choices=list(tags_module.hair_style_tags.keys()), label="Hair Style Tags")
179
+ selected_position_tags = gr.CheckboxGroup(choices=list(tags_module.position_tags.keys()), label="Position Tags")
180
+ selected_fetish_tags = gr.CheckboxGroup(choices=list(tags_module.fetish_tags.keys()), label="Fetish Tags")
181
+ selected_location_tags = gr.CheckboxGroup(choices=list(tags_module.location_tags.keys()), label="Location Tags")
182
+ selected_camera_tags = gr.CheckboxGroup(choices=list(tags_module.camera_tags.keys()), label="Camera Tags")
183
+ selected_atmosphere_tags = gr.CheckboxGroup(choices=list(tags_module.atmosphere_tags.keys()), label="Atmosphere Tags")
184
+ tabs.select(lambda: "Lesbian", inputs=None, outputs=active_tab)
185
 
186
  # Advanced Settings
187
  with gr.Accordion("Advanced Settings", open=False):
 
201
  run_button.click(
202
  infer,
203
  inputs=[prompt, negative_prompt, seed, randomize_seed, width, height, guidance_scale, num_inference_steps,
204
+ selected_participant_tags, selected_tribe_tags, selected_role_tags,
205
+ selected_skin_tone_tags, selected_body_type_tags, selected_tattoo_tags,
206
+ selected_piercing_tags, selected_expression_tags, selected_eye_tags,
207
+ selected_hair_style_tags, selected_position_tags, selected_fetish_tags,
208
+ selected_location_tags, selected_camera_tags, selected_atmosphere_tags,
209
  active_tab],
210
  outputs=[result, seed, prompt_info]
211
  )