update with save_model
Browse files- README.md +10 -0
- test-model-card-template-dreambooth-sd15-lora-adv.ipynb +27 -16
README.md
CHANGED
@@ -11,6 +11,16 @@ tags:
|
|
11 |
base_model: runwayml/stable-diffusion-v1-5
|
12 |
inference: true
|
13 |
instance_prompt: A mushroom in [V] style
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
---
|
15 |
|
16 |
<!-- This model card has been generated automatically according to the information the training script had access to. You
|
|
|
11 |
base_model: runwayml/stable-diffusion-v1-5
|
12 |
inference: true
|
13 |
instance_prompt: A mushroom in [V] style
|
14 |
+
widget:
|
15 |
+
- text: ' '
|
16 |
+
output:
|
17 |
+
url: image_0.png
|
18 |
+
- text: ' '
|
19 |
+
output:
|
20 |
+
url: image_1.png
|
21 |
+
- text: ' '
|
22 |
+
output:
|
23 |
+
url: image_2.png
|
24 |
---
|
25 |
|
26 |
<!-- This model card has been generated automatically according to the information the training script had access to. You
|
test-model-card-template-dreambooth-sd15-lora-adv.ipynb
CHANGED
@@ -33,20 +33,17 @@
|
|
33 |
" repo_folder=None,\n",
|
34 |
" vae_path=None,\n",
|
35 |
"):\n",
|
36 |
-
"
|
37 |
-
"
|
38 |
-
"
|
39 |
-
"
|
40 |
-
"
|
41 |
-
"
|
42 |
-
"
|
43 |
-
"
|
44 |
-
"
|
45 |
-
"
|
46 |
-
"
|
47 |
-
" img_str += f\"\"\"\n",
|
48 |
-
" - text: '{instance_prompt}'\n",
|
49 |
-
" \"\"\"\n",
|
50 |
" embeddings_filename = f\"{repo_folder}_emb\"\n",
|
51 |
" instance_prompt_webui = re.sub(r\"<s\\d+>\", \"\", re.sub(r\"<s\\d+>\", embeddings_filename, instance_prompt, count=1))\n",
|
52 |
" ti_keys = \", \".join(f'\"{match}\"' for match in re.findall(r\"<s\\d+>\", instance_prompt))\n",
|
@@ -137,6 +134,7 @@
|
|
137 |
" prompt=instance_prompt,\n",
|
138 |
" model_description=model_description,\n",
|
139 |
" inference=True,\n",
|
|
|
140 |
" )\n",
|
141 |
"\n",
|
142 |
" tags = [\"text-to-image\", \n",
|
@@ -155,7 +153,20 @@
|
|
155 |
"cell_type": "code",
|
156 |
"execution_count": 3,
|
157 |
"metadata": {},
|
158 |
-
"outputs": [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
159 |
"source": [
|
160 |
"from diffusers.utils import load_image\n",
|
161 |
"\n",
|
@@ -176,7 +187,7 @@
|
|
176 |
},
|
177 |
{
|
178 |
"cell_type": "code",
|
179 |
-
"execution_count":
|
180 |
"metadata": {},
|
181 |
"outputs": [
|
182 |
{
|
|
|
33 |
" repo_folder=None,\n",
|
34 |
" vae_path=None,\n",
|
35 |
"):\n",
|
36 |
+
" widget_dict = []\n",
|
37 |
+
" if images is not None:\n",
|
38 |
+
" for i, image in enumerate(images):\n",
|
39 |
+
" image.save(os.path.join(repo_folder, f\"image_{i}.png\"))\n",
|
40 |
+
" widget_dict.append(\n",
|
41 |
+
" {\"text\": validation_prompt if validation_prompt else \" \", \"output\": {\"url\": f\"image_{i}.png\"}}\n",
|
42 |
+
" )\n",
|
43 |
+
" else:\n",
|
44 |
+
" widget_dict.append(\n",
|
45 |
+
" {\"text\": instance_prompt}\n",
|
46 |
+
" )\n",
|
|
|
|
|
|
|
47 |
" embeddings_filename = f\"{repo_folder}_emb\"\n",
|
48 |
" instance_prompt_webui = re.sub(r\"<s\\d+>\", \"\", re.sub(r\"<s\\d+>\", embeddings_filename, instance_prompt, count=1))\n",
|
49 |
" ti_keys = \", \".join(f'\"{match}\"' for match in re.findall(r\"<s\\d+>\", instance_prompt))\n",
|
|
|
134 |
" prompt=instance_prompt,\n",
|
135 |
" model_description=model_description,\n",
|
136 |
" inference=True,\n",
|
137 |
+
" widget=widget_dict,\n",
|
138 |
" )\n",
|
139 |
"\n",
|
140 |
" tags = [\"text-to-image\", \n",
|
|
|
153 |
"cell_type": "code",
|
154 |
"execution_count": 3,
|
155 |
"metadata": {},
|
156 |
+
"outputs": [
|
157 |
+
{
|
158 |
+
"ename": "TypeError",
|
159 |
+
"evalue": "load_or_create_model_card() got an unexpected keyword argument 'widget_dict'",
|
160 |
+
"output_type": "error",
|
161 |
+
"traceback": [
|
162 |
+
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
163 |
+
"\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)",
|
164 |
+
"Cell \u001b[0;32mIn[3], line 8\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mdiffusers\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mutils\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m load_image\n\u001b[1;32m 3\u001b[0m images \u001b[38;5;241m=\u001b[39m [\n\u001b[1;32m 4\u001b[0m load_image(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mhttps://huggingface.co/datasets/diffusers/docs-images/resolve/main/amused/A\u001b[39m\u001b[38;5;124m%\u001b[39m\u001b[38;5;124m20mushroom\u001b[39m\u001b[38;5;132;01m%20i\u001b[39;00m\u001b[38;5;124mn\u001b[39m\u001b[38;5;132;01m%20%\u001b[39;00m\u001b[38;5;124m5BV\u001b[39m\u001b[38;5;124m%\u001b[39m\u001b[38;5;124m5D\u001b[39m\u001b[38;5;132;01m%20s\u001b[39;00m\u001b[38;5;124mtyle.png\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 5\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m _ \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mrange\u001b[39m(\u001b[38;5;241m3\u001b[39m)\n\u001b[1;32m 6\u001b[0m ]\n\u001b[0;32m----> 8\u001b[0m \u001b[43msave_model_card\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 9\u001b[0m \u001b[43m \u001b[49m\u001b[43muse_dora\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 10\u001b[0m \u001b[43m \u001b[49m\u001b[43mrepo_id\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mabby101/test\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 11\u001b[0m \u001b[43m \u001b[49m\u001b[43mimages\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mimages\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 12\u001b[0m \u001b[43m \u001b[49m\u001b[43mbase_model\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mrunwayml/stable-diffusion-v1-5\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 13\u001b[0m \u001b[43m \u001b[49m\u001b[43mrepo_folder\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43m.\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 14\u001b[0m \u001b[43m \u001b[49m\u001b[43minstance_prompt\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mA mushroom in [V] style\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 15\u001b[0m \u001b[43m)\u001b[49m\n",
|
165 |
+
"Cell \u001b[0;32mIn[2], line 112\u001b[0m, in \u001b[0;36msave_model_card\u001b[0;34m(repo_id, use_dora, images, base_model, train_text_encoder, train_text_encoder_ti, token_abstraction_dict, instance_prompt, validation_prompt, repo_folder, vae_path)\u001b[0m\n\u001b[1;32m 61\u001b[0m trigger_str \u001b[38;5;241m+\u001b[39m\u001b[38;5;241m=\u001b[39m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\"\"\u001b[39m\n\u001b[1;32m 62\u001b[0m \u001b[38;5;124mto trigger concept `\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mkey\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m` → use `\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mtokens\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m` in your prompt \u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\n\u001b[1;32m 63\u001b[0m \u001b[38;5;124m\"\"\"\u001b[39m\n\u001b[1;32m 64\u001b[0m model_description \u001b[38;5;241m=\u001b[39m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\"\"\u001b[39m\n\u001b[1;32m 65\u001b[0m \u001b[38;5;124m# SD1.5 LoRA DreamBooth - \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mrepo_id\u001b[38;5;132;01m}\u001b[39;00m\n\u001b[1;32m 66\u001b[0m \n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 110\u001b[0m \n\u001b[1;32m 111\u001b[0m \u001b[38;5;124m\"\"\"\u001b[39m\n\u001b[0;32m--> 112\u001b[0m model_card \u001b[38;5;241m=\u001b[39m \u001b[43mload_or_create_model_card\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 113\u001b[0m \u001b[43m \u001b[49m\u001b[43mrepo_id_or_path\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mrepo_id\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 114\u001b[0m \u001b[43m \u001b[49m\u001b[43mfrom_training\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 115\u001b[0m \u001b[43m \u001b[49m\u001b[43mlicense\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mopenrail++\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 116\u001b[0m \u001b[43m \u001b[49m\u001b[43mbase_model\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mbase_model\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 117\u001b[0m \u001b[43m \u001b[49m\u001b[43mprompt\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43minstance_prompt\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 118\u001b[0m \u001b[43m \u001b[49m\u001b[43mmodel_description\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mmodel_description\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 119\u001b[0m \u001b[43m \u001b[49m\u001b[43minference\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 120\u001b[0m \u001b[43m \u001b[49m\u001b[43mwidget_dict\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mwidget_dict\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 121\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 123\u001b[0m tags \u001b[38;5;241m=\u001b[39m [\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtext-to-image\u001b[39m\u001b[38;5;124m\"\u001b[39m, \n\u001b[1;32m 124\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mdiffusers\u001b[39m\u001b[38;5;124m\"\u001b[39m, \n\u001b[1;32m 125\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mdiffusers-training\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 128\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mstable-diffusion\u001b[39m\u001b[38;5;124m\"\u001b[39m, \n\u001b[1;32m 129\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mstable-diffusion-diffusers\u001b[39m\u001b[38;5;124m\"\u001b[39m]\n\u001b[1;32m 130\u001b[0m model_card \u001b[38;5;241m=\u001b[39m populate_model_card(model_card, tags\u001b[38;5;241m=\u001b[39mtags)\n",
|
166 |
+
"\u001b[0;31mTypeError\u001b[0m: load_or_create_model_card() got an unexpected keyword argument 'widget_dict'"
|
167 |
+
]
|
168 |
+
}
|
169 |
+
],
|
170 |
"source": [
|
171 |
"from diffusers.utils import load_image\n",
|
172 |
"\n",
|
|
|
187 |
},
|
188 |
{
|
189 |
"cell_type": "code",
|
190 |
+
"execution_count": null,
|
191 |
"metadata": {},
|
192 |
"outputs": [
|
193 |
{
|