Spaces:
Runtime error
Runtime error
Update hf_model.py
Browse files- hf_model.py +11 -12
hf_model.py
CHANGED
|
@@ -71,7 +71,16 @@ class UniBioTransferModel(LatentDiffusion, PyTorchModelHubMixin):
|
|
| 71 |
"""
|
| 72 |
|
| 73 |
def __getstate__(self):
|
| 74 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 75 |
|
| 76 |
def __init__(self, config=None, task="face", **kwargs):
|
| 77 |
self._task_name = task if isinstance(task, str) else TASK_ID2NAME.get(task, "face")
|
|
@@ -232,10 +241,7 @@ class UniBioTransferModel(LatentDiffusion, PyTorchModelHubMixin):
|
|
| 232 |
|
| 233 |
# offload_unused_tasks__LD(model, task_id, method="cpu")
|
| 234 |
|
| 235 |
-
|
| 236 |
-
return LandmarkExtractor(include_visualizer=True, img_256_mode=False)
|
| 237 |
-
model.get_pts_generator = lazy_pts
|
| 238 |
-
model.ptsM_Generator = None
|
| 239 |
cleanup_gpu_memory()
|
| 240 |
|
| 241 |
# ZeroGPU 兼容:只在 device 不是 "cpu" 且 CUDA 可用时才移动到 GPU
|
|
@@ -250,11 +256,4 @@ class UniBioTransferModel(LatentDiffusion, PyTorchModelHubMixin):
|
|
| 250 |
model._task_name = task_name
|
| 251 |
model._hf_config = {"task": task_name, "task_id": task_id}
|
| 252 |
|
| 253 |
-
_orig_call = model.__call__
|
| 254 |
-
def _wrapped_call(*args, **kwargs):
|
| 255 |
-
if model.ptsM_Generator is None:
|
| 256 |
-
model.ptsM_Generator = model.get_pts_generator()
|
| 257 |
-
return _orig_call(*args, **kwargs)
|
| 258 |
-
model.__call__ = _wrapped_call
|
| 259 |
-
|
| 260 |
return model
|
|
|
|
| 71 |
"""
|
| 72 |
|
| 73 |
def __getstate__(self):
|
| 74 |
+
state = self.__dict__.copy()
|
| 75 |
+
if 'ptsM_Generator' in state:
|
| 76 |
+
del state['ptsM_Generator']
|
| 77 |
+
return state
|
| 78 |
+
|
| 79 |
+
def __getattr__(self, name):
|
| 80 |
+
if name == 'ptsM_Generator':
|
| 81 |
+
self.ptsM_Generator = LandmarkExtractor(include_visualizer=True, img_256_mode=False)
|
| 82 |
+
return self.ptsM_Generator
|
| 83 |
+
raise AttributeError(f"'{type(self).__name__}' object has no attribute '{name}'")
|
| 84 |
|
| 85 |
def __init__(self, config=None, task="face", **kwargs):
|
| 86 |
self._task_name = task if isinstance(task, str) else TASK_ID2NAME.get(task, "face")
|
|
|
|
| 241 |
|
| 242 |
# offload_unused_tasks__LD(model, task_id, method="cpu")
|
| 243 |
|
| 244 |
+
model.ptsM_Generator = LandmarkExtractor(include_visualizer=True, img_256_mode=False)
|
|
|
|
|
|
|
|
|
|
| 245 |
cleanup_gpu_memory()
|
| 246 |
|
| 247 |
# ZeroGPU 兼容:只在 device 不是 "cpu" 且 CUDA 可用时才移动到 GPU
|
|
|
|
| 256 |
model._task_name = task_name
|
| 257 |
model._hf_config = {"task": task_name, "task_id": task_id}
|
| 258 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 259 |
return model
|