Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -2,7 +2,7 @@ import os
|
|
| 2 |
import subprocess
|
| 3 |
from typing import Union
|
| 4 |
from huggingface_hub import whoami
|
| 5 |
-
from huggingface_hub import HfApi
|
| 6 |
is_spaces = True if os.environ.get("SPACE_ID") else False
|
| 7 |
|
| 8 |
if is_spaces:
|
|
@@ -253,6 +253,7 @@ def start_training(
|
|
| 253 |
shutil.copy(script_location + "/script.py", dataset_folder)
|
| 254 |
# copy requirements.autotrain to dataset_folder as requirements.txt
|
| 255 |
shutil.copy(script_location + "/requirements.autotrain", dataset_folder + "/requirements.txt")
|
|
|
|
| 256 |
# command to run autotrain spacerunner
|
| 257 |
# --- Pre-create subspace and inject token ---
|
| 258 |
hf_token = oauth_token.token
|
|
@@ -263,8 +264,15 @@ def start_training(
|
|
| 263 |
# Try to create the space (if it doesn't exist)
|
| 264 |
api.create_repo(repo_id=new_space_id, repo_type="space", space_sdk="docker", private=True)
|
| 265 |
print(f"Created space {new_space_id}")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 266 |
except Exception as e:
|
| 267 |
-
print(f"
|
|
|
|
| 268 |
|
| 269 |
try:
|
| 270 |
# Inject HF_TOKEN into the new space
|
|
@@ -276,6 +284,7 @@ def start_training(
|
|
| 276 |
cmd = f"autotrain spacerunner --project-name {slugged_lora_name} --script-path {dataset_folder}"
|
| 277 |
cmd += f" --username {profile.username} --token {hf_token} --backend spaces-l4x1"
|
| 278 |
outcome = subprocess.run(cmd.split())
|
|
|
|
| 279 |
if outcome.returncode == 0:
|
| 280 |
return f"""# Your training has started.
|
| 281 |
## - Training Status: <a href='https://huggingface.co/spaces/{profile.username}/autotrain-{slugged_lora_name}?logs=container'>{profile.username}/autotrain-{slugged_lora_name}</a> <small>(in the logs tab)</small>
|
|
|
|
| 2 |
import subprocess
|
| 3 |
from typing import Union
|
| 4 |
from huggingface_hub import whoami
|
| 5 |
+
from huggingface_hub import HfApi, HfHubHTTPError
|
| 6 |
is_spaces = True if os.environ.get("SPACE_ID") else False
|
| 7 |
|
| 8 |
if is_spaces:
|
|
|
|
| 253 |
shutil.copy(script_location + "/script.py", dataset_folder)
|
| 254 |
# copy requirements.autotrain to dataset_folder as requirements.txt
|
| 255 |
shutil.copy(script_location + "/requirements.autotrain", dataset_folder + "/requirements.txt")
|
| 256 |
+
|
| 257 |
# command to run autotrain spacerunner
|
| 258 |
# --- Pre-create subspace and inject token ---
|
| 259 |
hf_token = oauth_token.token
|
|
|
|
| 264 |
# Try to create the space (if it doesn't exist)
|
| 265 |
api.create_repo(repo_id=new_space_id, repo_type="space", space_sdk="docker", private=True)
|
| 266 |
print(f"Created space {new_space_id}")
|
| 267 |
+
except HfHubHTTPError as e:
|
| 268 |
+
if e.response is not None and e.response.status_code == 409:
|
| 269 |
+
print(f"Space {new_space_id} already exists — continuing.")
|
| 270 |
+
else:
|
| 271 |
+
print(f"Error creating space: {e}")
|
| 272 |
+
raise e
|
| 273 |
except Exception as e:
|
| 274 |
+
print(f"General space creation error: {e}")
|
| 275 |
+
raise e
|
| 276 |
|
| 277 |
try:
|
| 278 |
# Inject HF_TOKEN into the new space
|
|
|
|
| 284 |
cmd = f"autotrain spacerunner --project-name {slugged_lora_name} --script-path {dataset_folder}"
|
| 285 |
cmd += f" --username {profile.username} --token {hf_token} --backend spaces-l4x1"
|
| 286 |
outcome = subprocess.run(cmd.split())
|
| 287 |
+
|
| 288 |
if outcome.returncode == 0:
|
| 289 |
return f"""# Your training has started.
|
| 290 |
## - Training Status: <a href='https://huggingface.co/spaces/{profile.username}/autotrain-{slugged_lora_name}?logs=container'>{profile.username}/autotrain-{slugged_lora_name}</a> <small>(in the logs tab)</small>
|