MCPcopy Index your code
hub / github.com/modelscope/DiffSynth-Studio / fetch_model

Method fetch_model

diffsynth/models/model_manager.py:429–461  ·  view source on GitHub ↗
(self, model_name, file_path=None, require_model_path=False, index=None)

Source from the content-addressed store, hash-verified

427
428
429 def fetch_model(self, model_name, file_path=None, require_model_path=False, index=None):
430 fetched_models = []
431 fetched_model_paths = []
432 for model, model_path, model_name_ in zip(self.model, self.model_path, self.model_name):
433 if file_path is not None and file_path != model_path:
434 continue
435 if model_name == model_name_:
436 fetched_models.append(model)
437 fetched_model_paths.append(model_path)
438 if len(fetched_models) == 0:
439 print(f"No {model_name} models available.")
440 return None
441 if len(fetched_models) == 1:
442 print(f"Using {model_name} from {fetched_model_paths[0]}.")
443 model = fetched_models[0]
444 path = fetched_model_paths[0]
445 else:
446 if index is None:
447 model = fetched_models[0]
448 path = fetched_model_paths[0]
449 print(f"More than one {model_name} models are loaded in model manager: {fetched_model_paths}. Using {model_name} from {fetched_model_paths[0]}.")
450 elif isinstance(index, int):
451 model = fetched_models[:index]
452 path = fetched_model_paths[:index]
453 print(f"More than one {model_name} models are loaded in model manager: {fetched_model_paths}. Using {model_name} from {fetched_model_paths[:index]}.")
454 else:
455 model = fetched_models
456 path = fetched_model_paths
457 print(f"More than one {model_name} models are loaded in model manager: {fetched_model_paths}. Using {model_name} from {fetched_model_paths}.")
458 if require_model_path:
459 return model, path
460 else:
461 return model
462
463
464 def to(self, device):

Callers 15

from_pretrainedMethod · 0.95
from_pretrainedMethod · 0.95
from_pretrainedMethod · 0.95
fetch_modelsMethod · 0.80
fetch_modelsMethod · 0.80
fetch_modelsMethod · 0.80
fetch_modelsMethod · 0.80
fetch_modelsMethod · 0.80
fetch_modelsMethod · 0.80
fetch_modelsMethod · 0.80
fetch_modelsMethod · 0.80
fetch_modelsMethod · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected