add shuffle
Browse files- gen_compare_v11/README.md +16 -0
- gen_compare_v11/control_images.yaml +8 -3
- gen_compare_v11/control_images/converted/shuffle_house_512x512.png +3 -0
- gen_compare_v11/control_images/converted/shuffle_room_512x512.png +3 -0
- gen_compare_v11/control_images/dog_64x64.png +3 -0
- gen_compare_v11/gen_diffusers_image.sh +1 -0
- gen_compare_v11/gen_diffusers_image_for_tile.py +92 -0
- gen_compare_v11/gen_markdown.py +1 -1
- gen_compare_v11/gen_reference_image.py +6 -2
- gen_compare_v11/gen_reference_image.sh +1 -0
- gen_compare_v11/gen_reference_image_for_tile.py +111 -0
- gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_0_0.png +3 -0
- gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_0_1.png +3 -0
- gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_0_2.png +3 -0
- gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_0_3.png +3 -0
- gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_1_0.png +3 -0
- gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_1_1.png +3 -0
- gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_1_2.png +3 -0
- gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_1_3.png +3 -0
- gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_2_0.png +3 -0
- gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_2_1.png +3 -0
- gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_2_2.png +3 -0
- gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_2_3.png +3 -0
- gen_compare_v11/output_images/diffusers/output_f1e_sd15_tile_0_0.png +3 -0
- gen_compare_v11/output_images/diffusers/output_f1e_sd15_tile_0_1.png +3 -0
- gen_compare_v11/output_images/diffusers/output_f1e_sd15_tile_0_2.png +3 -0
- gen_compare_v11/output_images/diffusers/output_f1e_sd15_tile_0_3.png +3 -0
- gen_compare_v11/output_images/ref/output_e_sd15_shuffle_0_0.png +3 -0
- gen_compare_v11/output_images/ref/output_e_sd15_shuffle_0_1.png +3 -0
- gen_compare_v11/output_images/ref/output_e_sd15_shuffle_0_2.png +3 -0
- gen_compare_v11/output_images/ref/output_e_sd15_shuffle_0_3.png +3 -0
- gen_compare_v11/output_images/ref/output_e_sd15_shuffle_1_0.png +3 -0
- gen_compare_v11/output_images/ref/output_e_sd15_shuffle_1_1.png +3 -0
- gen_compare_v11/output_images/ref/output_e_sd15_shuffle_1_2.png +3 -0
- gen_compare_v11/output_images/ref/output_e_sd15_shuffle_1_3.png +3 -0
- gen_compare_v11/output_images/ref/output_e_sd15_shuffle_2_0.png +3 -0
- gen_compare_v11/output_images/ref/output_e_sd15_shuffle_2_1.png +3 -0
- gen_compare_v11/output_images/ref/output_e_sd15_shuffle_2_2.png +3 -0
- gen_compare_v11/output_images/ref/output_e_sd15_shuffle_2_3.png +3 -0
- gen_compare_v11/output_images/ref/output_f1e_sd15_tile_0_0.png +3 -0
- gen_compare_v11/output_images/ref/output_f1e_sd15_tile_0_1.png +3 -0
- gen_compare_v11/output_images/ref/output_f1e_sd15_tile_0_2.png +3 -0
- gen_compare_v11/output_images/ref/output_f1e_sd15_tile_0_3.png +3 -0
gen_compare_v11/README.md
CHANGED
@@ -100,6 +100,22 @@
|
|
100 |
|1|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/control_images/converted/lineartanime_anime2_512x512.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/control_images/converted/lineartanime_anime2_512x512.png"/></a>|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/ref/output_p_sd15s2_lineart_anime_0_1.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/ref/output_p_sd15s2_lineart_anime_0_1.png"/></a>|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/diffusers/output_p_sd15s2_lineart_anime_0_1.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/diffusers/output_p_sd15s2_lineart_anime_0_1.png"/></a>|
|
101 |
|2|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/control_images/converted/lineartanime_anime2_512x512.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/control_images/converted/lineartanime_anime2_512x512.png"/></a>|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/ref/output_p_sd15s2_lineart_anime_0_2.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/ref/output_p_sd15s2_lineart_anime_0_2.png"/></a>|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/diffusers/output_p_sd15s2_lineart_anime_0_2.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/diffusers/output_p_sd15s2_lineart_anime_0_2.png"/></a>|
|
102 |
|3|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/control_images/converted/lineartanime_anime2_512x512.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/control_images/converted/lineartanime_anime2_512x512.png"/></a>|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/ref/output_p_sd15s2_lineart_anime_0_3.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/ref/output_p_sd15s2_lineart_anime_0_3.png"/></a>|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/diffusers/output_p_sd15s2_lineart_anime_0_3.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/diffusers/output_p_sd15s2_lineart_anime_0_3.png"/></a>|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
103 |
## control_v11p_sd15_inpaint
|
104 |
|
105 |
|seed|conditional image|ref|diffusers|
|
|
|
100 |
|1|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/control_images/converted/lineartanime_anime2_512x512.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/control_images/converted/lineartanime_anime2_512x512.png"/></a>|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/ref/output_p_sd15s2_lineart_anime_0_1.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/ref/output_p_sd15s2_lineart_anime_0_1.png"/></a>|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/diffusers/output_p_sd15s2_lineart_anime_0_1.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/diffusers/output_p_sd15s2_lineart_anime_0_1.png"/></a>|
|
101 |
|2|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/control_images/converted/lineartanime_anime2_512x512.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/control_images/converted/lineartanime_anime2_512x512.png"/></a>|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/ref/output_p_sd15s2_lineart_anime_0_2.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/ref/output_p_sd15s2_lineart_anime_0_2.png"/></a>|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/diffusers/output_p_sd15s2_lineart_anime_0_2.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/diffusers/output_p_sd15s2_lineart_anime_0_2.png"/></a>|
|
102 |
|3|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/control_images/converted/lineartanime_anime2_512x512.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/control_images/converted/lineartanime_anime2_512x512.png"/></a>|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/ref/output_p_sd15s2_lineart_anime_0_3.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/ref/output_p_sd15s2_lineart_anime_0_3.png"/></a>|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/diffusers/output_p_sd15s2_lineart_anime_0_3.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/diffusers/output_p_sd15s2_lineart_anime_0_3.png"/></a>|
|
103 |
+
## control_v11e_sd15_shuffle
|
104 |
+
|
105 |
+
|seed|conditional image|ref|diffusers|
|
106 |
+
|:---:|:---:|:---:|:---:|
|
107 |
+
|0|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/control_images/converted/shuffle_vermeer_512x512.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/control_images/converted/shuffle_vermeer_512x512.png"/></a>|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/ref/output_e_sd15_shuffle_0_0.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/ref/output_e_sd15_shuffle_0_0.png"/></a>|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_0_0.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_0_0.png"/></a>|
|
108 |
+
|1|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/control_images/converted/shuffle_vermeer_512x512.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/control_images/converted/shuffle_vermeer_512x512.png"/></a>|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/ref/output_e_sd15_shuffle_0_1.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/ref/output_e_sd15_shuffle_0_1.png"/></a>|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_0_1.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_0_1.png"/></a>|
|
109 |
+
|2|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/control_images/converted/shuffle_vermeer_512x512.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/control_images/converted/shuffle_vermeer_512x512.png"/></a>|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/ref/output_e_sd15_shuffle_0_2.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/ref/output_e_sd15_shuffle_0_2.png"/></a>|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_0_2.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_0_2.png"/></a>|
|
110 |
+
|3|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/control_images/converted/shuffle_vermeer_512x512.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/control_images/converted/shuffle_vermeer_512x512.png"/></a>|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/ref/output_e_sd15_shuffle_0_3.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/ref/output_e_sd15_shuffle_0_3.png"/></a>|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_0_3.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_0_3.png"/></a>|
|
111 |
+
|0|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/control_images/converted/shuffle_room_512x512.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/control_images/converted/shuffle_room_512x512.png"/></a>|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/ref/output_e_sd15_shuffle_1_0.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/ref/output_e_sd15_shuffle_1_0.png"/></a>|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_1_0.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_1_0.png"/></a>|
|
112 |
+
|1|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/control_images/converted/shuffle_room_512x512.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/control_images/converted/shuffle_room_512x512.png"/></a>|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/ref/output_e_sd15_shuffle_1_1.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/ref/output_e_sd15_shuffle_1_1.png"/></a>|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_1_1.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_1_1.png"/></a>|
|
113 |
+
|2|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/control_images/converted/shuffle_room_512x512.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/control_images/converted/shuffle_room_512x512.png"/></a>|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/ref/output_e_sd15_shuffle_1_2.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/ref/output_e_sd15_shuffle_1_2.png"/></a>|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_1_2.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_1_2.png"/></a>|
|
114 |
+
|3|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/control_images/converted/shuffle_room_512x512.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/control_images/converted/shuffle_room_512x512.png"/></a>|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/ref/output_e_sd15_shuffle_1_3.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/ref/output_e_sd15_shuffle_1_3.png"/></a>|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_1_3.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_1_3.png"/></a>|
|
115 |
+
|0|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/control_images/converted/shuffle_house_512x512.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/control_images/converted/shuffle_house_512x512.png"/></a>|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/ref/output_e_sd15_shuffle_2_0.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/ref/output_e_sd15_shuffle_2_0.png"/></a>|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_2_0.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_2_0.png"/></a>|
|
116 |
+
|1|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/control_images/converted/shuffle_house_512x512.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/control_images/converted/shuffle_house_512x512.png"/></a>|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/ref/output_e_sd15_shuffle_2_1.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/ref/output_e_sd15_shuffle_2_1.png"/></a>|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_2_1.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_2_1.png"/></a>|
|
117 |
+
|2|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/control_images/converted/shuffle_house_512x512.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/control_images/converted/shuffle_house_512x512.png"/></a>|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/ref/output_e_sd15_shuffle_2_2.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/ref/output_e_sd15_shuffle_2_2.png"/></a>|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_2_2.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_2_2.png"/></a>|
|
118 |
+
|3|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/control_images/converted/shuffle_house_512x512.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/control_images/converted/shuffle_house_512x512.png"/></a>|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/ref/output_e_sd15_shuffle_2_3.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/ref/output_e_sd15_shuffle_2_3.png"/></a>|<a href="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_2_3.png"><img width="128" src="https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_2_3.png"/></a>|
|
119 |
## control_v11p_sd15_inpaint
|
120 |
|
121 |
|seed|conditional image|ref|diffusers|
|
gen_compare_v11/control_images.yaml
CHANGED
@@ -26,9 +26,14 @@ p_sd15_seg:
|
|
26 |
- uniformer_house_512x512.png
|
27 |
p_sd15s2_lineart_anime:
|
28 |
- lineartanime_anime2_512x512.png
|
|
|
|
|
|
|
|
|
29 |
# p_sd15_inpaint:
|
30 |
-
# e_sd15_shuffle:
|
31 |
-
# - colorshuffle_vermeer_512x512.png
|
32 |
-
# - shuffle_vermeer_512x512.png
|
33 |
# e_sd15_ip2p:
|
34 |
# u_sd15_tile:
|
|
|
|
|
|
|
|
|
|
26 |
- uniformer_house_512x512.png
|
27 |
p_sd15s2_lineart_anime:
|
28 |
- lineartanime_anime2_512x512.png
|
29 |
+
e_sd15_shuffle:
|
30 |
+
- shuffle_vermeer_512x512.png
|
31 |
+
- shuffle_room_512x512.png
|
32 |
+
- shuffle_house_512x512.png
|
33 |
# p_sd15_inpaint:
|
|
|
|
|
|
|
34 |
# e_sd15_ip2p:
|
35 |
# u_sd15_tile:
|
36 |
+
# f1e_sd15_tile:
|
37 |
+
# - dog_64x64.png
|
38 |
+
|
39 |
+
|
gen_compare_v11/control_images/converted/shuffle_house_512x512.png
ADDED
Git LFS Details
|
gen_compare_v11/control_images/converted/shuffle_room_512x512.png
ADDED
Git LFS Details
|
gen_compare_v11/control_images/dog_64x64.png
ADDED
Git LFS Details
|
gen_compare_v11/gen_diffusers_image.sh
CHANGED
@@ -11,6 +11,7 @@ models=(
|
|
11 |
"p_sd15_softedge"
|
12 |
"p_sd15_lineart"
|
13 |
"p_sd15s2_lineart_anime"
|
|
|
14 |
)
|
15 |
# models=("p_sd15_inpaint" "e_sd15_shuffle" "e_sd15_ip2p" "u_sd15_tile")
|
16 |
|
|
|
11 |
"p_sd15_softedge"
|
12 |
"p_sd15_lineart"
|
13 |
"p_sd15s2_lineart_anime"
|
14 |
+
"e_sd15_shuffle"
|
15 |
)
|
16 |
# models=("p_sd15_inpaint" "e_sd15_shuffle" "e_sd15_ip2p" "u_sd15_tile")
|
17 |
|
gen_compare_v11/gen_diffusers_image_for_tile.py
ADDED
@@ -0,0 +1,92 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Diffusers' ControlNet Implementation Subjective Evaluation
|
2 |
+
|
3 |
+
import torch
|
4 |
+
import os
|
5 |
+
|
6 |
+
from diffusers import DiffusionPipeline, ControlNetModel, DDIMScheduler
|
7 |
+
|
8 |
+
from PIL import Image
|
9 |
+
|
10 |
+
test_prompt = "best quality, extremely detailed"
|
11 |
+
test_negative_prompt = "blur, lowres, bad anatomy, worst quality, low quality"
|
12 |
+
|
13 |
+
def resize_for_condition_image(input_image: Image, resolution: int):
|
14 |
+
input_image = input_image.convert("RGB")
|
15 |
+
W, H = input_image.size
|
16 |
+
k = float(resolution) / min(H, W)
|
17 |
+
H *= k
|
18 |
+
W *= k
|
19 |
+
H = int(round(H / 64.0)) * 64
|
20 |
+
W = int(round(W / 64.0)) * 64
|
21 |
+
img = input_image.resize((W, H), resample=Image.LANCZOS if k > 1 else Image.AREA)
|
22 |
+
return img
|
23 |
+
|
24 |
+
def generate_image(seed, prompt, negative_prompt, control, guess_mode=False):
|
25 |
+
latent = torch.randn(
|
26 |
+
(1, 4, 64, 64),
|
27 |
+
device="cpu",
|
28 |
+
generator=torch.Generator(device="cpu").manual_seed(seed),
|
29 |
+
).cuda()
|
30 |
+
image = pipe(
|
31 |
+
prompt=prompt,
|
32 |
+
negative_prompt=negative_prompt,
|
33 |
+
guidance_scale=4.0 if guess_mode else 9.0,
|
34 |
+
num_inference_steps=50 if guess_mode else 20,
|
35 |
+
latents=latent,
|
36 |
+
image=control,
|
37 |
+
controlnet_conditioning_image=control,
|
38 |
+
strength=1.0,
|
39 |
+
# guess_mode=guess_mode,
|
40 |
+
).images[0]
|
41 |
+
return image
|
42 |
+
|
43 |
+
|
44 |
+
if __name__ == "__main__":
|
45 |
+
model_name = "f1e_sd15_tile"
|
46 |
+
original_image_folder = "./control_images/"
|
47 |
+
control_image_folder = "./control_images/converted/"
|
48 |
+
output_image_folder = "./output_images/diffusers/"
|
49 |
+
os.makedirs(output_image_folder, exist_ok=True)
|
50 |
+
|
51 |
+
# model_id = f"lllyasviel/control_v11{model_name}"
|
52 |
+
# controlnet = ControlNetModel.from_pretrained(model_id)
|
53 |
+
controlnet = ControlNetModel.from_pretrained('takuma104/control_v11',
|
54 |
+
subfolder='control_v11f1e_sd15_tile')
|
55 |
+
|
56 |
+
if model_name == "p_sd15s2_lineart_anime":
|
57 |
+
base_model_id = "Linaqruf/anything-v3.0"
|
58 |
+
base_model_revision = None
|
59 |
+
else:
|
60 |
+
base_model_id = "runwayml/stable-diffusion-v1-5"
|
61 |
+
base_model_revision = "non-ema"
|
62 |
+
|
63 |
+
pipe = DiffusionPipeline.from_pretrained(
|
64 |
+
base_model_id,
|
65 |
+
revision=base_model_revision,
|
66 |
+
custom_pipeline="stable_diffusion_controlnet_img2img",
|
67 |
+
controlnet=controlnet,
|
68 |
+
safety_checker=None,
|
69 |
+
).to("cuda")
|
70 |
+
pipe.scheduler = DDIMScheduler.from_config(pipe.scheduler.config)
|
71 |
+
|
72 |
+
original_image_filenames = [
|
73 |
+
"dog_64x64.png",
|
74 |
+
]
|
75 |
+
|
76 |
+
image_conditions = [
|
77 |
+
resize_for_condition_image(
|
78 |
+
Image.open(f"{original_image_folder}{fn}"),
|
79 |
+
resolution=512,
|
80 |
+
)
|
81 |
+
for fn in original_image_filenames
|
82 |
+
]
|
83 |
+
|
84 |
+
for i, control in enumerate(image_conditions):
|
85 |
+
for seed in range(4):
|
86 |
+
image = generate_image(
|
87 |
+
seed=seed,
|
88 |
+
prompt=test_prompt,
|
89 |
+
negative_prompt=test_negative_prompt,
|
90 |
+
control=control,
|
91 |
+
)
|
92 |
+
image.save(f"{output_image_folder}output_{model_name}_{i}_{seed}.png")
|
gen_compare_v11/gen_markdown.py
CHANGED
@@ -13,8 +13,8 @@ cnet_models = [
|
|
13 |
"p_sd15_softedge",
|
14 |
"p_sd15_lineart",
|
15 |
"p_sd15s2_lineart_anime",
|
|
|
16 |
# "p_sd15_inpaint",
|
17 |
-
# "e_sd15_shuffle",
|
18 |
# "e_sd15_ip2p",
|
19 |
# "u_sd15_tile",
|
20 |
]
|
|
|
13 |
"p_sd15_softedge",
|
14 |
"p_sd15_lineart",
|
15 |
"p_sd15s2_lineart_anime",
|
16 |
+
"e_sd15_shuffle",
|
17 |
# "p_sd15_inpaint",
|
|
|
18 |
# "e_sd15_ip2p",
|
19 |
# "u_sd15_tile",
|
20 |
]
|
gen_compare_v11/gen_reference_image.py
CHANGED
@@ -8,7 +8,7 @@ import sys
|
|
8 |
import os
|
9 |
import yaml
|
10 |
|
11 |
-
CONTROL_NET_PATH = '
|
12 |
CONTROL_NET_MODEL_PATH = '../../ControlNet-v1-1'
|
13 |
sys.path.append(CONTROL_NET_PATH)
|
14 |
|
@@ -26,7 +26,11 @@ def generate(prompt, n_prompt, seed, control, ddim_steps=20, eta=0.0, scale=9.0,
|
|
26 |
seed_everything(seed)
|
27 |
|
28 |
cond = {"c_concat": [control], "c_crossattn": [model.get_learned_conditioning([prompt] * num_samples)]}
|
29 |
-
|
|
|
|
|
|
|
|
|
30 |
shape = (4, H // 8, W // 8)
|
31 |
|
32 |
model.control_scales = [strength * (0.825 ** float(12 - i)) for i in range(13)] if guess_mode else ([strength] * 13) # Magic number. IDK why. Perhaps because 0.825**12<0.01 but 0.826**12>0.01
|
|
|
8 |
import os
|
9 |
import yaml
|
10 |
|
11 |
+
CONTROL_NET_PATH = '/home/takuma/Documents/co/ControlNet-v1-1-nightly/'
|
12 |
CONTROL_NET_MODEL_PATH = '../../ControlNet-v1-1'
|
13 |
sys.path.append(CONTROL_NET_PATH)
|
14 |
|
|
|
26 |
seed_everything(seed)
|
27 |
|
28 |
cond = {"c_concat": [control], "c_crossattn": [model.get_learned_conditioning([prompt] * num_samples)]}
|
29 |
+
|
30 |
+
if model.global_average_pooling:
|
31 |
+
un_cond = {"c_concat": None, "c_crossattn": [model.get_learned_conditioning([n_prompt] * num_samples)]}
|
32 |
+
else:
|
33 |
+
un_cond = {"c_concat": None if guess_mode else [control], "c_crossattn": [model.get_learned_conditioning([n_prompt] * num_samples)]}
|
34 |
shape = (4, H // 8, W // 8)
|
35 |
|
36 |
model.control_scales = [strength * (0.825 ** float(12 - i)) for i in range(13)] if guess_mode else ([strength] * 13) # Magic number. IDK why. Perhaps because 0.825**12<0.01 but 0.826**12>0.01
|
gen_compare_v11/gen_reference_image.sh
CHANGED
@@ -11,6 +11,7 @@ models=(
|
|
11 |
"p_sd15_softedge"
|
12 |
"p_sd15_lineart"
|
13 |
"p_sd15s2_lineart_anime"
|
|
|
14 |
)
|
15 |
# models=("p_sd15_inpaint" "e_sd15_shuffle" "e_sd15_ip2p" "u_sd15_tile")
|
16 |
|
|
|
11 |
"p_sd15_softedge"
|
12 |
"p_sd15_lineart"
|
13 |
"p_sd15s2_lineart_anime"
|
14 |
+
"f1e_sd15_tile"
|
15 |
)
|
16 |
# models=("p_sd15_inpaint" "e_sd15_shuffle" "e_sd15_ip2p" "u_sd15_tile")
|
17 |
|
gen_compare_v11/gen_reference_image_for_tile.py
ADDED
@@ -0,0 +1,111 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# from https://github.com/lllyasviel/ControlNet/blob/main/gradio_canny2image.py
|
2 |
+
|
3 |
+
import einops
|
4 |
+
import numpy as np
|
5 |
+
import torch
|
6 |
+
from PIL import Image
|
7 |
+
import sys
|
8 |
+
import os
|
9 |
+
import yaml
|
10 |
+
|
11 |
+
CONTROL_NET_PATH = '/home/takuma/Documents/co/ControlNet-v1-1-nightly/'
|
12 |
+
CONTROL_NET_MODEL_PATH = '../../ControlNet-v1-1'
|
13 |
+
sys.path.append(CONTROL_NET_PATH)
|
14 |
+
|
15 |
+
from share import *
|
16 |
+
from pytorch_lightning import seed_everything
|
17 |
+
from cldm.model import create_model, load_state_dict
|
18 |
+
from cldm.ddim_hacked import DDIMSampler
|
19 |
+
from diffusers.utils import load_image
|
20 |
+
|
21 |
+
test_prompt = "best quality, extremely detailed"
|
22 |
+
test_negative_prompt = "blur, lowres, bad anatomy, worst quality, low quality"
|
23 |
+
|
24 |
+
@torch.no_grad()
|
25 |
+
def generate(prompt, n_prompt, seed, control, image, ddim_steps=20, eta=0.0, scale=9.0, H=512, W=512, strength = 1.0, guess_mode=False, denoise_strength=1.0):
|
26 |
+
seed_everything(seed)
|
27 |
+
|
28 |
+
cond = {"c_concat": [control], "c_crossattn": [model.get_learned_conditioning([prompt] * num_samples)]}
|
29 |
+
un_cond = {"c_concat": None if guess_mode else [control], "c_crossattn": [model.get_learned_conditioning([n_prompt] * num_samples)]}
|
30 |
+
shape = (4, H // 8, W // 8)
|
31 |
+
|
32 |
+
noise = torch.randn((1,) + shape, device="cpu", generator=torch.Generator(device="cpu").manual_seed(seed)).cuda()
|
33 |
+
|
34 |
+
ddim_sampler.make_schedule(ddim_steps, ddim_eta=eta, verbose=True)
|
35 |
+
t_enc = min(int(denoise_strength * ddim_steps), ddim_steps - 1)
|
36 |
+
z = model.get_first_stage_encoding(model.encode_first_stage(image))
|
37 |
+
z_enc = ddim_sampler.stochastic_encode(z, torch.tensor([t_enc] * num_samples).to(model.device), noise=noise)
|
38 |
+
|
39 |
+
model.control_scales = [strength * (0.825 ** float(12 - i)) for i in range(13)] if guess_mode else ([strength] * 13) # Magic number. IDK why. Perhaps because 0.825**12<0.01 but 0.826**12>0.01
|
40 |
+
|
41 |
+
samples = ddim_sampler.decode(z_enc, cond, t_enc, unconditional_guidance_scale=scale, unconditional_conditioning=un_cond)
|
42 |
+
|
43 |
+
x_samples = model.decode_first_stage(samples)
|
44 |
+
x_samples = (einops.rearrange(x_samples, 'b c h w -> b h w c') * 127.5 + 127.5).cpu().numpy().clip(0, 255).astype(np.uint8)
|
45 |
+
|
46 |
+
return Image.fromarray(x_samples[0])
|
47 |
+
|
48 |
+
def control_images(control_image_folder, model_name):
|
49 |
+
with open('./control_images.yaml', 'r') as f:
|
50 |
+
d = yaml.safe_load(f)
|
51 |
+
filenames = d[model_name]
|
52 |
+
return [Image.open(f'{control_image_folder}/{fn}').convert("RGB") for fn in filenames]
|
53 |
+
|
54 |
+
def resize_for_condition_image(input_image: Image, resolution: int):
|
55 |
+
input_image = input_image.convert("RGB")
|
56 |
+
W, H = input_image.size
|
57 |
+
k = float(resolution) / min(H, W)
|
58 |
+
H *= k
|
59 |
+
W *= k
|
60 |
+
H = int(round(H / 64.0)) * 64
|
61 |
+
W = int(round(W / 64.0)) * 64
|
62 |
+
img = input_image.resize((W, H), resample=Image.LANCZOS if k > 1 else Image.AREA)
|
63 |
+
return img
|
64 |
+
|
65 |
+
if __name__ == '__main__':
|
66 |
+
model_name = "f1e_sd15_tile"
|
67 |
+
|
68 |
+
original_image_folder = "./control_images/"
|
69 |
+
control_image_folder = './control_images/converted/'
|
70 |
+
output_image_folder = './output_images/ref/'
|
71 |
+
os.makedirs(output_image_folder, exist_ok=True)
|
72 |
+
|
73 |
+
if model_name == 'p_sd15s2_lineart_anime':
|
74 |
+
base_model_file = 'anything-v3-full.safetensors'
|
75 |
+
else:
|
76 |
+
base_model_file = 'v1-5-pruned.ckpt'
|
77 |
+
|
78 |
+
num_samples = 1
|
79 |
+
model = create_model(f'{CONTROL_NET_MODEL_PATH}/control_v11{model_name}.yaml').cpu()
|
80 |
+
model.load_state_dict(load_state_dict(f'{CONTROL_NET_PATH}/models/{base_model_file}', location='cuda'), strict=False)
|
81 |
+
model.load_state_dict(load_state_dict(f'{CONTROL_NET_MODEL_PATH}/control_v11{model_name}.pth', location='cuda'), strict=False)
|
82 |
+
model = model.cuda()
|
83 |
+
ddim_sampler = DDIMSampler(model)
|
84 |
+
|
85 |
+
original_image_filenames = [
|
86 |
+
"dog_64x64.png",
|
87 |
+
]
|
88 |
+
|
89 |
+
image_conditions = [
|
90 |
+
resize_for_condition_image(
|
91 |
+
Image.open(f"{original_image_folder}{fn}"),
|
92 |
+
resolution=512,
|
93 |
+
)
|
94 |
+
for fn in original_image_filenames
|
95 |
+
]
|
96 |
+
|
97 |
+
|
98 |
+
for i, control_image in enumerate(image_conditions):
|
99 |
+
control = np.array(control_image).copy()
|
100 |
+
control = torch.from_numpy(control).float().cuda() / 255.0
|
101 |
+
control = torch.stack([control for _ in range(num_samples)], dim=0)
|
102 |
+
control = einops.rearrange(control, 'b h w c -> b c h w').clone()
|
103 |
+
|
104 |
+
img = np.array(control_image).copy()
|
105 |
+
img = torch.from_numpy(img).float().cuda() / 127.0 - 1.0
|
106 |
+
img = torch.stack([img for _ in range(num_samples)], dim=0)
|
107 |
+
img = einops.rearrange(img, 'b h w c -> b c h w').clone()
|
108 |
+
|
109 |
+
for seed in range(4):
|
110 |
+
image = generate(test_prompt, test_negative_prompt, seed=seed, control=control, image=img)
|
111 |
+
image.save(f'{output_image_folder}output_{model_name}_{i}_{seed}.png')
|
gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_0_0.png
ADDED
Git LFS Details
|
gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_0_1.png
ADDED
Git LFS Details
|
gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_0_2.png
ADDED
Git LFS Details
|
gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_0_3.png
ADDED
Git LFS Details
|
gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_1_0.png
ADDED
Git LFS Details
|
gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_1_1.png
ADDED
Git LFS Details
|
gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_1_2.png
ADDED
Git LFS Details
|
gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_1_3.png
ADDED
Git LFS Details
|
gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_2_0.png
ADDED
Git LFS Details
|
gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_2_1.png
ADDED
Git LFS Details
|
gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_2_2.png
ADDED
Git LFS Details
|
gen_compare_v11/output_images/diffusers/output_e_sd15_shuffle_2_3.png
ADDED
Git LFS Details
|
gen_compare_v11/output_images/diffusers/output_f1e_sd15_tile_0_0.png
ADDED
Git LFS Details
|
gen_compare_v11/output_images/diffusers/output_f1e_sd15_tile_0_1.png
ADDED
Git LFS Details
|
gen_compare_v11/output_images/diffusers/output_f1e_sd15_tile_0_2.png
ADDED
Git LFS Details
|
gen_compare_v11/output_images/diffusers/output_f1e_sd15_tile_0_3.png
ADDED
Git LFS Details
|
gen_compare_v11/output_images/ref/output_e_sd15_shuffle_0_0.png
ADDED
Git LFS Details
|
gen_compare_v11/output_images/ref/output_e_sd15_shuffle_0_1.png
ADDED
Git LFS Details
|
gen_compare_v11/output_images/ref/output_e_sd15_shuffle_0_2.png
ADDED
Git LFS Details
|
gen_compare_v11/output_images/ref/output_e_sd15_shuffle_0_3.png
ADDED
Git LFS Details
|
gen_compare_v11/output_images/ref/output_e_sd15_shuffle_1_0.png
ADDED
Git LFS Details
|
gen_compare_v11/output_images/ref/output_e_sd15_shuffle_1_1.png
ADDED
Git LFS Details
|
gen_compare_v11/output_images/ref/output_e_sd15_shuffle_1_2.png
ADDED
Git LFS Details
|
gen_compare_v11/output_images/ref/output_e_sd15_shuffle_1_3.png
ADDED
Git LFS Details
|
gen_compare_v11/output_images/ref/output_e_sd15_shuffle_2_0.png
ADDED
Git LFS Details
|
gen_compare_v11/output_images/ref/output_e_sd15_shuffle_2_1.png
ADDED
Git LFS Details
|
gen_compare_v11/output_images/ref/output_e_sd15_shuffle_2_2.png
ADDED
Git LFS Details
|
gen_compare_v11/output_images/ref/output_e_sd15_shuffle_2_3.png
ADDED
Git LFS Details
|
gen_compare_v11/output_images/ref/output_f1e_sd15_tile_0_0.png
ADDED
Git LFS Details
|
gen_compare_v11/output_images/ref/output_f1e_sd15_tile_0_1.png
ADDED
Git LFS Details
|
gen_compare_v11/output_images/ref/output_f1e_sd15_tile_0_2.png
ADDED
Git LFS Details
|
gen_compare_v11/output_images/ref/output_f1e_sd15_tile_0_3.png
ADDED
Git LFS Details
|