scy639 commited on
Commit
fffacf1
·
verified ·
1 Parent(s): a07e3bc

Update hf_model.py

Browse files
Files changed (1) hide show
  1. hf_model.py +11 -12
hf_model.py CHANGED
@@ -71,7 +71,16 @@ class UniBioTransferModel(LatentDiffusion, PyTorchModelHubMixin):
71
  """
72
 
73
  def __getstate__(self):
74
- return {k: v for k, v in self.__dict__.items() if k != 'ptsM_Generator'}
 
 
 
 
 
 
 
 
 
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
- def lazy_pts():
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