(config)
| 383 | |
| 384 | |
| 385 | def make_denoiser_wrapper(config): |
| 386 | config = config['model'] |
| 387 | sigma_data = config.get('sigma_data', 1.) |
| 388 | has_variance = config.get('has_variance', False) |
| 389 | loss_config = config.get('loss_config', 'karras') |
| 390 | parametrization = config.get('parametrization', 'v') |
| 391 | loss_weight_per_channel = config.get('loss_weight_per_channel', None) |
| 392 | if loss_config == 'karras': |
| 393 | weighting = config.get('loss_weighting', 'karras') |
| 394 | scales = config.get('loss_scales', 1) |
| 395 | if not has_variance: |
| 396 | return partial(layers.Denoiser, sigma_data=sigma_data, weighting=weighting, scales=scales, parametrization=parametrization, loss_weight_per_channel=loss_weight_per_channel) |
| 397 | return partial(layers.DenoiserWithVariance, sigma_data=sigma_data, weighting=weighting) |
| 398 | if loss_config == 'simple': |
| 399 | if has_variance: |
| 400 | raise ValueError('Simple loss config does not support a variance output') |
| 401 | return partial(layers.SimpleLossDenoiser, sigma_data=sigma_data) |
| 402 | raise ValueError('Unknown loss config type') |
| 403 | |
| 404 | |
| 405 | def make_sample_density(config): |
nothing calls this directly
no outgoing calls
no test coverage detected