MCPcopy
hub / github.com/openai/guided-diffusion / sr_create_model

Function sr_create_model

guided_diffusion/script_util.py:334–383  ·  view source on GitHub ↗
(
    large_size,
    small_size,
    num_channels,
    num_res_blocks,
    learn_sigma,
    class_cond,
    use_checkpoint,
    attention_resolutions,
    num_heads,
    num_head_channels,
    num_heads_upsample,
    use_scale_shift_norm,
    dropout,
    resblock_updown,
    use_fp16,
)

Source from the content-addressed store, hash-verified

332
333
334def sr_create_model(
335 large_size,
336 small_size,
337 num_channels,
338 num_res_blocks,
339 learn_sigma,
340 class_cond,
341 use_checkpoint,
342 attention_resolutions,
343 num_heads,
344 num_head_channels,
345 num_heads_upsample,
346 use_scale_shift_norm,
347 dropout,
348 resblock_updown,
349 use_fp16,
350):
351 _ = small_size # hack to prevent unused variable
352
353 if large_size == 512:
354 channel_mult = (1, 1, 2, 2, 4, 4)
355 elif large_size == 256:
356 channel_mult = (1, 1, 2, 2, 4, 4)
357 elif large_size == 64:
358 channel_mult = (1, 2, 3, 4)
359 else:
360 raise ValueError(f"unsupported large size: {large_size}")
361
362 attention_ds = []
363 for res in attention_resolutions.split(","):
364 attention_ds.append(large_size // int(res))
365
366 return SuperResModel(
367 image_size=large_size,
368 in_channels=3,
369 model_channels=num_channels,
370 out_channels=(3 if not learn_sigma else 6),
371 num_res_blocks=num_res_blocks,
372 attention_resolutions=tuple(attention_ds),
373 dropout=dropout,
374 channel_mult=channel_mult,
375 num_classes=(NUM_CLASSES if class_cond else None),
376 use_checkpoint=use_checkpoint,
377 num_heads=num_heads,
378 num_head_channels=num_head_channels,
379 num_heads_upsample=num_heads_upsample,
380 use_scale_shift_norm=use_scale_shift_norm,
381 resblock_updown=resblock_updown,
382 use_fp16=use_fp16,
383 )
384
385
386def create_gaussian_diffusion(

Callers 1

Calls 1

SuperResModelClass · 0.85

Tested by

no test coverage detected