| | import os |
| | import comfy.sd |
| | from nodes import * |
| | import random |
| | import folder_paths |
| |
|
| | cnt=0 |
| | ckpt_name="" |
| | ckpt_path="" |
| |
|
| | class CheckpointLoaderRandom: |
| | models_dir = os.path.join(os.getcwd(),"ComfyUI", "models") |
| | ckpt_dir = os.path.join(models_dir, "checkpoints") |
| | cnt=0 |
| | ckpt_name="" |
| | ckpt_path="" |
| | |
| | def __init__(self): |
| | print(f"CheckpointLoaderRandom __init__") |
| | pass |
| | |
| | @classmethod |
| | def INPUT_TYPES(s): |
| | return { |
| | "required": { |
| | "seed": ("INT", {"default": 0, "min": 0, "max": 0xffffffffffffffff}), |
| | "max": ("INT", {"default": 10, "min": 0, "max": 0xffffffffffffffff}), |
| | |
| | } |
| | } |
| | RETURN_TYPES = ("MODEL", "CLIP", "VAE") |
| | FUNCTION = "load_checkpoint" |
| |
|
| | CATEGORY = "loaders" |
| |
|
| | def load_checkpoint(self, seed, max, output_vae=True, output_clip=True): |
| | global cnt, ckpt_name, ckpt_path |
| | print(f"cnt : { cnt}") |
| | if ckpt_name=="" or cnt>=max : |
| | cnt=0 |
| | ckpt_names= folder_paths.get_filename_list("checkpoints") |
| | |
| | ckpt_name=random.choice(ckpt_names) |
| | print(f"ckpt_name : { ckpt_name}") |
| | ckpt_path = folder_paths.get_full_path("checkpoints", ckpt_name) |
| | out = comfy.sd.load_checkpoint_guess_config(ckpt_path, output_vae=True, output_clip=True, embedding_directory=folder_paths.get_folder_paths("embeddings")) |
| | cnt+=1 |
| | return out |
| | |
| |
|