Generated from huggingface.co/sd-concepts-library
@@ -102,10 +105,6 @@ jobs:
Downloaded models are straight from the HuggingFace repositories and are named learned_embeds.bin. Rename to model_name.pt
-
- The HuggingFace repository is changed regularly so this page might not be current.
-
-
"""
@@ -151,3 +150,8 @@ jobs:
f = open('sd-concepts-library.html', 'w')
f.write(html_struct)
f.close()
+
+ # markdown = markdownify.markdownify(html_struct, heading_style="ATX")
+ # f = open('sd-concepts-library.md', 'w')
+ # f.write(markdown)
+ # f.close()
diff --git a/other/generate_tx_models_html.py b/other/generate_tx_models_html.py
new file mode 100644
index 0000000..3fa4752
--- /dev/null
+++ b/other/generate_tx_models_html.py
@@ -0,0 +1,132 @@
+import os
+import shutil
+from urllib import request as ulreq
+
+import requests
+from huggingface_hub import HfApi
+from PIL import ImageFile
+
+
+def getsizes(uri):
+ # https://stackoverflow.com/a/37709319
+ # get file size *and* image size (None if not known)
+ file = ulreq.urlopen(uri)
+ size = file.headers.get("content-length")
+ if size:
+ size = int(size)
+ p = ImageFile.Parser()
+ while True:
+ data = file.read(1024)
+ if not data:
+ break
+ p.feed(data)
+ if p.image:
+ return size, p.image.size
+ break
+ file.close()
+ return (size, None)
+
+
+# Get list of model directories
+# working_dir = os.getcwd()
+# root_dir_list = []
+# for x in os.listdir(working_dir):
+# if os.path.isdir(x):
+# root_dir_list.append(x)
+
+# Get list of models under the sd-concepts-library organization
+api = HfApi()
+root_dir_list = api.list_models(author="sd-concepts-library").sort()
+
+html_struct = """
+
+
+ Stable Diffusion Texual Inversion Models
+
+
+
+
+
+
+
+ Downloaded models are straight from the HuggingFace repositories and are named learned_embeds.bin. Rename to model_name.pt
+
+
+
+
+"""
+
+# Move the model out
+i = 1
+for model_name in root_dir_list:
+ print(f'{i}/{len(root_dir_list)} -> {model_name}')
+ # if os.path.exists(f'{model_name}/learned_embeds.bin'): # double check the file exists since sometimes it hasn't been uploaded yet
+ # shutil.move(f'{model_name}/learned_embeds.bin', f'{model_name}/{model_name}.pt')
+ # pass
+ # else:
+ # continue
+
+ # Images can be in a few different formats, figure out which one it's in
+ img_type = None
+ img_width = None
+ for type in ['jpeg', 'png', 'jpg']:
+ r = requests.head(f'https://huggingface.co/sd-concepts-library/{model_name}/resolve/main/concept_images/0.{type}', allow_redirects=True)
+ if r.status_code == 200:
+ img_type = type
+ img_width = getsizes(f'https://huggingface.co/sd-concepts-library/{model_name}/resolve/main/concept_images/0.{type}')[1][0]
+ break
+
+ html_struct = html_struct + f"""