q6 commited on
Commit
421fe83
·
1 Parent(s): 819d009

Stage preloaded models locally

Browse files
Files changed (1) hide show
  1. app.py +17 -37
app.py CHANGED
@@ -227,11 +227,6 @@ BUILTIN_ASSETS = {
227
  "image_encoder/model.safetensors"
228
  ),
229
  }
230
- PERSISTENT_MODEL_DIR = (
231
- BUCKET_MOUNT
232
- if BUCKET_MOUNT.is_dir()
233
- else DATA_DIR / "models" if HAS_DATA_MOUNT else None
234
- )
235
  MATRIX_WIDTH = 1152
236
  MATRIX_HEIGHT = 896
237
  MATRIX_SAMPLER = "dpmpp_2m"
@@ -348,11 +343,6 @@ def download(url, target):
348
 
349
 
350
  def model_path(kind, name):
351
- mounted = BUCKET_MOUNT / kind / name
352
- if mounted.is_file():
353
- return mounted
354
- if PERSISTENT_MODEL_DIR is not None and (kind, name) in BUILTIN_ASSETS:
355
- return PERSISTENT_MODEL_DIR / kind / name
356
  return LOCAL_MODEL_DIR / kind / name
357
 
358
 
@@ -704,40 +694,15 @@ def init_comfy():
704
  for kind in MODEL_KINDS:
705
  local = LOCAL_MODEL_DIR / kind
706
  local.mkdir(parents=True, exist_ok=True)
707
- comfy_kind = COMFY_KINDS.get(kind, kind)
708
  folder_paths.add_model_folder_path(
709
- comfy_kind,
710
  str(local),
711
  is_default=True,
712
  )
713
- mounted = BUCKET_MOUNT / kind
714
- if mounted.is_dir():
715
- folder_paths.add_model_folder_path(
716
- comfy_kind,
717
- str(mounted),
718
- is_default=True,
719
- )
720
- if PERSISTENT_MODEL_DIR is not None and PERSISTENT_MODEL_DIR != BUCKET_MOUNT:
721
- for kind in {kind for kind, _ in BUILTIN_ASSETS}:
722
- persistent = PERSISTENT_MODEL_DIR / kind
723
- if persistent == LOCAL_MODEL_DIR / kind:
724
- continue
725
- persistent.mkdir(parents=True, exist_ok=True)
726
- folder_paths.add_model_folder_path(
727
- COMFY_KINDS.get(kind, kind),
728
- str(persistent),
729
- is_default=True,
730
- )
731
  folder_paths.add_model_folder_path(
732
  "ultralytics_bbox",
733
  str(LOCAL_MODEL_DIR / "ultralytics"),
734
  )
735
- mounted_ultralytics = BUCKET_MOUNT / "ultralytics"
736
- if mounted_ultralytics.is_dir():
737
- folder_paths.add_model_folder_path(
738
- "ultralytics_bbox",
739
- str(mounted_ultralytics),
740
- )
741
 
742
  folder_paths.add_model_folder_path("custom_nodes", str(CUSTOM_NODES_DIR))
743
  import_custom_nodes()
@@ -3135,6 +3100,18 @@ def login(p):
3135
  )
3136
 
3137
 
 
 
 
 
 
 
 
 
 
 
 
 
3138
  def preload_assets():
3139
  assets = []
3140
  for kind, asset_ids in STARTUP_ASSET_IDS.items():
@@ -3158,7 +3135,10 @@ def preload_assets():
3158
  }
3159
  for kind, name in assets:
3160
  log(f"Preloading {kind}/{name}")
3161
- stage_model(kind, name)
 
 
 
3162
  if kind not in STYLE_MODEL_KINDS:
3163
  loaders[kind](name)
3164
  log(f"Preloaded {kind}/{name}")
 
227
  "image_encoder/model.safetensors"
228
  ),
229
  }
 
 
 
 
 
230
  MATRIX_WIDTH = 1152
231
  MATRIX_HEIGHT = 896
232
  MATRIX_SAMPLER = "dpmpp_2m"
 
343
 
344
 
345
  def model_path(kind, name):
 
 
 
 
 
346
  return LOCAL_MODEL_DIR / kind / name
347
 
348
 
 
694
  for kind in MODEL_KINDS:
695
  local = LOCAL_MODEL_DIR / kind
696
  local.mkdir(parents=True, exist_ok=True)
 
697
  folder_paths.add_model_folder_path(
698
+ COMFY_KINDS.get(kind, kind),
699
  str(local),
700
  is_default=True,
701
  )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
702
  folder_paths.add_model_folder_path(
703
  "ultralytics_bbox",
704
  str(LOCAL_MODEL_DIR / "ultralytics"),
705
  )
 
 
 
 
 
 
706
 
707
  folder_paths.add_model_folder_path("custom_nodes", str(CUSTOM_NODES_DIR))
708
  import_custom_nodes()
 
3100
  )
3101
 
3102
 
3103
+ def copy_mounted_asset(kind, name):
3104
+ target = model_path(kind, name)
3105
+ if target.is_file():
3106
+ return
3107
+ log(f"Copying {kind}/{name}")
3108
+ target.parent.mkdir(parents=True, exist_ok=True)
3109
+ temp = target.with_suffix(target.suffix + ".part")
3110
+ shutil.copy2(BUCKET_MOUNT / kind / name, temp)
3111
+ temp.replace(target)
3112
+ log(f"Copied {kind}/{name}: {target.stat().st_size // MIB} MiB")
3113
+
3114
+
3115
  def preload_assets():
3116
  assets = []
3117
  for kind, asset_ids in STARTUP_ASSET_IDS.items():
 
3135
  }
3136
  for kind, name in assets:
3137
  log(f"Preloading {kind}/{name}")
3138
+ if (BUCKET_MOUNT / kind / name).is_file():
3139
+ copy_mounted_asset(kind, name)
3140
+ else:
3141
+ stage_model(kind, name)
3142
  if kind not in STYLE_MODEL_KINDS:
3143
  loaders[kind](name)
3144
  log(f"Preloaded {kind}/{name}")