Spaces:
Running
on
Zero
Running
on
Zero
Update app.py
Browse files
app.py
CHANGED
|
@@ -113,31 +113,29 @@ initialize_infer_state(ArgsNamespace())
|
|
| 113 |
# Global Pipeline Variable
|
| 114 |
pipe = None
|
| 115 |
|
| 116 |
-
|
| 117 |
-
|
| 118 |
-
|
| 119 |
-
|
| 120 |
-
# Double check path exists
|
| 121 |
-
if not os.path.isdir(MODEL_DIR):
|
| 122 |
-
print(f"❌ Error: Model directory not found at {MODEL_DIR}")
|
| 123 |
-
sys.exit(1)
|
| 124 |
|
| 125 |
-
|
| 126 |
-
|
| 127 |
-
|
| 128 |
-
|
| 129 |
-
|
| 130 |
-
|
| 131 |
-
|
| 132 |
-
|
| 133 |
-
|
| 134 |
-
|
| 135 |
-
|
| 136 |
-
|
| 137 |
-
|
| 138 |
-
|
| 139 |
-
|
| 140 |
-
|
|
|
|
|
|
|
| 141 |
|
| 142 |
def save_video_tensor(video_tensor, path, fps=24):
|
| 143 |
if isinstance(video_tensor, list): video_tensor = video_tensor[0]
|
|
@@ -163,6 +161,8 @@ def generate(input_image, prompt, length, steps, shift, seed, guidance):
|
|
| 163 |
print(f"Generating: {prompt} | Seed: {seed}")
|
| 164 |
|
| 165 |
try:
|
|
|
|
|
|
|
| 166 |
output = pipe(
|
| 167 |
prompt=prompt,
|
| 168 |
height=480, width=854, aspect_ratio="16:9",
|
|
@@ -213,9 +213,6 @@ def create_ui():
|
|
| 213 |
return demo
|
| 214 |
|
| 215 |
if __name__ == "__main__":
|
| 216 |
-
# 1. Execute the pre-load BEFORE the UI launches
|
| 217 |
-
pre_load_model()
|
| 218 |
-
|
| 219 |
# 2. Launch UI
|
| 220 |
ui = create_ui()
|
| 221 |
ui.queue().launch(server_name="0.0.0.0", share=True)
|
|
|
|
| 113 |
# Global Pipeline Variable
|
| 114 |
pipe = None
|
| 115 |
|
| 116 |
+
# Double check path exists
|
| 117 |
+
if not os.path.isdir(MODEL_DIR):
|
| 118 |
+
print(f"❌ Error: Model directory not found at {MODEL_DIR}")
|
| 119 |
+
sys.exit(1)
|
|
|
|
|
|
|
|
|
|
|
|
|
| 120 |
|
| 121 |
+
print(f"⏳ Initializing Pipeline ({TRANSFORMER_VERSION}) from {MODEL_DIR}...")
|
| 122 |
+
|
| 123 |
+
try:
|
| 124 |
+
pipe = HunyuanVideo_1_5_Pipeline.create_pipeline(
|
| 125 |
+
pretrained_model_name_or_path=MODEL_DIR,
|
| 126 |
+
transformer_version=TRANSFORMER_VERSION,
|
| 127 |
+
enable_offloading=ENABLE_OFFLOADING,
|
| 128 |
+
enable_group_offloading=ENABLE_OFFLOADING,
|
| 129 |
+
transformer_dtype=DTYPE,
|
| 130 |
+
)
|
| 131 |
+
print("✅ Model loaded successfully!")
|
| 132 |
+
except Exception as e:
|
| 133 |
+
print(f"❌ Failed to load model: {e}")
|
| 134 |
+
import traceback
|
| 135 |
+
traceback.print_exc()
|
| 136 |
+
sys.exit(1)
|
| 137 |
+
|
| 138 |
+
pipe.to("cuda")
|
| 139 |
|
| 140 |
def save_video_tensor(video_tensor, path, fps=24):
|
| 141 |
if isinstance(video_tensor, list): video_tensor = video_tensor[0]
|
|
|
|
| 161 |
print(f"Generating: {prompt} | Seed: {seed}")
|
| 162 |
|
| 163 |
try:
|
| 164 |
+
pipe.execution_device = torch.device("cuda")
|
| 165 |
+
|
| 166 |
output = pipe(
|
| 167 |
prompt=prompt,
|
| 168 |
height=480, width=854, aspect_ratio="16:9",
|
|
|
|
| 213 |
return demo
|
| 214 |
|
| 215 |
if __name__ == "__main__":
|
|
|
|
|
|
|
|
|
|
| 216 |
# 2. Launch UI
|
| 217 |
ui = create_ui()
|
| 218 |
ui.queue().launch(server_name="0.0.0.0", share=True)
|