diff --git a/configs/INITIAL_MODELS.yaml b/configs/INITIAL_MODELS.yaml index 5df64d742d..fa55b16ef4 100644 --- a/configs/INITIAL_MODELS.yaml +++ b/configs/INITIAL_MODELS.yaml @@ -1,8 +1,13 @@ -stable-diffusion-2.1: - description: Stable Diffusion version 2.1 diffusers model (5.21 GB) +stable-diffusion-2.1-768: + description: Stable Diffusion version 2.1 diffusers model, trained on 768x768 images (5.21 GB) repo_id: stabilityai/stable-diffusion-2-1 format: diffusers recommended: True +stable-diffusion-2.1-base: + description: Stable Diffusion version 2.1 diffusers base model, trained on 512x512 images (5.21 GB) + repo_id: stabilityai/stable-diffusion-2-1-base + format: diffusers + recommended: False stable-diffusion-1.5: description: Stable Diffusion version 1.5 weight file (4.27 GB) repo_id: runwayml/stable-diffusion-v1-5 @@ -10,10 +15,17 @@ stable-diffusion-1.5: recommended: True vae: repo_id: stabilityai/sd-vae-ft-mse +stable-diffusion-1.4: + description: The original Stable Diffusion version 1.4 weight file (4.27 GB) + repo_id: CompVis/stable-diffusion-v1-4 + recommended: False + format: diffusers + vae: + repo_id: stabilityai/sd-vae-ft-mse width: 512 height: 512 inpainting-1.5: - description: RunwayML SD 1.5 model optimized for inpainting (4.27 GB) + description: RunwayML SD 1.5 model optimized for inpainting (ckpt version) (4.27 GB) repo_id: runwayml/stable-diffusion-inpainting config: v1-inpainting-inference.yaml file: sd-v1-5-inpainting.ckpt @@ -24,17 +36,13 @@ inpainting-1.5: recommended: True width: 512 height: 512 -stable-diffusion-1.4: - description: The original Stable Diffusion version 1.4 weight file (4.27 GB) - repo_id: CompVis/stable-diffusion-v1-4 - recommended: False - format: diffusers - vae: - repo_id: stabilityai/sd-vae-ft-mse - width: 512 - height: 512 +waifu-diffusion-1.4: + description: Latest waifu diffusion 1.4 (diffusers version) + format: diffusers + repo_id: hakurei/waifu-diffusion + recommended: True waifu-diffusion-1.3: - description: Stable Diffusion 1.4 fine tuned on anime-styled images (4.27 GB) + description: Stable Diffusion 1.4 fine tuned on anime-styled images (ckpt version) (4.27 GB) repo_id: hakurei/waifu-diffusion-v1-3 config: v1-inference.yaml file: model-epoch09-float32.ckpt @@ -52,10 +60,8 @@ trinart-2.0: recommended: False vae: repo_id: stabilityai/sd-vae-ft-mse - width: 512 - height: 512 trinart_characters-2.0: - description: An SD model finetuned with 19.2M anime/manga style images (4.27 GB) + description: An SD model finetuned with 19.2M anime/manga style images (ckpt version) (4.27 GB) repo_id: naclbit/trinart_derrida_characters_v2_stable_diffusion config: v1-inference.yaml file: derrida_final.ckpt @@ -66,6 +72,11 @@ trinart_characters-2.0: recommended: False width: 512 height: 512 +anything-4.0: + description: High-quality, highly detailed anime style images with just a few prompts + format: diffusers + repo_id: andite/anything-v4.0 + recommended: False papercut-1.0: description: SD 1.5 fine-tuned for papercut art (use "PaperCut" in your prompts) (2.13 GB) repo_id: Fictiverse/Stable_Diffusion_PaperCut_Model @@ -73,8 +84,6 @@ papercut-1.0: vae: repo_id: stabilityai/sd-vae-ft-mse recommended: False - width: 512 - height: 512 voxel_art-1.0: description: Stable Diffusion trained on voxel art (use "VoxelArt" in your prompts) (4.27 GB) repo_id: Fictiverse/Stable_Diffusion_VoxelArt_Model diff --git a/ldm/invoke/model_manager.py b/ldm/invoke/model_manager.py index 880d75476f..a00c4836e8 100644 --- a/ldm/invoke/model_manager.py +++ b/ldm/invoke/model_manager.py @@ -753,16 +753,20 @@ class ModelManager(object): print('** Legacy version <= 2.2.5 model directory layout detected. Reorganizing.') print('** This is a quick one-time operation.') - from shutil import move + from shutil import move, rmtree # transformer files get moved into the hub directory hub = models_dir / 'hub' os.makedirs(hub, exist_ok=True) for model in legacy_locations: - source = models_dir /model + source = models_dir / model + dest = hub / model.stem + print(f'** {source} => {dest}') if source.exists(): - print(f'DEBUG: Moving {models_dir / model} into hub') - move(models_dir / model, hub) + if dest.exists(): + rmtree(source) + else: + move(source, dest) # anything else gets moved into the diffusers directory diffusers = models_dir / 'diffusers' @@ -773,7 +777,12 @@ class ModelManager(object): if full_path.is_relative_to(hub) or full_path.is_relative_to(diffusers): continue if Path(dir).match('models--*--*'): - move(full_path,diffusers) + dest = diffusers / dir + print(f'** {full_path} => {dest}') + if dest.exists(): + rmtree(full_path) + else: + move(full_path,dest) # now clean up by removing any empty directories empty = [root for root, dirs, files, in os.walk(models_dir) if not len(dirs) and not len(files)]