Spaces:
Paused
Paused
app
Browse files
app.py
CHANGED
|
@@ -63,43 +63,38 @@ def init_pipeline_if_needed():
|
|
| 63 |
|
| 64 |
# 如果设置了 BASE_MODEL_ID,从私有库加载预配置的 pipeline
|
| 65 |
if BASE_MODEL:
|
| 66 |
-
|
| 67 |
-
|
| 68 |
-
|
| 69 |
-
|
| 70 |
-
|
| 71 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 72 |
)
|
| 73 |
-
|
| 74 |
-
# 动态导入
|
| 75 |
-
import importlib.util
|
| 76 |
-
spec = importlib.util.spec_from_file_location("pipeline_loader", pipeline_loader_path)
|
| 77 |
-
pipeline_module = importlib.util.module_from_spec(spec)
|
| 78 |
-
spec.loader.exec_module(pipeline_module)
|
| 79 |
-
|
| 80 |
-
# 调用私有库中的函数获取 pipeline
|
| 81 |
-
_pipe = pipeline_module.get_pipeline(hf_token)
|
| 82 |
-
# else:
|
| 83 |
-
|
| 84 |
-
# if use_int8 or get_gpu_memory_gb() < 33:
|
| 85 |
-
# transformer_model = FluxTransformer2DModel.from_pretrained(
|
| 86 |
-
# INT8_MODEL,
|
| 87 |
-
# torch_dtype=torch.bfloat16,
|
| 88 |
-
# use_safetensors=False,
|
| 89 |
-
# token=hf_token,
|
| 90 |
-
# )
|
| 91 |
-
# _pipe = FluxPipeline.from_pretrained(
|
| 92 |
-
# INT8_MODEL,
|
| 93 |
-
# transformer=transformer_model,
|
| 94 |
-
# torch_dtype=torch.bfloat16,
|
| 95 |
-
# token=hf_token,
|
| 96 |
-
# )
|
| 97 |
-
# else:
|
| 98 |
-
# _pipe = FluxPipeline.from_pretrained(
|
| 99 |
-
# INT8_MODEL,
|
| 100 |
-
# torch_dtype=torch.bfloat16,
|
| 101 |
-
# token=hf_token,
|
| 102 |
-
# )
|
| 103 |
|
| 104 |
print("📦 Loading model to CUDA...")
|
| 105 |
_pipe = _pipe.to("cuda")
|
|
|
|
| 63 |
|
| 64 |
# 如果设置了 BASE_MODEL_ID,从私有库加载预配置的 pipeline
|
| 65 |
if BASE_MODEL:
|
| 66 |
+
print(f"Loading pipeline from: {BASE_MODEL}")
|
| 67 |
+
try:
|
| 68 |
+
# 下载并导入私有库中的 pipeline 加载脚本
|
| 69 |
+
pipeline_loader_path = hf_hub_download(
|
| 70 |
+
repo_id="Cascade-Inc/private_model",
|
| 71 |
+
filename=BASE_MODEL, # 应该是 .py 文件,例如: "pipeline_loader.py"
|
| 72 |
+
token=hf_token,
|
| 73 |
+
repo_type="space"
|
| 74 |
+
)
|
| 75 |
+
|
| 76 |
+
# 动态导入
|
| 77 |
+
import importlib.util
|
| 78 |
+
spec = importlib.util.spec_from_file_location("pipeline_loader", pipeline_loader_path)
|
| 79 |
+
pipeline_module = importlib.util.module_from_spec(spec)
|
| 80 |
+
spec.loader.exec_module(pipeline_module)
|
| 81 |
+
|
| 82 |
+
# 调用私有库中的函数获取 pipeline
|
| 83 |
+
_pipe = pipeline_module.get_pipeline(hf_token)
|
| 84 |
+
except Exception as e:
|
| 85 |
+
print(f"❌ Error loading pipeline from {BASE_MODEL}: {e}")
|
| 86 |
+
raise ValueError(
|
| 87 |
+
f"Failed to load pipeline loader from BASE_MODEL_ID='{BASE_MODEL}'. "
|
| 88 |
+
f"Make sure:\n"
|
| 89 |
+
f"1. The file exists in Cascade-Inc/private_model space\n"
|
| 90 |
+
f"2. BASE_MODEL_ID should be a .py file name (e.g., 'pipeline_loader.py')\n"
|
| 91 |
+
f"3. Not the LoRA path (that's MODEL_PATH)"
|
| 92 |
+
)
|
| 93 |
+
else:
|
| 94 |
+
raise ValueError(
|
| 95 |
+
"BASE_MODEL_ID environment variable is not set.\n"
|
| 96 |
+
"Please set it to the pipeline loader filename (e.g., 'pipeline_loader.py')"
|
| 97 |
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 98 |
|
| 99 |
print("📦 Loading model to CUDA...")
|
| 100 |
_pipe = _pipe.to("cuda")
|