Spaces:
Running on Zero
Running on Zero
Update app.py
Browse files
app.py
CHANGED
|
@@ -14,16 +14,13 @@ if not os.path.exists(LTX_REPO_DIR):
|
|
| 14 |
print(f"Cloning {LTX_REPO_URL}...")
|
| 15 |
subprocess.run(["git", "clone", "--depth", "1", LTX_REPO_URL, LTX_REPO_DIR], check=True)
|
| 16 |
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
"-e", os.path.join(LTX_REPO_DIR, "packages", "ltx-pipelines")],
|
| 25 |
-
check=True,
|
| 26 |
-
)
|
| 27 |
|
| 28 |
sys.path.insert(0, os.path.join(LTX_REPO_DIR, "packages", "ltx-pipelines", "src"))
|
| 29 |
sys.path.insert(0, os.path.join(LTX_REPO_DIR, "packages", "ltx-core", "src"))
|
|
@@ -93,6 +90,26 @@ pipeline = DistilledPipeline(
|
|
| 93 |
quantization=QuantizationPolicy.fp8_cast(),
|
| 94 |
)
|
| 95 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 96 |
# Connect to text encoder space
|
| 97 |
print(f"Connecting to text encoder space: {TEXT_ENCODER_SPACE}")
|
| 98 |
try:
|
|
|
|
| 14 |
print(f"Cloning {LTX_REPO_URL}...")
|
| 15 |
subprocess.run(["git", "clone", "--depth", "1", LTX_REPO_URL, LTX_REPO_DIR], check=True)
|
| 16 |
|
| 17 |
+
print("Installing ltx-core and ltx-pipelines from cloned repo...")
|
| 18 |
+
subprocess.run(
|
| 19 |
+
[sys.executable, "-m", "pip", "install", "--force-reinstall", "--no-deps", "-e",
|
| 20 |
+
os.path.join(LTX_REPO_DIR, "packages", "ltx-core"),
|
| 21 |
+
"-e", os.path.join(LTX_REPO_DIR, "packages", "ltx-pipelines")],
|
| 22 |
+
check=True,
|
| 23 |
+
)
|
|
|
|
|
|
|
|
|
|
| 24 |
|
| 25 |
sys.path.insert(0, os.path.join(LTX_REPO_DIR, "packages", "ltx-pipelines", "src"))
|
| 26 |
sys.path.insert(0, os.path.join(LTX_REPO_DIR, "packages", "ltx-core", "src"))
|
|
|
|
| 90 |
quantization=QuantizationPolicy.fp8_cast(),
|
| 91 |
)
|
| 92 |
|
| 93 |
+
# Preload all models so first request is fast.
|
| 94 |
+
# On ZeroGPU, .to('cuda') is intercepted and actual GPU allocation
|
| 95 |
+
# happens inside the @spaces.GPU decorated function.
|
| 96 |
+
print("Preloading models...")
|
| 97 |
+
ledger = pipeline.model_ledger
|
| 98 |
+
_transformer = ledger.transformer()
|
| 99 |
+
_video_encoder = ledger.video_encoder()
|
| 100 |
+
_video_decoder = ledger.video_decoder()
|
| 101 |
+
_audio_decoder = ledger.audio_decoder()
|
| 102 |
+
_vocoder = ledger.vocoder()
|
| 103 |
+
_spatial_upsampler = ledger.spatial_upsampler()
|
| 104 |
+
|
| 105 |
+
ledger.transformer = lambda: _transformer
|
| 106 |
+
ledger.video_encoder = lambda: _video_encoder
|
| 107 |
+
ledger.video_decoder = lambda: _video_decoder
|
| 108 |
+
ledger.audio_decoder = lambda: _audio_decoder
|
| 109 |
+
ledger.vocoder = lambda: _vocoder
|
| 110 |
+
ledger.spatial_upsampler = lambda: _spatial_upsampler
|
| 111 |
+
print("All models preloaded!")
|
| 112 |
+
|
| 113 |
# Connect to text encoder space
|
| 114 |
print(f"Connecting to text encoder space: {TEXT_ENCODER_SPACE}")
|
| 115 |
try:
|