save to proper storage not ephemeral
Browse files- gradio_app.py +17 -13
gradio_app.py
CHANGED
|
@@ -3,38 +3,42 @@ import torch
|
|
| 3 |
import os
|
| 4 |
import time
|
| 5 |
import datetime
|
|
|
|
| 6 |
from moviepy.editor import VideoFileClip
|
| 7 |
import gradio as gr
|
| 8 |
|
| 9 |
# Download Weights
|
| 10 |
from huggingface_hub import snapshot_download
|
| 11 |
|
| 12 |
-
#
|
|
|
|
|
|
|
|
|
|
|
|
|
| 13 |
subfolders = [
|
| 14 |
"diffuEraser",
|
| 15 |
"stable-diffusion-v1-5",
|
| 16 |
"PCM_Weights",
|
| 17 |
"propainter",
|
| 18 |
-
"sd-vae-ft-mse"
|
| 19 |
]
|
| 20 |
-
# Create directories
|
| 21 |
for subfolder in subfolders:
|
| 22 |
-
|
| 23 |
|
| 24 |
-
snapshot_download(repo_id="lixiaowen/diffuEraser", local_dir=
|
| 25 |
-
snapshot_download(repo_id="stable-diffusion-v1-5/stable-diffusion-v1-5", local_dir=
|
| 26 |
-
snapshot_download(repo_id="wangfuyun/PCM_Weights", local_dir=
|
| 27 |
-
snapshot_download(repo_id="camenduru/ProPainter", local_dir=
|
| 28 |
-
snapshot_download(repo_id="stabilityai/sd-vae-ft-mse", local_dir=
|
| 29 |
|
| 30 |
# Import model classes
|
| 31 |
from diffueraser.diffueraser import DiffuEraser
|
| 32 |
from propainter.inference import Propainter, get_device
|
| 33 |
|
| 34 |
-
base_model_path =
|
| 35 |
-
vae_path =
|
| 36 |
-
diffueraser_path =
|
| 37 |
-
propainter_model_dir =
|
| 38 |
|
| 39 |
# Model setup
|
| 40 |
device = get_device()
|
|
|
|
| 3 |
import os
|
| 4 |
import time
|
| 5 |
import datetime
|
| 6 |
+
from pathlib import Path
|
| 7 |
from moviepy.editor import VideoFileClip
|
| 8 |
import gradio as gr
|
| 9 |
|
| 10 |
# Download Weights
|
| 11 |
from huggingface_hub import snapshot_download
|
| 12 |
|
| 13 |
+
# Decide where to cache weights. Default to persistent disk (/data) when available, fall back to workspace.
|
| 14 |
+
default_weights_root = Path("/data/weights") if Path("/data").exists() else Path("./weights")
|
| 15 |
+
WEIGHTS_ROOT = Path(os.environ.get("DIFFUERASER_WEIGHTS_ROOT", default_weights_root))
|
| 16 |
+
|
| 17 |
+
# List of subdirectories to create inside the weights root
|
| 18 |
subfolders = [
|
| 19 |
"diffuEraser",
|
| 20 |
"stable-diffusion-v1-5",
|
| 21 |
"PCM_Weights",
|
| 22 |
"propainter",
|
| 23 |
+
"sd-vae-ft-mse",
|
| 24 |
]
|
|
|
|
| 25 |
for subfolder in subfolders:
|
| 26 |
+
(WEIGHTS_ROOT / subfolder).mkdir(parents=True, exist_ok=True)
|
| 27 |
|
| 28 |
+
snapshot_download(repo_id="lixiaowen/diffuEraser", local_dir=str(WEIGHTS_ROOT / "diffuEraser"))
|
| 29 |
+
snapshot_download(repo_id="stable-diffusion-v1-5/stable-diffusion-v1-5", local_dir=str(WEIGHTS_ROOT / "stable-diffusion-v1-5"))
|
| 30 |
+
snapshot_download(repo_id="wangfuyun/PCM_Weights", local_dir=str(WEIGHTS_ROOT / "PCM_Weights"))
|
| 31 |
+
snapshot_download(repo_id="camenduru/ProPainter", local_dir=str(WEIGHTS_ROOT / "propainter"))
|
| 32 |
+
snapshot_download(repo_id="stabilityai/sd-vae-ft-mse", local_dir=str(WEIGHTS_ROOT / "sd-vae-ft-mse"))
|
| 33 |
|
| 34 |
# Import model classes
|
| 35 |
from diffueraser.diffueraser import DiffuEraser
|
| 36 |
from propainter.inference import Propainter, get_device
|
| 37 |
|
| 38 |
+
base_model_path = str(WEIGHTS_ROOT / "stable-diffusion-v1-5")
|
| 39 |
+
vae_path = str(WEIGHTS_ROOT / "sd-vae-ft-mse")
|
| 40 |
+
diffueraser_path = str(WEIGHTS_ROOT / "diffuEraser")
|
| 41 |
+
propainter_model_dir = str(WEIGHTS_ROOT / "propainter")
|
| 42 |
|
| 43 |
# Model setup
|
| 44 |
device = get_device()
|