Codex commited on
Commit ·
85cfed7
1
Parent(s): 3ca3cda
Use persistent bucket storage when available
Browse files
app.py
CHANGED
|
@@ -30,7 +30,15 @@ HF_TOKEN = os.environ.get("HF_TOKEN", "")
|
|
| 30 |
DATASET_REPO = "huanx/daniya-voice-gptsovits"
|
| 31 |
GPT_SOVITS_REPO = "https://github.com/RVC-Boss/GPT-SoVITS.git"
|
| 32 |
|
| 33 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 34 |
HF_HOME = WORK_DIR / "hf_home"
|
| 35 |
GPT_SOVITS_DIR = WORK_DIR / "GPT-SoVITS"
|
| 36 |
DATASET_DIR = WORK_DIR / "dataset"
|
|
@@ -65,6 +73,9 @@ log = logging.getLogger(__name__)
|
|
| 65 |
os.environ.setdefault("HF_HOME", str(HF_HOME))
|
| 66 |
os.environ.setdefault("TRANSFORMERS_CACHE", str(HF_HOME / "transformers"))
|
| 67 |
os.environ.setdefault("HF_HUB_DISABLE_TELEMETRY", "1")
|
|
|
|
|
|
|
|
|
|
| 68 |
|
| 69 |
|
| 70 |
@dataclass(frozen=True)
|
|
@@ -168,6 +179,7 @@ def get_version_context(version: str):
|
|
| 168 |
def ensure_dirs():
|
| 169 |
base_dirs = [
|
| 170 |
WORK_DIR,
|
|
|
|
| 171 |
HF_HOME,
|
| 172 |
DATASET_DIR,
|
| 173 |
EXP_ROOT,
|
|
@@ -264,8 +276,11 @@ def directory_overview():
|
|
| 264 |
def directory_overview_for(ctx: VersionContext):
|
| 265 |
return "\n".join(
|
| 266 |
[
|
|
|
|
|
|
|
| 267 |
f"当前版本: {ctx.spec.version}",
|
| 268 |
f"工作目录: {WORK_DIR}",
|
|
|
|
| 269 |
f"数据集目录: {DATASET_DIR}",
|
| 270 |
f"日志目录: {ctx.exp_dir}",
|
| 271 |
f"SoVITS 导出目录: {ctx.sovits_output_dir}",
|
|
@@ -796,8 +811,15 @@ def agent_status(version=DEFAULT_VERSION):
|
|
| 796 |
"recommended_default": DEFAULT_VERSION,
|
| 797 |
"stability": ctx.spec.stability,
|
| 798 |
"dataset_prepared": dataset_prepared(ctx),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 799 |
"paths": {
|
| 800 |
"work_dir": str(WORK_DIR),
|
|
|
|
| 801 |
"dataset_dir": str(DATASET_DIR),
|
| 802 |
"exp_dir": str(ctx.exp_dir),
|
| 803 |
"sovits_output_dir": str(ctx.sovits_output_dir),
|
|
|
|
| 30 |
DATASET_REPO = "huanx/daniya-voice-gptsovits"
|
| 31 |
GPT_SOVITS_REPO = "https://github.com/RVC-Boss/GPT-SoVITS.git"
|
| 32 |
|
| 33 |
+
PERSISTENT_ROOT = Path(os.environ.get("PERSISTENT_ROOT", "/data"))
|
| 34 |
+
EPHEMERAL_ROOT = Path("/tmp")
|
| 35 |
+
ACTIVE_STORAGE_ROOT = (
|
| 36 |
+
PERSISTENT_ROOT if PERSISTENT_ROOT.is_dir() and os.access(PERSISTENT_ROOT, os.W_OK) else EPHEMERAL_ROOT
|
| 37 |
+
)
|
| 38 |
+
STORAGE_MODE = "persistent" if ACTIVE_STORAGE_ROOT == PERSISTENT_ROOT else "ephemeral"
|
| 39 |
+
|
| 40 |
+
WORK_DIR = ACTIVE_STORAGE_ROOT / "daniya_trainer"
|
| 41 |
+
TMP_ROOT = WORK_DIR / "tmp"
|
| 42 |
HF_HOME = WORK_DIR / "hf_home"
|
| 43 |
GPT_SOVITS_DIR = WORK_DIR / "GPT-SoVITS"
|
| 44 |
DATASET_DIR = WORK_DIR / "dataset"
|
|
|
|
| 73 |
os.environ.setdefault("HF_HOME", str(HF_HOME))
|
| 74 |
os.environ.setdefault("TRANSFORMERS_CACHE", str(HF_HOME / "transformers"))
|
| 75 |
os.environ.setdefault("HF_HUB_DISABLE_TELEMETRY", "1")
|
| 76 |
+
os.environ.setdefault("TMPDIR", str(TMP_ROOT))
|
| 77 |
+
os.environ.setdefault("TMP", str(TMP_ROOT))
|
| 78 |
+
os.environ.setdefault("TEMP", str(TMP_ROOT))
|
| 79 |
|
| 80 |
|
| 81 |
@dataclass(frozen=True)
|
|
|
|
| 179 |
def ensure_dirs():
|
| 180 |
base_dirs = [
|
| 181 |
WORK_DIR,
|
| 182 |
+
TMP_ROOT,
|
| 183 |
HF_HOME,
|
| 184 |
DATASET_DIR,
|
| 185 |
EXP_ROOT,
|
|
|
|
| 276 |
def directory_overview_for(ctx: VersionContext):
|
| 277 |
return "\n".join(
|
| 278 |
[
|
| 279 |
+
f"存储模式: {STORAGE_MODE}",
|
| 280 |
+
f"存储根目录: {ACTIVE_STORAGE_ROOT}",
|
| 281 |
f"当前版本: {ctx.spec.version}",
|
| 282 |
f"工作目录: {WORK_DIR}",
|
| 283 |
+
f"临时目录: {TMP_ROOT}",
|
| 284 |
f"数据集目录: {DATASET_DIR}",
|
| 285 |
f"日志目录: {ctx.exp_dir}",
|
| 286 |
f"SoVITS 导出目录: {ctx.sovits_output_dir}",
|
|
|
|
| 811 |
"recommended_default": DEFAULT_VERSION,
|
| 812 |
"stability": ctx.spec.stability,
|
| 813 |
"dataset_prepared": dataset_prepared(ctx),
|
| 814 |
+
"storage": {
|
| 815 |
+
"mode": STORAGE_MODE,
|
| 816 |
+
"root": str(ACTIVE_STORAGE_ROOT),
|
| 817 |
+
"persistent_root": str(PERSISTENT_ROOT),
|
| 818 |
+
"tmp_root": str(TMP_ROOT),
|
| 819 |
+
},
|
| 820 |
"paths": {
|
| 821 |
"work_dir": str(WORK_DIR),
|
| 822 |
+
"tmp_root": str(TMP_ROOT),
|
| 823 |
"dataset_dir": str(DATASET_DIR),
|
| 824 |
"exp_dir": str(ctx.exp_dir),
|
| 825 |
"sovits_output_dir": str(ctx.sovits_output_dir),
|