Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
|
@@ -37,16 +37,16 @@ def swap_hardware(hf_token, hardware="cpu-basic"):
|
|
| 37 |
requests.post(hardware_url, json = body, headers=headers)
|
| 38 |
|
| 39 |
|
| 40 |
-
global sleep_time
|
| 41 |
|
| 42 |
-
|
|
|
|
| 43 |
sleep_time_url = f"https://huggingface.co/api/spaces/{os.environ['SPACE_ID']}/sleeptime"
|
| 44 |
headers = { "authorization" : f"Bearer {hf_token}"}
|
| 45 |
body = {'seconds':sleep_time}
|
| 46 |
requests.post(sleep_time_url,json=body,headers=headers)
|
| 47 |
|
| 48 |
|
| 49 |
-
def get_sleep_time(
|
| 50 |
sleep_time_url = f"https://huggingface.co/api/spaces/{os.environ['SPACE_ID']}"
|
| 51 |
headers = { "authorization" : f"Bearer {hf_token}"}
|
| 52 |
response = requests.get(sleep_time_url,headers=headers)
|
|
@@ -54,10 +54,15 @@ def get_sleep_time(hf_token):
|
|
| 54 |
gcTimeout = response.json()['runtime']['gcTimeout']
|
| 55 |
except:
|
| 56 |
gcTimeout = None
|
| 57 |
-
|
| 58 |
return gcTimeout
|
| 59 |
|
| 60 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 61 |
|
| 62 |
def train_dreambooth_blora_sdxl(instance_data_dir, b_lora_trained_folder, instance_prompt, class_prompt, max_train_steps, checkpoint_steps):
|
| 63 |
|
|
@@ -159,8 +164,8 @@ def main(image_path, b_lora_trained_folder, instance_prompt, class_prompt, train
|
|
| 159 |
|
| 160 |
your_username = api.whoami(token=hf_token)["name"]
|
| 161 |
|
| 162 |
-
#swap_hardware(
|
| 163 |
-
swap_sleep_time(
|
| 164 |
|
| 165 |
return f"Done, your trained model has been stored in your models library: {your_username}/{b_lora_trained_folder}"
|
| 166 |
|
|
@@ -264,40 +269,29 @@ with gr.Blocks(css=css) as demo:
|
|
| 264 |
image = gr.Image(label="Image Reference", sources=["upload"], type="filepath")
|
| 265 |
|
| 266 |
with gr.Column():
|
| 267 |
-
|
| 268 |
-
print(f"loaded demo: {sleep_time}")
|
| 269 |
-
if sleep_time is not None and sleep_time > 1:
|
| 270 |
-
gr.HTML(f'''
|
| 271 |
-
<div class="gr-prose">
|
| 272 |
-
<h2>in order to train properly your B-LoRa, you need to set space sleep time to "Don't sleep"</h2>
|
| 273 |
-
<p class="actions">
|
| 274 |
-
<a href="https://huggingface.co/spaces/{os.environ['SPACE_ID']}/settings">⚡️ Set recommended Sleep Time</a>
|
| 275 |
-
</p>
|
| 276 |
-
</div>
|
| 277 |
-
''')
|
| 278 |
-
training_type = gr.Radio(label="Training type", choices=["style", "concept"], value="style", interactive=False)
|
| 279 |
-
b_lora_name = gr.Textbox(label="Name your B-LoRa model", placeholder="b_lora_trained_folder", interactive=False)
|
| 280 |
with gr.Row():
|
| 281 |
-
|
| 282 |
-
|
| 283 |
-
|
| 284 |
-
|
| 285 |
-
else:
|
| 286 |
-
training_type = gr.Radio(label="Training type", choices=["style", "concept"], value="style", interactive=True)
|
| 287 |
-
b_lora_name = gr.Textbox(label="Name your B-LoRa model", placeholder="b_lora_trained_folder", interactive=True)
|
| 288 |
with gr.Row():
|
| 289 |
-
instance_prompt = gr.Textbox(label="Create instance prompt", placeholder="A [v42] <class_prompt>",
|
| 290 |
-
class_prompt = gr.Textbox(label="Specify class prompt", placeholder="style | person | dog ",
|
| 291 |
-
training_steps = gr.Number(label="Training steps", value=1000, interactive=False)
|
| 292 |
checkpoint_step = gr.Number(label="checkpoint step", visible=False, value=500)
|
| 293 |
|
| 294 |
|
| 295 |
-
|
| 296 |
-
|
| 297 |
-
|
| 298 |
-
train_btn = gr.Button("Train B-LoRa", visible=True)
|
| 299 |
status = gr.Textbox(label="status")
|
| 300 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 301 |
|
| 302 |
training_type.change(
|
| 303 |
fn = change_training_setup,
|
|
@@ -310,5 +304,5 @@ with gr.Blocks(css=css) as demo:
|
|
| 310 |
inputs = [image, b_lora_name, instance_prompt, class_prompt, training_type, training_steps],
|
| 311 |
outputs = [status]
|
| 312 |
)
|
| 313 |
-
|
| 314 |
demo.launch(debug=True)
|
|
|
|
| 37 |
requests.post(hardware_url, json = body, headers=headers)
|
| 38 |
|
| 39 |
|
|
|
|
| 40 |
|
| 41 |
+
|
| 42 |
+
def swap_sleep_time(sleep_time):
|
| 43 |
sleep_time_url = f"https://huggingface.co/api/spaces/{os.environ['SPACE_ID']}/sleeptime"
|
| 44 |
headers = { "authorization" : f"Bearer {hf_token}"}
|
| 45 |
body = {'seconds':sleep_time}
|
| 46 |
requests.post(sleep_time_url,json=body,headers=headers)
|
| 47 |
|
| 48 |
|
| 49 |
+
def get_sleep_time():
|
| 50 |
sleep_time_url = f"https://huggingface.co/api/spaces/{os.environ['SPACE_ID']}"
|
| 51 |
headers = { "authorization" : f"Bearer {hf_token}"}
|
| 52 |
response = requests.get(sleep_time_url,headers=headers)
|
|
|
|
| 54 |
gcTimeout = response.json()['runtime']['gcTimeout']
|
| 55 |
except:
|
| 56 |
gcTimeout = None
|
| 57 |
+
|
| 58 |
return gcTimeout
|
| 59 |
|
| 60 |
+
def check_sleep_time():
|
| 61 |
+
sleep_time = get_sleep_time()
|
| 62 |
+
if sleep_time is None :
|
| 63 |
+
return sleep_time, gr.update(visible=True), gr.update(visible=True), gr.update(visible=True), gr.update(visible=True), gr.update(visible=True), gr.update(visible=True)
|
| 64 |
+
else :
|
| 65 |
+
return sleep_time, gr.update(visible=False), gr.update(visible=False), gr.update(visible=False), gr.update(visible=False), gr.update(visible=False), gr.update(visible=False)
|
| 66 |
|
| 67 |
def train_dreambooth_blora_sdxl(instance_data_dir, b_lora_trained_folder, instance_prompt, class_prompt, max_train_steps, checkpoint_steps):
|
| 68 |
|
|
|
|
| 164 |
|
| 165 |
your_username = api.whoami(token=hf_token)["name"]
|
| 166 |
|
| 167 |
+
#swap_hardware(hardware="cpu-basic")
|
| 168 |
+
swap_sleep_time(300)
|
| 169 |
|
| 170 |
return f"Done, your trained model has been stored in your models library: {your_username}/{b_lora_trained_folder}"
|
| 171 |
|
|
|
|
| 269 |
image = gr.Image(label="Image Reference", sources=["upload"], type="filepath")
|
| 270 |
|
| 271 |
with gr.Column():
|
| 272 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 273 |
with gr.Row():
|
| 274 |
+
current_sleep_time = gr.Textbox(label="current space sleep time")
|
| 275 |
+
check_sleep_time_btn = gr.Button("check", scale=1)
|
| 276 |
+
training_type = gr.Radio(label="Training type", choices=["style", "concept"], value="style", visible=False)
|
| 277 |
+
b_lora_name = gr.Textbox(label="Name your B-LoRa model", placeholder="b_lora_trained_folder", visible=False)
|
|
|
|
|
|
|
|
|
|
| 278 |
with gr.Row():
|
| 279 |
+
instance_prompt = gr.Textbox(label="Create instance prompt", placeholder="A [v42] <class_prompt>", visible=False)
|
| 280 |
+
class_prompt = gr.Textbox(label="Specify class prompt", placeholder="style | person | dog ", visible=False)
|
| 281 |
+
training_steps = gr.Number(label="Training steps", value=1000, interactive=False, visible=False)
|
| 282 |
checkpoint_step = gr.Number(label="checkpoint step", visible=False, value=500)
|
| 283 |
|
| 284 |
|
| 285 |
+
|
| 286 |
+
train_btn = gr.Button("Train B-LoRa", visible=False)
|
| 287 |
+
|
|
|
|
| 288 |
status = gr.Textbox(label="status")
|
| 289 |
|
| 290 |
+
check_sleep_time_btn.click(
|
| 291 |
+
fn = check_sleep_time,
|
| 292 |
+
inputs = None,
|
| 293 |
+
outputs = [current_sleep_time, b_lora_name, instance_prompt, class_prompt, training_type, training_steps, train_btn]
|
| 294 |
+
)
|
| 295 |
|
| 296 |
training_type.change(
|
| 297 |
fn = change_training_setup,
|
|
|
|
| 304 |
inputs = [image, b_lora_name, instance_prompt, class_prompt, training_type, training_steps],
|
| 305 |
outputs = [status]
|
| 306 |
)
|
| 307 |
+
|
| 308 |
demo.launch(debug=True)
|