Mehdi Cherti commited on
Commit
18764bb
1 Parent(s): 5b567cd

cleaner model config

Browse files
Files changed (1) hide show
  1. model_configs.py +91 -58
model_configs.py CHANGED
@@ -2,6 +2,16 @@ import os
2
  from glob import glob
3
  from subprocess import call
4
  import json
 
 
 
 
 
 
 
 
 
 
5
  def base():
6
  return {
7
  "slurm":{
@@ -46,17 +56,21 @@ def base():
46
  "cross_attention_block": "basic",
47
  }
48
  }
 
 
49
  def ddgan_cc12m_v2():
50
  cfg = base()
51
  cfg['slurm']['N'] = 2
52
  cfg['slurm']['n'] = 8
53
  return cfg
54
 
 
55
  def ddgan_cc12m_v6():
56
  cfg = base()
57
  cfg['model']['text_encoder'] = "google/t5-v1_1-large"
58
  return cfg
59
 
 
60
  def ddgan_cc12m_v7():
61
  cfg = base()
62
  cfg['model']['classifier_free_guidance_proba'] = 0.2
@@ -64,12 +78,14 @@ def ddgan_cc12m_v7():
64
  cfg['slurm']['n'] = 8
65
  return cfg
66
 
 
67
  def ddgan_cc12m_v8():
68
  cfg = base()
69
  cfg['model']['text_encoder'] = "google/t5-v1_1-large"
70
  cfg['model']['classifier_free_guidance_proba'] = 0.2
71
  return cfg
72
 
 
73
  def ddgan_cc12m_v9():
74
  cfg = base()
75
  cfg['model']['text_encoder'] = "google/t5-v1_1-large"
@@ -79,6 +95,7 @@ def ddgan_cc12m_v9():
79
  cfg['model']['batch_size'] = 1
80
  return cfg
81
 
 
82
  def ddgan_cc12m_v11():
83
  cfg = base()
84
  cfg['model']['text_encoder'] = "google/t5-v1_1-large"
@@ -86,28 +103,33 @@ def ddgan_cc12m_v11():
86
  cfg['model']['cross_attention'] = True
87
  return cfg
88
 
 
89
  def ddgan_cc12m_v12():
90
  cfg = ddgan_cc12m_v11()
91
  cfg['model']['text_encoder'] = "google/t5-v1_1-xl"
92
  cfg['model']['preprocessing'] = 'random_resized_crop_v1'
93
  return cfg
94
 
 
95
  def ddgan_cc12m_v13():
96
  cfg = ddgan_cc12m_v12()
97
  cfg['model']['discr_type'] = "large_cond_attn"
98
  return cfg
99
 
 
100
  def ddgan_cc12m_v14():
101
  cfg = ddgan_cc12m_v12()
102
  cfg['model']['num_channels_dae'] = 192
103
  return cfg
104
 
 
105
  def ddgan_cc12m_v15():
106
  cfg = ddgan_cc12m_v11()
107
  cfg['model']['mismatch_loss'] = ''
108
  cfg['model']['grad_penalty_cond'] = ''
109
  return cfg
110
 
 
111
  def ddgan_cifar10_cond17():
112
  cfg = base()
113
  cfg['model']['image_size'] = 32
@@ -118,11 +140,13 @@ def ddgan_cifar10_cond17():
118
  cfg['model']['n_mlp'] = 4
119
  return cfg
120
 
 
121
  def ddgan_cifar10_cond18():
122
  cfg = ddgan_cifar10_cond17()
123
  cfg['model']['text_encoder'] = "google/t5-v1_1-xl"
124
  return cfg
125
 
 
126
  def ddgan_cifar10_cond19():
127
  cfg = ddgan_cifar10_cond17()
128
  cfg['model']['discr_type'] = 'small_cond_attn'
@@ -130,16 +154,19 @@ def ddgan_cifar10_cond19():
130
  cfg['model']['grad_penalty_cond'] = ''
131
  return cfg
132
 
 
133
  def ddgan_laion_aesthetic_v1():
134
  cfg = ddgan_cc12m_v11()
135
  cfg['model']['dataset_root'] = '"/p/scratch/ccstdl/cherti1/LAION-aesthetic/output/{00000..05038}.tar"'
136
  return cfg
137
 
 
138
  def ddgan_laion_aesthetic_v2():
139
  cfg = ddgan_laion_aesthetic_v1()
140
  cfg['model']['discr_type'] = "large_cond_attn"
141
  return cfg
142
 
 
143
  def ddgan_laion_aesthetic_v3():
144
  cfg = ddgan_laion_aesthetic_v1()
145
  cfg['model']['text_encoder'] = "google/t5-v1_1-xl"
@@ -147,12 +174,14 @@ def ddgan_laion_aesthetic_v3():
147
  cfg['model']['grad_penalty_cond'] = ''
148
  return cfg
149
 
 
150
  def ddgan_laion_aesthetic_v4():
151
  cfg = ddgan_laion_aesthetic_v1()
152
  cfg['model']['text_encoder'] = "openclip/ViT-L-14-336/openai"
153
  return cfg
154
 
155
 
 
156
  def ddgan_laion_aesthetic_v5():
157
  cfg = ddgan_laion_aesthetic_v1()
158
  cfg['model']['mismatch_loss'] = ''
@@ -161,6 +190,7 @@ def ddgan_laion_aesthetic_v5():
161
 
162
 
163
 
 
164
  def ddgan_laion2b_v1():
165
  cfg = ddgan_laion_aesthetic_v3()
166
  cfg['model']['mismatch_loss'] = ''
@@ -171,6 +201,8 @@ def ddgan_laion2b_v1():
171
  cfg['model']['preprocessing'] = 'random_resized_crop_v1'
172
  return cfg
173
 
 
 
174
  def ddgan_laion_aesthetic_v6():
175
  cfg = ddgan_laion_aesthetic_v3()
176
  cfg['model']['no_lr_decay'] = ''
@@ -178,193 +210,194 @@ def ddgan_laion_aesthetic_v6():
178
 
179
 
180
 
 
181
  def ddgan_laion_aesthetic_v7():
182
  cfg = ddgan_laion_aesthetic_v6()
183
  cfg['model']['r1_gamma'] = 5
184
  return cfg
185
 
186
 
 
187
  def ddgan_laion_aesthetic_v8():
188
  cfg = ddgan_laion_aesthetic_v6()
189
  cfg['model']['num_timesteps'] = 8
190
  return cfg
191
 
 
192
  def ddgan_laion_aesthetic_v9():
193
  cfg = ddgan_laion_aesthetic_v3()
194
  cfg['model']['num_channels_dae'] = 384
195
  return cfg
196
 
 
197
  def ddgan_sd_v1():
198
  cfg = ddgan_laion_aesthetic_v3()
199
  return cfg
 
 
 
200
  def ddgan_sd_v2():
201
  cfg = ddgan_laion_aesthetic_v3()
202
  return cfg
 
 
 
203
  def ddgan_sd_v3():
204
  cfg = ddgan_laion_aesthetic_v3()
205
  return cfg
 
 
 
206
  def ddgan_sd_v4():
207
  cfg = ddgan_laion_aesthetic_v3()
208
  return cfg
 
 
 
209
  def ddgan_sd_v5():
210
  cfg = ddgan_laion_aesthetic_v3()
211
  cfg['model']['num_timesteps'] = 8
212
  return cfg
 
 
 
213
  def ddgan_sd_v6():
214
  cfg = ddgan_laion_aesthetic_v3()
215
  cfg['model']['num_channels_dae'] = 192
216
  return cfg
 
 
217
  def ddgan_sd_v7():
218
  cfg = ddgan_laion_aesthetic_v3()
219
  return cfg
 
 
220
  def ddgan_sd_v8():
221
  cfg = ddgan_laion_aesthetic_v3()
222
  cfg['model']['image_size'] = 512
223
  return cfg
 
 
 
 
224
  def ddgan_laion_aesthetic_v12():
225
  cfg = ddgan_laion_aesthetic_v3()
226
  return cfg
 
 
227
  def ddgan_laion_aesthetic_v13():
228
  cfg = ddgan_laion_aesthetic_v3()
229
  cfg['model']['text_encoder'] = "openclip/ViT-H-14/laion2b_s32b_b79k"
230
  return cfg
231
 
 
 
232
  def ddgan_laion_aesthetic_v14():
233
  cfg = ddgan_laion_aesthetic_v3()
234
  cfg['model']['text_encoder'] = "openclip/ViT-H-14/laion2b_s32b_b79k"
235
  return cfg
 
 
 
236
  def ddgan_sd_v9():
237
  cfg = ddgan_laion_aesthetic_v3()
238
  cfg['model']['text_encoder'] = "openclip/ViT-H-14/laion2b_s32b_b79k"
239
  return cfg
240
 
 
241
  def ddgan_sd_v10():
242
  cfg = ddgan_sd_v9()
243
  cfg['model']['num_timesteps'] = 2
244
  return cfg
245
 
 
246
  def ddgan_laion2b_v2():
247
  cfg = ddgan_sd_v9()
248
  return cfg
249
 
 
250
  def ddgan_ddb_v1():
251
  cfg = ddgan_sd_v10()
252
  return cfg
253
 
 
254
  def ddgan_sd_v11():
255
  cfg = ddgan_sd_v10()
256
  cfg['model']['image_size'] = 512
257
  return cfg
258
 
 
259
  def ddgan_ddb_v2():
260
  cfg = ddgan_ddb_v1()
261
  cfg['model']['num_timesteps'] = 1
262
  return cfg
263
 
 
264
  def ddgan_ddb_v3():
265
  cfg = ddgan_ddb_v1()
266
  cfg['model']['num_channels_dae'] = 192
267
  cfg['model']['num_timesteps'] = 2
268
  return cfg
269
 
 
270
  def ddgan_ddb_v4():
271
  cfg = ddgan_ddb_v1()
272
  cfg['model']['num_channels_dae'] = 256
273
  cfg['model']['num_timesteps'] = 2
274
  return cfg
275
 
 
276
  def ddgan_ddb_v5():
277
  cfg = ddgan_ddb_v2()
278
  return cfg
279
 
 
280
  def ddgan_ddb_v6():
281
  cfg = ddgan_ddb_v3()
282
  return cfg
283
 
 
284
  def ddgan_ddb_v7():
285
  cfg = ddgan_ddb_v1()
286
  return cfg
287
 
 
288
  def ddgan_ddb_v9():
289
  cfg = ddgan_ddb_v3()
290
  cfg['model']['attn_resolutions'] = [4, 8, 16, 32]
291
  return cfg
292
 
 
293
  def ddgan_laion_aesthetic_v15():
294
  cfg = ddgan_ddb_v3()
295
  return cfg
296
 
 
297
  def ddgan_ddb_v10():
298
  cfg = ddgan_ddb_v9()
299
  return cfg
300
 
 
301
  def ddgan_ddb_v11():
302
  cfg = ddgan_ddb_v3()
303
  cfg['model']['text_encoder'] = "openclip/ViT-g-14/laion2B-s12B-b42K"
304
  return cfg
305
 
 
306
  def ddgan_ddb_v12():
307
  cfg = ddgan_ddb_v3()
308
  cfg['model']['text_encoder'] = "openclip/ViT-bigG-14/laion2b_s39b_b160k"
309
  return cfg
310
 
 
 
 
 
 
311
 
312
- models = [
313
- ddgan_cifar10_cond17, # cifar10, cross attn for discr
314
- ddgan_cifar10_cond18, # cifar10, xl encoder
315
- ddgan_cifar10_cond19, # cifar10, xl encoder
316
-
317
- ddgan_cc12m_v2, # baseline (no large text encoder, no classifier guidance)
318
- ddgan_cc12m_v6, # like v2 but using large T5 text encoder
319
- ddgan_cc12m_v7, # like v2 but with classifier guidance
320
- ddgan_cc12m_v8, # like v6 but classifier guidance
321
- ddgan_cc12m_v9, # ~1B model but 64x64 resolution
322
- ddgan_cc12m_v11, # large text encoder + cross attention + classifier free guidance
323
- ddgan_cc12m_v12, # T5-XL + cross attention + classifier free guidance + random_resized_crop_v1
324
- ddgan_cc12m_v13, # T5-XL + cross attention + classifier free guidance + random_resized_crop_v1 + cond attn
325
- ddgan_cc12m_v14, # T5-XL + cross attention + classifier free guidance + random_resized_crop_v1 + 300M model
326
- ddgan_cc12m_v15, # fine-tune v11 with --mismatch_loss and --grad_penalty_cond
327
-
328
- ddgan_laion_aesthetic_v1, # like ddgan_cc12m_v11 but fine-tuned on laion aesthetic
329
- ddgan_laion_aesthetic_v2, # like ddgan_laion_aesthetic_v1 but trained from scratch with the new cross attn discr
330
- ddgan_laion_aesthetic_v3, # like ddgan_laion_aesthetic_v1 but trained from scratch with T5-XL (continue from 23aug with mismatch and grad penalty and random_resized_crop_v1)
331
- ddgan_laion_aesthetic_v4, # like ddgan_laion_aesthetic_v1 but trained from scratch with OpenAI's ClipEncoder
332
- ddgan_laion_aesthetic_v5, # fine-tune ddgan_laion_aesthetic_v1 with mismatch and cond grad penalty losses
333
- ddgan_laion_aesthetic_v6, # like v3 but without lr decay
334
- ddgan_laion_aesthetic_v7, # like v6 but with r1 gamma of 5 instead of 1, trying to constrain the discr more.
335
- ddgan_laion_aesthetic_v8, # like v6 but with 8 timesteps
336
- ddgan_laion_aesthetic_v9,
337
- ddgan_laion_aesthetic_v12,
338
- ddgan_laion_aesthetic_v13,
339
- ddgan_laion_aesthetic_v14,
340
- ddgan_laion_aesthetic_v15,
341
- ddgan_laion2b_v1,
342
- ddgan_sd_v1,
343
- ddgan_sd_v2,
344
- ddgan_sd_v3,
345
- ddgan_sd_v4,
346
- ddgan_sd_v5,
347
- ddgan_sd_v6,
348
- ddgan_sd_v7,
349
- ddgan_sd_v8,
350
- ddgan_sd_v9,
351
- ddgan_sd_v10,
352
- ddgan_sd_v11,
353
- ddgan_laion2b_v2,
354
- ddgan_ddb_v1,
355
- ddgan_ddb_v2,
356
- ddgan_ddb_v3,
357
- ddgan_ddb_v4,
358
- ddgan_ddb_v5,
359
- ddgan_ddb_v6,
360
- ddgan_ddb_v7,
361
- ddgan_ddb_v9,
362
- ddgan_ddb_v10,
363
- ddgan_ddb_v11,
364
- ddgan_ddb_v12,
365
- ]
366
 
367
- def get_model_config(model_name):
368
- for model in models:
369
- if model.__name__ == model_name:
370
- return model()['model']
 
2
  from glob import glob
3
  from subprocess import call
4
  import json
5
+
6
+ models = {}
7
+
8
+ def register(func):
9
+ models[func.__name__] = func
10
+ return func
11
+
12
+ def get_model_config(model_name):
13
+ return models[model_name]()["model"]
14
+
15
  def base():
16
  return {
17
  "slurm":{
 
56
  "cross_attention_block": "basic",
57
  }
58
  }
59
+
60
+ @register
61
  def ddgan_cc12m_v2():
62
  cfg = base()
63
  cfg['slurm']['N'] = 2
64
  cfg['slurm']['n'] = 8
65
  return cfg
66
 
67
+ @register
68
  def ddgan_cc12m_v6():
69
  cfg = base()
70
  cfg['model']['text_encoder'] = "google/t5-v1_1-large"
71
  return cfg
72
 
73
+ @register
74
  def ddgan_cc12m_v7():
75
  cfg = base()
76
  cfg['model']['classifier_free_guidance_proba'] = 0.2
 
78
  cfg['slurm']['n'] = 8
79
  return cfg
80
 
81
+ @register
82
  def ddgan_cc12m_v8():
83
  cfg = base()
84
  cfg['model']['text_encoder'] = "google/t5-v1_1-large"
85
  cfg['model']['classifier_free_guidance_proba'] = 0.2
86
  return cfg
87
 
88
+ @register
89
  def ddgan_cc12m_v9():
90
  cfg = base()
91
  cfg['model']['text_encoder'] = "google/t5-v1_1-large"
 
95
  cfg['model']['batch_size'] = 1
96
  return cfg
97
 
98
+ @register
99
  def ddgan_cc12m_v11():
100
  cfg = base()
101
  cfg['model']['text_encoder'] = "google/t5-v1_1-large"
 
103
  cfg['model']['cross_attention'] = True
104
  return cfg
105
 
106
+ @register
107
  def ddgan_cc12m_v12():
108
  cfg = ddgan_cc12m_v11()
109
  cfg['model']['text_encoder'] = "google/t5-v1_1-xl"
110
  cfg['model']['preprocessing'] = 'random_resized_crop_v1'
111
  return cfg
112
 
113
+ @register
114
  def ddgan_cc12m_v13():
115
  cfg = ddgan_cc12m_v12()
116
  cfg['model']['discr_type'] = "large_cond_attn"
117
  return cfg
118
 
119
+ @register
120
  def ddgan_cc12m_v14():
121
  cfg = ddgan_cc12m_v12()
122
  cfg['model']['num_channels_dae'] = 192
123
  return cfg
124
 
125
+ @register
126
  def ddgan_cc12m_v15():
127
  cfg = ddgan_cc12m_v11()
128
  cfg['model']['mismatch_loss'] = ''
129
  cfg['model']['grad_penalty_cond'] = ''
130
  return cfg
131
 
132
+ @register
133
  def ddgan_cifar10_cond17():
134
  cfg = base()
135
  cfg['model']['image_size'] = 32
 
140
  cfg['model']['n_mlp'] = 4
141
  return cfg
142
 
143
+ @register
144
  def ddgan_cifar10_cond18():
145
  cfg = ddgan_cifar10_cond17()
146
  cfg['model']['text_encoder'] = "google/t5-v1_1-xl"
147
  return cfg
148
 
149
+ @register
150
  def ddgan_cifar10_cond19():
151
  cfg = ddgan_cifar10_cond17()
152
  cfg['model']['discr_type'] = 'small_cond_attn'
 
154
  cfg['model']['grad_penalty_cond'] = ''
155
  return cfg
156
 
157
+ @register
158
  def ddgan_laion_aesthetic_v1():
159
  cfg = ddgan_cc12m_v11()
160
  cfg['model']['dataset_root'] = '"/p/scratch/ccstdl/cherti1/LAION-aesthetic/output/{00000..05038}.tar"'
161
  return cfg
162
 
163
+ @register
164
  def ddgan_laion_aesthetic_v2():
165
  cfg = ddgan_laion_aesthetic_v1()
166
  cfg['model']['discr_type'] = "large_cond_attn"
167
  return cfg
168
 
169
+ @register
170
  def ddgan_laion_aesthetic_v3():
171
  cfg = ddgan_laion_aesthetic_v1()
172
  cfg['model']['text_encoder'] = "google/t5-v1_1-xl"
 
174
  cfg['model']['grad_penalty_cond'] = ''
175
  return cfg
176
 
177
+ @register
178
  def ddgan_laion_aesthetic_v4():
179
  cfg = ddgan_laion_aesthetic_v1()
180
  cfg['model']['text_encoder'] = "openclip/ViT-L-14-336/openai"
181
  return cfg
182
 
183
 
184
+ @register
185
  def ddgan_laion_aesthetic_v5():
186
  cfg = ddgan_laion_aesthetic_v1()
187
  cfg['model']['mismatch_loss'] = ''
 
190
 
191
 
192
 
193
+ @register
194
  def ddgan_laion2b_v1():
195
  cfg = ddgan_laion_aesthetic_v3()
196
  cfg['model']['mismatch_loss'] = ''
 
201
  cfg['model']['preprocessing'] = 'random_resized_crop_v1'
202
  return cfg
203
 
204
+
205
+ @register
206
  def ddgan_laion_aesthetic_v6():
207
  cfg = ddgan_laion_aesthetic_v3()
208
  cfg['model']['no_lr_decay'] = ''
 
210
 
211
 
212
 
213
+ @register
214
  def ddgan_laion_aesthetic_v7():
215
  cfg = ddgan_laion_aesthetic_v6()
216
  cfg['model']['r1_gamma'] = 5
217
  return cfg
218
 
219
 
220
+ @register
221
  def ddgan_laion_aesthetic_v8():
222
  cfg = ddgan_laion_aesthetic_v6()
223
  cfg['model']['num_timesteps'] = 8
224
  return cfg
225
 
226
+ @register
227
  def ddgan_laion_aesthetic_v9():
228
  cfg = ddgan_laion_aesthetic_v3()
229
  cfg['model']['num_channels_dae'] = 384
230
  return cfg
231
 
232
+ @register
233
  def ddgan_sd_v1():
234
  cfg = ddgan_laion_aesthetic_v3()
235
  return cfg
236
+
237
+
238
+ @register
239
  def ddgan_sd_v2():
240
  cfg = ddgan_laion_aesthetic_v3()
241
  return cfg
242
+
243
+
244
+ @register
245
  def ddgan_sd_v3():
246
  cfg = ddgan_laion_aesthetic_v3()
247
  return cfg
248
+
249
+
250
+ @register
251
  def ddgan_sd_v4():
252
  cfg = ddgan_laion_aesthetic_v3()
253
  return cfg
254
+
255
+
256
+ @register
257
  def ddgan_sd_v5():
258
  cfg = ddgan_laion_aesthetic_v3()
259
  cfg['model']['num_timesteps'] = 8
260
  return cfg
261
+
262
+
263
+ @register
264
  def ddgan_sd_v6():
265
  cfg = ddgan_laion_aesthetic_v3()
266
  cfg['model']['num_channels_dae'] = 192
267
  return cfg
268
+
269
+ @register
270
  def ddgan_sd_v7():
271
  cfg = ddgan_laion_aesthetic_v3()
272
  return cfg
273
+
274
+ @register
275
  def ddgan_sd_v8():
276
  cfg = ddgan_laion_aesthetic_v3()
277
  cfg['model']['image_size'] = 512
278
  return cfg
279
+
280
+
281
+
282
+ @register
283
  def ddgan_laion_aesthetic_v12():
284
  cfg = ddgan_laion_aesthetic_v3()
285
  return cfg
286
+
287
+ @register
288
  def ddgan_laion_aesthetic_v13():
289
  cfg = ddgan_laion_aesthetic_v3()
290
  cfg['model']['text_encoder'] = "openclip/ViT-H-14/laion2b_s32b_b79k"
291
  return cfg
292
 
293
+
294
+ @register
295
  def ddgan_laion_aesthetic_v14():
296
  cfg = ddgan_laion_aesthetic_v3()
297
  cfg['model']['text_encoder'] = "openclip/ViT-H-14/laion2b_s32b_b79k"
298
  return cfg
299
+
300
+
301
+ @register
302
  def ddgan_sd_v9():
303
  cfg = ddgan_laion_aesthetic_v3()
304
  cfg['model']['text_encoder'] = "openclip/ViT-H-14/laion2b_s32b_b79k"
305
  return cfg
306
 
307
+ @register
308
  def ddgan_sd_v10():
309
  cfg = ddgan_sd_v9()
310
  cfg['model']['num_timesteps'] = 2
311
  return cfg
312
 
313
+ @register
314
  def ddgan_laion2b_v2():
315
  cfg = ddgan_sd_v9()
316
  return cfg
317
 
318
+ @register
319
  def ddgan_ddb_v1():
320
  cfg = ddgan_sd_v10()
321
  return cfg
322
 
323
+ @register
324
  def ddgan_sd_v11():
325
  cfg = ddgan_sd_v10()
326
  cfg['model']['image_size'] = 512
327
  return cfg
328
 
329
+ @register
330
  def ddgan_ddb_v2():
331
  cfg = ddgan_ddb_v1()
332
  cfg['model']['num_timesteps'] = 1
333
  return cfg
334
 
335
+ @register
336
  def ddgan_ddb_v3():
337
  cfg = ddgan_ddb_v1()
338
  cfg['model']['num_channels_dae'] = 192
339
  cfg['model']['num_timesteps'] = 2
340
  return cfg
341
 
342
+ @register
343
  def ddgan_ddb_v4():
344
  cfg = ddgan_ddb_v1()
345
  cfg['model']['num_channels_dae'] = 256
346
  cfg['model']['num_timesteps'] = 2
347
  return cfg
348
 
349
+ @register
350
  def ddgan_ddb_v5():
351
  cfg = ddgan_ddb_v2()
352
  return cfg
353
 
354
+ @register
355
  def ddgan_ddb_v6():
356
  cfg = ddgan_ddb_v3()
357
  return cfg
358
 
359
+ @register
360
  def ddgan_ddb_v7():
361
  cfg = ddgan_ddb_v1()
362
  return cfg
363
 
364
+ @register
365
  def ddgan_ddb_v9():
366
  cfg = ddgan_ddb_v3()
367
  cfg['model']['attn_resolutions'] = [4, 8, 16, 32]
368
  return cfg
369
 
370
+ @register
371
  def ddgan_laion_aesthetic_v15():
372
  cfg = ddgan_ddb_v3()
373
  return cfg
374
 
375
+ @register
376
  def ddgan_ddb_v10():
377
  cfg = ddgan_ddb_v9()
378
  return cfg
379
 
380
+ @register
381
  def ddgan_ddb_v11():
382
  cfg = ddgan_ddb_v3()
383
  cfg['model']['text_encoder'] = "openclip/ViT-g-14/laion2B-s12B-b42K"
384
  return cfg
385
 
386
+ @register
387
  def ddgan_ddb_v12():
388
  cfg = ddgan_ddb_v3()
389
  cfg['model']['text_encoder'] = "openclip/ViT-bigG-14/laion2b_s39b_b160k"
390
  return cfg
391
 
392
+ @register
393
+ def ddgan_ddb_v13():
394
+ cfg = ddgan_ddb_v3()
395
+ cfg['model']['num_channels_dae'] = 320 # 1B model
396
+ return cfg
397
 
398
+ @register
399
+ def ddgan_ddb_v14():
400
+ cfg = ddgan_ddb_v3()
401
+ cfg['model']['cross_attention_block'] = "cross_and_global_attention"
402
+ return cfg
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
403