ZennyKenny commited on
Commit
7de5539
1 Parent(s): aec8a4d

unconditional trainer updates

Browse files
Files changed (3) hide show
  1. .gitignore +3 -0
  2. README.md +13 -1
  3. training-notebook.ipynb +0 -296
.gitignore ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ /venv
2
+ /NatalieDiffusion_TrainingData
3
+ /diffusers
README.md CHANGED
@@ -6,4 +6,16 @@ license: mit
6
 
7
  ## Model Summary and Intended Use
8
 
9
- NatalieDiffusion is a finetune of [UNet2DModel](https://huggingface.co/docs/diffusers/v0.26.3/en/api/models/unet2d#diffusers.UNet2DModel) to aid a [particular graphic artist](https://www.behance.net/nataliKav) in quickly generating meaningful mock-ups and similar draft content for her work on an ongoing project.
 
 
 
 
 
 
 
 
 
 
 
 
 
6
 
7
  ## Model Summary and Intended Use
8
 
9
+ NatalieDiffusion is a series of finetunes of [UNet2DModel](https://huggingface.co/docs/diffusers/v0.26.3/en/api/models/unet2d#diffusers.UNet2DModel) to aid a [particular graphic artist](https://www.behance.net/nataliKav) in quickly generating meaningful mock-ups and similar draft content for her work on an ongoing project.
10
+
11
+ ## A Word About Ethics
12
+
13
+ There has been a lot of meaningful conversation about the implications of Computer Vision on the artistic world. Hopefully, this model demonstrates that much like engineers can now use Generate Software Engineering (GSE) techniques to optimize and improve their own workflows, so too, can members of the artistic community use Computer Vision to automate rote tasks such as mock-up and draft generation.
14
+
15
+ When used ethnically and transparently, AI offers no greater threat to the artistic community than it does to the world of programming because success in both domains skews heavily in favor of the creative.
16
+
17
+ ## Notebooks
18
+
19
+ Training notebooks are made available as they are completed:
20
+ - [Unconditional Training](unconditional-training-noteboook.ipynb)
21
+ -
training-notebook.ipynb DELETED
@@ -1,296 +0,0 @@
1
- {
2
- "cells": [
3
- {
4
- "cell_type": "code",
5
- "execution_count": 3,
6
- "id": "9c81b287-de2a-4300-89c5-cd3f0e257ac9",
7
- "metadata": {
8
- "tags": []
9
- },
10
- "outputs": [
11
- {
12
- "data": {
13
- "application/vnd.jupyter.widget-view+json": {
14
- "model_id": "a9c3b8941bf44248afbcf0fcad6eec25",
15
- "version_major": 2,
16
- "version_minor": 0
17
- },
18
- "text/plain": [
19
- "VBox(children=(HTML(value='<center> <img\\nsrc=https://huggingface.co/front/assets/huggingface_logo-noborder.sv…"
20
- ]
21
- },
22
- "metadata": {},
23
- "output_type": "display_data"
24
- }
25
- ],
26
- "source": [
27
- "from huggingface_hub import notebook_login\n",
28
- "\n",
29
- "notebook_login()"
30
- ]
31
- },
32
- {
33
- "cell_type": "code",
34
- "execution_count": 2,
35
- "id": "60423896-b419-4568-9c17-56385bf300e7",
36
- "metadata": {
37
- "tags": []
38
- },
39
- "outputs": [
40
- {
41
- "name": "stderr",
42
- "output_type": "stream",
43
- "text": [
44
- "\u001b[34m\u001b[1mwandb\u001b[0m: Currently logged in as: \u001b[33mkghamilton\u001b[0m. Use \u001b[1m`wandb login --relogin`\u001b[0m to force relogin\n"
45
- ]
46
- },
47
- {
48
- "data": {
49
- "text/plain": [
50
- "True"
51
- ]
52
- },
53
- "execution_count": 2,
54
- "metadata": {},
55
- "output_type": "execute_result"
56
- }
57
- ],
58
- "source": [
59
- "import wandb\n",
60
- "wandb.login()"
61
- ]
62
- },
63
- {
64
- "cell_type": "code",
65
- "execution_count": 5,
66
- "id": "386b6093-e819-4193-83e9-90619cfbed23",
67
- "metadata": {
68
- "tags": []
69
- },
70
- "outputs": [
71
- {
72
- "data": {
73
- "text/html": [
74
- "Finishing last run (ID:fwvb2zyo) before initializing another..."
75
- ],
76
- "text/plain": [
77
- "<IPython.core.display.HTML object>"
78
- ]
79
- },
80
- "metadata": {},
81
- "output_type": "display_data"
82
- },
83
- {
84
- "data": {
85
- "application/vnd.jupyter.widget-view+json": {
86
- "model_id": "",
87
- "version_major": 2,
88
- "version_minor": 0
89
- },
90
- "text/plain": [
91
- "VBox(children=(Label(value='0.010 MB of 0.010 MB uploaded\\r'), FloatProgress(value=1.0, max=1.0)))"
92
- ]
93
- },
94
- "metadata": {},
95
- "output_type": "display_data"
96
- },
97
- {
98
- "data": {
99
- "text/html": [
100
- " View run <strong style=\"color:#cdcd00\">fancy-jazz-1</strong> at: <a href='https://wandb.ai/kghamilton/UNet2DModal-NatalieDiffusion/runs/fwvb2zyo' target=\"_blank\">https://wandb.ai/kghamilton/UNet2DModal-NatalieDiffusion/runs/fwvb2zyo</a><br/>Synced 5 W&B file(s), 0 media file(s), 0 artifact file(s) and 0 other file(s)"
101
- ],
102
- "text/plain": [
103
- "<IPython.core.display.HTML object>"
104
- ]
105
- },
106
- "metadata": {},
107
- "output_type": "display_data"
108
- },
109
- {
110
- "data": {
111
- "text/html": [
112
- "Find logs at: <code>./wandb/run-20240305_211104-fwvb2zyo/logs</code>"
113
- ],
114
- "text/plain": [
115
- "<IPython.core.display.HTML object>"
116
- ]
117
- },
118
- "metadata": {},
119
- "output_type": "display_data"
120
- },
121
- {
122
- "data": {
123
- "text/html": [
124
- "Successfully finished last run (ID:fwvb2zyo). Initializing new run:<br/>"
125
- ],
126
- "text/plain": [
127
- "<IPython.core.display.HTML object>"
128
- ]
129
- },
130
- "metadata": {},
131
- "output_type": "display_data"
132
- },
133
- {
134
- "data": {
135
- "application/vnd.jupyter.widget-view+json": {
136
- "model_id": "a75bb6ae8d9846e4a6a9050a529f914e",
137
- "version_major": 2,
138
- "version_minor": 0
139
- },
140
- "text/plain": [
141
- "VBox(children=(Label(value='Waiting for wandb.init()...\\r'), FloatProgress(value=0.011112306700003198, max=1.0…"
142
- ]
143
- },
144
- "metadata": {},
145
- "output_type": "display_data"
146
- },
147
- {
148
- "data": {
149
- "text/html": [
150
- "Tracking run with wandb version 0.16.3"
151
- ],
152
- "text/plain": [
153
- "<IPython.core.display.HTML object>"
154
- ]
155
- },
156
- "metadata": {},
157
- "output_type": "display_data"
158
- },
159
- {
160
- "data": {
161
- "text/html": [
162
- "Run data is saved locally in <code>/home/studio-lab-user/wandb/run-20240305_211140-1lv0cpao</code>"
163
- ],
164
- "text/plain": [
165
- "<IPython.core.display.HTML object>"
166
- ]
167
- },
168
- "metadata": {},
169
- "output_type": "display_data"
170
- },
171
- {
172
- "data": {
173
- "text/html": [
174
- "Syncing run <strong><a href='https://wandb.ai/kghamilton/UNet2DModal-NatalieDiffusion/runs/1lv0cpao' target=\"_blank\">sunny-plant-2</a></strong> to <a href='https://wandb.ai/kghamilton/UNet2DModal-NatalieDiffusion' target=\"_blank\">Weights & Biases</a> (<a href='https://wandb.me/run' target=\"_blank\">docs</a>)<br/>"
175
- ],
176
- "text/plain": [
177
- "<IPython.core.display.HTML object>"
178
- ]
179
- },
180
- "metadata": {},
181
- "output_type": "display_data"
182
- },
183
- {
184
- "data": {
185
- "text/html": [
186
- " View project at <a href='https://wandb.ai/kghamilton/UNet2DModal-NatalieDiffusion' target=\"_blank\">https://wandb.ai/kghamilton/UNet2DModal-NatalieDiffusion</a>"
187
- ],
188
- "text/plain": [
189
- "<IPython.core.display.HTML object>"
190
- ]
191
- },
192
- "metadata": {},
193
- "output_type": "display_data"
194
- },
195
- {
196
- "data": {
197
- "text/html": [
198
- " View run at <a href='https://wandb.ai/kghamilton/UNet2DModal-NatalieDiffusion/runs/1lv0cpao' target=\"_blank\">https://wandb.ai/kghamilton/UNet2DModal-NatalieDiffusion/runs/1lv0cpao</a>"
199
- ],
200
- "text/plain": [
201
- "<IPython.core.display.HTML object>"
202
- ]
203
- },
204
- "metadata": {},
205
- "output_type": "display_data"
206
- },
207
- {
208
- "data": {
209
- "text/html": [
210
- "<button onClick=\"this.nextSibling.style.display='block';this.style.display='none';\">Display W&B run</button><iframe src='https://wandb.ai/kghamilton/UNet2DModal-NatalieDiffusion/runs/1lv0cpao?jupyter=true' style='border:none;width:100%;height:420px;display:none;'></iframe>"
211
- ],
212
- "text/plain": [
213
- "<wandb.sdk.wandb_run.Run at 0x7fdca5300910>"
214
- ]
215
- },
216
- "execution_count": 5,
217
- "metadata": {},
218
- "output_type": "execute_result"
219
- }
220
- ],
221
- "source": [
222
- "wandb.init(\n",
223
- " project=\"UNet2DModal-NatalieDiffusion\",\n",
224
- " config={\n",
225
- " \"magic\": \"true\",\n",
226
- " \"dataset\": \"personal-repo\",\n",
227
- " },\n",
228
- ")"
229
- ]
230
- },
231
- {
232
- "cell_type": "code",
233
- "execution_count": 6,
234
- "id": "2ee4e1ed-6579-4179-aa8b-80aa4c511385",
235
- "metadata": {
236
- "tags": []
237
- },
238
- "outputs": [],
239
- "source": [
240
- "from dataclasses import dataclass\n",
241
- "\n",
242
- "@dataclass\n",
243
- "class TrainingConfig:\n",
244
- " image_size = 128\n",
245
- " train_batch_size = 4\n",
246
- " eval_batch_size = 16\n",
247
- " num_epochs = 50\n",
248
- " gradient_accumulation_steps = 1\n",
249
- " learning_rate = 1e-4\n",
250
- " lr_warmup_steps = 500\n",
251
- " save_image_epochs = 10\n",
252
- " save_model_epochs = 30\n",
253
- " mixed_precision = \"fp16\"\n",
254
- " output_dir = \"UNet2DModal-NatalieDiffusion\"\n",
255
- "\n",
256
- " push_to_hub = True\n",
257
- " hub_model_id = \"ZennyKenny/UNet2DModal-NatalieDiffusion\"\n",
258
- " hub_private_repo = False\n",
259
- " overwrite_output_dir = True # overwrite the old model when re-running the notebook\n",
260
- " seed = 0\n",
261
- "\n",
262
- "\n",
263
- "config = TrainingConfig()"
264
- ]
265
- },
266
- {
267
- "cell_type": "code",
268
- "execution_count": null,
269
- "id": "b6e3aa70-fcdc-4fa4-9e61-fe5788e2ed9c",
270
- "metadata": {},
271
- "outputs": [],
272
- "source": []
273
- }
274
- ],
275
- "metadata": {
276
- "kernelspec": {
277
- "display_name": "default:Python",
278
- "language": "python",
279
- "name": "conda-env-default-py"
280
- },
281
- "language_info": {
282
- "codemirror_mode": {
283
- "name": "ipython",
284
- "version": 3
285
- },
286
- "file_extension": ".py",
287
- "mimetype": "text/x-python",
288
- "name": "python",
289
- "nbconvert_exporter": "python",
290
- "pygments_lexer": "ipython3",
291
- "version": "3.9.16"
292
- }
293
- },
294
- "nbformat": 4,
295
- "nbformat_minor": 5
296
- }