Spaces:
Running
Running
add _is_space flag, block inference during training, understand clone fix
Browse files
app.py
CHANGED
|
@@ -47,6 +47,10 @@ MODELS_DIR = os.environ.get("ACE_MODELS_DIR", "/app/models")
|
|
| 47 |
|
| 48 |
ACE_SERVER_BIN = "/app/ace-server"
|
| 49 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 50 |
# HF repo for on-demand GGUF downloads
|
| 51 |
GGUF_HF_REPO = "Serveurperso/ACE-Step-1.5-GGUF"
|
| 52 |
|
|
@@ -445,6 +449,8 @@ def gradio_main():
|
|
| 445 |
def generate_music(caption, lyrics, instrumental, bpm, duration, seed,
|
| 446 |
steps, lora_select, lm_model_select,
|
| 447 |
progress=gr.Progress(track_tqdm=True)):
|
|
|
|
|
|
|
| 448 |
if not _server_ok():
|
| 449 |
return None, "ace-server not running. Check logs."
|
| 450 |
|
|
@@ -625,6 +631,8 @@ def gradio_main():
|
|
| 625 |
yield _log_text(), gr.Button(visible=False), gr.Button(visible=True), gr.File()
|
| 626 |
|
| 627 |
# Stop ace-server before training (frees memory)
|
|
|
|
|
|
|
| 628 |
_log("[INFO] Stopping ace-server for training...")
|
| 629 |
yield _log_text(), gr.Button(visible=False), gr.Button(visible=True), gr.File()
|
| 630 |
_stop_ace_server()
|
|
@@ -712,6 +720,7 @@ def gradio_main():
|
|
| 712 |
yield _log_text(), gr.Button(visible=True), gr.Button(visible=False), gr.File()
|
| 713 |
|
| 714 |
finally:
|
|
|
|
| 715 |
# Always restart ace-server
|
| 716 |
_log("[INFO] Restarting ace-server...")
|
| 717 |
yield _log_text(), gr.Button(visible=False), gr.Button(visible=True), gr.File()
|
|
|
|
| 47 |
|
| 48 |
ACE_SERVER_BIN = "/app/ace-server"
|
| 49 |
|
| 50 |
+
# Detect if running on HF Space (ace-server available) vs locally (PyTorch only)
|
| 51 |
+
_is_space = os.path.isfile(ACE_SERVER_BIN) or os.environ.get("SPACE_ID") is not None
|
| 52 |
+
_training_in_progress = False
|
| 53 |
+
|
| 54 |
# HF repo for on-demand GGUF downloads
|
| 55 |
GGUF_HF_REPO = "Serveurperso/ACE-Step-1.5-GGUF"
|
| 56 |
|
|
|
|
| 449 |
def generate_music(caption, lyrics, instrumental, bpm, duration, seed,
|
| 450 |
steps, lora_select, lm_model_select,
|
| 451 |
progress=gr.Progress(track_tqdm=True)):
|
| 452 |
+
if _training_in_progress:
|
| 453 |
+
return None, "Training in progress. Inference unavailable until training completes. Press Cancel to stop training."
|
| 454 |
if not _server_ok():
|
| 455 |
return None, "ace-server not running. Check logs."
|
| 456 |
|
|
|
|
| 631 |
yield _log_text(), gr.Button(visible=False), gr.Button(visible=True), gr.File()
|
| 632 |
|
| 633 |
# Stop ace-server before training (frees memory)
|
| 634 |
+
global _training_in_progress
|
| 635 |
+
_training_in_progress = True
|
| 636 |
_log("[INFO] Stopping ace-server for training...")
|
| 637 |
yield _log_text(), gr.Button(visible=False), gr.Button(visible=True), gr.File()
|
| 638 |
_stop_ace_server()
|
|
|
|
| 720 |
yield _log_text(), gr.Button(visible=True), gr.Button(visible=False), gr.File()
|
| 721 |
|
| 722 |
finally:
|
| 723 |
+
_training_in_progress = False
|
| 724 |
# Always restart ace-server
|
| 725 |
_log("[INFO] Restarting ace-server...")
|
| 726 |
yield _log_text(), gr.Button(visible=False), gr.Button(visible=True), gr.File()
|