From 0fc7a5fc7f2f5d13ab8c41448254919c417d5651 Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Fri, 9 Feb 2024 21:28:41 +0000 Subject: [PATCH 01/56] add notifications to files that have changed a lot compared to their counterparts in the original repo --- bin/main.py | 1 + .../score_sde_pytorch_hja22/losses.py | 4 ++++ .../score_sde_pytorch_hja22/models/cncsnpp.py | 4 ++++ .../score_sde_pytorch_hja22/models/utils.py | 4 ++++ .../score_sde_pytorch_hja22/run_lib.py | 6 ++++++ .../score_sde_pytorch_hja22/sampling.py | 4 ++++ 6 files changed, 23 insertions(+) diff --git a/bin/main.py b/bin/main.py index 2aff7bcde..eb044c07d 100644 --- a/bin/main.py +++ b/bin/main.py @@ -1,5 +1,6 @@ # coding=utf-8 # Copyright 2020 The Google Research Authors. +# Modifications copyright 2024 Henry Addison # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/losses.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/losses.py index d02b6c158..19b76bd95 100644 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/losses.py +++ b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/losses.py @@ -1,5 +1,6 @@ # coding=utf-8 # Copyright 2020 The Google Research Authors. +# Modifications copyright 2024 Henry Addison # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -12,6 +13,9 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. +# +# Modifications to the original work have been made by Henry Addison +# to allow for sampling """All functions related to loss computation and optimization. """ diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/cncsnpp.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/cncsnpp.py index 7b6428193..b1179f60f 100644 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/cncsnpp.py +++ b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/cncsnpp.py @@ -1,5 +1,6 @@ # coding=utf-8 # Copyright 2020 The Google Research Authors. +# Modifications copyright 2024 Henry Addison # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -12,6 +13,9 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. +# +# Significant modifications to the original work have been made by Henry Addison +# to allow for conditional modelling # pylint: skip-file diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/utils.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/utils.py index 204bde8db..b559a5ba2 100644 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/utils.py +++ b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/utils.py @@ -1,5 +1,6 @@ # coding=utf-8 # Copyright 2020 The Google Research Authors. +# Modifications copyright 2024 Henry Addison # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -12,6 +13,9 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. +# +# Modifications to the original work have been made by Henry Addison +# to allow for conditional modelling. """All functions and modules related to model definition. """ diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/run_lib.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/run_lib.py index f82cd76ee..5146c5415 100644 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/run_lib.py +++ b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/run_lib.py @@ -1,5 +1,6 @@ # coding=utf-8 # Copyright 2020 The Google Research Authors. +# Modifications copyright 2024 Henry Addison # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -12,6 +13,11 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. +# +# Significant modifications to the original work have been made by Henry Addison +# to allow for conditional modelling, location-specific parameters, +# removal of tensorflow dependency, tracking for training via Weights and Biases +# and MLFlow, and iterating by epoch using PyTorch DataLoaders # pylint: skip-file """Training and evaluation for score-based generative models. """ diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/sampling.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/sampling.py index 99cc74fa2..28ee1c7a8 100644 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/sampling.py +++ b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/sampling.py @@ -1,5 +1,6 @@ # coding=utf-8 # Copyright 2020 The Google Research Authors. +# Modifications copyright 2024 Henry Addison # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -12,6 +13,9 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. +# +# Modifications to the original work have been made by Henry Addison +# to allow for sampling # pylint: skip-file # pytype: skip-file From 64af082021ea578ce62be030d921314811701adc Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Fri, 9 Feb 2024 21:29:08 +0000 Subject: [PATCH 02/56] remove unused unconditional u-net debug model --- .../score_sde_pytorch_hja22/models/unet.py | 121 ------------------ 1 file changed, 121 deletions(-) delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/unet.py diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/unet.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/unet.py deleted file mode 100644 index 455062663..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/unet.py +++ /dev/null @@ -1,121 +0,0 @@ -from . import utils, layers, layerspp, normalization -import torch.nn as nn -import functools -import torch -import numpy as np - -class GaussianFourierProjection(nn.Module): - """Gaussian random features for encoding time steps.""" - def __init__(self, embed_dim, scale=30.): - super().__init__() - # Randomly sample weights during initialization. These weights are fixed - # during optimization and are not trainable. - self.W = nn.Parameter(torch.randn(embed_dim // 2) * scale, requires_grad=False) - def forward(self, x): - x_proj = x[:, None] * self.W[None, :] * 2 * np.pi - return torch.cat([torch.sin(x_proj), torch.cos(x_proj)], dim=-1) - - -class Dense(nn.Module): - """A fully connected layer that reshapes outputs to feature maps.""" - def __init__(self, input_dim, output_dim): - super().__init__() - self.dense = nn.Linear(input_dim, output_dim) - def forward(self, x): - return self.dense(x)[..., None, None] - -@utils.register_model(name='unet') -class ScoreNet(nn.Module): - """A time-dependent score-based model built upon U-Net architecture.""" - - def __init__(self, config): - """Initialize a time-dependent score-based network. - - Args: - marginal_prob_std: A function that takes time t and gives the standard - deviation of the perturbation kernel p_{0t}(x(t) | x(0)). - channels: The number of channels for feature maps of each resolution. - embed_dim: The dimensionality of Gaussian random feature embeddings. - """ - super().__init__() - self.config = config - marginal_prob_std=None - input_channels=config.data.num_channels - channels=[32, 64, 128, 256] - embed_dim=256 - # Gaussian random feature embedding layer for time - self.embed = nn.Sequential(GaussianFourierProjection(embed_dim=embed_dim), - nn.Linear(embed_dim, embed_dim)) - # Encoding layers where the resolution decreases - self.conv1 = nn.Conv2d(input_channels, channels[0], 3, stride=1, bias=False) - self.dense1 = Dense(embed_dim, channels[0]) - self.gnorm1 = nn.GroupNorm(4, num_channels=channels[0]) - self.conv2 = nn.Conv2d(channels[0], channels[1], 3, stride=2, bias=False) - self.dense2 = Dense(embed_dim, channels[1]) - self.gnorm2 = nn.GroupNorm(32, num_channels=channels[1]) - self.conv3 = nn.Conv2d(channels[1], channels[2], 3, stride=2, bias=False) - self.dense3 = Dense(embed_dim, channels[2]) - self.gnorm3 = nn.GroupNorm(32, num_channels=channels[2]) - self.conv4 = nn.Conv2d(channels[2], channels[3], 3, stride=2, bias=False) - self.dense4 = Dense(embed_dim, channels[3]) - self.gnorm4 = nn.GroupNorm(32, num_channels=channels[3]) - - # Decoding layers where the resolution increases - self.tconv4 = nn.ConvTranspose2d(channels[3], channels[2], 3, stride=2, bias=False) - self.dense5 = Dense(embed_dim, channels[2]) - self.tgnorm4 = nn.GroupNorm(32, num_channels=channels[2]) - self.tconv3 = nn.ConvTranspose2d(channels[2] + channels[2], channels[1], 3, stride=2, bias=False, output_padding=1) - self.dense6 = Dense(embed_dim, channels[1]) - self.tgnorm3 = nn.GroupNorm(32, num_channels=channels[1]) - self.tconv2 = nn.ConvTranspose2d(channels[1] + channels[1], channels[0], 3, stride=2, bias=False, output_padding=1) - self.dense7 = Dense(embed_dim, channels[0]) - self.tgnorm2 = nn.GroupNorm(32, num_channels=channels[0]) - self.tconv1 = nn.ConvTranspose2d(channels[0] + channels[0], input_channels, 3, stride=1) - - # The swish activation function - self.act = lambda x: x * torch.sigmoid(x) - self.marginal_prob_std = marginal_prob_std - - def forward(self, x, t): - # Obtain the Gaussian random feature embedding for t - embed = self.act(self.embed(t)) - # Encoding path - h1 = self.conv1(x) - ## Incorporate information from t - h1 += self.dense1(embed) - ## Group normalization - h1 = self.gnorm1(h1) - h1 = self.act(h1) - h2 = self.conv2(h1) - h2 += self.dense2(embed) - h2 = self.gnorm2(h2) - h2 = self.act(h2) - h3 = self.conv3(h2) - h3 += self.dense3(embed) - h3 = self.gnorm3(h3) - h3 = self.act(h3) - h4 = self.conv4(h3) - h4 += self.dense4(embed) - h4 = self.gnorm4(h4) - h4 = self.act(h4) - - # Decoding path - h = self.tconv4(h4) - ## Skip connection from the encoding path - h += self.dense5(embed) - h = self.tgnorm4(h) - h = self.act(h) - h = self.tconv3(torch.cat([h, h3], dim=1)) - h += self.dense6(embed) - h = self.tgnorm3(h) - h = self.act(h) - h = self.tconv2(torch.cat([h, h2], dim=1)) - h += self.dense7(embed) - h = self.tgnorm2(h) - h = self.act(h) - h = self.tconv1(torch.cat([h, h1], dim=1)) - - # TODO: Do I need to normalize with the marginal_prob_std? And what is it in this more complicated world? What is t in this framework? - # Normalize output - # h = h / self.marginal_prob_std(t)[:, None, None, None] - return h From b3076e23b2439a6c8a11901f02acadaa39e32534 Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Fri, 9 Feb 2024 21:42:03 +0000 Subject: [PATCH 03/56] remove unused configs for configurations from original repo --- .../configs/default_celeba_configs.py | 72 ------------ .../configs/default_cifar10_configs.py | 72 ------------ .../configs/default_lsun_configs.py | 72 ------------ .../subvpsde/cifar10_ddpm_continuous.py | 55 --------- .../subvpsde/cifar10_ddpmpp_continuous.py | 66 ----------- .../cifar10_ddpmpp_deep_continuous.py | 67 ----------- .../subvpsde/cifar10_ncsnpp_continuous.py | 65 ----------- .../cifar10_ncsnpp_deep_continuous.py | 67 ----------- .../vesde/bedroom_ncsnpp_continuous.py | 64 ---------- .../configs/vesde/celeba_ncsnpp.py | 61 ---------- .../vesde/celebahq_256_ncsnpp_continuous.py | 68 ----------- .../vesde/celebahq_ncsnpp_continuous.py | 110 ------------------ .../configs/vesde/church_ncsnpp_continuous.py | 65 ----------- .../configs/vesde/cifar10_ddpm.py | 50 -------- .../configs/vesde/cifar10_ncsnpp.py | 60 ---------- .../vesde/cifar10_ncsnpp_continuous.py | 59 ---------- .../vesde/cifar10_ncsnpp_deep_continuous.py | 61 ---------- .../vesde/ffhq_256_ncsnpp_continuous.py | 68 ----------- .../configs/vesde/ffhq_ncsnpp_continuous.py | 110 ------------------ .../configs/vesde/ncsn/__init__.py | 0 .../configs/vesde/ncsn/celeba.py | 57 --------- .../configs/vesde/ncsn/celeba_124.py | 56 --------- .../configs/vesde/ncsn/celeba_1245.py | 56 --------- .../configs/vesde/ncsn/celeba_5.py | 57 --------- .../configs/vesde/ncsn/cifar10.py | 57 --------- .../configs/vesde/ncsn/cifar10_124.py | 56 --------- .../configs/vesde/ncsn/cifar10_1245.py | 62 ---------- .../configs/vesde/ncsn/cifar10_5.py | 57 --------- .../configs/vesde/ncsnv2/__init__.py | 0 .../configs/vesde/ncsnv2/bedroom.py | 63 ---------- .../configs/vesde/ncsnv2/celeba.py | 62 ---------- .../configs/vesde/ncsnv2/cifar10.py | 56 --------- .../configs/vpsde/cifar10_ddpmpp.py | 66 ----------- .../vpsde/cifar10_ddpmpp_continuous.py | 66 ----------- .../vpsde/cifar10_ddpmpp_deep_continuous.py | 67 ----------- .../configs/vpsde/cifar10_ncsnpp.py | 65 ----------- .../vpsde/cifar10_ncsnpp_continuous.py | 65 ----------- .../vpsde/cifar10_ncsnpp_deep_continuous.py | 67 ----------- .../configs/vpsde/ddpm/bedroom.py | 61 ---------- .../configs/vpsde/ddpm/celebahq.py | 63 ---------- .../configs/vpsde/ddpm/church.py | 61 ---------- .../configs/vpsde/ddpm/cifar10.py | 55 --------- .../configs/vpsde/ddpm/cifar10_continuous.py | 55 --------- .../vpsde/ddpm/cifar10_unconditional.py | 55 --------- 44 files changed, 2697 deletions(-) delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_celeba_configs.py delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_cifar10_configs.py delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_lsun_configs.py delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/cifar10_ddpm_continuous.py delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/cifar10_ddpmpp_continuous.py delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/cifar10_ddpmpp_deep_continuous.py delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/cifar10_ncsnpp_continuous.py delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/cifar10_ncsnpp_deep_continuous.py delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/bedroom_ncsnpp_continuous.py delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/celeba_ncsnpp.py delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/celebahq_256_ncsnpp_continuous.py delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/celebahq_ncsnpp_continuous.py delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/church_ncsnpp_continuous.py delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/cifar10_ddpm.py delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/cifar10_ncsnpp.py delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/cifar10_ncsnpp_continuous.py delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/cifar10_ncsnpp_deep_continuous.py delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ffhq_256_ncsnpp_continuous.py delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ffhq_ncsnpp_continuous.py delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsn/__init__.py delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsn/celeba.py delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsn/celeba_124.py delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsn/celeba_1245.py delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsn/celeba_5.py delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsn/cifar10.py delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsn/cifar10_124.py delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsn/cifar10_1245.py delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsn/cifar10_5.py delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsnv2/__init__.py delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsnv2/bedroom.py delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsnv2/celeba.py delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsnv2/cifar10.py delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/cifar10_ddpmpp.py delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/cifar10_ddpmpp_continuous.py delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/cifar10_ddpmpp_deep_continuous.py delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/cifar10_ncsnpp.py delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/cifar10_ncsnpp_continuous.py delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/cifar10_ncsnpp_deep_continuous.py delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/ddpm/bedroom.py delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/ddpm/celebahq.py delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/ddpm/church.py delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/ddpm/cifar10.py delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/ddpm/cifar10_continuous.py delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/ddpm/cifar10_unconditional.py diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_celeba_configs.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_celeba_configs.py deleted file mode 100644 index 1fa5b806c..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_celeba_configs.py +++ /dev/null @@ -1,72 +0,0 @@ -import ml_collections -import torch - - -def get_default_configs(): - config = ml_collections.ConfigDict() - # training - config.training = training = ml_collections.ConfigDict() - config.training.batch_size = 128 - training.n_iters = 1300001 - training.snapshot_freq = 50000 - training.log_freq = 50 - training.eval_freq = 100 - ## store additional checkpoints for preemption in cloud computing environments - training.snapshot_freq_for_preemption = 10000 - ## produce samples at each snapshot. - training.snapshot_sampling = True - training.likelihood_weighting = False - training.continuous = True - training.reduce_mean = False - - # sampling - config.sampling = sampling = ml_collections.ConfigDict() - sampling.n_steps_each = 1 - sampling.noise_removal = True - sampling.probability_flow = False - sampling.snr = 0.17 - - # evaluation - config.eval = evaluate = ml_collections.ConfigDict() - evaluate.begin_ckpt = 1 - evaluate.end_ckpt = 26 - evaluate.batch_size = 1024 - evaluate.enable_sampling = True - evaluate.num_samples = 50000 - evaluate.enable_loss = True - evaluate.enable_bpd = False - evaluate.bpd_dataset = 'test' - - # data - config.data = data = ml_collections.ConfigDict() - data.dataset = 'CELEBA' - data.image_size = 64 - data.random_flip = True - data.uniform_dequantization = False - data.centered = False - data.num_channels = 3 - - # model - config.model = model = ml_collections.ConfigDict() - model.sigma_max = 90. - model.sigma_min = 0.01 - model.num_scales = 1000 - model.beta_min = 0.1 - model.beta_max = 20. - model.dropout = 0.1 - model.embedding_type = 'fourier' - - # optimization - config.optim = optim = ml_collections.ConfigDict() - optim.weight_decay = 0 - optim.optimizer = 'Adam' - optim.lr = 2e-4 - optim.beta1 = 0.9 - optim.eps = 1e-8 - optim.warmup = 5000 - optim.grad_clip = 1. - - config.seed = 42 - config.device = torch.device('cuda:0') if torch.cuda.is_available() else torch.device('cpu') - - return config diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_cifar10_configs.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_cifar10_configs.py deleted file mode 100644 index 287cddebf..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_cifar10_configs.py +++ /dev/null @@ -1,72 +0,0 @@ -import ml_collections -import torch - - -def get_default_configs(): - config = ml_collections.ConfigDict() - # training - config.training = training = ml_collections.ConfigDict() - config.training.batch_size = 128 - training.n_iters = 1300001 - training.snapshot_freq = 50000 - training.log_freq = 50 - training.eval_freq = 100 - ## store additional checkpoints for preemption in cloud computing environments - training.snapshot_freq_for_preemption = 10000 - ## produce samples at each snapshot. - training.snapshot_sampling = True - training.likelihood_weighting = False - training.continuous = True - training.reduce_mean = False - - # sampling - config.sampling = sampling = ml_collections.ConfigDict() - sampling.n_steps_each = 1 - sampling.noise_removal = True - sampling.probability_flow = False - sampling.snr = 0.16 - - # evaluation - config.eval = evaluate = ml_collections.ConfigDict() - evaluate.begin_ckpt = 9 - evaluate.end_ckpt = 26 - evaluate.batch_size = 1024 - evaluate.enable_sampling = False - evaluate.num_samples = 50000 - evaluate.enable_loss = True - evaluate.enable_bpd = False - evaluate.bpd_dataset = 'test' - - # data - config.data = data = ml_collections.ConfigDict() - data.dataset = 'CIFAR10' - data.image_size = 32 - data.random_flip = True - data.centered = False - data.uniform_dequantization = False - data.num_channels = 3 - - # model - config.model = model = ml_collections.ConfigDict() - model.sigma_min = 0.01 - model.sigma_max = 50 - model.num_scales = 1000 - model.beta_min = 0.1 - model.beta_max = 20. - model.dropout = 0.1 - model.embedding_type = 'fourier' - - # optimization - config.optim = optim = ml_collections.ConfigDict() - optim.weight_decay = 0 - optim.optimizer = 'Adam' - optim.lr = 2e-4 - optim.beta1 = 0.9 - optim.eps = 1e-8 - optim.warmup = 5000 - optim.grad_clip = 1. - - config.seed = 42 - config.device = torch.device('cuda:0') if torch.cuda.is_available() else torch.device('cpu') - - return config diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_lsun_configs.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_lsun_configs.py deleted file mode 100644 index ca079dda7..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_lsun_configs.py +++ /dev/null @@ -1,72 +0,0 @@ -import ml_collections -import torch - - -def get_default_configs(): - config = ml_collections.ConfigDict() - # training - config.training = training = ml_collections.ConfigDict() - config.training.batch_size = 64 - training.n_iters = 2400001 - training.snapshot_freq = 50000 - training.log_freq = 50 - training.eval_freq = 100 - ## store additional checkpoints for preemption in cloud computing environments - training.snapshot_freq_for_preemption = 5000 - ## produce samples at each snapshot. - training.snapshot_sampling = True - training.likelihood_weighting = False - training.continuous = True - training.reduce_mean = False - - # sampling - config.sampling = sampling = ml_collections.ConfigDict() - sampling.n_steps_each = 1 - sampling.noise_removal = True - sampling.probability_flow = False - sampling.snr = 0.075 - - # evaluation - config.eval = evaluate = ml_collections.ConfigDict() - evaluate.begin_ckpt = 50 - evaluate.end_ckpt = 96 - evaluate.batch_size = 512 - evaluate.enable_sampling = True - evaluate.num_samples = 50000 - evaluate.enable_loss = True - evaluate.enable_bpd = False - evaluate.bpd_dataset = 'test' - - # data - config.data = data = ml_collections.ConfigDict() - data.dataset = 'LSUN' - data.image_size = 256 - data.random_flip = True - data.uniform_dequantization = False - data.centered = False - data.num_channels = 3 - - # model - config.model = model = ml_collections.ConfigDict() - model.sigma_max = 378 - model.sigma_min = 0.01 - model.num_scales = 2000 - model.beta_min = 0.1 - model.beta_max = 20. - model.dropout = 0. - model.embedding_type = 'fourier' - - # optimization - config.optim = optim = ml_collections.ConfigDict() - optim.weight_decay = 0 - optim.optimizer = 'Adam' - optim.lr = 2e-4 - optim.beta1 = 0.9 - optim.eps = 1e-8 - optim.warmup = 5000 - optim.grad_clip = 1. - - config.seed = 42 - config.device = torch.device('cuda:0') if torch.cuda.is_available() else torch.device('cpu') - - return config diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/cifar10_ddpm_continuous.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/cifar10_ddpm_continuous.py deleted file mode 100644 index 8e9bd5c7c..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/cifar10_ddpm_continuous.py +++ /dev/null @@ -1,55 +0,0 @@ -# coding=utf-8 -# Copyright 2020 The Google Research Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Lint as: python3 -"""Training DDPM with sub-VP SDE.""" - -from configs.default_cifar10_configs import get_default_configs - - -def get_config(): - config = get_default_configs() - - # training - training = config.training - training.sde = 'subvpsde' - training.continuous = True - training.reduce_mean = True - - # sampling - sampling = config.sampling - sampling.method = 'pc' - sampling.predictor = 'euler_maruyama' - sampling.corrector = 'none' - - # data - data = config.data - data.centered = True - - # model - model = config.model - model.name = 'ddpm' - model.scale_by_sigma = False - model.ema_rate = 0.9999 - model.normalization = 'GroupNorm' - model.nonlinearity = 'swish' - model.nf = 128 - model.ch_mult = (1, 2, 2, 2) - model.num_res_blocks = 2 - model.attn_resolutions = (16,) - model.resamp_with_conv = True - model.conditional = True - - return config diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/cifar10_ddpmpp_continuous.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/cifar10_ddpmpp_continuous.py deleted file mode 100644 index 6ce7ed075..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/cifar10_ddpmpp_continuous.py +++ /dev/null @@ -1,66 +0,0 @@ -# coding=utf-8 -# Copyright 2020 The Google Research Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Lint as: python3 -"""Training NCSNv3 on CIFAR-10 with continuous sigmas.""" - -from configs.default_cifar10_configs import get_default_configs - - -def get_config(): - config = get_default_configs() - # training - training = config.training - training.sde = 'subvpsde' - training.continuous = True - training.reduce_mean = True - - # sampling - sampling = config.sampling - sampling.method = 'pc' - sampling.predictor = 'euler_maruyama' - sampling.corrector = 'none' - - # data - data = config.data - data.centered = True - - # model - model = config.model - model.name = 'ncsnpp' - model.scale_by_sigma = False - model.ema_rate = 0.9999 - model.normalization = 'GroupNorm' - model.nonlinearity = 'swish' - model.nf = 128 - model.ch_mult = (1, 2, 2, 2) - model.num_res_blocks = 4 - model.attn_resolutions = (16,) - model.resamp_with_conv = True - model.conditional = True - model.fir = False - model.fir_kernel = [1, 3, 3, 1] - model.skip_rescale = True - model.resblock_type = 'biggan' - model.progressive = 'none' - model.progressive_input = 'none' - model.progressive_combine = 'sum' - model.attention_type = 'ddpm' - model.init_scale = 0. - model.embedding_type = 'positional' - model.fourier_scale = 16 - model.conv_size = 3 - - return config diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/cifar10_ddpmpp_deep_continuous.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/cifar10_ddpmpp_deep_continuous.py deleted file mode 100644 index dfc5c3437..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/cifar10_ddpmpp_deep_continuous.py +++ /dev/null @@ -1,67 +0,0 @@ -# coding=utf-8 -# Copyright 2020 The Google Research Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Lint as: python3 -"""Training NCSNv3 on CIFAR-10 with continuous sigmas.""" - -from configs.default_cifar10_configs import get_default_configs - - -def get_config(): - config = get_default_configs() - # training - training = config.training - training.sde = 'subvpsde' - training.continuous = True - training.reduce_mean = True - training.n_iters = 950001 - - # sampling - sampling = config.sampling - sampling.method = 'pc' - sampling.predictor = 'euler_maruyama' - sampling.corrector = 'none' - - # data - data = config.data - data.centered = True - - # model - model = config.model - model.name = 'ncsnpp' - model.scale_by_sigma = False - model.ema_rate = 0.9999 - model.normalization = 'GroupNorm' - model.nonlinearity = 'swish' - model.nf = 128 - model.ch_mult = (1, 2, 2, 2) - model.num_res_blocks = 8 - model.attn_resolutions = (16,) - model.resamp_with_conv = True - model.conditional = True - model.fir = False - model.fir_kernel = [1, 3, 3, 1] - model.skip_rescale = True - model.resblock_type = 'biggan' - model.progressive = 'none' - model.progressive_input = 'none' - model.progressive_combine = 'sum' - model.attention_type = 'ddpm' - model.init_scale = 0. - model.embedding_type = 'positional' - model.fourier_scale = 16 - model.conv_size = 3 - - return config diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/cifar10_ncsnpp_continuous.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/cifar10_ncsnpp_continuous.py deleted file mode 100644 index 49d94b720..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/cifar10_ncsnpp_continuous.py +++ /dev/null @@ -1,65 +0,0 @@ -# coding=utf-8 -# Copyright 2020 The Google Research Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Lint as: python3 -"""Training NCSN++ on CIFAR-10 with sub-VP SDE.""" -from configs.default_cifar10_configs import get_default_configs - - -def get_config(): - config = get_default_configs() - # training - training = config.training - training.sde = 'subvpsde' - training.continuous = True - training.reduce_mean = True - - # sampling - sampling = config.sampling - sampling.method = 'pc' - sampling.predictor = 'euler_maruyama' - sampling.corrector = 'none' - - # data - data = config.data - data.centered = True - - # model - model = config.model - model.name = 'ncsnpp' - model.scale_by_sigma = False - model.ema_rate = 0.9999 - model.normalization = 'GroupNorm' - model.nonlinearity = 'swish' - model.nf = 128 - model.ch_mult = (1, 2, 2, 2) - model.num_res_blocks = 4 - model.attn_resolutions = (16,) - model.resamp_with_conv = True - model.conditional = True - model.fir = True - model.fir_kernel = [1, 3, 3, 1] - model.skip_rescale = True - model.resblock_type = 'biggan' - model.progressive = 'none' - model.progressive_input = 'residual' - model.progressive_combine = 'sum' - model.attention_type = 'ddpm' - model.embedding_type = 'positional' - model.init_scale = 0. - model.fourier_scale = 16 - model.conv_size = 3 - - return config diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/cifar10_ncsnpp_deep_continuous.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/cifar10_ncsnpp_deep_continuous.py deleted file mode 100644 index 6fb856272..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/cifar10_ncsnpp_deep_continuous.py +++ /dev/null @@ -1,67 +0,0 @@ -# coding=utf-8 -# Copyright 2020 The Google Research Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Lint as: python3 -"""Training NCSN++ on CIFAR-10.""" - -from configs.default_cifar10_configs import get_default_configs - - -def get_config(): - config = get_default_configs() - # training - training = config.training - training.sde = 'subvpsde' - training.continuous = True - training.n_iters = 950001 - training.reduce_mean = True - - # sampling - sampling = config.sampling - sampling.method = 'pc' - sampling.predictor = 'euler_maruyama' - sampling.corrector = 'none' - - # data - data = config.data - data.centered = True - - # model - model = config.model - model.name = 'ncsnpp' - model.fourier_scale = 16 - model.scale_by_sigma = False - model.ema_rate = 0.9999 - model.normalization = 'GroupNorm' - model.nonlinearity = 'swish' - model.nf = 128 - model.ch_mult = (1, 2, 2, 2) - model.num_res_blocks = 8 - model.attn_resolutions = (16,) - model.resamp_with_conv = True - model.conditional = True - model.fir = True - model.fir_kernel = [1, 3, 3, 1] - model.skip_rescale = True - model.resblock_type = 'biggan' - model.progressive = 'none' - model.progressive_input = 'residual' - model.progressive_combine = 'sum' - model.attention_type = 'ddpm' - model.embedding_type = 'positional' - model.init_scale = 0.0 - model.conv_size = 3 - - return config diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/bedroom_ncsnpp_continuous.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/bedroom_ncsnpp_continuous.py deleted file mode 100644 index 9ef25e58a..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/bedroom_ncsnpp_continuous.py +++ /dev/null @@ -1,64 +0,0 @@ -# coding=utf-8 -# Copyright 2020 The Google Research Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Lint as: python3 -"""Training NCSN++ on bedroom with VE SDE.""" - -from configs.default_lsun_configs import get_default_configs - - -def get_config(): - config = get_default_configs() - # training - training = config.training - training.sde = 'vesde' - training.continuous = True - - # sampling - sampling = config.sampling - sampling.method = 'pc' - sampling.predictor = 'reverse_diffusion' - sampling.corrector = 'langevin' - - # data - data = config.data - data.category = 'bedroom' - - # model - model = config.model - model.name = 'ncsnpp' - model.scale_by_sigma = True - model.ema_rate = 0.999 - model.normalization = 'GroupNorm' - model.nonlinearity = 'swish' - model.nf = 128 - model.ch_mult = (1, 1, 2, 2, 2, 2, 2) - model.num_res_blocks = 2 - model.attn_resolutions = (16,) - model.resamp_with_conv = True - model.conditional = True - model.fir = True - model.fir_kernel = [1, 3, 3, 1] - model.skip_rescale = True - model.resblock_type = 'biggan' - model.progressive = 'output_skip' - model.progressive_input = 'input_skip' - model.progressive_combine = 'sum' - model.attention_type = 'ddpm' - model.init_scale = 0. - model.fourier_scale = 16 - model.conv_size = 3 - - return config diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/celeba_ncsnpp.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/celeba_ncsnpp.py deleted file mode 100644 index 4ab338fd0..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/celeba_ncsnpp.py +++ /dev/null @@ -1,61 +0,0 @@ -# coding=utf-8 -# Copyright 2020 The Google Research Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Lint as: python3 -"""Training NCSN++ on CelebA with SMLD.""" - -from configs.default_celeba_configs import get_default_configs - - -def get_config(): - config = get_default_configs() - # training - training = config.training - training.sde = 'vesde' - training.continuous = False - - # sampling - sampling = config.sampling - sampling.method = 'pc' - sampling.predictor = 'reverse_diffusion' - sampling.corrector = 'langevin' - - # model - model = config.model - model.name = 'ncsnpp' - model.scale_by_sigma = True - model.sigma_begin = 90 - model.ema_rate = 0.999 - model.normalization = 'GroupNorm' - model.nonlinearity = 'swish' - model.nf = 128 - model.ch_mult = (1, 2, 2, 2) - model.num_res_blocks = 4 - model.attn_resolutions = (16,) - model.resamp_with_conv = True - model.conditional = True - model.fir = True - model.fir_kernel = [1, 3, 3, 1] - model.skip_rescale = True - model.resblock_type = 'biggan' - model.progressive = 'none' - model.progressive_input = 'residual' - model.progressive_combine = 'sum' - model.attention_type = 'ddpm' - model.init_scale = 0.0 - model.conv_size = 3 - model.embedding_type = 'positional' - - return config diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/celebahq_256_ncsnpp_continuous.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/celebahq_256_ncsnpp_continuous.py deleted file mode 100644 index 59d11d668..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/celebahq_256_ncsnpp_continuous.py +++ /dev/null @@ -1,68 +0,0 @@ -# coding=utf-8 -# Copyright 2020 The Google Research Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Lint as: python3 -"""Training NCSN++ on Church with VE SDE.""" - -from configs.default_lsun_configs import get_default_configs - - -def get_config(): - config = get_default_configs() - # training - training = config.training - training.sde = 'vesde' - training.continuous = True - - # sampling - sampling = config.sampling - sampling.method = 'pc' - sampling.predictor = 'reverse_diffusion' - sampling.corrector = 'langevin' - - # data - data = config.data - data.dataset = 'CelebAHQ' - data.image_size = 256 - data.tfrecords_path = '/home/yangsong/ncsc/celebahq/r08.tfrecords' - - - # model - model = config.model - model.name = 'ncsnpp' - model.sigma_max = 348 - model.scale_by_sigma = True - model.ema_rate = 0.999 - model.normalization = 'GroupNorm' - model.nonlinearity = 'swish' - model.nf = 128 - model.ch_mult = (1, 1, 2, 2, 2, 2, 2) - model.num_res_blocks = 2 - model.attn_resolutions = (16,) - model.resamp_with_conv = True - model.conditional = True - model.fir = True - model.fir_kernel = [1, 3, 3, 1] - model.skip_rescale = True - model.resblock_type = 'biggan' - model.progressive = 'output_skip' - model.progressive_input = 'input_skip' - model.progressive_combine = 'sum' - model.attention_type = 'ddpm' - model.init_scale = 0. - model.fourier_scale = 16 - model.conv_size = 3 - - return config diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/celebahq_ncsnpp_continuous.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/celebahq_ncsnpp_continuous.py deleted file mode 100644 index 31a37693b..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/celebahq_ncsnpp_continuous.py +++ /dev/null @@ -1,110 +0,0 @@ -# coding=utf-8 -# Copyright 2020 The Google Research Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Lint as: python3 -"""Training NCSN++ on CelebAHQ with VE SDE.""" - -import ml_collections -import torch - - -def get_config(): - config = ml_collections.ConfigDict() - # training - config.training = training = ml_collections.ConfigDict() - training.batch_size = 8 - training.n_iters = 2400001 - training.snapshot_freq = 50000 - training.log_freq = 50 - training.eval_freq = 100 - training.snapshot_freq_for_preemption = 5000 - training.snapshot_sampling = True - training.sde = 'vesde' - training.continuous = True - training.likelihood_weighting = False - training.reduce_mean = False - - # sampling - config.sampling = sampling = ml_collections.ConfigDict() - sampling.method = 'pc' - sampling.predictor = 'reverse_diffusion' - sampling.corrector = 'langevin' - sampling.probability_flow = False - sampling.snr = 0.15 - sampling.n_steps_each = 1 - sampling.noise_removal = True - - # eval - config.eval = evaluate = ml_collections.ConfigDict() - evaluate.batch_size = 1024 - evaluate.num_samples = 50000 - evaluate.begin_ckpt = 1 - evaluate.end_ckpt = 96 - - # data - config.data = data = ml_collections.ConfigDict() - data.dataset = 'CelebAHQ' - data.image_size = 1024 - data.centered = False - data.random_flip = True - data.uniform_dequantization = False - data.num_channels = 3 - data.tfrecords_path = '/atlas/u/yangsong/celeba_hq/-r10.tfrecords' - - # model - config.model = model = ml_collections.ConfigDict() - model.name = 'ncsnpp' - model.scale_by_sigma = True - model.sigma_max = 1348 - model.num_scales = 2000 - model.ema_rate = 0.9999 - model.sigma_min = 0.01 - model.normalization = 'GroupNorm' - model.nonlinearity = 'swish' - model.nf = 16 - model.ch_mult = (1, 2, 4, 8, 16, 32, 32, 32) - model.num_res_blocks = 1 - model.attn_resolutions = (16,) - model.dropout = 0. - model.resamp_with_conv = True - model.conditional = True - model.fir = True - model.fir_kernel = [1, 3, 3, 1] - model.skip_rescale = True - model.resblock_type = 'biggan' - model.progressive = 'output_skip' - model.progressive_input = 'input_skip' - model.progressive_combine = 'sum' - model.attention_type = 'ddpm' - model.init_scale = 0. - model.fourier_scale = 16 - model.conv_size = 3 - model.embedding_type = 'fourier' - - # optim - config.optim = optim = ml_collections.ConfigDict() - optim.weight_decay = 0 - optim.optimizer = 'Adam' - optim.lr = 2e-4 - optim.beta1 = 0.9 - optim.amsgrad = False - optim.eps = 1e-8 - optim.warmup = 5000 - optim.grad_clip = 1. - - config.seed = 42 - config.device = torch.device('cuda:0') if torch.cuda.is_available() else torch.device('cpu') - - return config diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/church_ncsnpp_continuous.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/church_ncsnpp_continuous.py deleted file mode 100644 index f133dcf54..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/church_ncsnpp_continuous.py +++ /dev/null @@ -1,65 +0,0 @@ -# coding=utf-8 -# Copyright 2020 The Google Research Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Lint as: python3 -"""Training NCSN++ on Church with VE SDE.""" - -from configs.default_lsun_configs import get_default_configs - - -def get_config(): - config = get_default_configs() - # training - training = config.training - training.sde = 'vesde' - training.continuous = True - - # sampling - sampling = config.sampling - sampling.method = 'pc' - sampling.predictor = 'reverse_diffusion' - sampling.corrector = 'langevin' - - # data - data = config.data - data.category = 'church_outdoor' - - # model - model = config.model - model.name = 'ncsnpp' - model.sigma_max = 380 - model.scale_by_sigma = True - model.ema_rate = 0.999 - model.normalization = 'GroupNorm' - model.nonlinearity = 'swish' - model.nf = 128 - model.ch_mult = (1, 1, 2, 2, 2, 2, 2) - model.num_res_blocks = 2 - model.attn_resolutions = (16,) - model.resamp_with_conv = True - model.conditional = True - model.fir = True - model.fir_kernel = [1, 3, 3, 1] - model.skip_rescale = True - model.resblock_type = 'biggan' - model.progressive = 'output_skip' - model.progressive_input = 'input_skip' - model.progressive_combine = 'sum' - model.attention_type = 'ddpm' - model.init_scale = 0. - model.fourier_scale = 16 - model.conv_size = 3 - - return config diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/cifar10_ddpm.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/cifar10_ddpm.py deleted file mode 100644 index 81387d941..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/cifar10_ddpm.py +++ /dev/null @@ -1,50 +0,0 @@ -# coding=utf-8 -# Copyright 2020 The Google Research Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Lint as: python3 -"""Train the original DDPM model with SMLD.""" - -from configs.default_cifar10_configs import get_default_configs - - -def get_config(): - config = get_default_configs() - # training - training = config.training - training.sde = 'vesde' - training.continuous = False - - # sampling - sampling = config.sampling - sampling.method = 'pc' - sampling.predictor = 'reverse_diffusion' - sampling.corrector = 'langevin' - - # model - model = config.model - model.name = 'ddpm' - model.scale_by_sigma = True - model.ema_rate = 0.999 - model.normalization = 'GroupNorm' - model.nonlinearity = 'swish' - model.nf = 128 - model.ch_mult = (1, 2, 2, 2) - model.num_res_blocks = 2 - model.attn_resolutions = (16,) - model.resamp_with_conv = True - model.conditional = True - model.conv_size = 3 - - return config diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/cifar10_ncsnpp.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/cifar10_ncsnpp.py deleted file mode 100644 index 8cc8f7a15..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/cifar10_ncsnpp.py +++ /dev/null @@ -1,60 +0,0 @@ -# coding=utf-8 -# Copyright 2020 The Google Research Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Lint as: python3 -"""Training NCSN++ on CIFAR-10 with SMLD.""" - -from configs.default_cifar10_configs import get_default_configs - - -def get_config(): - config = get_default_configs() - # training - training = config.training - training.sde = 'vesde' - training.continuous = False - - # sampling - sampling = config.sampling - sampling.method = 'pc' - sampling.predictor = 'reverse_diffusion' - sampling.corrector = 'langevin' - - # model - model = config.model - model.name = 'ncsnpp' - model.scale_by_sigma = True - model.ema_rate = 0.999 - model.normalization = 'GroupNorm' - model.nonlinearity = 'swish' - model.nf = 128 - model.ch_mult = (1, 2, 2, 2) - model.num_res_blocks = 4 - model.attn_resolutions = (16,) - model.resamp_with_conv = True - model.conditional = True - model.fir = True - model.fir_kernel = [1, 3, 3, 1] - model.skip_rescale = True - model.resblock_type = 'biggan' - model.progressive = 'none' - model.progressive_input = 'residual' - model.progressive_combine = 'sum' - model.attention_type = 'ddpm' - model.init_scale = 0.0 - model.embedding_type = 'positional' - model.conv_size = 3 - - return config diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/cifar10_ncsnpp_continuous.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/cifar10_ncsnpp_continuous.py deleted file mode 100644 index 0b9f2faae..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/cifar10_ncsnpp_continuous.py +++ /dev/null @@ -1,59 +0,0 @@ -# coding=utf-8 -# Copyright 2020 The Google Research Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Lint as: python3 -"""Training NCSN++ on CIFAR-10 with VE SDE.""" -from configs.default_cifar10_configs import get_default_configs - - -def get_config(): - config = get_default_configs() - # training - training = config.training - training.sde = 'vesde' - training.continuous = True - - # sampling - sampling = config.sampling - sampling.method = 'pc' - sampling.predictor = 'reverse_diffusion' - sampling.corrector = 'langevin' - - # model - model = config.model - model.name = 'ncsnpp' - model.scale_by_sigma = True - model.ema_rate = 0.999 - model.normalization = 'GroupNorm' - model.nonlinearity = 'swish' - model.nf = 128 - model.ch_mult = (1, 2, 2, 2) - model.num_res_blocks = 4 - model.attn_resolutions = (16,) - model.resamp_with_conv = True - model.conditional = True - model.fir = True - model.fir_kernel = [1, 3, 3, 1] - model.skip_rescale = True - model.resblock_type = 'biggan' - model.progressive = 'none' - model.progressive_input = 'residual' - model.progressive_combine = 'sum' - model.attention_type = 'ddpm' - model.init_scale = 0. - model.fourier_scale = 16 - model.conv_size = 3 - - return config diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/cifar10_ncsnpp_deep_continuous.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/cifar10_ncsnpp_deep_continuous.py deleted file mode 100644 index 910e93e22..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/cifar10_ncsnpp_deep_continuous.py +++ /dev/null @@ -1,61 +0,0 @@ -# coding=utf-8 -# Copyright 2020 The Google Research Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Lint as: python3 -"""Training NCSN++ on CIFAR-10 with VE SDE.""" - -from configs.default_cifar10_configs import get_default_configs - - -def get_config(): - config = get_default_configs() - # training - training = config.training - training.sde = 'vesde' - training.continuous = True - training.n_iters = 950001 - - # sampling - sampling = config.sampling - sampling.method = 'pc' - sampling.predictor = 'reverse_diffusion' - sampling.corrector = 'langevin' - - # model - model = config.model - model.name = 'ncsnpp' - model.fourier_scale = 16 - model.scale_by_sigma = True - model.ema_rate = 0.999 - model.normalization = 'GroupNorm' - model.nonlinearity = 'swish' - model.nf = 128 - model.ch_mult = (1, 2, 2, 2) - model.num_res_blocks = 8 - model.attn_resolutions = (16,) - model.resamp_with_conv = True - model.conditional = True - model.fir = True - model.fir_kernel = [1, 3, 3, 1] - model.skip_rescale = True - model.resblock_type = 'biggan' - model.progressive = 'none' - model.progressive_input = 'residual' - model.progressive_combine = 'sum' - model.attention_type = 'ddpm' - model.init_scale = 0.0 - model.conv_size = 3 - - return config diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ffhq_256_ncsnpp_continuous.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ffhq_256_ncsnpp_continuous.py deleted file mode 100644 index 265a584f8..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ffhq_256_ncsnpp_continuous.py +++ /dev/null @@ -1,68 +0,0 @@ -# coding=utf-8 -# Copyright 2020 The Google Research Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Lint as: python3 -"""Training NCSN++ on Church with VE SDE.""" - -from configs.default_lsun_configs import get_default_configs - - -def get_config(): - config = get_default_configs() - # training - training = config.training - training.sde = 'vesde' - training.continuous = True - - # sampling - sampling = config.sampling - sampling.method = 'pc' - sampling.predictor = 'reverse_diffusion' - sampling.corrector = 'langevin' - - # data - data = config.data - data.dataset = 'FFHQ' - data.image_size = 256 - data.tfrecords_path = '/home/yangsong/ncsc/ffhq/ffhq-r08.tfrecords' - - - # model - model = config.model - model.name = 'ncsnpp' - model.sigma_max = 348 - model.scale_by_sigma = True - model.ema_rate = 0.999 - model.normalization = 'GroupNorm' - model.nonlinearity = 'swish' - model.nf = 128 - model.ch_mult = (1, 1, 2, 2, 2, 2, 2) - model.num_res_blocks = 2 - model.attn_resolutions = (16,) - model.resamp_with_conv = True - model.conditional = True - model.fir = True - model.fir_kernel = [1, 3, 3, 1] - model.skip_rescale = True - model.resblock_type = 'biggan' - model.progressive = 'output_skip' - model.progressive_input = 'input_skip' - model.progressive_combine = 'sum' - model.attention_type = 'ddpm' - model.init_scale = 0. - model.fourier_scale = 16 - model.conv_size = 3 - - return config diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ffhq_ncsnpp_continuous.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ffhq_ncsnpp_continuous.py deleted file mode 100644 index cf2dd7c41..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ffhq_ncsnpp_continuous.py +++ /dev/null @@ -1,110 +0,0 @@ -# coding=utf-8 -# Copyright 2020 The Google Research Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Lint as: python3 -"""Training NCSN++ on FFHQ with VE SDEs.""" - -import ml_collections -import torch - -def get_config(): - config = ml_collections.ConfigDict() - # training - config.training = training = ml_collections.ConfigDict() - training.batch_size = 8 - training.n_iters = 2400001 - training.snapshot_freq = 50000 - training.log_freq = 50 - training.eval_freq = 100 - training.snapshot_freq_for_preemption = 5000 - training.snapshot_sampling = True - training.sde = 'vesde' - training.continuous = True - training.likelihood_weighting = False - training.reduce_mean = True - - # sampling - config.sampling = sampling = ml_collections.ConfigDict() - sampling.method = 'pc' - sampling.predictor = 'reverse_diffusion' - sampling.corrector = 'langevin' - sampling.probability_flow = False - sampling.snr = 0.15 - sampling.n_steps_each = 1 - sampling.noise_removal = True - - # eval - config.eval = evaluate = ml_collections.ConfigDict() - evaluate.batch_size = 1024 - evaluate.num_samples = 50000 - evaluate.begin_ckpt = 1 - evaluate.end_ckpt = 96 - - # data - config.data = data = ml_collections.ConfigDict() - data.dataset = 'FFHQ' - data.image_size = 1024 - data.centered = False - data.random_flip = True - data.uniform_dequantization = False - data.num_channels = 3 - # Plug in your own path to the tfrecords file. - data.tfrecords_path = '/raid/song/ffhq-dataset/ffhq/ffhq-r10.tfrecords' - - # model - config.model = model = ml_collections.ConfigDict() - model.name = 'ncsnpp' - model.scale_by_sigma = True - model.sigma_max = 1348 - model.num_scales = 2000 - model.ema_rate = 0.9999 - model.sigma_min = 0.01 - model.normalization = 'GroupNorm' - model.nonlinearity = 'swish' - model.nf = 16 - model.ch_mult = (1, 2, 4, 8, 16, 32, 32, 32) - model.num_res_blocks = 1 - model.attn_resolutions = (16,) - model.dropout = 0. - model.resamp_with_conv = True - model.conditional = True - model.fir = True - model.fir_kernel = [1, 3, 3, 1] - model.skip_rescale = True - model.resblock_type = 'biggan' - model.progressive = 'output_skip' - model.progressive_input = 'input_skip' - model.progressive_combine = 'sum' - model.attention_type = 'ddpm' - model.init_scale = 0. - model.fourier_scale = 16 - model.conv_size = 3 - model.embedding_type = 'fourier' - - # optim - config.optim = optim = ml_collections.ConfigDict() - optim.weight_decay = 0 - optim.optimizer = 'Adam' - optim.lr = 2e-4 - optim.beta1 = 0.9 - optim.amsgrad = False - optim.eps = 1e-8 - optim.warmup = 5000 - optim.grad_clip = 1. - - config.seed = 42 - config.device = torch.device('cuda:0') if torch.cuda.is_available() else torch.device('cpu') - - return config diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsn/__init__.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsn/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsn/celeba.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsn/celeba.py deleted file mode 100644 index 903775a15..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsn/celeba.py +++ /dev/null @@ -1,57 +0,0 @@ -# coding=utf-8 -# Copyright 2020 The Google Research Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Lint as: python3 -"""Config file for reproducing NCSNv1 on CelebA.""" - -from configs.default_celeba_configs import get_default_configs - - -def get_config(): - config = get_default_configs() - # training - training = config.training - training.loss = 'vesde' - training.continuous = False - # sampling - sampling = config.sampling - sampling.method = 'pc' - sampling.predictor = 'none' - sampling.corrector = 'ald' - sampling.n_steps_each = 100 - sampling.snr = 0.316 - # model - model = config.model - model.name = 'ncsn' - model.scale_by_sigma = False - model.sigma_max = 1 - model.num_scales = 10 - model.ema_rate = 0. - model.normalization = 'InstanceNorm++' - model.nonlinearity = 'elu' - model.nf = 128 - model.interpolation = 'bilinear' - # optim - optim = config.optim - optim.weight_decay = 0 - optim.optimizer = 'Adam' - optim.lr = 1e-3 - optim.beta1 = 0.9 - optim.amsgrad = False - optim.eps = 1e-8 - optim.warmup = 0 - optim.grad_clip = -1. - - return config diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsn/celeba_124.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsn/celeba_124.py deleted file mode 100644 index c40ef7cf8..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsn/celeba_124.py +++ /dev/null @@ -1,56 +0,0 @@ -# coding=utf-8 -# Copyright 2020 The Google Research Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Lint as: python3 -"""Config file for training NCSN with technique 1,2,4 only.""" - -from configs.default_celeba_configs import get_default_configs - - -def get_config(): - config = get_default_configs() - # training - training = config.training - training.sde = 'vesde' - training.continuous = False - # sampling - sampling = config.sampling - sampling.method = 'pc' - sampling.predictor = 'none' - sampling.corrector = 'ald' - sampling.n_steps_each = 5 - sampling.snr = 0.128 - # model - model = config.model - model.name = 'ncsn' - model.scale_by_sigma = False - model.num_scales = 500 - model.ema_rate = 0. - model.normalization = 'InstanceNorm++' - model.nonlinearity = 'elu' - model.nf = 128 - model.interpolation = 'bilinear' - # optim - optim = config.optim - optim.weight_decay = 0 - optim.optimizer = 'Adam' - optim.lr = 1e-3 - optim.beta1 = 0.9 - optim.amsgrad = False - optim.eps = 1e-8 - optim.warmup = 0 - optim.grad_clip = -1. - - return config diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsn/celeba_1245.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsn/celeba_1245.py deleted file mode 100644 index d7463ae5f..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsn/celeba_1245.py +++ /dev/null @@ -1,56 +0,0 @@ -# coding=utf-8 -# Copyright 2020 The Google Research Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Lint as: python3 -"""Config file for training NCSN with technique 1245 only.""" - -from configs.default_celeba_configs import get_default_configs - - -def get_config(): - config = get_default_configs() - # training - training = config.training - training.sde = 'vesde' - training.continuous = False - # sampling - sampling = config.sampling - sampling.method = 'pc' - sampling.predictor = 'none' - sampling.corrector = 'ald' - sampling.n_steps_each = 5 - sampling.snr = 0.128 - # model - model = config.model - model.name = 'ncsn' - model.scale_by_sigma = False - model.num_scales = 500 - model.ema_rate = 0.999 - model.normalization = 'InstanceNorm++' - model.nonlinearity = 'elu' - model.nf = 128 - model.interpolation = 'bilinear' - # optim - optim = config.optim - optim.weight_decay = 0 - optim.optimizer = 'Adam' - optim.lr = 1e-3 - optim.beta1 = 0.9 - optim.amsgrad = False - optim.eps = 1e-8 - optim.warmup = 0 - optim.grad_clip = -1. - - return config diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsn/celeba_5.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsn/celeba_5.py deleted file mode 100644 index a3a6fd9ea..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsn/celeba_5.py +++ /dev/null @@ -1,57 +0,0 @@ -# coding=utf-8 -# Copyright 2020 The Google Research Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Lint as: python3 -"""Config file for training NCSNv1 model with technique 5 only.""" - -from configs.default_celeba_configs import get_default_configs - - -def get_config(): - config = get_default_configs() - # training - training = config.training - training.sde = 'vesde' - training.continuous = False - # sampling - sampling = config.sampling - sampling.method = 'pc' - sampling.predictor = 'none' - sampling.corrector = 'ald' - sampling.n_steps_each = 100 - sampling.snr = 0.316 - # model - model = config.model - model.name = 'ncsn' - model.scale_by_sigma = False - model.sigma_max = 1. - model.num_scales = 10 - model.ema_rate = 0.999 - model.normalization = 'InstanceNorm++' - model.nonlinearity = 'elu' - model.nf = 128 - model.interpolation = 'bilinear' - # optim - optim = config.optim - optim.weight_decay = 0 - optim.optimizer = 'Adam' - optim.lr = 1e-3 - optim.beta1 = 0.9 - optim.amsgrad = False - optim.eps = 1e-8 - optim.warmup = 0 - optim.grad_clip = -1. - - return config diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsn/cifar10.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsn/cifar10.py deleted file mode 100644 index b887d6881..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsn/cifar10.py +++ /dev/null @@ -1,57 +0,0 @@ -# coding=utf-8 -# Copyright 2020 The Google Research Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Lint as: python3 -"""Config file for reproducing NCSNv1 on CIFAR-10.""" - -from configs.default_cifar10_configs import get_default_configs - - -def get_config(): - config = get_default_configs() - # training - training = config.training - training.sde = 'vesde' - training.continuous = False - # sampling - sampling = config.sampling - sampling.method = 'pc' - sampling.predictor = 'none' - sampling.corrector = 'ald' - sampling.n_steps_each = 100 - sampling.snr = 0.316 - # model - model = config.model - model.name = 'ncsn' - model.scale_by_sigma = False - model.sigma_max = 1 - model.num_scales = 10 - model.ema_rate = 0. - model.normalization = 'InstanceNorm++' - model.nonlinearity = 'elu' - model.nf = 128 - model.interpolation = 'bilinear' - # optim - optim = config.optim - optim.weight_decay = 0 - optim.optimizer = 'Adam' - optim.lr = 1e-3 - optim.beta1 = 0.9 - optim.amsgrad = False - optim.eps = 1e-8 - optim.warmup = 0 - optim.grad_clip = -1. - - return config diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsn/cifar10_124.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsn/cifar10_124.py deleted file mode 100644 index 423094fab..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsn/cifar10_124.py +++ /dev/null @@ -1,56 +0,0 @@ -# coding=utf-8 -# Copyright 2020 The Google Research Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Lint as: python3 -"""Config file for training NCSN with technique 1,2,4 only.""" - -from configs.default_cifar10_configs import get_default_configs - - -def get_config(): - config = get_default_configs() - # training - training = config.training - training.sde = 'vesde' - training.continuous = False - # sampling - sampling = config.sampling - sampling.method = 'pc' - sampling.predictor = 'none' - sampling.corrector = 'ald' - sampling.n_steps_each = 5 - sampling.snr = 0.176 - # model - model = config.model - model.name = 'ncsn' - model.scale_by_sigma = False - model.num_scales = 232 - model.ema_rate = 0. - model.normalization = 'InstanceNorm++' - model.nonlinearity = 'elu' - model.nf = 128 - model.interpolation = 'bilinear' - # optim - optim = config.optim - optim.weight_decay = 0 - optim.optimizer = 'Adam' - optim.lr = 1e-3 - optim.beta1 = 0.9 - optim.amsgrad = False - optim.eps = 1e-8 - optim.warmup = 0 - optim.grad_clip = -1. - - return config diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsn/cifar10_1245.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsn/cifar10_1245.py deleted file mode 100644 index 19bff349a..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsn/cifar10_1245.py +++ /dev/null @@ -1,62 +0,0 @@ -# coding=utf-8 -# Copyright 2020 The Google Research Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Lint as: python3 -"""Config file for training NCSN with technique 1,2,4,5 only.""" - -from configs.default_cifar10_configs import get_default_configs - - -def get_config(): - config = get_default_configs() - # training - training = config.training - training.sde = 'vesde' - training.continuous = False - # shared configs for sample generation - step_size = 0.0000062 - n_steps_each = 5 - ckpt_id = 300000 - final_only = True - noise_removal = False - # sampling - sampling = config.sampling - sampling.method = 'pc' - sampling.predictor = 'none' - sampling.corrector = 'ald' - sampling.n_steps_each = 5 - sampling.snr = 0.176 - # model - model = config.model - model.name = 'ncsn' - model.scale_by_sigma = False - model.num_scales = 232 - model.ema_rate = 0.999 - model.normalization = 'InstanceNorm++' - model.nonlinearity = 'elu' - model.nf = 128 - model.interpolation = 'bilinear' - # optim - optim = config.optim - optim.weight_decay = 0 - optim.optimizer = 'Adam' - optim.lr = 1e-3 - optim.beta1 = 0.9 - optim.amsgrad = False - optim.eps = 1e-8 - optim.warmup = 0 - optim.grad_clip = -1. - - return config diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsn/cifar10_5.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsn/cifar10_5.py deleted file mode 100644 index c641a2a18..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsn/cifar10_5.py +++ /dev/null @@ -1,57 +0,0 @@ -# coding=utf-8 -# Copyright 2020 The Google Research Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Lint as: python3 -"""Config file for training NCSN with technique 5 only.""" - -from configs.default_cifar10_configs import get_default_configs - - -def get_config(): - config = get_default_configs() - # training - training = config.training - training.sde = 'vesde' - training.continuous = False - # sampling - sampling = config.sampling - sampling.method = 'pc' - sampling.predictor = 'none' - sampling.corrector = 'ald' - sampling.snr = 0.316 - sampling.n_steps_each = 100 - # model - model = config.model - model.name = 'ncsn' - model.scale_by_sigma = False - model.sigma_max = 1 - model.num_scales = 10 - model.ema_rate = 0.999 - model.normalization = 'InstanceNorm++' - model.nonlinearity = 'elu' - model.nf = 128 - model.interpolation = 'bilinear' - # optim - optim = config.optim - optim.weight_decay = 0 - optim.optimizer = 'Adam' - optim.lr = 1e-3 - optim.beta1 = 0.9 - optim.amsgrad = False - optim.eps = 1e-8 - optim.warmup = 0 - optim.grad_clip = -1. - - return config diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsnv2/__init__.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsnv2/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsnv2/bedroom.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsnv2/bedroom.py deleted file mode 100644 index 893e61437..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsnv2/bedroom.py +++ /dev/null @@ -1,63 +0,0 @@ -# coding=utf-8 -# Copyright 2020 The Google Research Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Lint as: python3 -"""Config file for training NCSNv2 on bedroom.""" - -from configs.default_lsun_configs import get_default_configs - - -def get_config(): - config = get_default_configs() - # training - training = config.training - training.batch_size = 128 - training.sde = 'vesde' - training.continuouse = False - # sampling - sampling = config.sampling - sampling.method = 'pc' - sampling.predictor = 'none' - sampling.corrector = 'ald' - sampling.n_steps_each = 3 - sampling.snr = 0.095 - # data - data = config.data - data.category = 'bedroom' - data.image_size = 128 - # model - model = config.model - model.name = 'ncsnv2_128' - model.scale_by_sigma = True - model.sigma_max = 190 - model.num_scales = 1086 - model.ema_rate = 0.9999 - model.sigma_min = 0.01 - model.normalization = 'InstanceNorm++' - model.nonlinearity = 'elu' - model.nf = 128 - model.interpolation = 'bilinear' - # optim - optim = config.optim - optim.weight_decay = 0 - optim.optimizer = 'Adam' - optim.lr = 1e-4 - optim.beta1 = 0.9 - optim.amsgrad = False - optim.eps = 1e-8 - optim.warmup = 0 - optim.grad_clip = -1 - - return config diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsnv2/celeba.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsnv2/celeba.py deleted file mode 100644 index d7b79aaae..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsnv2/celeba.py +++ /dev/null @@ -1,62 +0,0 @@ -# coding=utf-8 -# Copyright 2020 The Google Research Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Lint as: python3 -"""Config file for training NCSNv2 on CelebA.""" - -from configs.default_celeba_configs import get_default_configs - - -def get_config(): - config = get_default_configs() - # training - training = config.training - training.sde = 'vesde' - training.continuous = False - # shared configs for sample generation - step_size = 0.0000033 - n_steps_each = 5 - ckpt_id = 210000 - final_only = True - noise_removal = False - # sampling - sampling = config.sampling - sampling.method = 'pc' - sampling.predictor = 'none' - sampling.corrector = 'ald' - sampling.n_steps_each = 5 - sampling.snr = 0.128 - # model - model = config.model - model.name = 'ncsnv2_64' - model.scale_by_sigma = True - model.num_scales = 500 - model.ema_rate = 0.999 - model.normalization = 'InstanceNorm++' - model.nonlinearity = 'elu' - model.nf = 128 - model.interpolation = 'bilinear' - # optim - optim = config.optim - optim.weight_decay = 0 - optim.optimizer = 'Adam' - optim.lr = 1e-4 - optim.beta1 = 0.9 - optim.amsgrad = False - optim.eps = 1e-8 - optim.warmup = 0 - optim.grad_clip = -1. - - return config diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsnv2/cifar10.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsnv2/cifar10.py deleted file mode 100644 index 5d87c5eac..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ncsnv2/cifar10.py +++ /dev/null @@ -1,56 +0,0 @@ -# coding=utf-8 -# Copyright 2020 The Google Research Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Lint as: python3 -"""Config file for training NCSNv2 on CIFAR-10.""" - -from configs.default_cifar10_configs import get_default_configs - - -def get_config(): - config = get_default_configs() - # training - training = config.training - training.sde = 'vesde' - training.continuous = False - # sampling - sampling = config.sampling - sampling.method = 'pc' - sampling.predictor = 'none' - sampling.corrector = 'ald' - sampling.n_steps_each = 5 - sampling.snr = 0.176 - # model - model = config.model - model.name = 'ncsnv2_64' - model.scale_by_sigma = True - model.num_scales = 232 - model.ema_rate = 0.999 - model.normalization = 'InstanceNorm++' - model.nonlinearity = 'elu' - model.nf = 128 - model.interpolation = 'bilinear' - # optim - optim = config.optim - optim.weight_decay = 0 - optim.optimizer = 'Adam' - optim.lr = 1e-4 - optim.beta1 = 0.9 - optim.amsgrad = False - optim.eps = 1e-8 - optim.warmup = 0 - optim.grad_clip = -1. - - return config diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/cifar10_ddpmpp.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/cifar10_ddpmpp.py deleted file mode 100644 index ccdcef4ab..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/cifar10_ddpmpp.py +++ /dev/null @@ -1,66 +0,0 @@ -# coding=utf-8 -# Copyright 2020 The Google Research Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Lint as: python3 -"""Training NCSNv3 on CIFAR-10 with continuous sigmas.""" - -from configs.default_cifar10_configs import get_default_configs - - -def get_config(): - config = get_default_configs() - # training - training = config.training - training.sde = 'vpsde' - training.continuous = False - training.reduce_mean = True - - # sampling - sampling = config.sampling - sampling.method = 'pc' - sampling.predictor = 'ancestral_sampling' - sampling.corrector = 'none' - - # data - data = config.data - data.centered = True - - # model - model = config.model - model.name = 'ncsnpp' - model.scale_by_sigma = False - model.ema_rate = 0.9999 - model.normalization = 'GroupNorm' - model.nonlinearity = 'swish' - model.nf = 128 - model.ch_mult = (1, 2, 2, 2) - model.num_res_blocks = 4 - model.attn_resolutions = (16,) - model.resamp_with_conv = True - model.conditional = True - model.fir = False - model.fir_kernel = [1, 3, 3, 1] - model.skip_rescale = True - model.resblock_type = 'biggan' - model.progressive = 'none' - model.progressive_input = 'none' - model.progressive_combine = 'sum' - model.attention_type = 'ddpm' - model.init_scale = 0. - model.embedding_type = 'positional' - model.fourier_scale = 16 - model.conv_size = 3 - - return config diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/cifar10_ddpmpp_continuous.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/cifar10_ddpmpp_continuous.py deleted file mode 100644 index 1936916b9..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/cifar10_ddpmpp_continuous.py +++ /dev/null @@ -1,66 +0,0 @@ -# coding=utf-8 -# Copyright 2020 The Google Research Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Lint as: python3 -"""Training NCSNv3 on CIFAR-10 with continuous sigmas.""" - -from configs.default_cifar10_configs import get_default_configs - - -def get_config(): - config = get_default_configs() - # training - training = config.training - training.sde = 'vpsde' - training.continuous = True - training.reduce_mean = True - - # sampling - sampling = config.sampling - sampling.method = 'pc' - sampling.predictor = 'euler_maruyama' - sampling.corrector = 'none' - - # data - data = config.data - data.centered = True - - # model - model = config.model - model.name = 'ncsnpp' - model.scale_by_sigma = False - model.ema_rate = 0.9999 - model.normalization = 'GroupNorm' - model.nonlinearity = 'swish' - model.nf = 128 - model.ch_mult = (1, 2, 2, 2) - model.num_res_blocks = 4 - model.attn_resolutions = (16,) - model.resamp_with_conv = True - model.conditional = True - model.fir = False - model.fir_kernel = [1, 3, 3, 1] - model.skip_rescale = True - model.resblock_type = 'biggan' - model.progressive = 'none' - model.progressive_input = 'none' - model.progressive_combine = 'sum' - model.attention_type = 'ddpm' - model.init_scale = 0. - model.embedding_type = 'positional' - model.fourier_scale = 16 - model.conv_size = 3 - - return config diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/cifar10_ddpmpp_deep_continuous.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/cifar10_ddpmpp_deep_continuous.py deleted file mode 100644 index 3cf7fd3c9..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/cifar10_ddpmpp_deep_continuous.py +++ /dev/null @@ -1,67 +0,0 @@ -# coding=utf-8 -# Copyright 2020 The Google Research Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Lint as: python3 -"""Training NCSNv3 on CIFAR-10 with continuous sigmas.""" - -from configs.default_cifar10_configs import get_default_configs - - -def get_config(): - config = get_default_configs() - # training - training = config.training - training.sde = 'vpsde' - training.continuous = True - training.reduce_mean = True - training.n_iters = 950001 - - # sampling - sampling = config.sampling - sampling.method = 'pc' - sampling.predictor = 'euler_maruyama' - sampling.corrector = 'none' - - # data - data = config.data - data.centered = True - - # model - model = config.model - model.name = 'ncsnpp' - model.scale_by_sigma = False - model.ema_rate = 0.9999 - model.normalization = 'GroupNorm' - model.nonlinearity = 'swish' - model.nf = 128 - model.ch_mult = (1, 2, 2, 2) - model.num_res_blocks = 8 - model.attn_resolutions = (16,) - model.resamp_with_conv = True - model.conditional = True - model.fir = False - model.fir_kernel = [1, 3, 3, 1] - model.skip_rescale = True - model.resblock_type = 'biggan' - model.progressive = 'none' - model.progressive_input = 'none' - model.progressive_combine = 'sum' - model.attention_type = 'ddpm' - model.init_scale = 0. - model.embedding_type = 'positional' - model.fourier_scale = 16 - model.conv_size = 3 - - return config diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/cifar10_ncsnpp.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/cifar10_ncsnpp.py deleted file mode 100644 index bee2f10b9..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/cifar10_ncsnpp.py +++ /dev/null @@ -1,65 +0,0 @@ -# coding=utf-8 -# Copyright 2020 The Google Research Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Lint as: python3 -"""Training NCSN++ on CIFAR-10 with DDPM.""" - -from configs.default_cifar10_configs import get_default_configs - - -def get_config(): - config = get_default_configs() - # training - training = config.training - training.sde = 'vpsde' - training.continuous = False - training.reduce_mean = True - - # sampling - sampling = config.sampling - sampling.method = 'pc' - sampling.predictor = 'reverse_diffusion' - sampling.corrector = 'none' - - # data - data = config.data - data.centered = True - - # model - model = config.model - model.name = 'ncsnpp' - model.scale_by_sigma = False - model.ema_rate = 0.9999 - model.normalization = 'GroupNorm' - model.nonlinearity = 'swish' - model.nf = 128 - model.ch_mult = (1, 2, 2, 2) - model.num_res_blocks = 4 - model.attn_resolutions = (16,) - model.resamp_with_conv = True - model.conditional = True - model.fir = True - model.fir_kernel = [1, 3, 3, 1] - model.skip_rescale = True - model.resblock_type = 'biggan' - model.progressive = 'none' - model.progressive_input = 'residual' - model.progressive_combine = 'sum' - model.attention_type = 'ddpm' - model.init_scale = 0.0 - model.embedding_type = 'positional' - model.conv_size = 3 - - return config diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/cifar10_ncsnpp_continuous.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/cifar10_ncsnpp_continuous.py deleted file mode 100644 index 8ea9fe495..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/cifar10_ncsnpp_continuous.py +++ /dev/null @@ -1,65 +0,0 @@ -# coding=utf-8 -# Copyright 2020 The Google Research Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Lint as: python3 -"""Training NCSN++ on CIFAR-10 with VP SDE.""" -from configs.default_cifar10_configs import get_default_configs - - -def get_config(): - config = get_default_configs() - # training - training = config.training - training.sde = 'vpsde' - training.continuous = True - training.reduce_mean = True - - # sampling - sampling = config.sampling - sampling.method = 'pc' - sampling.predictor = 'euler_maruyama' - sampling.corrector = 'none' - - # data - data = config.data - data.centered = True - - # model - model = config.model - model.name = 'ncsnpp' - model.scale_by_sigma = False - model.ema_rate = 0.9999 - model.normalization = 'GroupNorm' - model.nonlinearity = 'swish' - model.nf = 128 - model.ch_mult = (1, 2, 2, 2) - model.num_res_blocks = 4 - model.attn_resolutions = (16,) - model.resamp_with_conv = True - model.conditional = True - model.fir = True - model.fir_kernel = [1, 3, 3, 1] - model.skip_rescale = True - model.resblock_type = 'biggan' - model.progressive = 'none' - model.progressive_input = 'residual' - model.progressive_combine = 'sum' - model.attention_type = 'ddpm' - model.embedding_type = 'positional' - model.init_scale = 0. - model.fourier_scale = 16 - model.conv_size = 3 - - return config diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/cifar10_ncsnpp_deep_continuous.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/cifar10_ncsnpp_deep_continuous.py deleted file mode 100644 index 59eb95971..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/cifar10_ncsnpp_deep_continuous.py +++ /dev/null @@ -1,67 +0,0 @@ -# coding=utf-8 -# Copyright 2020 The Google Research Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Lint as: python3 -"""Training NCSN++ on CIFAR-10.""" - -from configs.default_cifar10_configs import get_default_configs - - -def get_config(): - config = get_default_configs() - # training - training = config.training - training.sde = 'vpsde' - training.continuous = True - training.n_iters = 950001 - training.reduce_mean = True - - # sampling - sampling = config.sampling - sampling.method = 'pc' - sampling.predictor = 'euler_maruyama' - sampling.corrector = 'none' - - # data - data = config.data - data.centered = True - - # model - model = config.model - model.name = 'ncsnpp' - model.fourier_scale = 16 - model.scale_by_sigma = False - model.ema_rate = 0.9999 - model.normalization = 'GroupNorm' - model.nonlinearity = 'swish' - model.nf = 128 - model.ch_mult = (1, 2, 2, 2) - model.num_res_blocks = 8 - model.attn_resolutions = (16,) - model.resamp_with_conv = True - model.conditional = True - model.fir = True - model.fir_kernel = [1, 3, 3, 1] - model.skip_rescale = True - model.resblock_type = 'biggan' - model.progressive = 'none' - model.progressive_input = 'residual' - model.progressive_combine = 'sum' - model.attention_type = 'ddpm' - model.embedding_type = 'positional' - model.init_scale = 0.0 - model.conv_size = 3 - - return config diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/ddpm/bedroom.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/ddpm/bedroom.py deleted file mode 100644 index 9a8405867..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/ddpm/bedroom.py +++ /dev/null @@ -1,61 +0,0 @@ -# coding=utf-8 -# Copyright 2020 The Google Research Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Lint as: python3 -"""Config file for reproducing the results of DDPM on bedrooms.""" - -from configs.default_lsun_configs import get_default_configs - - -def get_config(): - config = get_default_configs() - - # training - training = config.training - training.sde = 'vpsde' - training.continuous = False - training.reduce_mean = True - - # sampling - sampling = config.sampling - sampling.method = 'pc' - sampling.predictor = 'ancestral_sampling' - sampling.corrector = 'none' - - # data - data = config.data - data.category = 'bedroom' - data.centered = True - - # model - model = config.model - model.name = 'ddpm' - model.scale_by_sigma = False - model.num_scales = 1000 - model.ema_rate = 0.9999 - model.normalization = 'GroupNorm' - model.nonlinearity = 'swish' - model.nf = 128 - model.ch_mult = (1, 1, 2, 2, 4, 4) - model.num_res_blocks = 2 - model.attn_resolutions = (16,) - model.resamp_with_conv = True - model.conditional = True - - # optim - optim = config.optim - optim.lr = 2e-5 - - return config diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/ddpm/celebahq.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/ddpm/celebahq.py deleted file mode 100644 index 29eba365b..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/ddpm/celebahq.py +++ /dev/null @@ -1,63 +0,0 @@ -# coding=utf-8 -# Copyright 2020 The Google Research Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Lint as: python3 -"""Config file for reproducing the results of DDPM on bedrooms.""" - -from configs.default_lsun_configs import get_default_configs - - -def get_config(): - config = get_default_configs() - - # training - training = config.training - training.sde = 'vpsde' - training.continuous = False - training.reduce_mean = True - - # sampling - sampling = config.sampling - sampling.method = 'pc' - sampling.predictor = 'ancestral_sampling' - sampling.corrector = 'none' - - # data - data = config.data - data.dataset = 'CelebAHQ' - data.centered = True - data.tfrecords_path = '/atlas/u/yangsong/celeba_hq/-r10.tfrecords' - data.image_size = 256 - - # model - model = config.model - model.name = 'ddpm' - model.scale_by_sigma = False - model.num_scales = 1000 - model.ema_rate = 0.9999 - model.normalization = 'GroupNorm' - model.nonlinearity = 'swish' - model.nf = 128 - model.ch_mult = (1, 1, 2, 2, 4, 4) - model.num_res_blocks = 2 - model.attn_resolutions = (16,) - model.resamp_with_conv = True - model.conditional = True - - # optim - optim = config.optim - optim.lr = 2e-5 - - return config diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/ddpm/church.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/ddpm/church.py deleted file mode 100644 index 24c4593a3..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/ddpm/church.py +++ /dev/null @@ -1,61 +0,0 @@ -# coding=utf-8 -# Copyright 2020 The Google Research Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Lint as: python3 -"""Config file for reproducing the results of DDPM on church_outdoor.""" - -from configs.default_lsun_configs import get_default_configs - - -def get_config(): - config = get_default_configs() - - # training - training = config.training - training.sde = 'vpsde' - training.continuous = False - training.reduce_mean = True - - # sampling - sampling = config.sampling - sampling.method = 'pc' - sampling.predictor = 'ancestral_sampling' - sampling.corrector = 'none' - - # data - data = config.data - data.category = 'church_outdoor' - data.centered = True - - # model - model = config.model - model.name = 'ddpm' - model.scale_by_sigma = False - model.num_scales = 1000 - model.ema_rate = 0.9999 - model.normalization = 'GroupNorm' - model.nonlinearity = 'swish' - model.nf = 128 - model.ch_mult = (1, 1, 2, 2, 4, 4) - model.num_res_blocks = 2 - model.attn_resolutions = (16,) - model.resamp_with_conv = True - model.conditional = True - - # optim - optim = config.optim - optim.lr = 2e-5 - - return config diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/ddpm/cifar10.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/ddpm/cifar10.py deleted file mode 100644 index 043cce757..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/ddpm/cifar10.py +++ /dev/null @@ -1,55 +0,0 @@ -# coding=utf-8 -# Copyright 2020 The Google Research Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Lint as: python3 -"""Config file for reproducing the results of DDPM on cifar-10.""" - -from configs.default_cifar10_configs import get_default_configs - - -def get_config(): - config = get_default_configs() - - # training - training = config.training - training.sde = 'vpsde' - training.continuous = False - training.reduce_mean = True - - # sampling - sampling = config.sampling - sampling.method = 'pc' - sampling.predictor = 'ancestral_sampling' - sampling.corrector = 'none' - - # data - data = config.data - data.centered = True - - # model - model = config.model - model.name = 'ddpm' - model.scale_by_sigma = False - model.ema_rate = 0.9999 - model.normalization = 'GroupNorm' - model.nonlinearity = 'swish' - model.nf = 128 - model.ch_mult = (1, 2, 2, 2) - model.num_res_blocks = 2 - model.attn_resolutions = (16,) - model.resamp_with_conv = True - model.conditional = True - - return config diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/ddpm/cifar10_continuous.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/ddpm/cifar10_continuous.py deleted file mode 100644 index ee3d04186..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/ddpm/cifar10_continuous.py +++ /dev/null @@ -1,55 +0,0 @@ -# coding=utf-8 -# Copyright 2020 The Google Research Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Lint as: python3 -"""Training DDPM with VP SDE.""" - -from configs.default_cifar10_configs import get_default_configs - - -def get_config(): - config = get_default_configs() - - # training - training = config.training - training.sde = 'vpsde' - training.continuous = True - training.reduce_mean = True - - # sampling - sampling = config.sampling - sampling.method = 'pc' - sampling.predictor = 'euler_maruyama' - sampling.corrector = 'none' - - # data - data = config.data - data.centered = True - - # model - model = config.model - model.name = 'ddpm' - model.scale_by_sigma = False - model.ema_rate = 0.9999 - model.normalization = 'GroupNorm' - model.nonlinearity = 'swish' - model.nf = 128 - model.ch_mult = (1, 2, 2, 2) - model.num_res_blocks = 2 - model.attn_resolutions = (16,) - model.resamp_with_conv = True - model.conditional = True - - return config diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/ddpm/cifar10_unconditional.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/ddpm/cifar10_unconditional.py deleted file mode 100644 index e24722bda..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/ddpm/cifar10_unconditional.py +++ /dev/null @@ -1,55 +0,0 @@ -# coding=utf-8 -# Copyright 2020 The Google Research Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Lint as: python3 -"""Training DDPM on CIFAR-10 without explicitly conditioning on time steps. (NCSNv2 technique 3)""" - -from configs.default_cifar10_configs import get_default_configs - - -def get_config(): - config = get_default_configs() - - # training - training = config.training - training.sde = 'vpsde' - training.continuous = False - training.reduce_mean = True - - # sampling - sampling = config.sampling - sampling.method = 'pc' - sampling.predictor = 'ancestral_sampling' - sampling.corrector = 'none' - - # data - data = config.data - data.centered = True - - # model - model = config.model - model.name = 'ddpm' - model.scale_by_sigma = False - model.ema_rate = 0.9999 - model.normalization = 'GroupNorm' - model.nonlinearity = 'swish' - model.nf = 128 - model.ch_mult = (1, 2, 2, 2) - model.num_res_blocks = 2 - model.attn_resolutions = (16,) - model.resamp_with_conv = True - model.conditional = False - - return config From d459d769fa0ba33c1e675eb3bde43b5d56da928a Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Fri, 9 Feb 2024 21:43:47 +0000 Subject: [PATCH 04/56] rename configs to match dataset description rather than library used to read data i.e. xarray -> ukcp18 --- bin/local-test-train | 2 +- ...figs.py => default_ukcp18_12em_configs.py} | 2 +- ...y_configs.py => default_ukcp18_configs.py} | 0 ...s.py => ukcp18_12em_cncsnpp_continuous.py} | 2 +- ...inuous.py => ukcp18_cncsnpp_continuous.py} | 2 +- ...ntinuous.py => ukcp18_cunet_continuous.py} | 2 +- .../subvpsde/xarray_ncsnpp_continuous.py | 65 ------------------- ...inuous.py => ukcp18_cncsnpp_continuous.py} | 2 +- ...ntinuous.py => ukcp18_cunet_continuous.py} | 2 +- .../configs/vesde/xarray_ncsnpp_continuous.py | 59 ----------------- .../configs/vesde/xarray_unet_continuous.py | 63 ------------------ 11 files changed, 7 insertions(+), 194 deletions(-) rename src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/{default_xarray_12em_configs.py => default_ukcp18_12em_configs.py} (88%) rename src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/{default_xarray_configs.py => default_ukcp18_configs.py} (100%) rename src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/{xarray_12em_cncsnpp_continuous.py => ukcp18_12em_cncsnpp_continuous.py} (97%) rename src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/{xarray_cncsnpp_continuous.py => ukcp18_cncsnpp_continuous.py} (97%) rename src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/{xarray_cunet_continuous.py => ukcp18_cunet_continuous.py} (97%) delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/xarray_ncsnpp_continuous.py rename src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/{xarray_cncsnpp_continuous.py => ukcp18_cncsnpp_continuous.py} (97%) rename src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/{xarray_cunet_continuous.py => ukcp18_cunet_continuous.py} (97%) delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/xarray_ncsnpp_continuous.py delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/xarray_unet_continuous.py diff --git a/bin/local-test-train b/bin/local-test-train index 16e7824cb..b5a16816f 100755 --- a/bin/local-test-train +++ b/bin/local-test-train @@ -2,7 +2,7 @@ set -euo pipefail -config_name="xarray_cunet_continuous" +config_name="ukcp18_cunet_continuous" dataset="bham_gcmx-4x_12em_psl-temp4th-vort4th_eqvt_random-season" sde="subvpsde" diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_xarray_12em_configs.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_ukcp18_12em_configs.py similarity index 88% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_xarray_12em_configs.py rename to src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_ukcp18_12em_configs.py index fe5b0184a..abd461ff4 100644 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_xarray_12em_configs.py +++ b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_ukcp18_12em_configs.py @@ -1,7 +1,7 @@ import ml_collections import torch -from ml_downscaling_emulator.score_sde_pytorch_hja22.configs.default_xarray_configs import get_default_configs as get_base_configs +from ml_downscaling_emulator.score_sde_pytorch_hja22.configs.default_ukcp18_configs import get_default_configs as get_base_configs def get_default_configs(): diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_xarray_configs.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_ukcp18_configs.py similarity index 100% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_xarray_configs.py rename to src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_ukcp18_configs.py diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/xarray_12em_cncsnpp_continuous.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp18_12em_cncsnpp_continuous.py similarity index 97% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/xarray_12em_cncsnpp_continuous.py rename to src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp18_12em_cncsnpp_continuous.py index 3b11f75cb..8c75391b8 100644 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/xarray_12em_cncsnpp_continuous.py +++ b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp18_12em_cncsnpp_continuous.py @@ -15,7 +15,7 @@ # Lint as: python3 """Training NCSN++ on precip data with sub-VP SDE.""" -from ml_downscaling_emulator.score_sde_pytorch_hja22.configs.default_xarray_12em_configs import get_default_configs +from ml_downscaling_emulator.score_sde_pytorch_hja22.configs.default_ukcp18_12em_configs import get_default_configs def get_config(): diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/xarray_cncsnpp_continuous.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp18_cncsnpp_continuous.py similarity index 97% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/xarray_cncsnpp_continuous.py rename to src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp18_cncsnpp_continuous.py index c3a2b22b7..d58d2227d 100644 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/xarray_cncsnpp_continuous.py +++ b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp18_cncsnpp_continuous.py @@ -15,7 +15,7 @@ # Lint as: python3 """Training NCSN++ on precip data with sub-VP SDE.""" -from ml_downscaling_emulator.score_sde_pytorch_hja22.configs.default_xarray_configs import get_default_configs +from ml_downscaling_emulator.score_sde_pytorch_hja22.configs.default_ukcp18_configs import get_default_configs def get_config(): diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/xarray_cunet_continuous.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp18_cunet_continuous.py similarity index 97% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/xarray_cunet_continuous.py rename to src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp18_cunet_continuous.py index eda2dd25f..5059f077a 100644 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/xarray_cunet_continuous.py +++ b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp18_cunet_continuous.py @@ -15,7 +15,7 @@ # Lint as: python3 """Training conditional U-Net on precip data with sub-VP SDE.""" -from ml_downscaling_emulator.score_sde_pytorch_hja22.configs.default_xarray_configs import get_default_configs +from ml_downscaling_emulator.score_sde_pytorch_hja22.configs.default_ukcp18_configs import get_default_configs def get_config(): diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/xarray_ncsnpp_continuous.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/xarray_ncsnpp_continuous.py deleted file mode 100644 index 5a539f062..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/xarray_ncsnpp_continuous.py +++ /dev/null @@ -1,65 +0,0 @@ -# coding=utf-8 -# Copyright 2020 The Google Research Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Lint as: python3 -"""Training NCSN++ on precip data with sub-VP SDE.""" -from configs.default_xarray_configs import get_default_configs - - -def get_config(): - config = get_default_configs() - # training - training = config.training - training.sde = 'subvpsde' - training.continuous = True - training.reduce_mean = True - - # sampling - sampling = config.sampling - sampling.method = 'pc' - sampling.predictor = 'euler_maruyama' - sampling.corrector = 'none' - - # data - data = config.data - data.centered = True - - # model - model = config.model - model.name = 'ncsnpp' - model.scale_by_sigma = False - model.ema_rate = 0.9999 - model.normalization = 'GroupNorm' - model.nonlinearity = 'swish' - model.nf = 128 - model.ch_mult = (1, 2, 2, 2) - model.num_res_blocks = 4 - model.attn_resolutions = (16,) - model.resamp_with_conv = True - model.conditional = True - model.fir = True - model.fir_kernel = [1, 3, 3, 1] - model.skip_rescale = True - model.resblock_type = 'biggan' - model.progressive = 'none' - model.progressive_input = 'residual' - model.progressive_combine = 'sum' - model.attention_type = 'ddpm' - model.embedding_type = 'positional' - model.init_scale = 0. - model.fourier_scale = 16 - model.conv_size = 3 - - return config diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/xarray_cncsnpp_continuous.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ukcp18_cncsnpp_continuous.py similarity index 97% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/xarray_cncsnpp_continuous.py rename to src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ukcp18_cncsnpp_continuous.py index e21422a76..691000f2a 100644 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/xarray_cncsnpp_continuous.py +++ b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ukcp18_cncsnpp_continuous.py @@ -15,7 +15,7 @@ # Lint as: python3 """Training NCSN++ on precip data with VE SDE.""" -from ml_downscaling_emulator.score_sde_pytorch_hja22.configs.default_xarray_configs import get_default_configs +from ml_downscaling_emulator.score_sde_pytorch_hja22.configs.default_ukcp18_configs import get_default_configs def get_config(): diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/xarray_cunet_continuous.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ukcp18_cunet_continuous.py similarity index 97% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/xarray_cunet_continuous.py rename to src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ukcp18_cunet_continuous.py index d29614cac..0bb63f147 100644 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/xarray_cunet_continuous.py +++ b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ukcp18_cunet_continuous.py @@ -15,7 +15,7 @@ # Lint as: python3 """Training UNet on XArray with VE SDE.""" -from ml_downscaling_emulator.score_sde_pytorch_hja22.configs.default_xarray_configs import get_default_configs +from ml_downscaling_emulator.score_sde_pytorch_hja22.configs.default_ukcp18_configs import get_default_configs def get_config(): diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/xarray_ncsnpp_continuous.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/xarray_ncsnpp_continuous.py deleted file mode 100644 index 78e0fd9e7..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/xarray_ncsnpp_continuous.py +++ /dev/null @@ -1,59 +0,0 @@ -# coding=utf-8 -# Copyright 2020 The Google Research Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Lint as: python3 -"""Training NCSN++ on precip data with VE SDE.""" -from configs.default_xarray_configs import get_default_configs - - -def get_config(): - config = get_default_configs() - # training - training = config.training - training.sde = 'vesde' - training.continuous = True - - # sampling - sampling = config.sampling - sampling.method = 'pc' - sampling.predictor = 'reverse_diffusion' - sampling.corrector = 'langevin' - - # model - model = config.model - model.name = 'ncsnpp' - model.scale_by_sigma = True - model.ema_rate = 0.999 - model.normalization = 'GroupNorm' - model.nonlinearity = 'swish' - model.nf = 128 - model.ch_mult = (1, 2, 2, 2) - model.num_res_blocks = 4 - model.attn_resolutions = (16,) - model.resamp_with_conv = True - model.conditional = True - model.fir = True - model.fir_kernel = [1, 3, 3, 1] - model.skip_rescale = True - model.resblock_type = 'biggan' - model.progressive = 'none' - model.progressive_input = 'residual' - model.progressive_combine = 'sum' - model.attention_type = 'ddpm' - model.init_scale = 0. - model.fourier_scale = 16 - model.conv_size = 3 - - return config diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/xarray_unet_continuous.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/xarray_unet_continuous.py deleted file mode 100644 index 468d84aa7..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/xarray_unet_continuous.py +++ /dev/null @@ -1,63 +0,0 @@ -# coding=utf-8 -# Copyright 2020 The Google Research Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Lint as: python3 -"""Training UNet on XArray with VE SDE.""" -from configs.default_xarray_configs import get_default_configs - - -def get_config(): - config = get_default_configs() - # training - training = config.training - training.sde = 'vesde' - training.continuous = True - - # sampling - sampling = config.sampling - sampling.method = 'pc' - sampling.predictor = 'reverse_diffusion' - sampling.corrector = 'langevin' - - # data - data = config.data - data.image_size = 28 # u-net architechture currently designed to work with 28x28 images - - # model - model = config.model - model.name = 'unet' - model.scale_by_sigma = True - model.ema_rate = 0.999 - model.normalization = 'GroupNorm' - model.nonlinearity = 'swish' - model.nf = 128 - model.ch_mult = (1, 2, 2, 2) - model.num_res_blocks = 4 - model.attn_resolutions = (16,) - model.resamp_with_conv = True - model.conditional = True - model.fir = True - model.fir_kernel = [1, 3, 3, 1] - model.skip_rescale = True - model.resblock_type = 'biggan' - model.progressive = 'none' - model.progressive_input = 'residual' - model.progressive_combine = 'sum' - model.attention_type = 'ddpm' - model.init_scale = 0. - model.fourier_scale = 16 - model.conv_size = 3 - - return config From 53784c7beb1329b66228a2f2089a8d75e96b27d4 Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Fri, 9 Feb 2024 21:44:28 +0000 Subject: [PATCH 05/56] re-instate vpsde configs even though empty as so far untested --- .../score_sde_pytorch_hja22/configs/vpsde/__init__.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/__init__.py diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/__init__.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/__init__.py new file mode 100644 index 000000000..e69de29bb From 9801aa0e39495b22757aa4cf1574f2870df63935 Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Tue, 13 Feb 2024 20:38:33 +0000 Subject: [PATCH 06/56] remove asset files related to original SDE paper --- assets/bedroom.jpeg | Bin 77639 -> 0 bytes assets/celebahq_256.jpg | Bin 73382 -> 0 bytes assets/church.jpeg | Bin 124201 -> 0 bytes assets/ffhq_1024.jpeg | Bin 142695 -> 0 bytes assets/ffhq_256.jpg | Bin 71775 -> 0 bytes assets/ffhq_samples.jpg | Bin 119981 -> 0 bytes assets/schematic.jpg | Bin 519717 -> 0 bytes 7 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 assets/bedroom.jpeg delete mode 100644 assets/celebahq_256.jpg delete mode 100644 assets/church.jpeg delete mode 100644 assets/ffhq_1024.jpeg delete mode 100644 assets/ffhq_256.jpg delete mode 100644 assets/ffhq_samples.jpg delete mode 100644 assets/schematic.jpg diff --git a/assets/bedroom.jpeg b/assets/bedroom.jpeg deleted file mode 100644 index d9d12d92d900f689b1ecdd864c64883579fdf9b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77639 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�>slI8O*HYcK*H8lZOtG9 z3J(KsU-D}@JFz~h;iXufMFKF`$tR&6!vxn@k}PrVK)e75^!Bf76DM^O<`c3lM`{aX zLxTy*WaF+u{(r4yYF8IlcQ8!sAc|IwB@RZ_JBi6Ym3q zbe<)aKBXCV0)B?MIhQ?wcQa;ye)8pQ(d59)fpSS1#&PsD%{G+sT}?II?vRNN5q?rY z&r*5Cc1BD_s}z1x?ZAwI$L0C{70YY#6J*O8tYzC{DIGEoAcLRJ(yEhw(_!;jT@mPs z3Dl%O$tm96S@d8309|Z0p9{cNSYkp6z)_EWx$DJd=(=#Ww12#kBzOdju>%~8{$Gu3 zc@kek8D_YI>|dM!3C=kf81&%h`B3dCzEMI_xsg7LV)7J?Ts&taA;}+H)mc106uVU} zBt_gw#s?ms&;J0e->0{Ti*W9SH)RgNx~c9zDyp_l*YXm9AY~gIF(*F5xBmcIo#nB& zw35*?kH6C;xASF7nO_W8F8=_SsTn;x0!Qar+QyBj>W^!2Wo>f;d7>+q-~1ULI9%j` zlb^30$nRw#CJ-X8oD`K-Im(YtbKax5A7>8Fa2IIg0fh#(rBYYb6ze_iXXy4aX%>xX zaQ%VqkX;dwTG5+;i_%?d9_W4Weo;s6`Kb11)Qn=JET6>3Qoz+9LHg^yJ$vtpRO=zt88qXI6vOQAw zU7t;oCY4_902Nk36@Frw19G3bK?gZJ6W6U(n^d-n-}_6-NTNlINXU$K?qiVM4*-$} za&jbAvm$iH6SlTGR zcPmNd`HVpd4hC_No_zr|%0&_-(VF7p%znGDd9B?*iRAfD49qdp9{&KXWKS3GSYsd_ zwT()RGL;C)nsDCR@I3GQbk(TupxzWd?DXK)0>>F(GRy6rwDgT)nHzIsc26}5ysxoO z3ma~A>f2Y6K#dKtyUlE|)IOs8qbZr`P9EZMeZKy$UfJan#mM-D8qz=qsU zr(s4Ru2YR@>~Fz5kf560q9N_n?Yjtw1gvs6OQb`{?e6j(-KU(Fd zT5x*30#P<*Am^?<>&^9`2CH*}kDT585{HxQaQBPD5 zFb&S!fO)FzJ8n26p4DH>$5EV9OM?6ijDyygN(nvF-n&#j98JA(0bG?`^cte zH0)AFtapqYF~KLMMsRUg?e$iVhHcz%N$FhRa;G&qTwvt%?~0a&c9#0uWqxi*=O?vl zL4J~Sb-?TmdGcHaB!V;Av@I{TFHk8oJDvJSj0fH8_|uAm$gXnNQw#?nAL&{#>Iz*~ za0QM4&sv)Se2z1Z#nn0O@jAB}mXj}xiujFXOY#d;J97y_V-p5qlw z12qn$4tB;=k=*8(Ze93e`BW<(&A=l(W7eljXE+L^`ruNqfpXj)eTb_Nrdt@}+NXm~ zcEHGA*0e3`QBTYX$9~i>vns`G%)^78p0%ZIWg|EnaC>BboK}UkykG`Er{5K!2tm|U zAS1NXB*+Z=S07s1wzG*q$=rQ&(yGSlryL5q6v>00)a(Y7NQwu@58+qi#s)f8D&8O* zHtbT3U1K@hg+0$t#;(9_nvLZVp(h*+^{NYgvqoG#)f^ViHj~i(J5@>VK~t2&u2iY) zdSet=E?&CTZSAdIXHChYz-&4`CGvAr4c>Uw-%5HyJxCG;;I-{ROD4u2m0^}nQR z9vry4ESE5beBi@~&q5AxMtYj?4>*;`B;4j${W8OuT z-OETV{76+8{G-X?SKP6yHeM3d!4BRchTvy}Xn_QE9S^oE!0q)b+W-x%)X~ zW>otUI^=~Es~VvIVy}6CDHzA$P=wA;AB_$OS0q?bv4m0hREuf=IbJIo;%!RZj#QDK z;OGTX{{V!Rgq}fU@V{PqYAcCO%O;>F?)VbYmg!=8OgI(w5gdcEf!fN)?k-hel*ov=jN?k(D z68(zZMg&L?(wc3M0st8LRNrWY#zUzeT4CGwf&4{l7P>JNp3*b?Ak-~q5zb*l_*KA4 z@HaMT!4IZBrnXH5m5yIm(!SFYc`*FI=Z-Kcgc?Qe&8r9>?{}`$#JTyinqi3m;MX;5 zBr3bff}bhL{{X@{c;ptIILD`2R`9d#2kmS~JwUFoARP#$*vHa}cq&lUAv%qiFlkqj z75(~D{B>}o1g(oAYwRxC1a@`)DDhhVHvFukP zeY>a_BzHBRVGxS&mT322@Ee-)@Ay_8E1A#Qb<`u!+(>_=Z}?xpS3Vfj+f})`hEkC- zkeSKI_pNG0PHJ}59NelgX-jiI#&;4p*xN9#+iG4-WeoYoKN_#%IOA^s*+UF0uNuIysTnyNKoym>Z_wz3 zuAv_`c|G8g`&FLn%JRc7K3szbps!NXd@&vW0EcwxWwuZavf#$V5D6{Y>s(H&V|==* z%PoYX%_^h;{6~SDS8-=!szGCIY?qP<T8`gbn`MOwA&Qnqw^1P&sLV-PhJ)Xe=OAp zlOW=nuZ~AKsFgPU(D{voHqo9UjC~MPqIA#76nzC^8TOIS;X~ZCU~|d$tYw7e>v4Om z=@#`7c_0DapZ2_*h8;7_ZuLpjom)gGk{ z=#jZNK8K}Q7f7S#>+4>BY2pH8T!2A5mg!gH*2I?t1HtGknc<}uvCYbv)K9Bh+eo5Q zw6VaeyWw?K2#gqKI2Gr@7bZ{#xu$vO zP84MN(&cQ@!`@~Mk6t>|4RCje$>jDF*OoZ)UA|+~=cQ!bUnnUeFgp)XTEd%Xr=d2X zc+y)K*QsnDP&(H)sRLm&6QDaMUzvM*pX*xp6C%Op=W&slusiSuKl=5Zt18`T3OIL( z1E~jtfyfoTC9R5!v5;6i#OH!~R_p;x3z6EnYiY1PW6m>OCA*UX^V+)O8%XG?{nR$s zNWYGMGy5)5;j)a(IQ9eo0IgOexzuBArq1PDleaeVI0x#hUXZpp1wi>nPWk-k7BU>| zX7tN8e@^x2&Yk_`x$^33W6j3DHH<7|wV7CT{o8f=5zS2(izN{5ky;{80mjqy72Mru z?{N;<#4{i~2@zYKoMlg~PZfkv!l)r!sKEdZKP*;$!VNb)!N}ww@okKX748R^eo>4Z z{{WsV3j0%neMzA|D)RBOH&Ou3J@8NDYtn8kZRfyiIAkE_E`hP{&weU|{u9yV%gLtM ztele~#y2VU$o8iSF;7OrpUCE|$he4GLJB_fle+~#KAkXdN3XZ9P?xp~ACR{Q7BvA> zw`_6#f0ZKma>Y?luI-=~hOi#1h~_pF_A4%Q=|ZnXaZ_($~ERL2Y~i=2=dhw?QM@a3$Klw)vM zo}%tvKU#lPs@>Z`&D8VzSOj{7=i9C%iuFllKXr0>Bx8*8pVF&p-XNP$xwN!kz`{wE zP1q71igEAFb`y9G$%tILl*=!jBQXcBP(khAHBx^G*jwAXHJoyl&)><(!Rkriap_$g zvWw=EHgZ$wSF@iGqPG|rsyEtnvq?0}5yQI21Z*-FAx7>9=W#uI5^5>!+f9*79%?4s zv<%zS{{XtjkUCYHyVU;7Syn&?n4FfzK4tW+X}HW%i$)FihrIjdwuf{vN#u+&hY^x; zaC6(A&!>8%o)fW(d7+l(a`D0ECSuCI58New>FLj2e*@7zr)_bo#T~ry%40c^lm;u0 zamN|`YK_LZX93isdzcZLAsVYn0ngC=Yfe_3jO`w##ihNpHc<;HbqLdf9(m&bJHvkkW;~Z5BxqPFY z!{!wsm1c%nmO%03;O963w=Hd~ue3W^K#hw#Ww0`ENc5<5y{4UwV^@;TxywUvn}%B~ zIRpx{k|cqFW(1BhJ?o)e4#9?YuN|@~-M@$IdXh*y7eP%s{wb5p47$h=t zEK0+VQJTYzcQmM=Go+*)y{oI$gv+5tZ*M7K5DT<_8V=uG!Ip>Zz z!KuYlv{AyPc{W?JS%PJv*^qwzdedKYiVFbDqoFkEubxo2eg|(#qjflq8KrOC<0OOl zALc8HF>+cCL|3QGl$FMDk{o+ukIK0z_eVRVncNOJ{VTbS$~lRUjl2F}JBor&4C(h5 z9(=}0Gu3zDPt*$Op)Y3r;l-Xz8zZeGZlT6NU{5(T%;9lO91uq*wR;vhNgEkB7{TK- z%wW`wiE*?Y{nYfR@z@Lz)KCH5o=+as!H-&YK$u%C2*ed)5$QyqH zsVA?sL#S$L;Fe{_b?nDHLK?6M)0x9+`ILUZ7>;+e3fSCZ`DD=iNLMY6HN=Nyn{aAjFZ6Q(8#hm0?$*y&k0K!+scN*pKT# z>%~ISZ5&{XfM{6(#^pUb3dr92p4I0KwO!@w=~;7MZQxZoH3$4Fg3POz z8ocV6bx2*qQ$D$Njt5dInVn1S+N0_# zllQQ8dI_Z7uU2k~}4g+f9|yO~t`)kn05f<}LxYaCTb z?#OU`4xS$pY4S&wc8K~o2b#BUsn}dG33U-;+jb3bR~FBLp~gKiSl3a!K#`Rrq3>O^ zahH0TNi=&2ARljPH{q+ubpHSn>Y8ML#cbH4Vqh9)0N{lroHwOK`Em>zZb*bK-M!Zz8v~P&}n8mNl^)@j0E6MHUEdcA&81G$uwzpwpWdXXL-XD|?-bsV`8uMvgO2=hnoK?=t?FEkv zKMGdEt{t=Wt{8aBNo$`dMLVl5;VJ+J(~>BcT+*&3MltF;kmPM+jQs<1T1x5KOvW_% zmEw1D`5s=!D~xnCpL=Zu?Xtkq1q$fkgV3u3{VNOp65AHxuV#!zuZhK>CWRy1W-S^7Sn^ z1JPp(pVa>VO1Ts(D(>@|L+Ti9{DvwO(Y3nB%e1taD*Bq_#A_p>lhZ){&~wQcU-xPwdL-&OBBN$qtd7F^y?nA7tDFcY@XPx zT_x=7x*Es$ZYQhBIWa7w)33co_h``;$pG`Wy<`6XYNDe;PSqU`rDqHO04`SBA!X~& zO6H9_oYzM~_Um%2K?LJ~MQ2Z~f%2dT4+IYNoh{Y7e9GZYIRN*nlHS5j*%NWc2W~5P zQm{J{+~2&T0GuB6RU{=yCnvUPo@$iB##Ht#(xLs~V}|M2*6~RQn&w#^+BiWZWQ>m0 zcGbkTh@b!?1%AHuog9KhkpaWwaQcr*E!@Xpko#0N3uo(3m0v-}Qy%0SOSzNyK{&34 z#!zh|_Z7-(n#P|nD-_$N&M*}9`t+oO#F5!r!5cIS=T!9-284qTD|{OY~Tgh;aafG1T1r~u=xd*-HcjfZAi zWJ%FXZZ?C<1J;RlCNRTr$0r};)G$mYTpTiEl7}TvrYg3fZT6^;#LOHV5rPAc_PFRj z6U{rTCJ9;CfW7FukgNp76o3|2$zVF*WBQNBp|yK7RM+E-hb zwhCjGJ9II`vJJffJRhhT#a@acB;F1R@XT9wN8~CcE9f@7$l)RF(ZiMwxeNi$52k7x zn1Mh8Z3FKX2iy8)tlb4DaVw$D;K)bytO@U0SCh$_=0?Cm0tXoHj1CSDT203MpqV?} zx;r77Hf;xH{)zofdwu=H%5OPL2U$1Jw@XhC$sOl1VnaRqQJQL~Cs}D`W z{Kk@>GO{!-JR#xPWZxaF{i-kUp(Hodus_IFaPU^1(u7Gh6^)ygkSJ9ixhq@kd35d- zqgUgSvM$y7=M?pl-UVTC3}i{w+=d^QKtBrFQ*G$PqSr%#)x0q-nJY8g2ex8Fa;H0v zcp1;up|RFy(%=^BkFw;kRXcYdf6A|Tio)L3M0;z5nmG%7)&wc^82Z)(4!1L;Wpb?8 zJoYuRSBaFBncP`w3p=Wuh6HizT2Z+wIP5sCQZi$>S3`_+u8Q7W$O)|1U?(xgCzIUd1Z->xaa)lh3{+F z?ZIKAUUrkQp=);uv0*wA0p~pOdkppCx3gBNeUC|jQw4m+Vv&KIx85KQ*sgNeLeq)n z2g!%`jG*C282Ns`;ty)NWS3Q+?MgPY!~)=ash+s@%{3Ih9;d7Qn@+7>Sm|SE>lV>C z$zn*()g4EzPp0efUS2J+8w9^9V~qa*`tpAvT%^P{t0-pqRRRJ#rpmDd z4nFGt0Q$(L*D2fmlSkRf+U)OVfaw+z#2KWCk;SoN^F-iqhty>7e!Y8gdTEXH$V8E; zV5NJUe8)Ar2Cmas$s?aJb~CO=pd?lexm0f{5Cr7lb|;$R$4bc`Dahd_p7$@RLC{90 z@j0hSV{I~&c#hv^G>Cj-Suyi* z#Y!2cb0ae6aR)j2k4kl=-d&+AK?8CQl~_t1APzCpilgTkzj@v!`G@-^sR-!Sc$*Qo z%b)hM%|iD^24Ku0JZX z1?){We8Ur#+U!O`A77?xne!PHop3^DBiovuOO;U-z+gcH9Cs944%6-LWpxr>ffF&p zOr-5&*@v;uKjc=dvf0arxmAwgRKql9AzgZ7C#dQ{uRfPrSv2pmT)bul8<5Cxu=;~o z+NZ=Tv8Se=Wg<9?5%z~eyB&b^!0*@j)!bG(PZH|-E}0I=V_EK3^(WMC9&!pPKO}pLZ68z5`R&rG%`}q8?<9=u%u6vj$@Qr6F-67)KU%Pad4D$^ zf~$RUNvleQRYAZfpzleCQdmgyQ`3@1tzARF=k(1{hlw&t;8oNhfHRZSX0fQwntKus zGlBUvOq}vF(>&E_2GqelOzWMg<_!;MBMtl*X-0?l(B81;Y+A%|d$9PhPZ#a@d=7NgSn4GgLZv zsTM*h+-8uF9OTjxr@d9*kxH${6vc98Q2a354;ZXV&kWjJ67g<|LVFyF*WO1ssZoI# z&t7UJN;2FI4*Jr4IrdM2qwcU3p3E5JXP>7v={J_J-bLliqhn(vpTfNV08p}hI^@Ft z0C4Ba&!9Ep<8YqI^G9Q9bGcNEimi2Kw@|W?$Q)IrZfR3*o1N9ePev&_=yDUqv4~;L zaY=0>!7|K@Rn+7kOjXTc0$*^zsTt{1h~wDTvkBTL@vGi5(DkhwRb5+6iscC1j5znL zct|HEywAY*;@4F+^05(5>t2r&5uU?7wdg`z(L1S4N-D;jBpe>utML^)Rzy;6VS&Y6 z6Do66V}6CpsJ6kL-D@u*+Ti@h%9E6H-mi<)c*JggQgL2quY6Fl(ynFG63ScoW6Bka z8$r*nttm8tU7m?8!k`W2C>Z3EUS;D;+cSS4ws2lR4452e*17Ay7wVd-2;f(fTnX?eA7bTGBHNSKuM>rr+Bf2NsA!o8RDhU^D0wj#l_@& zJl622J$U5RDfI@obv75bP@bpDkbo+KU98L*&nKZHr@a6SVObwNfae~ytZAjt&)PG8 zPVwfkW`!lZYuk1hG0V#jqkoNV*m$DLP~k2XDSzjb!~>r|dK&Xtp~FFB_wGY#>uarLh#veva-Adzc!%NKat=2Q3@ z-?8!31w!f;Y^~l~bGJW*a@5PDmEi7FaSHa9hivTY(Qtd@R2#~M!CrkTowm7Ss49y~ z_}riQXD`UrEY4y709>sao`ty|n64R6oL!`jm`*R@W1aU8n>AKK276Q7mRy1eBZ3WA zk%8fX6h<~2inB~rPC@*$T)wR!ETjx%^~Xx+u4Eu!91iu$>hmuAk^s$mI7r?^&8}Or z)u>g8Ng(bYQ&#OW=ayA00mvUp%(1wMW6zj`js{!|Rj4l3IfJaqNF$xY6};gqwP1|n zZ5hzTB1so;RPYT&rm{n<$0NQIaqUckRCOg?Sh6z^2gsIK*8g#*6CAMG_L(U!>^l4%=7;Zu>E_3J^n zMP2f;3=RP`#9VlyDAByR9%&CiqX2$2jXt?~IU86+Jvy4`jt*_=Wa}lN=(ifYD42=2 z9=YjQcOE9QfalCYPdk+E{#C{}mVRfQo6{zkv95Uev0V_s!EWwLt0%HLBja|CMe;3+ zusO+We@fVWN_|T~nXK33ZIsoJVNx>X`RM|9#k~Kn9rZC9=05BudsQ3KqMoy)P1dqB7 zX(OG27IA}~Ju5jieMQX5wt92ht0^i5M!>6pKMJ$utWpENEW`o}d;XPH=J+Ui42p<@ zCnu)_ll0=UuWvU;9HQk+LAP!V#ySjtpZ>Gvg7}z?f3?9R%^yb~?F4dm_x#AJSJ#kP zM#@=G$@fk`$?QJ0hjFb$ZcU)in1e5p2_xFEb&XCtw*BOvB!2x^_WuAq>z&v4xl%1e z(!16SkbxU9U7&I70Ia)xLOr4>iisk3DI1&@B;*mu{{U;~aC?f$miS8$WX{&(4cvNu zRZVW1D5GnM*DHa)I1QX<134ss4R0PEKwsA~(P zl}TUExKuxJun8bzaQ^@wN{dtR4Dy#)a~NemFc@L@cCI#g14>CGlic^N`czt1p6oU) zU+XuQ&dn@@CuBp$1xuk$VtG|YOJR18^X*vfNzG_z>vOy{vgSc2e)z%1=zluslv0Q- z&fZAYNK8^jB9dR2sKFff8g6Pb$WP1)Cp1p0&?}l}_g>pz+ba z&wA|s7*7q~jjgS&B1etmehTL#4EO2K(s6BQHy70%rkIdgSeSs?fMa$#n&mucpxY&y zUs|fGDI3N*;vPBHpwusKbl4#BBZhsewYu#DAJ-L( zXi6_ub>QPFwPN73Tbx|iQbC|eXBq-!Vo$Gc=}T=b+!|y_7Iu-4%hwdL2;+=KrCV$c z53?RWJ}RZH$Cm&Rx6QDtD-na&r|J1uO4p(EDLPekdc6$@t*#*vTuiJM@mpa(?4G}+ zSG;z&augR)@{&ziY5dsIMlQ<&lmVNCIXoz;7tzTztdd2N6pxg5C;tG|O{1!$ry4C^ zQ=!sjCqY5j!bkI|>;xWG-r0;wUg#kEt}+p&P{6ImR%5pGv-#?Ark?%_foZ&ux%1(1y(P*KFGGM4bDI*v^{;JRx(C1>IJ9=c} zKaYCtqnFNF%R(HH^Aqq*F$Qx=&5}(Co#BD6Xyy^RQghe}npk9v2XTPa4_~DKA>)c( zoKp0lfM@{;%3+5iq0dSbjE|R^Oaa9N0n&gTTPM(tX{U2{>qr3Wo@mVgNRn~2hJ7kQ z*r&~t(9|je91;a94Tl5)pGp`OAV&LAoD74UW}kg@v$#|kQP!zs9;TcM?*o&^Kzq`# z9Sx&-Hmie^>00RJkRL%@`^cz>0aA91;wjP2OLybE^0+K2nM3LV3%tnf2xpd zZ)&L|p$;?Cnw;&qgrRI?WFJFKASJb&#ALI7oqD4VzlB+6LKL~c1ZBNCkL&tYEb=*q zE0ib9i0wG<%`N`11Zun7i3$zKyyyHWiJFad7XJW~8(XeTW8dpgTBnf)BqJvu!Yc~r zQj*}5LFJ)5;N;aTWx1ze7H+R6yKrT4M`h0fpwAeloaT(vKm_7}&p}2B=~5sgs^*3? z0wxTnjE-t>*>9Mi!lT?l8K817G1idHO&{!{S(@?#I&A?|Nw9)XT#V;|(zgzsrQEmr zHO#ioPYW`KU;F8B!}2xCzqR^=aQc(L3c{{U5AgTyY$<+a?e5aY|25}^M8 zfUvCf>WyutjOlMYQ6pQo*_Bit0orgrwMI>QP@3Iiz(NKc!tKfJ#ZkUih5%t?R2=SO z^B<)(pmeueh^3L7j$b?x?OdGlXL6?mM|pQM!NtLkKPfrtd+>R#W9)BlFYjGRJc2vd zP_O|IWVSry7h&^N3z!yLffNWpA9x?(ttr%KPMmit+CU70BO7Yg*5rYa-lep(e94`; zQ^q;XJ-5Z4cKVD_C#}NzSg7NbZlrQ6Z%Xm5v!gPY?mX!8%u@0I`qnmgu18O$R&li8 z)h5=$af?=GvgqFu^o>CIcg5_c?#>BM&btUFhVBKpww5^}Zj6iwubCD?P6uOJ`ag*E zJqAE*u31w#WIr;W!nciH=N(Kk-Y3v*e>#bY+<2}VNcf|tU7|&)L~W-(D>4GgeegP0 zTW6@*YH|6NcQMSL?64>D?fBN*$?S4CIK4}G^rgwgHF?js6ueVHWc#T@9Mcq2`f*f9 z;Nu|F(XeiwwOF1hV`fOtI60=Bg5~ved=jmZ+Oa%SWA=?a+yFt0f^a)~`&Qz)+JqIu zb*Qfs{Q_8z-DM!)R(0vA(s3G>D?GtZC!YE1N+by&CZcj;nbYP0PCjalm~PH^0Qx`$ zzpt5b<&}+h)Xmnyi-_bL0u5xe-zdT9Tbj?8EvVbUQ_XYS7b*uBuS$%s6UxP}d6wh2 zYkP?2KnYR^73!&lU0nh0cDdp!J-0rRl_oK_5x+ge1@l_9xiBa(imri^XiV~+JtRW5AX zobim;nJV+GQ75tKLV~3dwwbH{0BK7yg~Fj2HKQxwvHI67;dA@zk?FVk*F|!18T=_? zpp{!9@Xy>Z7I$UXWEcaWJ?dDSZs5Cs`qnzJ4Vd%SJvpbzGXO>auJ2}It4SJC-9?a~ zZo%w0s?8%Y%I9e4Dy_RXec10;95W{MTxXA%56+HT0-rK>W8!G{C~cunO#4-(xKkOx z#s^_ps!Fy;By}|?xMRT~RCWTUbnfnNN~V@Bhe=e1PtS^%$PSCN2P4$hNxO5#>;Y26 zeJo_`W1Mn9km_W%WCS<&m#^biT5mA}EATKs z-Z-guLQ!U8M94B@Z&AfpbT5Io1Jy-bo<}_H!94TYs_s@Tx?HFoMr%ab63}F}g-|!j zIPbx$wpzxqru?v8xkVr9S|=6KZzF(czi6ob+2ArsS&C|ho;WI znXLDDBs->NVtcX8Pvs7Je~lYB7#~4WxnrV3YEs>hBAgryk7|5lox~4nkRjSYQn>5I zNU5GM1t%`!NudBZ9{saT00Ou|PkM7H+%}Z}_oo%x>GU)eafD}+$j@q!400EN+od4+ zMg|)+c7{KK8^zJF)n2=63pHWD+W7~AE3|nZ3i*c#J zD=yO{aG`EM!5KVb7#!!ES6yjyVI`pvhPO*_0+L2{k$?ag9la_TJU4Zw$0yovY*8d) z%_|Zyz!(F+<|~Nt-m!0^Mz)p!%90@l<$hITo<;{C0qfU4jY5@1`y_dDXz8^N7}#0r z(OVr!B#u?ebk5)h%f}h$e>yGvQ5?5q89#Pg%Zw*{oOJxF!`}T{P_&)oWb%rV{{Y?R zC9#iQ)!le@>_`v=0By@|>b-!)bK<$FS+1i=GV4~&yt{h_w~Rb2Cm=|hhwi{5 zB;(g3@~mk~oo#Vi$kMyIc`oC*wlX_pp&*fvJ0952IPXtsq@FZ45=P6N#em2M7|HzW z7UNcm+^*;S-f&0f&*zRSCsWtf>KP(|2twp_#z6l7AL(1FQ>g801<|K_;z*K0usHt! zeU~{t!?k9M<9CA^yo3xH8;pAj=cc%Mmn_H!qQ(Y)ty_my@}Ll^1^QQfD8in?+@AH? zF@i@uw`Q_f9G~PWN15bu#POPZHt%rwQIp@>-nDJ6fcq78mKXyScFO)+34^c9i^)UA z<61FUMdh8tk<;FgX;$EpOB|8Yj8<-O*_F!oMUVJPTl%J9cnbj05zn-2vVWG+9iWRz~0TJ%RrKJ?lwGS2#Rl09Nu&FJtL4tTY@s zrMQs@$~X!bf3@pZ{3h#V<1HxAb01J`4d?#>u)(=M{J6AlRHJ?>jx(!Tpj;01EmN;j?ExPaatq z{0)5n0DePVUb28UG5&Rp2{|Tt*)0^D>|<*4gtkUb8eW`L%@)a4#cpPZZzmx7f@>!A zTH{iJ*n&0={khI-rc0^y< zBvQF9jKrQgukzxwbiw|Q_rCDXS*k0`sWi_GNp}cVV4@(waukqqPv97RYd1=gZAFnT z8Jb;;e2J&41y20HMJR3dPyBi3GJl)nmF~gW(TnKtJYSivx4|z=xRW` z{oMU&>w)Q!Ny(mKiKQjHbH}m3Vei_ouk^>X`Op@Ko~Nj-t9#T_wfOfPs%Z;Kt&j?z zOi-l5l^luo=|IMK=~`Esb{EZqI6YRg7!Z15v_v&w4JQ=tywXz>6Ri}drf8rLl$?|8 zN@$=M0o+rR62m@}+E73_pb;?1!Ou^6xovb}IQOb?kVYxs1J{gu(iy!Zit#IkZ}5Sam^sd zY6;CZ9Mb{k(uEx0bDB&X9{uY=-X%p=7-HV_E!b&aLO3mnVY@4y*y~m#wrKDW?+3Xx zB9QsO0|y!JQ+at(5wrE_Sh=%xO(at`@#B^Hm1;i5dMmDb4D(h@Qi49~4x`gP^v47^ z+;GHlDCT42L9NMek|lO_LO99C_*YN0P)4{45|vAI zEMH33_m>w3m3a$*dJm;j<;FoZImEpO$U0L%3OM0wf>UzT`nbVGSY|ei`&B#V4QVbw z=x{#@wJfT5Tnf#-SNkla_FU7VpE@F=_gRVIU-g$qKi&SdyL96_Po-dZV~4q8>c7^v zE(Ym$dvROhRqHb>H}KAMn4=&pnIv(|KVlKoJAF76>MXh|$+h%bBgb8XKdnPAhdeiZ zg*LKTG5$DQ>t04|I;^ z0H6iVM^i*nyetUg+NmU^fZd$>=B9TU$?5d0oHZ|+=8?Kb7$6T(w>zq^AG|KVbexr5 zKPs#z!3qE%bwwwnhUi#15mSJqGBQNI=I-4Cbs`7F?Z*8ILD+D47s^!wL^l zIW!40Qu34>fq{;s(x_EX{2#-bva1f$87xC&CBbY#fS ztsuDqs*>1lDB3q|&&qh|(x%z8<+$|Q(v_5qF(FVMR1D-$JD!=W>X&-Um(_1)n{EO^ zqhK9>gaOZ9YZhdQ?G14;w*^A1Ky$9PhKn2 zO(aOemvN51wIaoXj{fxEJhQ;ycdJ%*-h7J0jg&S7wpw#tx0ju&I=5k4KW2{5n4^!k zEsnH&kwyYxbJy0Dal3P8r%d&(Y1A}GY9M(AK?k=rVd5y8v%ozMdJ|-6<}d{p&{JZW zr)|XH0md=yShi9j*d2E&oM)*WDmi0a@%)ST^Ha|z)%(DX+2|?=WLIKeBo4&&t*EED z*M_6*CYfq=jg!nq*h$AVYT8Zf&JNx;f!4C_WnZ|2AoLwgU$qg%3v-Nt$*#FJ(e$`z zD9Br_q+kp%?nXGMY~=~7T1?p?BvMKCIsRFsy1I>tMZxDd6hj1s(c20M;CHO#z1DA1 zq#e=pY>Z8;zwRF1)${$?e=6yi5O)v{<6l5bM0PVbVH+HN72ukLt#fO8D`j@R6>*OB z&4yNtjtrjHsB>4_t#9I-j#)YSbgOX8&2KgV%!~*=z#r>XH93Uvp+9*(QY)qK#+e?a zqs$P7ySHyONbWKBe?$6LQrIcfwjxoB({dM)RC#ie9aEF;2mb(Gs!eSz$VuKZu*Az7 zIUHvjvGw55s)->($tRlpBIT3cf%G_jd6@rz=>srDsE1~99 zdFaXqdv~WtFN8Iii)|6b8;pOlL!Ntm-_+MP;aNr3h}~5Pi(!x!=W*b4?bfK>lA3p1hPng?HT3$atG)?K4VVtCZ%N?Y`EMQU>OGOzfbV0_xhHje;&)5 z$CWdky#T0;A9LQPlT`So%{^tjJq?UnZkc5ig$O3(ATGz8eAv!8>6)OdtpaZQ-Tt*g z-Bd}uk74d=!m)hkvB9m9vbE1*g$UA(qKDDP8%JK zWU+38^sY!rNnH4btjQHl3F+%n#XBPH_4lY1%A5je+p(PUR3=;PjMWR}a1<^8IjLhK zyHrW=qXQi(zfQF^-}>Tn*i;SAG|?jQ)KE@o0LkK)89Y;9Ag8Jm&stSpdFfMu{q8=L zu2P63CmG2DzZG&7P%sC}+|^W-V&&EPe7scabhBVF3I}DZ<#uZpk!ZYZN)Slv(vSe^ zNNoFK{3zwx$OYLP2*28*K(cH$^ z0r1^{sc>keRyz{?n{oZjp>xLGl%7<|a8*6cIGp3<>&MGPw;n`9u_WWAC4Gu~yOGN= zLKRms916W@Xt6>JxM>>)B=oBKb-V8SO!>+CihByvBx8(yD4Vv3n8y0EbN9D0$+=xY z;FFMCdh%)@?+g+}6p@Dq<=Pt~^E{ejBizdhnPy0i2bdV;kMyS_MEBAJR+>2YcbTz| z@vb{)caQUuTNQ%snpqFckr~I(nsfsVBgFE-5F1o53c2>C#WbrbhL_2B#sn*j9Q5L? zPZVG%bwr)UK#|E`ue~%T%*%+bRXBz-CwC!p^}z%AQdrzvC9Kh#R&|VI85}rc>C>fX z++{7AHkA_S#zKc1P<1-YFk+HY-S0@v*G@Ku#ch96N> z#B(MrN}n(`?eUDaKJ|KQd*zNP3_fB78zl2H{{YviV3KQyTwYuM0IN7>CusxJ`qr^z zGK20Bq%A5eLyR^zlkR&}IU{o;ZQLU#3Ql?aYS4lgPb|B%jO42gxX0s3CBzo0_S3Ur zdPandRodcjl+2k5>0CXAwS4!<=Uh7{q35l2DRH}% zVUC?WE5ydb_m@NEcCl*Z_eNtQ=j)omxP_ko0DL_8gCTR=^H-&vpLMvAQbW}nsH8DR zV;9OpNz{|r(HU~a#+2}!?(-y$(IEk)!9A1?l{TCBqj{4=C1G78#4!@k*1AFW%p7S{x%ay_)?pmUV} z0P70JTf0Vm>2mP5VI(;HK{YE}MCztR5)RTK>G^d0YYTTWYRub5n%v88bfBv)8GA7G z6^Y_#t#55MTu9Ax8WU{81+kKFeX;9Ww%4$*OMAI|+eY~WpnUL;r=@XsB1m-`t9d2f z(MnXv58eRqf0b=UF82tS?-`2#sa$%Bi*Ql(;oN zyOJtNSLETjQ=C;&?Up~KX%%xRNyQT9gUH9dIbX{dVm(DdH#q}^$?wfsg4i<#eaw1$ zRXqrdo7l5!A>1*Q$mHjmvfg{9Lk_v-q)0rp#{O~BIKZhEJfD@+1I9_~T+-axH*H45 z%AgjT<~SI}aZ}sK3qBmSGt_i6$o9jM7j}MJh0b~D?NUP}n#v0oUr@t?^%X2SlZ9J= z2Exu)_;NX>0AY}oh%r&L65rOOX>ArTioiG>cH=bA5Jn1(y^qSI{uG0oprsj`J4grn zr=}^^@gOo64s+b~6iMb|cmROB;Pa1h+|V8600vhlAzU1L{xq3dAekXl1Pq@;o<%ie zk;Zlqy*eI09w`dk@7xL6Mm}z&)M6J#$qc#a&jj~0iN2$McKs4gdV=5mY6Nl?1db;OF(FRN(S4jsfJ@qPzPUB<-DMMvYo^#2_sGL3ujz)8z^U|!Y_Fbd{+yXj&6uZ2? zkgG4y9%;LhS4gwd<;Sjh`cuB^g~oC^vBqjr&cJ|N200iQB7mx>ti*xSkN&+H^$S~K z6P@@cAPn{9qmwQ+515XaCzDg0qk@k3?l`5~`!*DH2cA095tQ=?u9GKraC!Pxgj&q1 z&Km0DZ{1kc*a4hpp{$FMvQYR7z#wD2U$oNax{0Qc<2^Dfqe!EM*Dt1}0GXtS5L<#v zl1Qx!4PF~dgCkl+bTRTQx!R}Hjx+S;u+E1t`GFN1>35K$Nt`0{lEhXn5R=?`n^#(e z)zl0oxPK{0D;j{R3xBc)6_I&zIz~Zr{6qOw3``CjINjSg%>p*T9-U5WXj8WAmvL1_ zGT6!Mp4HRo9uCxR?FH~6`69WkxhsXp&N0%vEi&&{^7LIU+fWXoT;C3JkUgw!{{XbS0w3NY z?qj$SgXxa7r6#WgI!q$%c1k zr{^p3y6pveso-@LJdt~s7Vl%8y|TN6qC7H;95D#MQ;oBvZ1@-hCz|VRZ}mxEb;g$* za3AAofIpTAC))zE_1_Zduv;{6yryMgxqO`EGB>-dHYE#Xj=2*k=39> z@*Y|1YlUQ&?m`*$Bt^V+kMe61sT4;hJCFEKc*Q5w%81AJ?brR;+Jlw6_ebV-5&n4^iLxejry$vCD(27-FT* zxhA1=IFX`hO9fJm&IU7|=UGhcH_AsiJ-v-ybrQOQKJ#RST*Y^)Lv?D7lC}El~Hhk_WEte{#D3nvquznalT2CAfS%KGN0&cp*Lx9 zWp8Bh{GxSv92{;qzyN+`vve&9^*<7gC^=9`4^11aVKZYwl=RkNF)>{RcO8le@GW(o!`SD4| zl=taz1TV`d=yM8V3Jwn(;0k@eF~1#7aBBS4R*H+Z;n9Z$9XA4b=yOEYQ%C#nC7LiX zl)<7mJvin#T8VPX#9H)9Z7#3~+lBzw8;~$@*V?-cT2m&SIgjHm>1}u5ph_GDjJ}qjo{2A^W2>BobdkKEsk0{3ntkJ057i<0k_X6 zaB9bvU4B!KV@b+4%m_K9urxxl%MS-W#;h&Ka5Km~MJXzJfKGiX18iiXxV zy}91tc}RPA_NccT$rdE}SNN-5DApLlM!3a8_e!&RPmRS*i%i(EnW2$hGF68|UY}`nzu8gTT$NBz z7SBrZt4GODdS<%+01#>??5S%A%m}0RiO`&M%}vy9%bVs&8&~>mzPn}`CJQ1TkoNi- z=6pk?L!sD1<+(D<$A2AgKELNRW5f6HS&3R}p&UhWGT#3Hsjhp(n&Dfm(xDX~rcKB7r-4iq^`-=h1xP9}QVI!da5V8u6(Z9R{?!TU{^q9b zQ1p^dL5e~+PZtbap1e5zRnzH1{v?)v^~)d5xvv)k_LlzueSeUyn@Bsf8#DgKDr37f ztMDV7@;-0F(u9S8n2x|vu!Em!<>os%N=+J=&U)s79@QAfHDX2m(c`yT ziMZRxJX5$0L3{yh`?O#KTOjXJAmECOd6j*D*99? z4rmbBS1*7-QQQg&R2_KZJeut^X;5gP z_T(VO53l((oZgm0DbE?XyJ(YYHs&B_uUvso{=;b=86jVlfX+`m;-viu7YR~eVpT! zlOqSd(m$!JeO5ivD|OyM$v=(btD~8cb8i>RBNxfqG4Ix~ zwK+W5Rr%#}llfNl<+8%YIae||?gJnJ>(AD?{ZY}T{nC|CsxhBx>!-Pt_B&U%_Nwm= z4@%f*Pin0sL<7Zn_Bm{2kn7Qi{AoVXA|7ym995|o9jc^&b4@n7f|QoRzNH)yi6tc$ zIM4q8s;9TqqMT+aRmb}$HIsM&wIPVxxSHqYvnqGQ^NH*PV?<>IPrmNwf}g$gLY~dhjmiP(kR-KJoo4USj=&?sp2{^fe;j*DY=0D864d zHUk4YPJjJXvuUbXNJi_GkJEVD{P?D%h;*inFe%_wn`ok$L08?L;{;ZOT5x`ae>$s? zZstH*a7ySCM@gT9B734 z8gPZZ4R(V^fq%RCQk^o?1Ch_Lr>JOgenWqDltA6Zb>CsMh~?ufKDA;arKsW<^ZwAy zI|a@yZS&fu7INb$6Ca?>cEbM7A&AvL^ifE4cvqsDb`{PjL{+wxA%|iyQUo>ATxu4V zBND?K{{Xx?RcNQv;C!qxA7&XJsh|u|6-ynQlAK2yx%2><=wsHcV*8OozwW3NA@M9j zjDbd-#dcvPi+uk8cG6G8WBJvE@b02V{Cnf-%lb^YhJbW61=Zr&N9QrX&ML=aT=$G5 z^7Mr~jnb&3-h=9DN8&hf_lc{p_?irlo1dk5D&9EhA*mNooBnzl<&!sxN3qA^TXXlG zu1De&!rtuPvT(*i+KiiuCPNV%p#BGijbQBo+NW3f=M`P?Za(IV z0l@gUAGC(g1(f6Pu9HOv`wG~4FZHf>#lZgnXaVRK`Bzn>+V0sm<`-P`cqx-dHPerm*@z` zwKh-`g2x`Yr*Ht@Eh!+cS_m6+z!~ajQX7D1xCnk`QSVCQ<^$T8?SKzJJ!w^xo;@hI z4s3kA@F`gE0Q9ClM%?tFm=?e%fk*^Z%$Uz3(xm?YmV-FPX^1yVp46y+dOBxyCIZGk zdPZ<_*P!cCt~Z?hDUk6Y-AWJdz$b&68yMyLq;@^)XZu6QYfEu2?wLDr$m)MED;2(5 zd0enw2pR3i{{UX9#W5#&T;#A{n1D|MJo zOGC7~NdC_gsmTw=*BJh_n{{d>-n&3-aL1tI{0(l~%8won8m4=DNe9mgWcAuGe@fOa z=@{&CF9XRej?IzxPS7~O#y>M$_N=BUqqQ!?F&W@vum1qA@~=UkPJ%e3Xm>6~SQ1+& z@%mSt>P{us3oCBKs+m04Y<-jz13d!s;qK_9O1G`F?|s z>0Ooe!=!gC%n#4I70GBs0?xuzE(lHF&wWio8%f@*_U#qV{K}hg{H2y@+JB4Jbyy+&a+kg_0;qEwOg-Q%kko74kQC6$s^3nC@YY zp0!Dxs>7`98sXgT0xh^~4_PeGBMT(ykKTdCa#D8tiheigyw^etk3gR)(MAU2ZLfFC=^(cX9y70OqO30+G)J zgK_xOmfs?T004N-IL<0vMz#}zd!0p}kF_Y=t;7*Zql~Up{{Ua*TJd~Eg<~IRwVF2v z1Sh$E#P`2@oojR)vkr_Rt1%Fe= z^Q-HwTgscGoeK6K2fw6u*&?6J+5_kzpN{cA{LFYzKO;F4F1Jwf%Tzvrpr z&>DfYxcylE6~wl|k@HO6ya7`2sHKE`S=artOn3FD+V(-oa0k6{R})ClXU>r2 zx)vw5rBrh}W6M@2-i3^E*%q*itNae-wHSaquA?9DF;O<9YmRQv{yDBH815OvNgF4p zTAoPcWZD>fzNCZvsXR>k4Pjx`ol9#LtN#Ek9sdB`Qfecv+m4aSez+gju%NS*&eQC3 zjMI&amOnga^Wvf6Y8CZrUCoB^3~0YB1pQc4FX9=GBHaK#?Vs?h==7;r6XwLKd-MGT zNY*HfV_AI0&mmC%08vA&P+rE7Wi>0iphBc-bJXXhHY<^bR)t#!mkxjW)V9$;sXEPa zB4hxC*`B12=~Y>6mfr?>vDYO)Kg*>a)^@$a*;Bo&PbK0U1c)mSLQZN=IwE*X1JjzI zUf*i6nF^3dJvx3hrDdgywBC|Ni;U&-{D(9~Ri^E5lxam>olwpxMHHgFgUTE!X(?z6 ziAn_&;nJ8~N?I|^E-3}Znr%FaX`pv2+!qB(9C6;OA2juo@)c_1qJ2$Q?m6vKaf~R( ztd057c|i3nex%f(QsR&itSArNAC*cFV1O`wl&UG}IpTmSM!0jvDpDyB10#KELMQ?( zdr}ptF-AC`3evC3$f|CmbzhWKHy!L{H@41UV{RAB1AxPVe=a_?0xmH{NK^f!g$4c@lVWkOJ?1fb& za;3te?+OPsks)s_zaA=CuAH-M5q%jJEjoBcNTCO8jQ`0#h@m2{1IVT@VtT<2zA)7hCsw9z=4mR^g zAvpu5r7}ql18%1)WeLV;0g>c6z#VBDJF+ql)}BWqnJW&%wJ;sIfNYY(+~$*bX2t-d zJc4=(L5%Qo(vtxnYVt;D079yE=luOBVlzf@!R?v=GsX&n2TFOy{EQAe)OiCO^`jrW zKS}_VPw#LJ2_152A{%~YeaAmf=}im!_4-hp$g#n~iOo6+AcViV2+sYyeo?9>+DSz@R^pRl{DCx#WHFncVj^U2v zUBd??b*ObLQjN@Zv$$ji-X{&w-H6M2=bmez@T=Uw@|mL8PBKE{KA-35>spqc8@80G zXo~*;5!%FJv_Ih#Sli5k;#k)ku)q_F%5_uFu3ZgFYr+?pa$97Au?D6$Ko+{!#hCZaRM-xZpu*(-5 zZpb|I{yyfpYr%&Jjk`ereORCCU2deXPh}`@p@f(PmpC21oYx~fCOv?@LRhqhi>fS9^cZl>dKarL87xl8MxGAXUj1~6m^+@9y&v)yD)S>wn1 zGO7Nx=U#W&ntfKAEgR6sZo{1P6%EARQhAa`BB}l&rxj91VB3%}DnZD>{#C2u8|x{e zxPm2;QqBZhBW?i4uN{wn!nT5PTB9l9pro}k;CS!f>~O#DBnN7d_|-RtLd66vxmbgb zYF`hek@$+)of%Y?QdoCAD_2*JOIxXP6l&jSe6dmAIOFN~)k>b1Iw-iq-HxU!#7I!e zPqC>*ypu>+z}e~dYpIxA4JsCjM_i)rW$D|uYP)A)CEfBaRF*mY=PE!uj(hf`plIr} z_Bi-0E~U7VIPKlGkDF@biqeBjozeQ7Plws zl2^JsqTfi=+D0GQw|G)9`J@JIbb&)DrJF-TaGySr*w}Dmrapjk=cB(sz~3*;Yp!duA`|zWUsVOGA892z&Qlh zt9Xt6)8NaQ8CQ4Ndv_r7UU}e|Ben4*oRfJ`#*SIb9AIpIYYLckN=g^p>!*r!pyg{= z?$_bAo|}?Oxujrv;0ouwPvOf=4trFASC9`K{{RZ^tB0i;cS~Ik3U%wsrJK;x)jS(vrrAw%<%t?N z*sd6ipL(m|KMCpD=8qli$J!EI><-g_Fnueo@eK0Arxc1YA-FzB+;FN2oRjUvQ}E+G zuZOImEroO&8YKgganBg__cgz;q@6)WkMI$;OY!*2^2mb(C zq_xqnF5-@5+2xXXW6%Oe^rraTq>orWb9~!ycVi&r`h7oI>oh_C01}AF0N^)K{?k_# z3UHjBnq2IyT6F2ftr|SPZ=tf@6M>gre@VF91re5^lEVHKk~R_fegsKx5jSMty5|XjY_ckheSq1fSBT(SVNT{4v1`5gGOlD%86{ zW4W+>4MjR>Bvom*Q0H|WH%@Ij;xG>Qlm$HnW%zYVK{o(|fFH!M6}hPGHg`x#IbFwh z`@nRp&kG~m3X2$Coc{nizJM&*$GuS0 z$N@OV%72-vmc*^f1+Wb;%eS5Yp_HEWR^cTBSItbq|*&N;-hLqBWjG(+L&n!V^nQVdSU5E zV+|!Kq%;g}X{>2!r>!B8IjD)^p2wPqngB-YQMEm)ChI{gX{Vv$m}$vDB!JX_)MB0~ zfhcNvnuJu#R0ON_s|sqm)T==SlsziKnyQAZDdLzHt?y^HIfiK?IKe8|$UUo9MAwa$ zspnkFBgX1g@^k)rS3SEF-NbW6!skEZOT>Q`PGe%rE(joF_;FUeGj{N4@&#;u^plTq zio@|iBV4s({A>Oqt@wIh^hpQ%f6}3RM$`To^kFJNAg{g+c(=s;3Ts_)H5+74F6D4o z^jBa0wmJ5$uH(nrWFu^DTOA5O!~Xzfu2aN*HL%xg-%ge})MPqJ(Qu49cF(Bk(3--f zSj}i{3Uf~E<`hPjcuf!jqGZ!m8YFFvTVcNX#-b(~gwr+5EGXZhcK+ zqhn!6A^pi5W`d;Wp53WPApE4`>)MfzKYOQYpkq#aw&y%kSYQBp;-18LY&q#szH$zF zDDBpnBS{3PSY- z^vIwE&&b5*H4+Bf)SUJdr{<5RG>A?ItuPrQ1v%^WsT8T_0Q(A!xjvOB0|3%sG_xxpj3;=1cyJ_upkw<8{v&sff}xg}U2 z11tv>qT1XoCzd?b81EZkemJe^MhjMQ)RdlxlKyLbEgER0@?FN=-~+d*=zf*U+IYI| zd$}QfLMfgZ%4}pv-GJ z-7VZjKz??Wa^qYOJ~>cs!L5qiSHsS zU}TA16T3I-4Dw_F6osLP2(|{?w>P{(wK7P&x*l;Im%O7yBXr->&gm1PW{I1GRc? z5Pb}k$JB;S9>l#({?c}W$wCxkg!)(CDJ@Hqxy>1%~Iw&N9Ms(as z1Y?#b`qL!%gJBKHwvNhwIU5AzV!YbUq@?uG8`0&8y4<%Wn|f^`RE!}AxOZjjKDD7| zWim+eY)!oG`P2iR4QKxV!g4pE8gl`GkYocG81$)A$A`&6G{g;z74tKUb6Kd*u-un% z);9U^4z7Wa4bdEy1byFZ=dEb?ien~=dR(C;2P!^c$RoG5E1I|Q4gUc4we;4O*5}R< zZUlY66BrziN|RUBHK{bYmgX2EiR0WtjGPw7sqQOCsrDuE_dDqDkwmF&Ao9S-0~z29 zZd2~7~xPejl-OD=Z|w$X1dp+z_`}06fiq> z6;Ia`JMCd|t6t}(MArkD;!;$9e;?E7Q|>AgZ~>P&=Od;+yIxBcrKqAx&8y$YRDT@p z{VKeg<;;tTF76zkSzr8XDb#UxHH98!bb3Cr%sd@=8@jjpBXsu3#d-IHq)4@hB$%pz z$0geUe5R^3%8~omex34aAw8%VRcxMdisr3R&PrX5sx;L&xW1>o4Sz~kkxrv!g&+av zr>EAu%i<;ccYYwXHZn&vA|6^M47tmCAEk0hG;R*kMnBo4^D&asZ681?r-_u+tV}S< zF84ay&k`;CK2-8Ek10Zeq=4Oj#+hrbOAWL({{U-q5DXbM@H3t|bJy^$WZg!Po=Z1l zjL86bYc>`so}Xj{ z1F&^9&FL4vW7nnBCxS+e8Tdg^6C{c_PJtAKm z!1nSaRuhfNK*<%)Te!I-I#e1CpQ+y6=SrI0BuE1|o>>t{EOGa0;Z>=o!c@|Qk}6 zuJepu^t4ex#igVjDMbPdQA3Ry$JKL2+1vhFsQN8Fo|J?~_Gw$K!+sRsux>vz(jUgHgW8@w>5R`?L=rINfc2@o zgdGu0DE|Ol`1Pqlqy#1*$I7GVDNIF|4018h)OR|Ct)>LhsAK#&=BkZQZnpHvBnj60;UG5#@So|7(wU0 z)WGppi6r!{6UQz--)N&b@|ga$+~<*84~^S8!~@b3{OW|xbxALhrzah2H&eipF`wZT zc?$W1cR!71-9s(K+N3c&hhqKOC9p?wksyLS>8wE+$) zRdTU&qogMkwHa@EVVx9w&ZFvT?sAgT8lY?IW$Qd+>f)nKPR@5J70fQc;HtPLf!jjC zsMyjOb4+HW!3a$-no?<|fsATlJkyD!BBZ1+(`m+=K*kYGVNNEP$25jS{c0jAW~hw- zHL*~)T9v9M>p+;=avEW$CrSxqqMRwBoV8XFAQduH3sR}3E0Zlq4k{38ML84_PKKuk z0;-|KPNyQ667C+9!ggOQKK{{WxHpW*Go39xhX59Lw# zlxI}ao2T9%%l`ncPVo6VCLivf(xdGgPxxinC-Yz~-`*d{R5LO>xIUkqR}yWDu0Cv# z1u|DGROj2Rd5SLQqj4vVSRfvvqg;+S!KcdMiuS?HA_sW<$sgOg5ioxE|5 z^wKzN3IIdQgPLQvQHpyUFwI8TB=-lJ1UZNxV~!~o?v80n1D-li06bved(#;U9i(*T zrvv2lBymwV1-|IWH7F-({#7gmLxInxIH6DPPoNZtto-8`@9RRS^UraC&!qz;ETHEj z^QjOF0kre)Q8ou78TYFZY#<)>45SfY$lbUVdH?{AI3NDHq@yw)U=oohBP=OvQBZ30j^@ye(^v#0FI)yH72x{+0yZtKv3^g``9=faq36w zS;1X|-i7^Q^y%7U?=xfu0G2r5w;cUNW1kyokep2w%5#8!i`@47 zKT77F)H!|Yw3Y!Fk_bOf%kru9oo44xxrD`R(hn?s*!S(r9Q5hMW;Up0$Dh1LWZXk0 z*T=u%>smo*Q>QCl#@xTUK)Kt131D%L#QiIf@d(DRAm^1|m53+gs~?(N6cWfe;1Oekgqk}z{i z8t;gsrg-2f$2tE1>sFs%@-OP0nQdsECufpMZvBLUUbPW+O2Vd#I( zYs`g=dz)lq10BAV)>~?a+LxpJA;0%8YRD~sE1Su!fgIv|5+><)!#VrSUhk|2lejnpX zvXD5y`qU1yU=6tZO*eBV2O$16lSbA>rzaSZ(<(R{u~k}q%Z9-u@OM%G!z>u&{b@om z$tq9OW`u)cQ6Slk-TM#zy+9<|#}9?iao6%Rg*P9Yh8+MD@sKirsqS$_n6wpKd4z5U z(27FY%khE7)X>}6PB}k8QKB5@c?9;SU;@&fHkAXuF;ZH|`>?wkzsxDDk`~TMT3DrE zLJ$BS?2}Ao#C?FAm-h6laY-Be#RlL#1yoW21mp1roUM$20rm=LL^NND;yBcW0d}5q zinI3D5tEhM+mTso97VRVC_DVPsl;~RZrtn-`yc&!yAx&9u(z@nIKV$q{xs8a;Xz_P zxdNdpZoHWoDedL|0QKodlZ*n`>M-iWDy>A-s{{VqE z{{UXO_A$rK);mWTQ&8Q=R_qwgHpGE&eb~~HxUF=0EjpMf;=N9l~MrgVVGk)$xiBPiuGu+mByMreZDIV38bK>nHP@yJf z?}CP#7m4)O$ypcy)a^AF9hs;vB0UQq_z9=2;`T`o`~=o1*X&)mpCjBFkZYEC2hG6x zQE;<27UZ`g7ykghYEL>w`>?m-Do3Fzy7LLG=f{3dTyz7kuvULJMXT7!v6s6 z1Lkl?rE^gN@voK?XBi-Mt0=RpD@NS^0CzY){;Cz$!kkpKM@f6C+3Cowb0{0W=p2(= zUx+UB-Cpfyj^a?kcJ0}L^{o9?M{DPMlIN&icVN~-&peZ=LvHTCXNDR6b$4vVs~a&z zV7qrGm~+nVr|DYj_8VBih5&bZ4n=a&Y7DMX)z)GB4!F%|N2o|f3!E+?8R68hM&bX{SQ(cbE63jP9Mg|(WT|>mTmqa8E(T<&Y{Ar*%?+|#X z>B=IAtdbvpyIy;!YggKw{$%(io8!Cpk4pN2OnQgH_dKXms$f zLOxR~cdcCy!xoozhFkAC=5WM0l2S+E=~Vv8me3VK6!Z$cKMLrymJ(UURRa3ppP2fZ zwG$S_e+p?ua4lIe{mC2rYnt&7g`ZA|Zmg$i6L&E=!~O(Ud2gP1Kb>dmz#DjuITB+( zg)0fY4?oiNtGi|Y09wwVkkLuny1NZt-unxkk`AbP*DN^wkth-Ca zEHc|9UU={H{VN$K7h_b^l4$g-(@twAN7a(@A1X#BRQ~|Sg=!Y2#0HR>LTRM)Qc@9( zMol@5Mok3>TAEEEIHnfjki}zB6U`}VVW0$KQ8hf%9)K84Icg$tPFD9638KJia3Y}w zlpbo47c42MM{2HyrVUJzP-;bLgc^7>36loqr&i*shUTPJpb3GXnqV~JOb%ru?hF6wh9k_fBy-sOk za8X&0Kb1uQXl9EOa_H4OAK&vQ57FfM>Qef@G;L} zOgY>*AZNLtL)_pFX)s4|ijU^p2N>^48!gw5VL-r)?#UH1FjNDsb5O8%;X%)TYEt-K zqmk=LpdB9y#N=^AV>7p3OyZlr5gZ<-mNsuSxIH~7Sa&5LbIGX{hyY|%1A7zl9DllL z9FfL<3{IU~6KRU^5%lwq(3Jt|yo#-4`Fwe(AH zgqFuolw{SNTJqf@nPq>xv8YgSlafd3D>F@BF6mPMmcYpeil?p0tS?RoUCOJG>5=^@ z!V2P?v^8ZhwBP8_5eupmQ^_Cz4?j_gEOkk&UB)G0v5t8JR;ebL4#2whqimpgXiSXK$-ML>*#7`ZjXZ00 zB+COwvO;#L12{Cxi^#4oZdAt*5si$8jyE28`qUD`XB5gpMyH0{oR7}6RAGCyse_wa zGM((wYCcokOwQ+%xE^wQU}L>D*5M`vOBUJ+lb(bVR@UAohi93T+qbVypW#Uzng%6! z$PUs6aR%`c=T706hgjNNu!x-TwgIAIMiz56NuU zKYRRZnzGNEIu4osg1QLU`8n>`{{R{#xtrLnE^){KdEnJ@Nh$Jz0mtiBWnj^ac4NV+ zh#LwNZf)Hw7PU8r!faVa6^4!ucGY4n0XGnoOG(M5-Js zZCrH8%_*2S1wjM7RgPHB2tY_Z^H1}Xl?8t9Y6W7-%344efW345>X}+LeX4SO0YBqZ z#E`MbW1md%{Hn^`B7v43oodl77o%lDK2{YQT^QX|!!ZPP7&R1kYrj5VC(z{7zH$+U z-Gk^q`t?__4K_?CjQqkWcYEMaZaWCrAAEm}Rr^{gAQl8KLOW7@ugz=?q>wR{{{ZXL zx)&*6%*shWd$-H~0N1R$=4H7HkU&5^JLax^qA|!QdEi!M)S<4x9hG#U@rPzCX`#t9G|GNsO%A)OGh$$S)QEG|p(K%kLYL*S(va?1M={VX#8_k zQv{5Tm0$rH<#CcY6a~x4CVO-rg-;u^bgBWqKyq063b7P~4qSdTA(|1A$Fc2CmQf6Q zw)320)~KYcq=4OhDrRue?{a=qR}?8bA)Ab-*~Ur5M{#b*RA(!YDk&H+W*G_y8TF~R zskwws?6JAV(fsP#*2Ynto4H@g>Zgu4#b-{NE)Lurj`h%AM7EB*RT!}#0NmDP)N1Ob zLEZ*i+M12G8=o>(Bhv#c`6J~g7|$85(|3^y#0EjZ1bTmyTti4!94eJUN6YJ<{{U5W z))JX5LzDAkDi3Owjo}?NHSNmV-p3NDWdj_Zyi|8Ol9{A2N3oFY9Mv%9Ek#(jPEA0U z5X*Hme<^nagYQx%lGID)o8EFM|G?!Sr*;NY<#|y?MmGsvAT80 zE)O2n$4xxHXH+926wFqm=DU{Wa?bo@RAlD0ZIpy0_V4LK8Y`W< znC=r_IPIX$?ffc7nmGLly;4=g{zv@|n_WRG#+5EC{C~lZI7$2QV+;3x+yp%<0GXM@$j8`zWN>OBIRp?hEk&owFcg$Yt zV9phOW;LC1@)5bq0GYrY>z@&O-5nTcu2$IX5_1-)s~{Ouv=QifeihkynHjDw(GT0B zd=bDn{#DZ?hi@jP_eDw;b}spY){WqvwM_au zqy<-D%~QJ7t?V`lOJ%=>MM*o8T$ZapoqGL9Pn1-)ZAPCwwK^C)M`=COaDWX;=|qO*@*6O-d<&iQ*yqh!3Nlf8ZvmcykzG=!5y1yW(Cf;y?7$ zANc92UK>zBKkN+tW|CjLMvwSqA2mXPcK`=*P2h$}i^TU`>t4mvUEjY$uNZ>HGO zJWwxjyK{a+kJh@GU7I_Y=cuNJ2OzdZI|nh4o)w5W^DkMD_1b|?=aW`b!g_fF_qQMS z(*FR3YDX&W0|5F8vazxt2b0%|nP>^$Vve1pTj_pc#LP^mmUGy26{4^q!Q=z&NPc0+ zrmJCb_)}Ww4cM?P<6({8r8rr}dy1{N^%?vq6R_@SxB`)NEhAq1RGv&&<@l`gaDTjM zrd;rPRQoc$p*)a-BN*JCLB(ecCdO?-;#u_n05RO}3|OzA>~Y$sdzkIfq;5W)>TNdc zUc2Hlxb^NTJ(O>tbI7%AW2QzFoh}x2=uB&o_|@3f(lLm%`*_AWh}3@}N+QS{k@Tkv zeEsKQJu78oVD8ydQn-Q(SGbni1F#OMp7{Q?!D?EP-Aqe>5S*$f0eJp(+w1Yg9*c4c zf-t=Q0KkQL)VqAw+6Dc zGj=AdH*g6bO6P3d9IW6e&!PUbknJ%kZi$nT{(Y&pSjp~A2Tyufe}1kRepg-p09xfo zbJ&9Pv0=1)s=QPz$I8zcCY^H5B?*{==L#~w zp1ze%+lG|)-CIZDWc{N=4l33$A|F71l~w!2m>!?wSCEf0-)X4{5Zf{Hr#(3z`UtJ` zU=?z3Gsv!f4sI@#`h)sb)UnE}>7V=PR&U}phr-QBqrRI{FhC%jU@oo!zS0|WPM)cW!I)$a*0Y43p}A!F(FYT9s8 zsb+H0t15799I)_ixEGsc`Uw~OX;;Cz*gx^?IR5}`f5yE?bfpK{ujJ z4%c6UU^?~l6Z~t{cL7ceK9qf0A@$kzJgIyet?j|H1OD1C_|pFX!XK_F;@AHGA}{#Y zs_qov!k^V++&;TL$nxRgJ!?PlM28>hsq^S;YmTS%b02520oEDk>Z^YI$XexT#+Lj^B+Qkg+Rlpl_+;dvK z9F}8odLp+I50i2f-RoHiAr148I`NNsy`W{UE<%!W2TJC>lV?L$M}OX)DWqb6Yuh|h zN^2S^4rl=w@m_WDGU>n2?JG;lE0dl~g>DRsL?gQ`K46Wd4+Zk~dIt58+b@26}N-UNakl z27T&Peap(xU@a`?7#%4?g2R!;K#1%(>7JD=ToN1sgXu+pklhr)1a0q0b$b3&M6JQ+ z^8%~P@jC@$g&gLfc@{uGP!N8#tX6@e+`VHvOtPc$#BN-kfOS8uTjo)KpC|wVJJt!h z5WW>iVz}bAd_OZg#StP%$vcO1_xe!Dj8`|2A(b)`MP=L2iY^!j8xHn$>Uw@Pr*o$w z<%3{t827A+)n4>GXCh8mXTQ>s)$HSbXpEJlXz)VtJvvtAn=-`;J4kl{$UmiJ1qF(? z8RIo_2t#!^MfRy>OI4wAIV6#o0thE8N2hv;u41)($MZ7uZvOy-UP815W4kAEe7~`S!tiu73AIorziM!_QS*xtbO28Xv zQOo)dS`I0}Mp_m;MSE_xl0c*x8?HMV?t z?iZ&R=}?*G6HbJk(&4xs{j-|sW)Vk8YbyD^S==NeI|`cRV$B!~!+_{ryJ@ARtL zqzI5q(IE$Zz(#YxCmniJ%XIKwsv>TVCE7qdf<|-vxb~>!l20%Zxm8?^oK)1c zn5o?~-o|yZg2;H^v;qfXTM9l(ryZnr@~B33cNunWr25s~0@piSt5d6+nez$AG?R2B z_NM|f%{E?C{VE1$ExfW@y~J;cIT$A(j^pvEEoEV7fQ)tibVB&EVeV?0-Ny~8ZaF;k zsauS`WcQ|rHHmSpedU2cW$U`LTKein+-70yDY+wBSXtG*nb-#u?=?qO70Jh`OMtG# zpIXtgxDyPM&$;5Yf>L@M_?lH{YbBwyZsP-kntT)nY3XC@G%2?+gg>I;v zUs;gLh9GAg9`(;lr3nj2CSp!W`9*I{F$PG>4YiijZ45ERLHLNGa(|sS<{bBO+v}4+5iFaXeJmtC)T%$?&5TRyD*pglc7~g6qX7Q^%QfllNvzlL5wHBZELq6U6GUI`%_@(< zjw)t-n@K%;=BQde+uNwm8zsNf? z$;hbQZ<~TB_OcfuDw_=8vyw-r6y>*tIL1%8sZ5-86wTw-gyh1=a2t70pn3sHxNf*T82f>LI-M+InrcTjg^#+7#!x6)G)0rZA4Z+pwmkN zGfkFg)^99Ircg3dcR2OMFrGOzY26UhOh%9`MAP7LQB5W}%~6)%=NYW(O+^+*U z@AH-m+O#x%LK|6R^W;^GuT$zj{dJ2a*b$K-U8mNv&DNf>4=tIWAgJ6(&*M`GxkalK z;caeu9G)hyh~Z3~XXrjyhv4`qf#TnS&3dOCCPR;BoRO{6{s)j_DBG zVTg6)mZ*>2=ZbvH6fjbDj#nq#)o{#XIOKy?gP~q!#D!S!NUB!gGfaJ4s;lNf23XG`@{KHLk=3*52}hDHk znv`2gG;Rr9uh)$C{Ht&Z<@Aj%TUg#`;yX-@ASJLs&m3dW4)xMo+$8Xc7mz?B+;puX z%q3*>CB+z{aHQTU#6G;cSODsmEHR%s{{WqOcI?-eYO)`6S9m?eOQ6MZCam_>%BFW#VY&7I1~cp2)pKy56aWA|@4Zc;rL_9Po7lX_(ibEg zoN~UE=fy6kd%d(hFN!H}D8+jxjwKvZ63$i0l~p4A-ja zH;H9oJ=C9eG$)Vq^!)3>?wU)hi6(Q6&RCK4F6r1abvtYi1@+4k?j4@5b&AYIy{Dic~?oF+9_-7BRUoj&s(4m^_}9DgnXn zX!6Dm@4ecX3ZRT*k>8qYNW&oU{V7&O-T*i~>2tb3tB>}x{Od@^xHdpH0$K2LQAni3 z#d@9q9l5K%S&@kYJY%Qf{c5$_Dn{EdfqwBHg=p41n`M}77@=7{ZM-WEzlY~g zNuVf`bWyn={{Va2(z=-9x3)!60Fl2MQl4lH9y5_y9|&rzO5MA4&4u`6yYK*z0g z&uwjcF3AyNan5~fpPCbGs=divg}@8x?^16HsiL-{bgb#bD&s#U zdEHu?=~-`@ScoL&HJJh*IGwAEb;nP7XFTP0XUQ6>?gtp{Pr~^*877@@ie+M;0h63} zsLtlvFh2@Sl#w}zDux4}PfCtMy_G|9YEAfExu}zBu`Dy5DO_(+f*+joliHEvD#MOV zT90YL2RJm0`?=akqnMsk)?&GhPb|a^K4j!nMkwBYIc3~e1cqMu?N8a2z)@2O)Gtck zoab5;=7l7iLuEThWTsg+Wv6abdno>=pK8}@NEqbCIrjdP zq7{$ss2@(1Jj|=3nzgzU-Wi%qNR9I-IL~U=n^jS0=%|vp&R;wLYFmvq(r5D?1oJxX z9B1oNc`5>^MFB@ZpbD1Q(vHSnj32ldS5s$K9!S4RTy(Cvc%A= zQml;GW;nn!?D1LB$-3?}A9Nh`tNp1pvFKrJlO8$Zp6u}b#>Fx|8#J?=uoRWn$3;aM zN8i;Fi`#&!^A0+m^y7PQ8CXBJO01+~lS*3$pTf6Nea}5mq@TiF{?G>6RG9-77#nFU zrg-hjynbQis4MO3RqfbsR`>2YS3?x={_+s60;UzX+J6cn@43N>wK=5~p^2ye0Iira zFmmSzdSbRpo&pJtl6P~;#`YpIR5~aztXH}1N|O8 zKjo5tDzD;y`1F8((_iRn-j|lOk7>aXr}C`V@lmt>5thy6Yu6r*h`^4V3|6`M%KdZs z);6V>^*E&f?Q|)hr~d%1wV*r1M0WzYsr)Bg_c|+NJ4a*K)vN=-9Ml%P{VLl5jHc&M^U>l+c8i>o&g<=Zs^5o zL}kpE$>M{?DkaS@jIJW z9w^i#Ct*mJAHuoM;%h!_M)Kz(dzl?iV#gnqQzrnAT0naHRVX03T16f2gzjUTP4b3! z!f?Rzka+}uD(INwrE%U7jg(7t8~0>+Wqoi#{{Roxx`S|xxda-P(>W!inZ@|h&_jO> z>}!uSVcS2%F^|*vRzzCO^l6260tcr=j&42_+Xrw?%0FcHNhW=&VMS^hefuA6BzRw zCp(z)oO@&WQiA0oqf*$wZVG|i)ObB}irTo)!>(bOm529-2k{*%8s^gG)MjXks6Tr- zADwR*T*a#ioTGZ<9V*VAnUD{9<~B`PROenUEjHHB6IJzg&uqg-B_JvMk{pvdDAL zj+HcQS@x27$^B{u06Pqhr}@SVk8SCj&DZ^xOmG9o9Z4I=~+Agv&x&Ht@E1@&huMN*y1#N57Y{d zABP%=l17>dV`4e-Zc#r$liIryso3VVF6Ot}{LCzB?61+(jE}(96~*ipa)E;^MU1S` zKIF&+vN=0X894R988x*R!{mr6{f;G^jfQ#WX@}yN3;AQ;HE4JSRzr<)A1v-7IPBK| zoM)Zh-8lU#RR`3bcq5y)lkKqwjJ(Lwn9<`O!aJ_uM$_A$#B{51cxo8!gIc@FSe627 zg+(B6KngL}Kb30RcnWPg1cp6KEK%di{{TlDfjK9Q+;u!%PxOO=S2tp5D zr2ha<#-Aw;QF|G2_$JEbQfqrFD4Tznl16~AKD)^EHKlE%Tukd7&7#8Ui@C(Rfjv0- zV?T(kxGfspaQ=L28sIMV0OO9|jY}++4!&956Ym!houH3W2S2SI&$zkP(J`a&+=5qU zl1Sn*0H_-P{{XeY&pkg1diZJMoPVT)8n6Kg+!$^I=O^;__3Kl~xo+8Pg~X*mc_k{P z0+Idh58+p!)SK*kpMpl_W0JkQel)pKVRq40OB=w-7V0vf5Xp|C@T8X7$_U5$P=!Fr z1&%=V_7t*e$RTm_xfum^oRRqBkH(n>mu)ykc=Fq_Ow3q@J&4ZSeiZcRfvfw{=vKGA zvbd5&StZ&J%kpeJ`hT8rR;Ey>#eBd}WFFs*Xxr#9hLEhW}Bn;xOM`Hp3 z8$u8J#IQe}d7;Kaa)(2hS*1&G?IdoG_hdpHRQeJQKMaFhF1e!KL3J$BJaaP>DJhUa z$?fUM=QZkg`f6K9X8`PC1f#AGV~l}GP5+LE?0DU zf0~g<5^1gDQgT_20QS$VYOU>!ydGRqTjj|PMCwZqrg~<$zY*Sf@cDxZl3cs500Owp zW(AC>$}c0XE1%gTr`k4;qX456v>uh-dE*aLOsBO+*NkM)2O;Cj{{SaWiq%gtwp*UV z{{XH!)urN+*2|Kf*nzAWO36Xi}=}VGENyzU^ zGBY+a)0$yCaY93Ek(+Yk7^b3;)YDalJ$cPbk-I#7Dv3m){$P2?r-=w0o(btuugu>! zK~81dr00{;sVjqFpE0*6CZ=DyLUkt@?~eGUL^j65KXiVi)Q=Gmmf&p|$E|M_Vi_*L zb}(_VTbxyU$o|nH#nD;DeuJ8sim`$*+m-{k#X%#Z-IgGEaiL?5{*_Iu0X~(d+}-Lj zT*e|)L$h>^j)#Ih>$|mh#^;@a%0LX^dawTgtkq2iOp03zbpi1w&h3sqhPq>G5dlyI z!tkVWYn|>xcPd&(0F0k89Lp<~>j1Uis1$BNO|nNa0%$j53-sNTmJe8HvM zjBXy}$31NZui}=oQb=YkQ*wN^haDk8wy;RzLhC zFrJag`c!S=NLT(@Jr_lLDfTvY({L*ePZE#egCAOp{t_t(;syNbZi-YV*ytDviMch1 zd_?`=ADtla0+aK?N79wh{fzq?2BMJR57MB6P=e@%R@%q0sb)Bhv*>AVOHx`hfz+;6 zdxcfc?y?E>s*Q9I?Z+q5tK7&%#DFoz>PXZ(4Ai)tPB$t@^w0Ku&Vam7RSR5FkS}%V%~=DCb5XI<YetVgwp|CavDQa2b=)d-kb2i66n6uZSqHf_X&UuM`sM@Eb!e*Jp~Ea6EBKMp z@8+hCPfF!}*L97)c0JieNVm5uAI~cvd=8(0sg(SRSaiP8)`t}B;<<=syLA#FotM{< z{D7xC*UZYR9N9jBsct7tE~Ne@JMC@M4t&m;=cQZH2->Tk;7`jHjeP~i)H5`g-NLkm zyLu5?x>zcK`sGv+=~=~o^&?3y+_sK>W@f$K&AIWMlg)G*RKiIjUU5KK(983YhZUErpY&|{ zFhA0|NIW{R58lqt>9k{y>s9rQDk${nol`qdlm1P0Ii{>92M<1mQqI!;(xqF;BPUjdD-U+}N&!u_7tE2(4u~@3#ZXI(+B~v{EKloRpEwTgBq!563 z=jl@FHci=qp=op3+ZgUPF%6Jc`qtoxE;EXhMmr8E!F{-_WqCV-(1}zI;7~x#OcR?1z2Pnu*gj&%2op&=Sa4g?u~q=&+zp8syka3wsW|KTyRBf zvX4rPr+igii$a+kQwXbUgVPlgMmrzQkREk5L$Mgfah&^_RD5}1PuKFOq{hh<9PG!v zIxxorraFFAf!0D#-vsVEkKw?jV~EZvr{&*+`uF0K?vM}NCz`P6KqM|o;}|tw5H?Ov z_v+Mve8aY>!_0Gzyw;0i7Uh(|#af6B`w8FyRMd_@{{TEyxQ^KdIvg5BvHEgg+@7E~ z{#Ds%5!eebXSJSbMo1v8&!!GPt#W!pDf>p?e)`u}r^sWog?6yW>PP4L=BgIv)XJ^x zq0{}VNht^kG!i53RYg*ThkO%^`}@{}8l+1spiOY`$Z|x1l#aLnD;#sjy>klXxyDM7 z*V3&kfLVw+$0oWHM=MWa-n)2{=qB3UG{BHM63kt**OCWw>sCA$sp*Z1NH>C6!Mf zF5Fb5VR8uBx6zX)^fl!sIEnjZIi41{90x`Uf2d7G|-Y2@$Y<&06E1`<|5LRuNm0smbh)qgB@|qqUhFFqLD=DIJfYuOaactu~^ zs+L%@(YmqqHO^lUSB}}PKWQmm`y28ouQQDCET1K^jDQ)q{HruxJ}{^-1~N@(_>DQV zLHtbL(!D6@f7-S`W!1FUK?oIYB9UH2Ab-1@b?9;J-nWEqj4R?jin-qov>GVwT7es4 zt6p5Cot*a$en`-<$NBnIhCCYMyltrMwiiWi^TkVcLyEgR{`Tpno=F{u zF2#<0O;eUnmp%KMwKOIEZlE5*v)xp;1MsX-&@+LOPbQ;wz&|O+tv_hM;AWs=#gB2< zHE31=GLO1BH98gD^9)sBm?e*HYRa(k_Z)NE9Vyseq~%lqdW_?Wa)x%~fVss)gb)uW zwN7OQ)l;Co z!*K3R5`O6{^{YsJ&u*(4giL(D(wMVdNLf7G$h?e>E1i>6bcg1U^(W=6D5a4t<0Smd z1O6405pwEnKstiafJZe_>+KQ8^1x(P`@}aDB$|vayBG|f;++N5a;DXAF^~gyr0g0P zqV=MX#$#=#9{A?2!76>B-5BSbk4n7`oo^}L-#KB>REwfUvow*nBx47?A-Khq352a|HuPW!{OZfXLxqmnijH?4ln%<;9L4U8 zHiQp^Pyf&giv>Z6qcfvpcexe=27Zg&RH zHJK=7JC~(iy-m_Ola?p)rg=-Vla4x6jE)sXjP4woF@ue#9@Qt76}JO`1x$bvcMq2p zI~8IrpdXtnpGtnkP)eM(IH$NIaljv)Mq|Okobg8Bjh%oIj)tCBk9t!X7{{eKd7|v~ z`B5BWAc{Hk6sz*HQ^_8b?k-X=J+n)&7T{CK+ISS1%$#-~l@}i=U4h(jNsRDDY3<9O ztr){lB()(sk+Kd5t;;L7xYM7^IWh1L*0SV`75A+RILtaMuEUmNkDwJ%IWe(GBhO_y znnRrY)jS_~RaQA-eN9?}sHY>AmgcJe0ILS30Bscv1Q@xgV>mc9m5)j+nl;T#pc;)% zDp=}TH;Wy%oEDw{rQ1l-<2H(R&uVxc)a|CK!nqy>I#O*FE(IYKNfO3w#apyVgB3`F zMtC^JY6VU12dUz^1-39o0xIq3K~ux)t2Po# z9h^ClH^-a+y#XEmlI>k zk)MA%sLv63ThwR=jFViJQ9fT3~pt}1&Tgtt2wSU(<}ezk3QIn=Al1>T_Di*#ieP zR!ox6IP~dC52aUJlb`2Pf(15(ap8Tl_|tX~>56i&^{12QYHSxGDUNB9M2t4Ff)5;w z)cl$N^fXv5P=`;owhS%p;)ouh6fS=%o61~N_{hK?l_3=DK4LK%j?|?(0oJ7pj@h8( zk;N7Zk!&<L9YMid$aZMtN1xyc_Bf_DOfs#S13vNIeU_T13R!=fW&tZu$+2*3Rf?bl6 z83B(T^{g#p-JAwK^(w@mbO+d0i(@`*Ze%2G2n?qJtSDfkoE|#;D@|fv$}{z-uaqJw z{DYu>ncJrbIxkxv7Jwd z(zn03Tzur#oLBP^$y{TeD-IqHyij&=Q>6)as1J<4=1XeE#257MoTb8!C8~}ceO$?XPo z+e5jV;t%zat~m?TS3MoHMac>pMtlxAC(^d{$y)AM*3ct`O{JKT%}Z!)?4wqYUEQ?jdz>iY02mAG z7qwNAe3D5do=G)USwS3}S8|F<$l`KxcVu(T)aJ2o?vfjMCU(LoIU=pxNH9QZ=XLpi z;#W97#r`x!39}PW)!@9mwSOs$Q4m;vcy0vOqv)PB&>GEt+jq9(ELcksJF;`00qdIa z`b^hSR@mdMN;SSC>cP^Gp45QS5`CyP8vJ17bsznD@-Grzt;Vx-L$Pr#)yd;;wR%U0 zH5StJdyA#Vn2YiQ>PQvh?9xpmNbC!-%V*ZJnQ%nyIcV56Kdn+E?mYDMq_~xo@MFLEp8>d~PwOdWH!rXK? zHC8CyryWA(swB;pBaMuCQO*W)NYfOzG5-J-K|fAu@X8&XPDTzms`3IZP6h@&IIT?6 z8Xdf>6X-zt)r&a;TZuO1*X9^Lzy7MFJb?iK1CiI#nQuRos>(@Va(yTtGBhrpSnQm# zfX>(ib_0si(P1|B-eLa$Sp848Vft1q0ZS{i)O+rw21fZw;d9=%qhPUw2kVL%H!Ycb z)-J#R+>!2UUdf%K$zsD8;El3f>dqikQ8)1>RV|xKO~TQ z(>RkqHA`)n)U;&aho@=qx5@~eVB9Q}>>h;At5Kp&il9MOT%6D|@La|Y}^r%FIh$lGj znwTJNPfnF4gq~vKDt@EZg337u100-EDyKp}8h+q@?LZqj;*<<#qTXrSxUDRD_aA|i zN`6s_jaUr(&`x_%VWv5h<2k6^wyp<$^!?Zzo;_*;+oT7u&S_Xpp~QUH#Yk5wDT+rK zAQS6a7W!T7$X_PfRt#_s+z-svD7UekszM8yvXMeu73xL+t;_UCba0WjaUM86)v2a< zMZDCO_C*0mV;p?v>;C}Osk~ZjBeH3k1Z=zwgOkT_D|pgsI-WKs7aEhac04@iHEIsk z6~G>IU>px>mJZdEMwGWSpl%4OE6+7bBZ{*d{MgNB)bwJ@NOxkaL@KOjCkLfjL5fy4 zizi%)m3gS+V~`7Y3$YLrv)RSdq4d#{~Hbzf17T~jlAa47_ zihr7!bqpJ7l75v|Ibrjei*!=i>&`f&*5(nG$lS4oZf2Ha@*>(G8!{cD)fL*Ef@6bN}{AocXFhUy!Cv)d}R=ztt#c@~q1f7P=;>`=WVy~dV;|?(R?HF>gr9x2i4ZEIj1^E%<^KTJ6@J0VMvo2o zaa6p-&15(qN`CHfnyjtz^4#R{>rzH~aq}MaWS0q-Y50Q@KdJ)NlA^~F4c^`s+;0ECZf zLQd|LHrj5=EIW}NX$?!T8fi*a9mtP8xTXR8{hW|XHgoM#tSE$>3Q#%wp#C)|C$ zZVgkKelbY$;2NnkoOPyzM?AUBa(eyCwa1jCh{y;1dE)}>8PB1an zw5OvKmWMq>8O;^BiSaHw42vR`rQ1vy6vKB^1Bw^zj9+V`?x*9GdM$ZKI=B-3T>UhRIJ!?M<0b)jewWDS7JTc?vB(cp} zjmd9ImO=z`X7_0Y@%D@;%!*yDx9BQQHiE+_;eQKOiFj8&mMxZMk za8CxHx|}S-Y4-Zmt0D9Eu-$`$?Nud1=Cd62&S*u+-3U%M2k+XOf^mhwq<0&-@s4SN zOeyEJGc=8D9R!ynB<)Uk_32vD{_ahw)A)^LX(6LR*yXqY_pNZF8(8pq&{HOX*hWh9 z>r+C~b?!|^5GRgt=~tp4%{m!l z4#y`dF~H!8#9P4IR%9%=#uW6Yn}q;?eo%N?0J*8&M)2(9^VYMjT$mKb+zx6Y&g^$F zG=Lv1uy_Nd07Rh39y9k}t#P{EnD)~dBN>eFNbGB}hk`JA`&4(4dC@vB;Eql^P~tTs zfrKtb?Bmd$wPzzBHbqaUX>wUiy>_t5x3yKtR|I-@tlBkB&|1**V2uj@L+!XlW&!^>37l>QrA{4JVkf7+z2JS2c8KnwH()X2<(E=Cnq+4WwxmjiC{zA2$R1Xnzo2N|{eCA<>&}Kb>r_ z>e{o8d8JGHsHUJ>P=~{6K8HP0M$T|L119+Ag<}91#Dhb*K0sJeNRVuk4 zHs0f!BO!8B9Oow$c1h@C%_-lRoeaJqx|nblE_)r>tgES-?pAsJbJJ<`^{nhlA0Xss zr=?krPzd=z?U9m2Q&%B0R=?5hZ6S>=PophnDl~h zG0r)s4h2v#+rG6CQtjvmYLh%vO&~+u(?)IRZrg+9#Lfbo^z^82uY9X{K417BVb}Z( zOp-B(9lt4Df@+=IFC_06kxXnb!17OA0s7ZnKZ{f3DyH0!+eJnmOP*New*5c-UzIX6 zKo@6I$tR{MY~yI>XJ#!S`A$ViZ+R80xCoBu1MMT_z{mdpUZWD%*&Y@y{_(k{TV6$F zE%l^@Bv3-8IAs3-9P{{Aj*YDcv4I^<{{S#49>ipxy-CRYYcopK<-48kB$`hm-8Z_D z6*G(h{?;;oD$>#IWQJKJo;1n%!U2QNKc!^`;RKP@QQqYGj8_b{?;J|uT$Wtpk7M}O z3DzdG)+F=E5KOr$-90f|mpX>g7!AX=KtEsbtb3bC^$TmL)q_nGf>5KA$jwxvCmjry zit^aNzExZK{I@L`QE`EynC)D1Y=Sv0xetc;jKUw>tnm zGEF(HO(OI<%Xv(;ay~hc_~*Al{HpWn6Qad4#)0H@JbeKF02;}LWRBTWobCrII}G&v z`c{Shp&k6uIfyF-=jQ5iPJdd9X>#wWqnr$bpL&uh_k4-Zt9pA@f0|^8RX+Daikbx} z@&m!=1Bz%FsF>>9jgpXs7KsrP@U? z+-A{D#Y?w}HqaL$+d*2BWhTl6au6vtRNF-bMHUN{ihXINO<61LOd^W~%IuXHL+@5d zsK}zhassr*QByF*M0(L+x#Yxr+yPQ!Beftwo~EDWkUH^P=Rp}$=nWx_zq?Zbijh|x zv6=^RsEGGcDn*Qrp-H#&zufYmq{Zb!(m8Au$6#Jxo z4FWRZv{4z(MK$3Ay=^VJ;DJy{YBzN>t_FN?{J`d|#|b^^clb((FiUedmykqZ2w0hH4&Nk>5tD96X}2qu75h&c+l~*ue~$uvGoMzjYMKLoZ}=G{Av?tI6um|18cjmrnRvH z0Z95&y9*riLoyy!zXMFmsriEssIGv+j+~#RK`pj=E@-$|#`B2pN+r*6SLCzYKJGsX zl07;l`I$j_E`?(_$;qTL{HCqk>4kSXJ_+rLpl#;}N0j9H1*Vv+GD&$n)j1_D+f?JW z?@F2An7-dF$El|+o>OaXUw)XX&_rvp2=ZJJ+={JvYd)i6I0S*Qm@WrUI2`)cir7Uu z1(R@4f4o6I{c5j$a1brDYqSO6W3G7VpZ@?}Xuo0D;0l#uq!3308V6eH_1_Q6-B&*OV$oy*uQq|;Ub8mp8VUBv&KF{);=kTeNtn6zT=o*dum)8w6qbyEqKg}Wj zV#HLkbnXwis@dJg=}91EnJ41_o|M#fUX5L=p?Lv*gQYyD8%JDKq?ZT+rcb76l13$BNFd|2 z2yCv3LHV=vq>!>4h3np~!DztY#t`>z^!XAv$xt$&cQnW;A~8&!DziI@c5XN$1mpCr z8Dd#e3O0}KgVvx}Kx~vG;~gll?pI7kpdNA4)|k`f04iCD#yu+VLfv`}#EMU{sW~HR zo(kiw0y3_x2B4xB1#oy{R9C~hWZK?l%;VEF)JJK#fEWro3bN|K4sn6{(aML+%xj+t zY4KVIj#*1%Cz1XYRu2kV-0%#Cj>J~HO7|B4Go7QqrC%~Fye2qCT=(xz$Q+r>LXNd8$_yuui)qh>`WhbIylj(W8!(bdoV5kT*gq)MbqlX)dF6vu_{WYy(lp=0?Cs zg-G_SWd|M4UXCW6O_^{mI@5|%BYoX!LPkC6E!^m2OdIf~GGr2aRL%E#8m#Z~wknBf z8yogqoVf|GW79b6QQa!EL7`HtIV=x7`c*jEX)TK<%v6QkMtJq9e$yfkm}d%b6Zp6s ze>$tnq4PEE8nTNgNaUW-%m@yR!!LiWWHQedrz4b84Z;|~&)w<$bNSZ9O*BvjF>j5K zl6n>6(y2_y9^F%vO!418CgN5pGf!qAxRfyO|fZ&pSI(`+K6Kude4?olT)vfrE zINW;*X#+NGhQ#NC)ccyh3lij?PtT|ItmJ+BMswWyRhZa;objHOb|&VE{VDkvs;J{= z>V4{U%NkY-j|5bMlT29ZK)6~gJBmJ(>~TOI)Zj5n!Ew07C>18(YEUS!TxQw=)SGES z(O|g1w54iIqZDnT!nqd1M%tSc-MK#0ST00Yif-DRtv6*B3y>AZYBuJjBAP&_V7U>+ zF^77P;-g|ZQDC^rjfQFLKpkqllH!X6#A=0@cc#fO^{R5u$69vKS3K|!n~_o~p+9>R zpLFu1Q-K|gaUEpq0-jQJC()^m4%Wt0k?BnvX~XM44nef^s|e&Cx%Q|RtxBh!^bEfg zm>i1Hf>hdhIr`Q-ZU=g|9D^OG15G4T+p&W@IBp7>w;7M7 z<5S*rPx)j4}?RA6jcbJAwW+w0xNtEO#1=Tf)bM$I#FQF@z4BQ%r1l41Sfe z)(B2inuyr4o(6uD0gz#lMsg3fDU2NO5p!BH+sV;JeX&r89UCXFp`=k#J*sf=^HMZ% zo^l7)tl*9U^X-ab5;}oE6l91qW2pA18Y~0WueQwm!mG`+9x^Bqmn;QajO0~0QeD|r z3O~K&mTcCHg9Mz_cLX*w(wK~QO8Do+G>OUH4 zksbo7fIC)^m9`)08u%U z9Y=FWEcYGm_HVZQo#%n?gsRSEZLIyB69Md4uZf~aA zv9Tm%7U@VFu0;eQ=2Zy$i5OvzyIa&$80S3y0JT?i{{RWx+5|5mg>GACHPl1l z%Xhckh6k?f(z%?DV&2e2CQr%_QC3Ka4kC~7&22x1Cyh5o%HWN_6Iq4_4Yz5}aC=h~ z#>S4>11I@Z>l-M~-KPS>kLylQz>us)XcfmYIvz>qwkYzC1g8e9N57B`PpwQNkc{)Y zxjm_c$RdG@1w0C~9AQ*|oae19Ft8!cPo_;s$^pW*e;P!Q7>g1ZlTv+)aNzw7Dx)bG zJaxrfRyY_@gWok)0)ezVs2TUgNA`0b(ICht8T77$?BGCMiOx6zviXtrk%gurjMj@8 zPP@N#2k+NRCf`~-!AeH^~kM* zZd2z_a;K0_PflJLJeQIjnNsV zK3M~W9OkQeB4l4BZe#OE-GDgHr8Qx?K;Xw2 zQZPZz4<7#j(w^FUk`=>38Cy6ENfl=PVr|qoa6JIUbV7&o8A}m&?v@R3 zV2X*QadZ@nAmexYU*T6Rwz?3cr!jn_1Xssl(yy17L`TJ|Da58@wL>bX1T!2` zc{0lCo?*zyY zie#2?A_)JJ}w~2VznfC+wQ}$9fes3g55uoF4;9M+x05UJk1~N8aG@6l25Hyvy19O zuHw0^q0P;5+r)9hjEs^9;+y73pX(6)MRXHs?HBJzJ4oe}3{`fvCpmMEaal@&b~mM& zRF6|RWfCU`AB{mS0-kF0np!u{5h(oq&PNrIDP#o}>r@C-jyE`BT$~QL!O!!nu|(o6ln(1J?o@hjqAKv4gq~mpY^}pIz zSGIC@Ge|lDI@e);eI}o$r;{1`OXq1l6ngub>!8;y-$P1}vr&7Q{x8)H#m%Lu19iM* zn1i30x@Yhe%UI0H-ytJ$r^h7HUECXtODvo*Z&EllR?rXw9@Ujub32_ek19zUu(@eL zJl9uZ4+BDRjGhoOBB%(*zm2lA)nE#BrQ5sYzF7E$M@JOPq$eE>h!tpeEuf>{3m=tP>d zBU0K{-dTtl>^lm+k~0zk$A8q;C_652IskL}e^Xj^?U_JdP}%LpQX!gG)OH z`(S>xl?1A02nQL*u6eBp7_tIttVwkSPtu;M2Q?DsHDPHqRmBQVJX6Ao1vm;;0ik)P zZKn!cQD7PcE-7(KMSyJ-wCYv?v|^T;aqCXOaSb$@8GxvagA`a-6^<$*X|FG8f#f*g z(O|hGl7Yr*w3CeWs9r*9ySL3ng5<4mPqkK(VtdnMe%#a!*jhss+?6#_M(s~|I6u;< zyJx*2oWiMZ&ZSsKe10@82dyXoo(auz9aj%6I$-`3;TrZld(b1tIi)M_`O*P)p2C_* z9gRF^wkb$s_p^^`0BYp&57wtbKM zla86J(BvABF{UF&&*OvMriy%yNX=#WlzHCtz}Oc|53N0J$?I7QF&yVK^_vGgPzKsv z4}8^#?!X;?I>8q>_xe(cp83T9bg6u!@8YNXax!5L=Ul7Ykf3M2YDn)m*{csROwb*JA-A!%#n9CE#1o~8ZJTPheT-$Dtuij(# zd8Fc8X3{yBH0aW2RVexU-oJ%1;=%!v2I6oqM>W;znlvWuZmeB{xaDv_BkR(!653Mo z7XSn}^d#n*75TL}i~TO*8JG7icOREO<5LX^^kJk^7(5btS6o8N8B-oJ*qV%j-zGN! z*q(Dnq}a=_@ca>{np8=S3C(miR*P(?&x~gPD9Ik;p@!R%@JPGB$&9x-$K-z+xor>; ztkRa>+#lhfdaVt`FiM*NJCtW}7|mI=hiq&cj12SXS(c_bPJYlMRXO{^C-AFxH_@a& z-%xT{ImH7nkGr&BjB#Avq`p=3i~vx;e=55MryG*UjH{gPBNXYD-t!rVlDy;^1kQd; zy8r;e9GZ8K_y=zTxU07odx6*+YJA0gX(F2#{nVKB08=1_5J4bjuELnha%mN}vtl+- z2N@M|2xQtAp>8rUKoyFd6P>{J^r+DToy+%!QJT$9w~PyolP*;93G8SP;{!t30B!0?=B0^z;$&gyI$(O!=i2NL zI3)2*ne!;Og^$WPDk!)F*$=dGU9v}@pxZkG)Gza?Z7n2>{`I#x~KXp$*QTiYh=1q}S{8R|XiGLIZ702xU>`w|CFT9r8`sZLOFR0%c zSdePn#3olSZ*JMZ!C}<*tubkB5mrc4IOxECF;=(#0HHdSRA%{AfFI}9t=E#WMlO~8 z=3+%|&AXzUWO|CT9h%yrOwXM1S(tPlgw@2iZX!hhZO@o~@jjU8`c`f8v${q@0~x^~ zzolgwl_xt(V!0rbXlQ~}cAnS?VpE@+oYXTl-PqX#iyODiwDHejO>3021IXXLG7ASJ zf_dlH^{p#uBbN5u$f_DeW+ZWnyiDCHZKCk>)md7>JkwjkZcWzw;dWyrH=#W-P~3&o zBZN(9EL%qsgRtQG52&pwJ1W95t5)1qp0=z(`~O3-e{p9v1}^fj_0}hR$kZz(kW>qa(Xf1r4igusEEsX zEY0$jIUd#7>^WC7-llS%oVL)_yts}VdG@hphz=AJ*VI)M+VeDkA1^<}?rTEf?k(>v zgUqa~2+q&}`u%G%SsKzqZa!xY&yQ8~`qpi@>i0%&F>1(3=2+Wl2bb^92D9}`E#rJ_ zx#uAFt8=Jn5zGDP{{Sjzl{~N{T$Wse+of+&sf7xTgw&#PwyLn|TMkt3$-(Q*bbCd` z)>vg%jw_V8x>eL1lD{m6pKRAtr%xP~=`P?mcOC17cZJdE%GG3t#MZ?=N~p@Ae=JwX3Sx&w@ZUvBJboQqsfo$<=DPhn?t(r)hc(A(>;x`z z)E~;ayB7-_VE+Jf^~E|Hv!4;FM5OuwOm0Us{0w!b6Q2J7O6NKX@<}9I#@IhfqW5#c z=L)Vp^X*zJyMYJkRHchN9;3Z!7H1@ASX_OkRgi#zff)4YFCWI-sBFEcz1 z**?JLw4xhbK|MJ?hZSg+X~X`o9QER~p*SoLPSueVp^seP@M}&M+yNg$RD@{7f(=fb zfmNX+2b!{&2Z~@$qcr?fYsE}DQm|YxMku2+SS}Qlg{g(GMHUN=JX1?j7O2_roKavT zFHx2x)K4iD8I;jrC1%fhiJS_Fob<@3jGpvZ2fV)3T1kEBUBdEts&dRT!ir1P^#+&*Ph5U9 zpb&bK_)rAv#XN28)}Ri{Qg0-32%rTZWYcgPiin=QX+vOo&>~R~G=(wRlg-*c#+S}L za4Li}f<5Um$26uwds6|)_x@A>xIL+I!jv!_d7u?1?$Q`?QxRxRan_VhbIGcF4wUWNy=eh#OgDYN%* zQ{lNu0)Pfo{#CJWcfATagU1HD4r?=20PR+PvQhBCcJrM66|Q7fT$~aO zJLDshR)9#$j?N&MkqB00t_QWy|%_muimW07LvnL?4k%`h-+ zygHV$9kQ`j>Zkg9)W6u!pg%6z486b$lu)x-!8e4r93lG#{WrqTw+&$l%Y)0gfpIXUT9;(<6B9QDOXEwe=+ zaB?xz-hxV2_Bmj1s;GIZhT1utgkrCZ?ow%}xQA;DF7CdydK6Z1v||IUFf*pHmL~>A zRzf<|D`ZqOfxN?$^5eB_&f62`I924-1|+$Ua%Bnoqz<$JRx2o_h_pi;o7$zcv|qcQ zom(ME>qKvH5*~`6?Q%Q!{*`Ui2*HR4WgrkwN&qCYid8#?K9x}{WJyc84Hrz4SBoKtYB)BAyMHUNea9ErrxP=4=uECw)F2RH5 z&+lo~`}E%HsrzASZcX*6sXN_$`t-l~e`|o3s){O#02CAyfbH`I__qX*2Vh}fU}B(S zVPaxpV`Jgq664{%c!5hn^ooF(hLVn!hLW0^o|%V@o{@`*nwnjNgNv6>P*9MLO;i%h zFTo=q$p4?0pkQNT>MCLAz=})sF?g41w|!g6;(Zb z14AQY6NrtioxOvjle3SnpZ~jnz@Vt;nAi^=ZQVb6di(kZ28Sl6re|j7<`)*%H#WDncXs#o56;dnF0Za{{@&jG2N%jS&i`ru z9oYYYi|`p2DjFIP4f8*^P*C4JFCZZrIs+dDk*p4;mDejq{s=5$Iaon$7dDfC?jI6s z?+F}IX2Erqv;RQ*Z^-`dfJOd)A^Tsz{x_~g04@;a`Qrfz0n&gg2s@(UrH%qdI1c-< zOuqF-Jo{lUK+z0%g29<`Mv7c;Wb|ofQKm7aru!)ooQH5dB#RwlJm4QrDQ)tK$Q%21 zaCbQ@u_KHIidMX&ZA?%(ucVxcSsD7=e4+k6ZP#f}%)Y+ogMY8vSTL|x!HYR@7)=ys zei*-4e@EF>o|=F+F|51Qb}TKyG{73lkhdE;xY+16fdD#oULzf}T8V~i(_1icwZg2- zSuzTUD@gfKZA8aCAfv3S2;q$0u2R9xZE~HNBw4-w5}9x}dR*_(xj!_Otp5N#$=#&j zw^GGnszqcUcXMTl8T7+miFmxfDJ>)|na=R?kdlk(KXVH`{4#fTuE}2@aW-Os9|CI0m6JJ{sCC)nd`j45!d)zF?64W z=IUidSE3RTNpz1v2=Ae-DjaO!UqvqiFXJud$%_mO+0#T&ajgYbj~B4vRkl~&88Y(Z z#b~K5bJ8hzOd8=cr+8$0>rL`>4SuMYS$HiMtc>PNyZwu{U3T}f@-XP@`JeQK!z_jVw=~)5^6NfI7IR;$FlnoX;%dS{inuB>{Q8omk%KoyUA*}%= zRZW3gK$gQ1k&jNiu2G7Eh6&SNHmf2`2^8E%7#DH%u+tn4JcOOS7<3YR6pio}{!G^` z{=|xCM@K4bYLQ|S1^Xt~VJyl>9~%2_{#80~8RD^r2byfLd2L;nn3-#cE+1(%TNw<$ zS}gTy;$WMFtK>7$I-b9!DCSI9Q6&%z^ngwUV!|y|^QqU%y?-{VCYVY(%coO&6WGX* zGGt2E(j1&@pq@O$T~|d9cq&2K(fSjXH{%spRR>y`&t@x0nIaaezVdU>D0lX6>LM~G zqHa3azn)kApophRA-@@i&({$`HT!K?a|YS4l%BzX)wR3Yp1|3|dyp~i;t3Gf z?B;{z7Q(F^uf)ZR+Zqzjmv$1uSwepFHCX#*@a}nYj=#sQW|nrGJfR|>SfSmVHgd=B z(RG-EG}2Rtu~_rEwc!a2HI@#KkHiip?PQ2?dS z_g>1@+UVkqEc7@Wj`Rp5*(vFd9 zGZIDWa#H2Mkxh_&S*B8;rCm!KT={Z&7y!g;?l5nv^`W&{^jWFZ$kS?N4oB&?>_#+B zBglR=JB6lL3gBL2)SO_#{>E>^IT+rHtA@Be zqbhP6P~8a`ECp7MY3uNpztA}l#3)yG+$>`4_&V%}VnIOkw5C}LXOgC~MU>>IL2C=4 z5^Ub@rWifAoPrFcuAls^mY#*)CU@9a>pd=i3e!J;@#<50?M4mh3vlk@tod9Dt#KIO zA3%E3LN7P~#VTj4KjXxi`HqZa+B9w^FM~U^d$&V=M}?z1^%9bZMd`oX4{WU*g7th8 zCibfu=B)k^XzVkuXAfiS<0Y^Z6~Y_c&l>RrMg~pbwK1M}ntX4FtMC5rwxC?a58jl@6mq38gh$-OpYzchVX;VdL7Y}eu_{?dOdk* zp$IgezHZ&u)j`j`C$|mPqT#zUQbVkMWW}Ykq1&L5rrcd!c>%ShZMiC6w~h{bxqn$8 zj$N7i#mak>@>@K)zpo^xyGuD~Z}a=k8eHk>z^8=Dk2FkaPunfyH(DLTVt-I?V|TpVlp7^{P|kYc)xe$-}k+XGmt zSluSGHixTDQ~IPIXD1uN*JS{smh1RNUEo1tcJZz2gUnTvaNS*3w*g%e+e=ELoERe!T5{x5v7 zX=Uj9pSem9e?p0yR<{N5ah#5{umqFX%f(JYv-)O3$qpAWa)?UvOHa{J)!A_lzSIb4 z?RDu;j6X!<%}4l#oC#U}IP*2|cDk~B>8|B1B*!Um7A3UJfc_jqV;{7px zK{!}Cl<6brJ6xHyz!Z4hQ^d1^x&7Dordr&CuuL6<^~;ww>NiQR>C(`dK=yVL?bD2e zaOyBSRH{?zO!7lDb;QWK!3~!{oj3E|T7a78fLZenbv24vhJ9Q+bNA3}Acvbp&4ql? zX`Fy7N;*~=vUhot#&f?^92cCumDm3OaF! z*Xl)oAlE!5jp`gF0aMngPnJ3}(`~1L?LX1Yl{Cr_lR@d)bJO>(=lIN)swQ}Ct#Ubc z#knCni*h7q2LjNfpeuq8-|0;U*%|@?XzmFrr^`5d2;GxDA&!0DpqHYhda~pQWE6^% z6FN64e;F|)#6EIDMGX$nkq2v*z{eX^j?Hd9UPY7`4=qKchm((qT|TE5lKXtr9=!x) zgC00e*FZgl=z}0VdGnpCQ#c^ zd;KZcfbkx{CT9f<#eNS+mX0+OO>nCE7ed99uLCGb<>2x(_C6Jx!$i=VPO~fb&VK+g z9eQd|tYzpKH4bWbPPYU;oDH;6ahnt0o9u*v)aAAPn&9orv z)9*VkqGT>vqls1x0bPSa?%+jBWoxpse*oul6|r=C*_+tqps-x0!S_bP2Ae>Nt9-oI z%-tw!yEFB7+83yqVH_d#CVH#i&Ns!Asc|nK%IQvG!A$$JnMlp!SMTIP%H2wW1EZ5` z(P+UH`8n-F>=w&YDc%7`lIUs*to}jxNF$@>?BoWwu5W8_V{7a*0rb zix9+Mtbv`Y&uFkx)RpI~ay3I5KmckRJkxc_=y*iWU&4DUzvLlr=||b}sjjvg$J#e$0aP*c%sf zk+{>O#is$gI0J#qO;LSGu_xNAo}pjDa-NvY5Yqfh&{pawdUz)&jCwMetS;#$k)z-v z8y*dWp1;_}#bJJ$t0)_&R}Wm!zl$=+tbfN^PRNi}A!BJwB#F|?ZfFCw&rrUm6{T%7 zV(goV*;K^jE4&75&1QY)XZ;Q4yX4Fc^&9-j+DFGO4Vi0hqd=*{yl<^4Nyr~2^E#DN zm;KO8hp-x^jAbE^UO^@od-t{yU^d#BFJe%rW6*RR>S3FtgO^L){QrnFdzm)Pxrq6Z zjKZ>G*CR?51mtefHe0IAJZe+Y6RT*a4@T<06NOiGURTr4_u3mD@Tn;PSVa-}eud#u zRfQ=TZDTr4*a%4wf2VC~C!MSeZu%dB$(G+_hjAtQ-sE|{lQga4VX~${)qmq(^Cb?X z*)}%@L#u9A03BJLee>r{1^mh`02PZt`_e~?J=@Dp>^+vlQId% zH$bX9N(`D+CR+Q3n{mt-Z~B7hf_mfEw$4!Na%VmdC@+}PFufV~il*Ec zg9?&K?ECkl?unEQ1c>0Zd@lGnya5{4p0)KoIdKDPhXu7Rgy_}~yRy+xzoGLl>*Z$t_GWe~Jj`0#Q3SZA& z|5`LPnt*hwVcZH zJL^(4{?QmT;K7U>f1#rPPn7-GYAoM0Didp5u^*xsH3|sf$6?qZgm+<_=%Ey(r3Epn zRTbf7oQxy|Ryupjag{=_B9eh1> z*z;MrH6WwtU%Be#%fy;TZfmtknPu2Kk(9Yne>Y^c%1*g`lyp+pRHjwR_;e%pbvfj* ztff`?GDm9mHvv0U5|`8&-ITPhG$s7XWQh>dqNi@{-sg$DY;iUuzfZXAI2#_5v0Fq6 zluASXOjF)e&c2Nr3mqO4I0=ToTXbNfGNzLaN5`?lRYJR?ow3+(iDpjI4JM&m<0yo@ ze#|@OyN%8np5BFN^P0#c>awz()E*iXO*1p?Bp3Vxyo=9}Lv0ukMtUpxTB)ZL&&G^=K0Lm)IxRSK+ks|OGEC^B6Jiaw76;# zt6S`Kqt)m)mB%kyAvZEb-0-{2Gfd3S(bi6PQfD$sc!^>PL&QIA*@TL_mcV0`+ zj^=*Z-x$d9c=TDIqo?M=Z|&xiB>T7AMs>OBj(od&(1poKZ=yI3+`)T6g7ipSpMEo5 z#aLrmpL}z+genM?pu9{zSre1Hvr^}0ql(1lm0(XSO2=1hgF8ROR`chVTtCBQ3bHF; z;VR(rf{*zxCNj^pN*jR;rVchEEs}jsrG&sZf{XGTs&w_5@`_QE{f9kNwlBY>A@*xQ z)71bPa=w26Ti;Ud+S4EBg&WgRAT373IhCc~er_RB-WH2W&FA0;!m+nxpz=ElCoEQx z`qe+cT)8)gLOm`gw(wWcA{$on*}J_-w-;s;Jt? z>e!W}H28r))p}xQOc2VE*JOS=c}{y>j<++k4|^n`8HemE8{(}T1qyz2 z#6TaXU|+Z&#nok@C=I^s7(3dLGc0{5nV_Ir@`Xjq6i>K{YPmH3brtwTSD{Ot_OB3E zmK{1^Sy+s=C!@%~?)~@Z zxmqV9P{T6+$TDA|hI1JkYn7WL8e5*v*YS<^JJz`G87`R`3HX}8E*?6zo1J(LqEf#K12g3jPr)pGQ=g)48 z$mi?>u_9ZdQZA~CZi3OIMnOT=I6HRk;4+DLEL6p;vzDv7J5SN;s<2mor>nf37Wrco zZ|&Ndc0%WM<_$wDH(c7=Ly%||9<;iiBq0J1qdqBFJk*{=iQ$$gPb4Bdy_nHs{ajl9 zgHQGaE!gfYNq7u2UQ_!#1`<}a*frf{F0Q`_c z`#F_Cz-!H&rsK*kNu$ZxM9B=|Cw@Zx!kQQpYS4A$cs*dzmFvXvr6?PpVvz}+SaMF%=`+`_(bSxTL*0(H?)w6_ zH9ugaG!ERrwB0PxBup&l6-@)bd;Y7?bLnqlNszJ1?Oakcf;3M>XU>m5VIT+G!0N&~ z@-dN_mkJyST_h6=X4O4bYVQwMTT^GNO;!Yn%8#VeMU~3=KFe3ou$OHli&b(ASn1B% zN8&*EQdQ9bAqKMG!sIR7Ig=r@HQO2S!CCg4V#(SFL$mj-lEFAz-&86db7+`6t3I_f z1<}3T;}EebN;#YTw)F@X?iwE$f>JyzZr7&*CPU((Ke=D)26DWx1w z-|3->b6Sq(v@-p;B=LTCK1UU}2U_-g;pmO&N^n*|L=EH+rC5WT#`db@4J5rYd7FP( z0m8QKhrh3<$SJ<*o*u+!qAjYKt+ZD5&(m}kxm6~we1lH)HKcyENEuq^E-G>E*uvs9 zn=DaRrZf1+*&I8@=|YnTU{S*CF#K}@#d@V&l-GWREYy%>Yo3=&>>)G}J@5rVXr0Qs zZL*qDWREaa3x6B~T$+FU**NL`x{?U)wN@*vqo(=!8wpCAz)uw@Tnsder8#(DU?vAs zY|cMAlhwj!)p=RMzJUyMi|9ifI|ds+`5&_sXLj+u8rphjEd0f5zPF%vW9&DM&}~c; z)lc2-2ju>KbpC->LgtvnxuU@f+N7=t#mUWkw9zvi`Q>TE9#np;@{US@BbP68;CAkA zDv?&m_2O}T6%i528HGjk=AHaXaJ6rn!rx`y1-)temUag}AE;gE`8CsQ!|`(W`}w5d zm9TadalS_1px7+YxDoj@CU4%$>bf@*?~8Lqk(kOeSWBtnR_1oqLv2wMW2fK5jMVLX zeFlw}r?x$qY_j>OeTyq2t3@a5Lhpe|91B1)_WZr*Oa8Tn!M7YmaZR?abI8mx}3FOT3Tw}5% zYIqZAWQ-}(#5f%qv6@^v0K8prOaQoA03*H$5q~9#b??CO^HPZ7i#R*3g)Q8Tq9&*Y zFI_NOo~-Gw1x}U54>TH%4R2UR`XT*0$)xmJEu&7oc2nU5`6QCnEsGeuoVx6C_)$W5 zP0ocdRZa?=^MISmUrW&vuT``3b2~r*Q#BnbPK>YX`wrf5V9r*qblOs@&|hOTL=rCM z*5Y37z^$Fgh41uA)RaeaJ+&b9j~Pg*gZxX#?D^TW&i36ah3-B9C!LE1lq=DSDPwkB zVul9+(`{;e#r0dt_&0hpURQ-jqB?!c^J&(5?WQ$AiVF1;z7GD-EV>-O8`6l_HGxZ^ zq<5uAH8lFWDfPHF{RYh~=&G((V?nRMDKhWeY8L^50K7K5iNvn{jX7YX9MH>@j`$|EVShrYMmRMY)c5i&JX^RqXU z+VY9tHz@RJdnE>9FZP+jB&h{pi%R97`?ReVHeLISGeJSeI(g%Fv(x7v({`aZmo*$` z8D({R4H137_JM^p8}K8@w2s)buTHqm0w97N=8Vt9}gQkw!X}+s~3Jp8+D75@KKYj#@l(}Q$o)g`{3P-#H&<&c^dM^ zgS(r`Ui`Jnln_vLU7k=#m&9xZu5E5hzGFNmKRs-jW^igL9**T55o@xvZ9toj*8^>b zg}&vxb69O#d8Muk8`3K{(2_mY6ZP)fmZP4mP4&nh^%QBvei{%JvX{my{BcT{H^*!g zf?inoCp^iSk`a4>%t9u>}zigYb*bBQCMhH8ctd#`Bdgu&31}1D8Wlt(CbftLA)7`uV9$53>Z=poL-A}jErguiA0piB#$3;;=k=f|dyWvXbHLp$TVr*#u6qnV%@eibJry z)5MXRzU)Tgm^bsG)P^1rmsnTk3P_$0cic@B5qte#kzab-z7r`krhP25+7Zk42p!^E zVmc@OQmbQRFAaUL$OuweI5O}0%n|i?QoPwpafdqx-@mp?Keb2KA+SKq-``C&s_aY) zaVL8F)cQ;i2L-*8PB3jpom_ljtjN67`VX)my?ZzLJ;qcQ`tyC&nCHqP=GQyDO@s5n z`wH>gk_@m&ng9KdG5F}tcQPuYa7-V?UKW2v#tSn`OZ@aw7fUl-T%3&V{y^O2jW#M5 zzJ8MEVqZB@PRM*k*+zp+gv`F7O%#y4d{zQyY^R*WkT5sh&We0r7wf>lVus~qNRHN@ zc$Y=g{PfCwx<>U{|9nOCzC2iGm1z#U2I0Ui%=~9J&N(Q%>C-?T9whZmL)I2Ny=bYK zKB4pjje`A>g`g4DTfp75l|@Xolg&-mTThqqQ&&m~86b2{ow>MbOf}gn2z^V{ymQ?= z*wBnCFs{Qz+ugDM?dM25yOo0Y^{gQK#t$~wH%u_zziU99uk_Q1X53ebBBcd1A&2@S z@b7(nFsZ-a>X%^0kl{h3gW8wDHnYb`PnQyl#_aSgrxk);;-YHuVx22l3fi=(sq#|V zv^+l**0wP@#L>Q+19R2?nKngddK z^StI26|&gLR@8wdPAFaJ*DSo1vh*{?6ZoohiC!!FQW9N7Sft9*6H^p%L8AJV-XBQg zLJqHOrl9{UE&NNXxlz{6BYYAp{-qQteRp|n=gp|dHRe4M0{UYYJKsFq+UB+NkaPie zRW9|T_cQ+d12QmOjP)JjC!Jr7ZDQ@V9lLpFC^%x*;$U@}8Gq!oB$8ED*6_f#f%A1}|_-1WljO4}m6*hjmk(Q;SfNg`8O<)C~w1CeE6g#%w zMke{FP-ASYfe7sGjNI0%B?+OOcKXMa%oQQbI6FT;JGeghCk}eJnkC$OPy@S;Jw55yn1^&@) z?y7&3tU-$y@v@+h<@1ns%F&F3PomMTv;vvqELsNt0Eb2{#jBAd^{ra88!gJ;ZFc%R zm9$+PH1Y;>6gO+zfs@GWqk(MqB!#AARG*umnK)gQblmr4lAIWmdkw~HY`1f=FO!!( zMAXM0C<(k?%#uT)e{k+vi#pYo`!9QyOB(^E*7VD?zCu;uUZRz0uK!C zHd~p@s08;ldkAq{yPWoALWqLu&nwd9JM=0QuqmW zs&7f<>3r$-+$O1bGe{__(|46!wHSCi^sJQEfZ0yL#Y+}wLbJTcr z+BCg)j)M5WO!3gKs{~eXiuo;$e%JU?!4hUE3zPOT>N%%A`+z(>HEvUk&!O zJE9})lo=5A=(qZJrnDsuyL163a!KZXMBL}9MmTE#y>)9=HwdoaXqa`@Nq&i%-)HLV zvxu+26wT-U$K1)<5}(_5T*LwsNF8cD=X+*} zJP*mwH=TbxISq7j4HSpUw$}W>RmRj`7Xtxjkn?5q1pk~78PWXWp}8=YX&W|%AKe|& z%1KWwUS6~Gia{5nfu;gxzfB7xjnDq3T68&3nCk05E7k}QJ{z=gG+={vAvYrs_9eB! z_6sOsf1_^m5aaG7vM5o~C1uwV3q$rGSU=7!5g8oGxYd{@bkU@CBWYs?OI<&a88KY1K-8)Kb)%Is$|d%>S~CtGm4! zpPVq+g~!yZ;YR3}8IMn|{V1&>-zdbk!4p0jS-@{Yjto`)Nc8~>M&9dwR3X&O-<)mP zXI%39mCTp=oFUbvA(N!OaSc(azMnq;`I!&GmJpKG6am8+98rJiF7Bq*%vhK4x>~An zb#T8~?ut^B_VSt0%Ib9y*D1B?<9e;;zel31ZS5cmr)m#YU(8ALCAB-BCsLq zfqQO#x)IGA(>x)3e*f^Y+}dq$T&LI7HYxi|O@W=H$DNxSHC~=5TK9z5k2T83*VM+Z zqC2Y-lgld`MTWMh(6qPcuP44iQBrUuIPizq-{;=cjW^m-xSdxz&h9oQ^`py= zZ}@kdGWR+LPu2kxeSr^YMhvC;_x`Mhku(mdbO5Bx1K;#^lOVegj1@qQ-SB;Btbd3DmD z`&e*)pJ?DTnrKjbMf6PY3#9Tr?MZ%?s67eT0BxDE*KC%-INXvGjsu zA|+QN?5h2FquVgbE2?x{3`|Xzj9J$?8zNpTA9D*@5-V3Y?i##%8}FU%sfez=WdF(I>@_H)14K=| ziAK2CsCl2+=oUlQo}JWVWB|NP?zl%n!yVaX+9o+w#E#( zqHe~#bjY9dX$Hsl6*`;IR5OaEv+;wTQ-C=k8#;%k^Um94l)2K|XTHj>f!6X3#Uh5* z_V`6pJ&ceFGS%#EiCGLA`R6OBL|syBQ%Tqc}J&^r{cL61)neP>t_fjKizN0 z>xZl8V~?P+f$m})4e~|dV~`T61v%VUqBv z|E7#0kSXd^*TgJrnDpwo`HwSN*TTT7iM3Isk+N#-8PefwJUZ-z=6#HL@EnBXT^8m?*_2n<^IXgAn67?mu0m{)n38|HcL@#SLe{+h!qRY!}*Ui%Y> z{HgL8yWuNCFy&FnNuo)mK*`4s0fIilR7BRNf$i%=y8T0LBL90tMo%>oP9g zXL3&Qz|gLru~H4J&-@zrhZy~%J2SHl7;^p(K=KyRSIV(0{2E9b+0JdGtGwaxyAK=q zwFWeed_OKMA6{DRJ@-s(LW44cvbR^7nhy;cK8ma$Q4R-6EXKZjQSp-{cDSg?(%N=) zM~u^{sz8|B&&AuZuJh5Lvvv6B4vU_j9x63>jS!Y&JyJ}kM(e%WI-_QvB=j>rouNb+ ztpgG@9C|{XC!2wSzltF^CH&&|dS`i`Df(sQ*z#{SvMT}(Aru4#G~wlSU=o}}fz-Kz zQX-{l9TwAqF43L3t-(zpg!l<_)MWkEA$&-2V!mwcZsuJj(UyU?vnrzh~c)Y9v5^cRR$-)U8lD+P%PEh^*`Wyc3zCKS;Z(O=@ zELzJW-@^~c4E4DZMVRL+z1%mJvi|*FF-eS9Z^5al4EL?Oj%CQVH+4*#RG&~oH005U z#yLc{{$OAW`73Hkq+e>2!Polw(|fta#ywZJH|s_%cXJ#ZTrzB_izN;NTx+{c&dr%GDag;o zLYzrU5(nIdtGsS)GM)*TL`a5;TC1e9@Mh9jgL0qd+Aep$tZH>K@wq^@zIBypr=8Wl zdK!`*J=6-GrjaZ#jRQX*#06qvmVmN#zSULG5A$^rr*c#}`bxd3ySG5H*mBk4K1u!< zZwyLPX~e0a39ovM=k#m;8YK++xOw1ZF7(ar>j^A-%JrRLo?nE<)>?k87#bVWX*>KR3)6) zjg(H-@5=DISla@H(!E=B9SO${s5t@r;&bQ~M9sF5Uhq?7WUa?%p`OExqdHPx{6XQB zC?C$jwk+ESiy40ZYDxNZ3oO8J^Q_`!@>yMO5iGuz`hz=FWJkwg@rL@>QXGRs8CL_2 z@6QUQ1DkIz`%fr?<#$Y#do@pRQje8uug`J@Hj_=MgXZ3?S8FrGuDZtHH8eMS49sEL z?{IM(Ul5wY-!HT*mqrR)Rn<6A79*$xR(_AsW`*-*(|(Nro5FYf-jFnjxN-+)f;Hk+*|x zC*-upUL73O7q9|7zA3>ha5jAHQ@DSfEOq#4kau)&E!^aLxIu`;h1Q>yltt4zWtu3d z^_(6DmJg*(($&t(hhF=$xVm1{F+E@GK zquhgIULaHkDT8>wShS+`SAa4ZC0G~>7JM<$^a#7B=PuEY+t0pCW~-&ZsHf` zcso7}=Hx#~C-}nc@lxm}Tj%Jn*Arddsk)kON**xl3dV5LQ|nGc?>M*6Qe7h7I(g>mKmK{`~5K$uwf_$+gbucR(JyTE$g(CKE(n>vxubd#i$ z0bq)wj26J2jV|EqNywgk?0RYHWcT5TctGhhHXAbdrtVtzc)RggDZW zu#1gYZxgL`OLmlt5~^CDp#P~ z&I6x9v&xG;jQ}hy&yr;KAwjmFIiMxE>}}pfe4Hd+K5{I66jiZ65kTH~Sxr7hKm#fU zp`ccmPU|xjWax~`>*9xSe2N5@MnxIQoXeGw0DnkDA^?12*tF?XHD6261F?lP^+ru$ z0YW-`;Bq^PX0H=PT@eoI_#JbppTQYueGeiu9bq_!2x`iq?~Sh%6-AGAGvRH#W`QF3 z39$)xNn6f{J{!v_?~X6i{*`)thTMr#0e{CE^|@GLVE6Cn#v0Uj(^M_d((dD%sbUk- zTj_=>T9yIsIN5a0=~Q@$;ZRE3j3YZnE$*bDfa-P=WvkS2MPwk=a1QvslX`Zh-NQRX zL7q}*BdwogEsn;QTZYpJdmCLbnjR5mVSM4J z*+$D2!xvFg@tqWexIv)?L6h1^QIV1^WxHJQd~kHYRhb~89hdT8ugou2@1GK9xz1f< zUWcn+cu~dV!Kb8vCVq4PwGHaGA37hyyJQBhYc$U|R@K8+YrxY>t|R)JPQBiSe-qmv zZ`Q9U7S%E^|9*iVJczoJ;qWR0g@(;RRE1-hZ^znxVDlvp^!Q2Vi2R9{rdW`X(utpJ z)(x69bK6E5ui=*zYFMjfNqkXQ^Rrp4b3A}1CRt)s_2h^mO{yD3SfW!L$~wV9jH?H; zMO;AkBO~Hg%rU<*|C!7Z`UvY)%AifeAjrPZa(v$1EF&Q__<^)?rKuwAL_6xfJ#UU^XM{)kG~G3=LMx zxVxCpZbqp`oUwkxX1-f17$lb+D0rtFHuK<55<5g_zZfphbcZDdq4birh}aahw#G}G zz?3$%xh4j0j19Jhs2`olbTp+8R9O>6GNfV+B4< zbmi~uT@uh&7>Y$~dhCMkI?ywSwh>mY^z^}tyi=$9AK>k5(=K)JtbJj=X}#|d%-|Kr zQDDfrBXZd%NquJ6C95#WhtN6mzBBafF*cA6Vvi7b^Sh1N;qM1+*)G~?CraPDoDBvR z8#b<$#io59_?-Wn(V#gNYZ)SeUk*D`TQ}9lFTcrz&p z-}vQWhUe<^*ccH0QxbGESHop31eRTzEm7%s5uGxfcw!G<|02!KMpB-?XcoA!A@0M3 za_)eTMK}pK8v)W8UxwO0Ju8k$|18Q?0JJecY(gY95dGzxh0nxoi^Bf^?BQaTsOWD$ z8O#x*&MtkPvx3Z+%d!8ZzSApgbIPoscKBK)div|Yckw`{@yxY$pxnz<4>L8_1u-RI zWJ51rj3co6_2hB_1QQfxt05Q4c}#Bq2!&p+Xf3l&SvZvRmh~OBk`qq9bdj5U6li!U zkZs?hL9d2J#mtt75yI)eu$;{yM13q^@n&LXxT1>J!O@;=4jSq=wrt_<@6NBG;3Xb| z(;qR9YluIs?-VraT=jUcaZMeW&2a1$~h9dbNwsY?C>s&*5GRdfuc{+WKpWx9Lmb| zz~IS`r?wT5iGJ7)?meaD4@Gz7Q8u;-Jf(I~vXl+ZJkY*y>xuX*Pwh+JRNC~#L*9Nr zoR;;pEyBfC@k{IFt6qJJW>z&dfltz{IUhPq<0j1G$Opl@HI0UCG+F3cUqX!{feY-fbz+V#?cy*{!`I$6`EcP|YYsg9>(GC|f`0ME%{PGj_`*}ud0-T_` zoo||bDsIJZR_>PqQ4Ggj=c@ktA1yD5^P$Tu|M)m+z~ReUaS*VFC?;+kGu95$ozzBi z%RV#biFs#-FjXrXtLP3N_eYC7t9xI_`{es%4F-O;bY<3 zVJt1liGZqx5WFjM&Dgo#ppY)$$YKa(Q{lIGKMWBxqt8+~Xo-+Td%ee5l5*>tS?6%! zKc%$@cAgjxsnP=XUP)t1L!P`c$sw8pMNUJe^PRdNN^X^iKBt6txT3Eap?*90KLVMW z?6o=))4Nxeey^xLG@1TJfGgu6H0k{xkGQ+I#U3SHc(kY%w?69R(FEh{q{`Ycl;(H` z?PeR?yJ)ZiF9;cEJ3zPA3R|P-XTd*|f2g*4Y*b~dxrbIbxgr}f|B!-xen&w543{)X z`w={zbBOzcMk0T|ZEk%YrC1W;K3V!?)3D2!?K=tz#QpTr@Jd%fjXR|ZoG7Q{dR1lv zp*7!l;Y~A0BMn(Y&e=jStAlnw`fluvVS;zQ)#!)!dafl3m}dq$dv6pWhRPPS7XUZo zK}MfAT0$8M+w8R{#My|%%$?^e=j4y;kK&>*0C5f2%4Cd_F*xU<s~mZ* zCTH2SD`Vt~_b+i>M%{gK9jc}Cs_PvpX{FM0c%}3$iX9%F{OojT4;Jb}It! z4(r|F^zF>@mB=^0v$qaI7$)GRRNP-xzbG3j+>Ov)?2l8TE%_7^8YTZwga@tPJiV;i^FQzTgFQam=%<3J zM9n!Nj{mnxqX&R;8wCH9=5o8ke%(L(b?ffclZG$l8(Aj3M9r}7mfp5o1P;F<@9OR0 zok8&o(rqZ38EOM}7vT}8-8-}CFimn7CE3kbEKFzc&uwu&sMKPcPl8rerMM-BmzLe|Cfhyt}>3T3HLePvBwW8>3P}|n} z6K_B9xR2fIghl*FqpZr7OmV!d3OmgAelAU7wqf?&9@c6~kdH|c70+HVx#<3$lPia_ z55oP&qS%Bq-$TtE4ScW6=0yMGFjVPBgV5e#l&B-; zG-nF|iZy;4sYlH7a>0EmIbKB-;O!(~Gc7F{Cep{~a$$jo$;%|;gLn2-Wm6`>=_t6J zPle{{+gc3TL-o|sVolFH3~L|W`Sr`_M+Q1x3X)dr0bMPv$@c#gZ9*IZqat7g7vHFg z)o+Bn_wQC$KN1Glt7qlrJMwc=+O+UZzwfq#d-?DSH{&G9U(ghOpM$`s#=X1N<)hpp zj21Wlm(5-kHLL2`H`2Q#gL)g{41cnv5YD9psmY%HPkxhsWssX>6gt^BW2SsQOx;o! zs7lk;O%mLevu)7@5d#oaqhH_6vnI_<nlDMi(q&!4+ZX^9k{OLa4QS}UaVe?>?Mis z<~-Kh`Y|4}EWEJg>`WimqKm!{`w>D2QJ*Q4! zuz8z85<{ADd-v=*$%XC?bn+g0ks6<@VpC;yI`?|r)UDsHVmRim7NhRHQK{4HU7D^_ z_dt)FtMZ>AhDZWlU&v|j6|B}fxsVhN$1sWBE9}?P}M_v z+^uzi0osypcjH=93<}ND6lSq3*X7HSvEtViFvs)pfN?}a9F}WoW?;X&b1M@|$VUVF z+_v1l`hIqLUbX__63HT__#HtFHra-fmP z&2%KMa~9pKR%Bs={q993!cQar0IgCgu{g#(O+1g60ALQ4WLS(U=b_`jtw$(3v5ZyA zXj)=p2OJYx@o7={D1nAXOWf_7&0Tz8W%>lIY=j>>t*u*+8*s z0Z(IHt-9ershpoe=|Nvn_O|g_#1#}GFB}S~e|!@Ip!LmcBr7GmBafB8I_EV%4mQai z-r{0q#^*sJn6kZ~}gFBR##{r2S%A(UsX}X+p-dmYM z5O4=WSM}*_?{Av+%3^%L3r5R^LIyu7-9{%XoZnJdd|!Ey{;)T7&fsgI()>dO^MsHD ze@epe_0_emxAy&3NjIS+ff*&6@T)r2=8t)H*P3$6Z*p9ctr-gA@a}0i#iHXmC%M}} zHV)kJ*w)UT#LA;J$7vI^_7F*v!NCW&wRJjklOmr=~IG*0B>asq_FsmV6ZJ3ek&1WlTO1NrlNFUf1Re>as)7e2uf1QpwT)~em2MwBQDQPKc1SJ%> zqL2=1%|}7HlFfojRAbYqtR&NEGo}fo>~j<9HkPEl(|w}ooQ3Ka{{XL5o5a^HPnBpk zbm>za5=#rTo#FH0?xgddr8-G1N=YA+Ixg_zYVtoHYSZ2IA-Q@5uC_efT-&k^4(xGV zHH`7fp^<|r=xT%-oHE+O1lAJC91$4f`38Ay$0zDf=TPWG$EisWhE;+?!ZM$f`ukK( zCW?fbXLDi$i~(BEM%city*eU}aCjBaK%+e?mPbluJCH(PjMg2)1kV^1(%mje7_NI& zO_tIy1hx(UqAO9ip~q`Fv=HQA$mH!*9OTw4x`wF5);mE7k7+7bo_Y`e09|at_I8&s zT{X4DvjLVafGVFrKdn&KH6d}RJhsk!xrj1G$PU&VbUYgCf{Dvf%X^gI)^%UBt+|Qb zMr;ILPtzSMVlNRz9KK!TGTO`ADX@=nIvR^X*7XY=O2+0(7_MWq1!7i=FJ7OiuCC`p zo5dFb{{UZ+1MS2yLVzl-ZhO<8B3ER?p85%+>R)SM1j@^tZd1Yc71_rd2!JQGbJ|aa zZFISWmgoT-jO60Fc){8Uu1Ph04#j(FWMA4Wv9hoP5nf5-4J6x2SPl0D=u z^wD!*{{Sf5qa%uRr^_poQXJ4|@gee_m2%nkACW-Z+nQk-H zcr|*UXR+Jf-W$Uok{AanTOBENtlH@fD@m7V*mLS?5A7N4-r^|JhH`R6W_X8Fn&QGJ z-9q4>#buE#f!n7wjAP%RcbDJ19C|OGS zVw-4yhks5g+sB36eKAP{VIb&oNuuK#BNE&M+mOT$!@X@O7V22zdmq-STEb#t>@eg5 z&+w1&r^*Qh*l>R6&q|p~p-B~W8IIkJmk z*dqfN_O0x!WqA@Nr3=ZIwPYFKsW=t4X0gnREG*bPFlwHW60WlxlR>gQ<%&jxkDwg- z*4(k%+g?1@aLXJ_L1@Yl8{B#tO)C`!?rZ4}<;d8Okb550(?Hv?issrNi5ljy1X0SytWl9B4 zmw-4vohzXwW14bz(1Cng^^Z4LXMr_!# zY_KDYiqMGdoc09fv8?3zKnI%EFZ<=kBW)$PNgXDWIP(BKI(;jpN5K+$3>xILbGh@| zAFXuu=Pk6H1^{zil;65?&vSJ1Ns7j{)mg5LOb#=O*m+hp1&%X9l6s=$2}RkC0Mu6) z^3NS=P{VHQ@ledmBu5MlG7d9R0N*-~TvsLHMGbLe%5YgW6YpJR?>8>zf=RAN#BO#& zjy$9o*Jr6adjOyCZc$*&iEaC2QAg)4dZatQ+; zhxrwf+}ov&y4d7%P-AK2{;u>Y?npq9cl#yWSX*>;0g?jLU-g=b4Q z6)dY2t_bN>rTJ~#`&6!SYB|m$RK`m-D%Qqw+|$x5qn^RvXc8#|k5P)!wnS)Lcg8C= z!uA_W88>9HH~S`M)Eet;r+?QK>U~;HD$M+|J`d2X|Wg{+sgkrVz z35CqFy7CL`8T1@~O3u1vR13ygzn5BDvo=W%e6??5SF~e`(Sy{J`qc=V7J&8R9R3w| zN(F8dfzbYyr9H@=$De936L9-jY}`id@O@A7tOp#BFhD(PcKA4pacsoQK<&F9(y?VG zH!A7@&mh-IMhsQ-1RqmGz$qV03WtAFk213*V4UWZAE^~Z+4?9n9ggOyK$0dUL7eWndLFt%^t3) zG;Xb&VY=5@4;ZSt!td1u(OwI2pGuiu1RAFKmBB}qv}-~}F;lt+Tw^s-*9-y9YfdH4 zO2S$*p(~>T`#?*EE-(q}RiW_MLz02GAoc$M8tc*x!|vv+C7O^k#WhkwbfbHmqG);L zAw_H*&D5H)4uKpvXN(eSr}C09fzqOoZsb$;vJ#~eB`sFoFce^CHK$`P+?uCwNEoSX z&m8m>oSpSGim{_K#n6u8qLu}?hhu<44)q+bk6}|l`9a>MF2N;pBIiMhTo4yON~1T1 zZQVeYCgAn1z(u%Z8flGz$Mda}*^{Ln#|qvNvu&kRjDEGHW1z)oK2!vb{p+d_D-Kuj z6v-k~6gfA$1x_nuW0>}gW17ys8HkG8ln!efPyit{D{|V<^PdpIh9r))f)Jehb6rn} z&=d#Ovj&$dY430W=a4;zdhLeCn^AkrqVkuv3!Z}jQ=lGoyGC$v&MLc*8C2(v4NGml zIWjmWila1EBV?EzD$SdLC2WZXIi22^@^8G*kb(DTHX?zDhDQKmnK$LW)#RixZH5MrWkxm^s zU#(cxCzAgFPqUwHH%46hlh+krQ6K2dS@suy=#oJr45`F<_vaNdS1vBv8L~iQxZn~A z9jjGkSnUKW&IdHv0?3Mllwdd{(!m(W3~;O0-jjDlMICp7boIHoGHv^)KT=J4YS}~~ z`M}_MR}t{t)<`d0j0I&;`qyza(8dQ!=Xx`xE5#h{rK3S3mPH%As~T+~ViewEeB zHsisnk^pI3w2oY9uEzyN-+IxtvJrF~`qqJualjQiqN0yp^qUI>v|=s1R<*w@D=|;Z zD@NI>8AXYq+({j4I_lU+hlsfIg&Rx+SsBw>;7q^C2L7$B)9MVe;?5;86<|4S|v=3uOq#cqjF) zR&*k~k$j9W3D5PZVTE$MWG4W6nwgM!DtH8*wKPZ+?Fu&c{{RY>#*qYzxq|M=JfC{6 zaDGPTIOJBHov)j4sg3{x^ymEh)mS48 z%e$){eZ6acMTD_wi0jAFtEo{#+eC&?NsJPD@l6^HumKtl0nbY4;DlgitcYXus!ff> z7)xM^`{RV?-|33EZEqkrkOB{ER=UKv=rK;%tJ4(Q5=K?r03src4!EoOZdN53sHYpx zwM%8dq%qo`AcNkqBDV~{5s}YqVpgDgz5dz_deZf<94N z=)0;9<(zFq%;0kwOqKun+ zHH82J6wA2(0CsWdS}da{+NxZUu+%hJ%G|;kNXI>^GIY)q@q>}=T6%>40B4<4@)+ar zsxqInN5?EbT1ITGmI>~>8j@xbSO*~E8@Qq{O69tMLHde(af52=4p#>h(=%wFPH`k% zFxcx`P>sO}{_SCDYIc$S)+>75e{&zXqo|(7-i+H^DeiM!O}lJhq-MD*Pu%+hKxWBb+CYKIU)54CercZ`oh zv{IZ=rao&w_zh#}ax;s7%ud!du?IGQf3sZd7fES7+Bv}|is+NGOyr8Xk}+2@Ktcn50Vg*u`KQB`OfB=PK?^B^MYIbM+usHO=6^h)@>{YVZ9V=SU zWD3TBgC%X+oB=~RV6-)091cGmROSbMfaB8@3=RP6jQ6W=e4uhNag5L>d+1P>+=0mB z(z36VDiC-Ttu^ld0J;FI3;FlV$=9_Z5n8wUK-A-mPsfMfES&eXw;GNUwn*ZX4xt zH+7~KWu=Ifs@DLnMk@SwG41X3s<%=jgMq=S6mN45<+l^hHJd9O)|J2jn#`BIBS*0k z@_C@H`-sqY2k^}a_po}_g@w79<#k=mfCV1)Z{azg#5V2-t*nYimTo!iMa{s1(_n4W z6vF!ov#mtdR_-oSX~%Bojy}AK=Ix!HUGg2pgMJ)vD>v@DGP$md< zaHyWE*Ib$`{dr{{TOgY3RJlq}DThktiJr z=kTq~4L5(h4;8F8GoHtk>UVNX@qj`qD8i24{e0F;p|^a*lUFVjnecfz=9rNQ4i63Q z^sba(%J>5S3b|_u3gw3s&n-8$I^} zGA>O?XX#W+NX$tbb*q+0$Fa$z_8Q!`I^`-WS3An)t_G3q?0ssKT)6bB@dY8WZ~)J}Qy~q#3IZ~L zjAQFmfx)XcELoS zQhaq4gVEgGE2|nsd+&Xm> z&=y7UBLx+TkO4WXmbbZ?(U&_{A$Mb?V#H43G1mgD$0&r^))CIA+P|OooZE(yv-6ZUL&w@#E=M?4(049VlRp1&5Am zMPQ0lk&0hA0Kwv^-$~@#yo!1XLfmZ33CO4!H&u8pM1v&rR^vOl?Lk(s#Do^dJfT+xoixjg^sM=%40_Prg%y3srG3p<`pkkm zDI40f*!8SUeUI464z0kb>Qg+QS%5Y2eBU-Qz*Tp%SBaWM;0)%r8%3Vp;pV-S26A(n z!qqh~G8L@%|@IsiEy-{<+(74x&t zx8EkWu5oV*pW-|W{{TPhSYdauayaYFC8nkBKGi;T2a?|?{E5%$T~?U~m23eRCz|H1 zl$)dns;NJTz^=O2g;DKPjbM#9R1wmq^6)c`DkxkGRm642UTToo!5PIdZ7X?Gt}0Nx`3mK5hE`7Tvm4dt^uuEgavCdSjKbSm>PER zhEao7j3*s4Sn$rsy?I`uw4lBYw391w(npG^AtUKl<(M${sxr4;Y22iU9mqMVQ$BN6 zByJ5*mAR#HJq~AHa<`BX{@3)Z03L^qaoVJ@1A=>X`ct-;t>hT!=lm)Vq(4a+e0MBPeuB2`RQWKEuk$sJ zr>B+~zqk&68r-)SfH3N>{OIZ(4FERAuiqH1mrEtBS9cs&F$prl06hqp<1Buj9z9&42G9jgsa z4Y}IxGm7mhy!Me?GP9^9PZXyPXxMb>^2?a#-p)%hlEx0!A26X!&aQ`R3t~#wf?NU3VX52}R6H;YG3aYT2PJydOLMA} zv^L|o0eaMOTqEw}t{4J6=(!_2KXVHnSZ*CbuCUzNwYxU~vBhw*X+}8&wx`N*{3D_N01B`T^Wi+U zKIZ^`I%>jd<&93}9sIcb>L_j+Shm89-LsBAIqoUShJa+NqqDXSYwlaN% zQ-qXMIOGHTst~z^HaXf4)~rA?vpk$vETr4JEhLqZLswA}v#P)EuJ zYiCf4%(RK|mIohBDx7hwF{tX;8Lgsb$mAj1FGa{7fUbi@L*{4Jur~RUE;?l5y4@b% zESMF%5tPpinYP`KdBMT=rouyDw@mZRKJNzUwsJCXPu8j{m5qmTK&_%Y1q}IXc_s-H(s@ss}k{s zA9Nmml{<2CN-)5N0E6pEu~@~Cl_E0ibB?=InzN;9G5Mjr^T?~;W()qTl^%noE9q-+ zfx0;EDW-{OmoK$6m~RS-Ph}VtiT0&g8TOJh&mAh{8f!BjFq{t5=CeS@Ir>qjP*=8s z+03mz^%xkz#a~OY8xx#^RZ&$G0Jx#TvYb(Jxl88ZSxErn>s2Ogz~ZZ+04k}3CK4=j)29qY9oTNx4^jNlw(4At9J+|qo%!g#9ui*@uo)wDvaSx?^J z{xmQ}Ie^@x^yCp$!tR+ybIo16Tt@gjgPb3FsSx|89D~+?xwA1FRRG~Qr`op3L0+{% zB{DHAc_ywzN}b)So<~eg>M3b4)|rq~T;XZhrc1yy0nTcYGs+`hTA@1aj4pcdT33op z<%!1LMP)HBAt$2x`qd#l$d!Vzz~ma5=OXLO0DPlA%Ai&Iht%e$nSesf47bNP)jGURxZ6t)W&QIuFcekLmi?ci~%)KS>Hd z<&%}ipz1%Jb5>d%m}&dgI%RTdL_E|HoYd$mknJSxid-F}4k-ZjG^F5FA{ia9cvY8k z9mhX0&OViT&Sr_*aruuyimrgOj@55FFhCgfq`;?j2CpsDbFQZG#1AnnYlHe#*=CYx zJggiayiH5IkU6J>$>~#aic!X6BNcWQ z&OqX-FqFO&XDP-%6R~r}`d~U{@Gw{JR|hn4Tfz}Q+-qlF@#5<67$AX`Blp?5pI|GN znr1fY>_+Cxe?eVT>B%cImbFMX?v>?Z<`yJXe3x;?d7+r}%}Hjv?xP3Ry6t3ew|8Tz z)1vb26dt&%ovD#7*wlMem5HhJz0t%358~py*T+)rww5vf04*2}J%xHr!Qn%8Ij<}6 zgo1mg8Q^sK*418y5ZvV;ZL#bffH)PU5eoimeGOOllc$vtz=@1Dve^zc;w^Wq&GW9TF+UqywrJnhU>LE`kG}nS!v$o z_MyV}H6usmpef5QuX>3w7z%@dQ>>XB&_M(05f%!_=;PH+D)pYB6LFE6tWg}~;;Tty z<%__|8_?6ZSl7P3g(3%~Vx3JKoGTOC12hX6=5THp5I=-;HDxW84{X!8hQQ3k$m_Qw z03NjVK1&7%gVa=jW2HwTmIPF?ld)xI%G6IGHBd9eaC&w$@<|knxg4@!8mLKbYIzlj z=9*J#QzB0172-D|Q3?m}4u2C>EkA50jgVg{HvB$9oQf9`BT|*Zz6wnoBaN@3vtMTB->>xspQ~) zI@hvqHr;^hfPX5@j4V;cgz(2CR)(F3Sj102e=fA1;^=Ew!R4bN>Q7qMunh&+QrXA^ z)eA<)1a+&nk}R5;1mh9on(e03vpFWMbaqrxMQBLVN+>jbxUl|8+Km4#(5te8JCftuR0kVzIZ%~!Z$OAh{(nl?E$xz!>Y&@IY_3RQkr88{ps59TWM zzM(TlWOR`b9i+Mt0rWInLn6o~vvC}Xz_PI6fFR|yS}%Xqf>-ChC2FG7ycTwX`wI!5N5-L zJ!o+962wz`lv@5JTtvOPv8q#Q20pSPk3m~^eigPpP=TBsz&2a8N_;h^rlS+2c#U(o z9!d14$>bj1nmGxzOO^~^M_@aVf%?@KztxEzSV5kISoJPv--!?NJv)xsYQrvJF&c#4soA$$4b&s=2khUD>Hc{61%8< z@v4P7!D#UeA0SDH(rK2>1x-4FW z7Uv_O&11MGHEi-p8T@Nz=!tEZj`3cQ-$U zYq6f@cFmvwDO9`602m{sIOK8b%|wLn3=boUV9{>mw9)_$=6rPZtNtK|?4>OU!H5L> zK<1APT8r-!X_n+?%(;vorr}a}urq5nfr!YJt0_CpB9gRO%zBL1QQ=v?bnzeIZ|7XW z2LOB4mVtHleN9xHEQ4?3+O(RwBAc|4=q4~!8nJ4GJ}MX(GW}}oD~SR2t~nl*OYkYq zD&BSwz3LcO7;2hj#G!{gRz|l6ZblCjisQMgy;D|8H3UZT9+(2LhlpgGpb`H7I;Bm$ zN{+6_VfKU_Pv=%4zKje4593@yYNeazC5>B;QF2Dj%ugRE%{2pMN;cf=zSuFs{v_2Y zZ&XM@EBG44Rn;#e4-K8muS~3G6%@9bln{%Hi#el+lk*knihP7xns#zGe$XGGqB$~g zT%+GN-i`kND$>$#&B!X}EIZV=*i((QOxb0_@!q19cqhGGNV2L=darm^DA@PKA{)@d zNcYbyhobRZ{{V<55!uXr2U_V*?(GRZTbkg!S90D;#JTy~pP;UaYg3A}trL`sCPC^= zSf4UE1Y@^el^v)2e5fE0c;=^+47nYc*HOkBf6>>!7{{evjZ#ZsNI4)6p{jAK0g^ME z<27wCElQ533<#iP7jcs8Ny!}jMmp6 z%p)G4V>PED4{HUZEW@j?a6Up0On)lhvAMUn05J&X--^V&(6o&{%(LGWbAYV!05V9f zcIx^qCQZqG45&J^ZJd2^Nz+}1szO>L(p>=H{sdHBTJlA57G5unZN_C+RvZ9xpTfEu z3-NOn<5@~J6ILysmyB^pd8HpU1XO?lOF$GJ0nH$}m#*Kgouu7e6OSq;VfDu!t$gI{ zUPfj)B;?nw{7lshIzY2S^Gw-pe}sSa>&Pq6!p6~T^Rbe=lt*Xf!0u|r=0Qd56jgr1 z>r&hu&y&Xjx;mqqqbt?DI|lv`PaCSOTGOL4Uq%OGnr~uO=VUqxT59yCRwl>M_pV6* zeJjg#uw|Z8-*Lwu=i0q0{k*$*PjIAuHRo5KI?lv*ALsI|D)dHF`<$W-O8M+@QX}Rv z4^u?RvRwZF3Fq4q(sbYg8c5HO%W5pJMR@On5;UL-~s7Ae2uCWjW(DrL-zCE=O*z zxTtQGqeJD7o6uDD^5B4K(;~A2iVHa<)ozksE#M`OaBAqjoiXM{%brG5)}8j96sx!> z�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 HNwfdi(j~u8 diff --git a/assets/church.jpeg b/assets/church.jpeg deleted file mode 100644 index 3776c17d4866926b8630caa69848ef2cfe9dce42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 124201 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µxk(yJ_ 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%0Ar>-eFq@>6O*MRiLvST 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

    do(U!1ePsjXk~>E<3~l4&LfNd)*c5{q_WeS3E+q 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

    #^pqW4B zP}~K8e)=t5HJv7LQqL9R@z;J39N_#*WhpT-VDKgq!*B3AQ9_2)qgMQAma=Uag55G? z@CNM{cjFN=mDmcqcU`aq6#pDuZglHlMb+0>^yi8=+S7)@W(4U9VzjgK@Tt2Do#pZC zT{Ds)-<(nr0mGIVw`s4^9|HTglR8N~DX2qp&Zk2#oM8p$M?TAJOnGPZIiE$R%ZSl^ zZ%PA>N8Uc-`G43E%z^)2F^9Y9@FO1XrVpFzgsL!=j(`bX;%=*!aWe65p2|qC=n2Q4 z#@+smr@u5cVb^VK+$v`u87=s}RDTnZoP9;|?UjwcC$3+YeQLSHX^6c*!Y0D2LtEen zDy#L4)*6ovy8Ya9bmd?Vpp?RXr0?osefI1xk087-<7s=3x4P-c3z%Ya-MX8y+nuy3 z*A-N!oYAL28aGubOylegoS|p0qH;!pgVol$DZdY~-^2dfW^EzoiD*7>Q z8&|6RTIPK3-GNJe+Fee(*Qj46&XyhA9na?*`i*6L1oj3@=_!Uaw z*hfwD{4JfZroTkN%fB&%B2ES-&BI{h!9PpU(h^rCqm72b{ z>Qjzca`=QHeQcC;gOf^8P`(zO3{Ar&vB5qQ*^r)QT&#qtFwL-+lO9wC`HXErRn{x? z9AmzfgAnmH^%JyAc=~T}C$S#4?DEFS1a7p7EGvvTK7=(Po8xXRR<2|nF@D5`$hBvU zq#mcalAQa7Q2eu!rGHXT<)bc^o*_{?2hlR!kuf7U#ARsh&V08LC6E3dEjVRS7>l zqk8W_Le+%%$YNVnFU)Demc z{cn%Eb$iN3{k`5VdzP{u&xHD%8Y0D@)Mt_un!?{0OP1$CX?;4yb-Z<<1xjecUbSK= z<@j|Te;ZQm7bJmM7B?>q&qJ3^XkQ0G*%=L+*Pa2JNUWZox^pfyP8Pj zN!ExxO;{{pXBi3`3T1NkeQE=u;hgnaBpC5d3@N>Nr0(@}I&t)U(s1O38}nZSm3y=T zy!u36_n(lw+yr;r@B;F;-^TQavg|>S4tokcTPLjkOd)zuUUWb{Qg>yXU#X38;f3y2 zVV7SpD6915hLt=^n!-?f5Ja*hfJapx8*_#o(};pNs^}?Ly!PJvT+sP)nk|Jx3(c`DAOX(?PD2cMjg zJUBD5xY-c^Dj}M2(mo^7gchW{Pa{i2wqeJ>pDM;cS^D6)66O0HTA49QQF(x@EoTMz ziNO;@6%X??%d$(JUGcs0F;grq>w~jZkb#@RHEo|Hn@{CwZ3}of#ycR**nnPx_i~+e zR%z9<2`sLZmWT_M30$-mEB_XL*&UWWHUHGyh~>f3N7c1;4F*?eQSN*F&2{*J2~PGG z11)R)`n%1(`J&jHdc7lKgbIl@2@;Ir@M^VDpg%w-UDQ(M9OK}yyF+P)r0Y|$>o%nT%yK570t;6PY+|hc2K%m_ zFQFABKR58G&Zt2xsysL)D=;I6UxP;Va4ad4(e9){KhW^=E2MP-+K9(+0Yd{)YpcEe zh`xPXFjzTZiF++ioK3kUB_(#PrkIDbD&!gq5mN(esUW9Qu0w0Xx*~#%z<&7Efj)ER z(siz{i4s%4oQ%`VF#6FO%YO3B{vJ-=$__4qi*EXHJZ-_s9QR%<_F`-58tnxXjShf>RnNd_+(wNlrO;kkNIS;0X-`0z(8_R|0uk& zIfVFWFR-^`I`YeIPj)C&KHXj4ui~%Q?R{S_lrWcgRe_~%}0BT@^i`FzR8lj_gAlH9p_sT#?x? z%~`}FogPV_|HR&#heP@Ied8l#k|JAnqbP(#L}-R&OJyr$n8;8Ky~xLhvIV5lqw%5(?S%xcIc-=f7&F*l;x%Z` zscD@B$KZo+b}ds(^C-ral`j{s*bw)DuS2?f*@egvxk_R?z1dR zm1PT*bK6DVpk2#Knvu7Hw_{UNSd3`Cd2Qc`_bPc=U#(zgC83**Xm}a4H0SpDC zOSr~W22OLBvVLkPxPKb|^S#JxF42c$8jtYR*dZ=aOec5vNzChkK+4KoLrKxs_i`#h zHVsKRgTlOBiRNy#QOi%YBHUQNwkv`TC|Hqm#z1~-A0aB(ngUUk4;&91*bgCzuewJ25xgSCBZ%gVsdtnE`WD@lT*S)U}U^?#fdwx5{nHB^nx>@bWUB zWg(f_2T~WMn5A?naL-hvAERWy=6p@HB8xZ9y0GaMT+w`phac{XI*KAS*~R1t+V8 z@v5EOKAau!-@BleoDEC3FJ{C4+2O-nK%w2VgZHg)oSeAM^g!y3)cTErzlwLze=pvZ zVqf80On{R)(IB`rnV{Hfi+rdtgNqXLzHmd(!BClccc^DoVM4d9K29yA_>6I4<^0K-u%k+Z$O}WjNgw)? z#YoJ`oHdBIcs>~6Hq8aNv~3W%IzUtg^Aqw=9p-`f!7)|OX%W4!oW_Eixfi^xhqN-` zv?TRmQt|DxF_Gso-*3X}SO9S957;nrwtQj{qGy=reuO#|91OqIq~@byc*Vw}#NU@U zzt{Zm2NUy=sO=+RKC9B;@rFPki7PHwv2&Ji`scRcGrZ;dvL%P(N#n+^PSxr($W-x2 zj7au2X@7WAa>JXTqp<5Zhh;%&l3im}6+d1DV76yX1UWV##F|sQK&WRHa{w_vtsN4Ygz( zKM=RwhgMQEUxv#yHI3hG%~yU&Ey>rBdS!CB-Qz>E1FNK>sUEr}{4}`EPKTeP(CRrW zsGj6cmE=8ZvAe=9&&yKI2pKMC^xw_a*JXAl?{YgVQdgMl1$!EF%tXKu&s(ijgIE$} zJO&!CvZjXToh01qapfDm@+8&R{h-$bSH{8pPRZXNahd%?QSv2N))ft0JFY&dW<{Y0_OeElqnaLBA1m)rpeq)G3jzVSJ=FEirc48uIU0!2_* zT6}%#H-9P6#|lYING1X zGu6+jtHV>?!^`?PI!ADCrcl&`&eKS9q=Lk{=$810;lZUQr9c_^FlA=Q(N`cxH7ofv znIL=PR}D=0)UinkPo`JXA9jq)azDa{>;UDU(BNm%Lkz#dYgBJHb}v&2EPGD&8fi;R8v9` ze74q|hn7Yzr?5wrNHspu_g_eM8lE74$Qw+ISUV?b0)#RUFx0?d3_c6zT(Apk2NynZ z;yQ@$5{A;bt!TGk8;J0mpiQp=Q)T@sEb~Zi9I;XEOq#DNrGWVOk%wRJWiy1m4av!cx2J?HQW|939d#}a3)%*%x4)KysMALz%Z z^Nn4z$>Ilrr(tCS5k4g3(WTw7@oII0=L$c0EcKi^q>e-K7jR}^Hh;U|a3`4S7b5%6 zg>C<+cuas}igC`Lfdl1;pK@iGUq_(KgB5%7`3Mpm0E4+0d(GdFM{ca?V5Vz^eh#ej z@RKqB_P;71?0p@t?E4#XNDeF(0xFH*2JKk|9(Wo(fY|)U8TsoX|8e3VYaqn{khO|I zc;J$7lnNEaIGgbpf5tQ4*AZ1eX+lm@+}c(ik$%CkKTS-pxy?gajc4yeGUYapAxi;g~mTXXzX2S?%JVGBgpc>E|0nfRcPn~nu@wD;A zt7S3%_i(NSsk85ru50W~e4M3ND@IPh5r9%@xa07>TrXqN+UP@)aJI|nnJaHnB9+6N zEl+J88p$IHgBxD73f-fT3he@`A@oCIRoY`(vY~+y8p>Z49sPVI%$VIfptmsE^+jR- zm!TG>CSCe7^Fp{d)u+qLH(S$(XQ}2^@yBzt5WwwJpTB5@NYuAV417l93sa8SgQ$yW zDDy9ki0PSO`C@-YLHgT?<}`OBUiAYna;5L7FQ*CyVV4B3{KVOM=&BXPm{#?NgZKcf zTsOU)SiSS>o|bM&O;5zWyXhjw4mdxQqNj2y_gu-iW;k>n@BuecE5@U6kgyzK(4Bw2 zh2l`|bR@83xh1eWg#%o>MujPJ>Hc{~b-9zvGoz^MbUrTTp_4DrpL6%aY8O}6UCWnk z&R`=TWA&2mQWhScYGk9w3E$FGUS~RLK0c>h9@}dim;*A8D{9fRj*ODywkH-HbGl-S zZ>}B`aJ1fBOy0E`E2shKZ%#zy>d+gVISYmLWV#astV?~Vcl&&&#(T}nyP3P1xl!B1 zJSKEo8zF}yKJDO|iXlZw7u0zmcJH-dN3npMBHrGUEWP>=gLyG^@nbv3c%_!HmSMA# zm#DwaIj7G&^Tj@T`WMSVf&-XS{!>q7B{#%UV>;W<08t@tfKa3F^)VJ>^2PQ3@;sNO z#x*bd$7UtqQ?)-CKv$O5NX=lF_!k}8F!kT*(7s^SUJ#u5`^*U@KO>WQa>a|fuWK23 z2xuSYuw7|2q))zaj-7n@Y~YiFmXSoDU86*D76D_TWeg6w4kIc2;>+_`AFAWlYa4{J z$PqPzcb-ops-+BH&2D|pXv58=(Yfb{Io&=-?Ljm-CTX21IuM-m?0R%R(tY5#RCemA z47CJN#+Qg9;HClpBJ&9NRV08rqvlC-WN6=-iN#y!c6P3Qbhi0hTCPzkD`M+YB;1hE zh`2W-!XyY2b95=sndzXn-Dx-xMAH_UK`392Uu&$9AS4e;nZ5cnro8{~#~q)`;At(; zqZl@X>&0NQI?zL22Mj9dx~`@5vG_?lJE=79ZIR&w$sj1NtdJmaBad}AlQ;xg!e9!l z>!K?$Cmt<2*+ar|6GX1LhSl0HLt^5y7vYZ1(tbxfB>kd1zjNS#6Ns+HajiYYl$q1< z#v5u8x%O~^5p6dF@3A;LK$l@%MG^>Ii#>>%_#V$|Lc$BSxC6_Xwr>pWOL{7rZkoN9 zXM+f7rIny1&|R=PCc^xZ#+@-`E`~_Cdf$@&ys20mzXJ=-gNuh8mw(Mb{zzDd!h-9ow!| z87!GfI8!MhwRn$ZOhejEPSZ(UP!PiU12l-UqG&$m*GX_ z@|24CkcWOy)Bcp2nDif>6em)_L%P|XGJ058@u6xOr>iZ1!N$CDx4O#T)^Ar#IVME- zI`bk9Fa`#MBBalfbF!RqogJBelM z@A+X?$M6d{#B!i|8rTD;Pg(^MULAV5aBAmNS0rnA6~wI7ZAzPu z{wL|8%Xp}|enginH=C64!|w^+&b=irEriw@r1e;i?|Q0%zli!aHU->AO#shfjy@GQs(Qp>;cMmi3(=H1f{pE|#qQ$r?0cGQGDlriM|HqhMjg4f&l~4{ zY5aK2F$DV^OS{eYtsQUxablWDkQvdwpw#&~gZmEz{UW2hZkM-yO#LAI{$9 zmQTM@A|~j3%dm5Q@P3OQg%F5_nI0eH&qJ8L42}!|^L{@Cj89*;VV3xN&`A@?=rK%9 z4jxCC>Jqk!W=gJzpBQ~p7h$|-&aPsda6GHzSH6}~u8@wMVIPF`(FG7>Z~}~%ao-<> z>%+E`L9d{=0$FTOf+|?8-;<)NGt%j*l_*XhEdYdMbM5WxPIEt#i;>X9b^5V$w7Xx(RJP|J zI@jWA$mUdqn@Sq*&S~qZPX!9~qs05Ev5xX6HuZQbeh~Ab2_pFOj{;)ESM5-G;9dY+ zbaWxxi_5+t>L6UMP6$U#{taPkbFZ-T#IT2llmiET-rW!}$)4D|-it8f zsY@Ra{B-?rDjNy{>P8Kbv4HH*>MhdqWA-+R4_{YaDZgqd?C>;D;p19ztm)@+S$Ne4 zP2OC31f!%~9ayK$FkZwb1{55gzSvtj?B*ae?A7;N#qz`2yxt?YYjB2<;O2p;m#?t3 zbvWSo%uDabE4aFFj(eiVY)v?74OeClR7ILc+@IA&x}rZK-y%B@lP>;MfTmH~xR#le z7cUTVE8V5#vSXa#&6`fKhEiflf-!L}d@NtkU^$(|3+FNvi538EF6f>wab~q&5m4gF zj=1D9dyaMbM!IkYi>$BHo89Zmwzc|)J$EOs+GL^vyV0E+aG#JG?+YopBpX%E-xN1 z;W#Nrji*IXOhB9Cgqz|p%l$BTud3}LS&wQES1hrkcI?#mK@WWCeAkXQR3t-hX#d1I zri&}KT^x`Dm0>|=wM{PgmAyM$r0$qyrU#GYHw`w0r$XF(dDTCPmh6yg(t9WALX6k+ z3&$Q(H7{kZjqAictF%_ezp~C8GdO-&hzs>iS-h!#KP1EeylH^bimT74a`^1Vc1h|7 zK*Y}N@ywFOH)V;qtB!50u@-!<^VT$DxTDQNIgvE5#2a0X{?xvY;_%vulGEMS2Ul#V z&o}~?;|Q_*M6eRPUH@WvII^NX$DMaM8ovM;o*zQwm0Vp?#_>7``)-j!f%1+a10lj zV4g;QnGu-ql7C)@+z0v^>}(amjo%;i3fi6u^$DRl`e(eByuGHn>kgWIMKI}tB@9dN^$bzMuQ&E?%3F}}kmcDA-J`Xxo63wv0% zc&U8Gt2;J1M<8>K&3)b{*Fb_LvqSJE1Ok1*&no>6f@WcMA{uVau7*%0K{(5U93$LV z8;q=yI$>MgC}C$izzw(mXxJ?q@NL;Nz1eOfi+{HiLwp6R7NE(8;_1#ESw?%(H1U_- zH(Oupuyk&J8eK^$*}I16RB4AWKNAKgQn(e{gvcws%Jv>D>K6Pf>DxaQroIO)8^1{T zTJSWt-4+QP9|VKSXyZNODaNzCxvpz%zabsy$+YoEEk)*`1K_k>f zaA7a3eR}@Adr7xo=Q~X7cV(>yn1G%<(Wu5fP%;g)maYZSq0?m#=_c?OR1RcyKsMpp z9rd~D#;og?6WyL3sQnGOXrp~_KSbYi?S#^hRO(|$S$Yy(44h3Yu%qR*=d?n&cSam` z&^;6#Ba-?cVen%NC1Y6+zU;XTB|}p-VR1~h38n<<F_xLOz zJ~U+@7}15B^d#j(`zSb!|D3>6>}Ry+j_`jO_jb`2uaNr0)r55`1zQ?G)QOy3&;O-_ z>VGAz`oH#b-l$yfpT63hT8E;4?oOE0=k7Aea-Lx*!mZM*E-AMn`Hy`p+G0l76r4vI za2nQW5~=KfGU;SPB#5g#Q1Nju`xfQsBrVA}@!k8t7Q=-GdQea)XC4Jr3f_N-enJ{Nh z6<@|)FZ`CM_#GY^xm}9tO6S9Y7QHC&b+|NztBc1?R&n1@7r}TrG`iR1))_GopS>UH zPHgSP04sQ>hXInrlMUl&mE~>B(fUCAGgSrWlJ05WYLUTbP|@1hdwx&)u`ODX!~!Ua zRqr7_pN-OxMPi&`Nm$(+P+xn2yq^FW0`EVyA0W|VeX5ZbIVMS!?j1UIDq}=!4e>B= zCy--0elNY-nShyexoR~G2d^4^GW_glw|V##V2JGHp|hbCs_D{Z}PtFs=xQ zgg4@IouR@I(dp)icjZZt9V-y33tF>?pQKL5O!10tbgUN?qo=`r%oIDRdm~00n0)CGTA75%ZeXg6 zh^ln37M$8SUson3*cOvkiJn+RUMZ?{(~wTse7}i2`h#XuTHx0zUH7ihh?Er}B+Bo& z#m7SB>KFp#CRR77vc%8KQ(u>1N465rmfDWe-YGpJESwd(Fr=)Xq`p(JHqFtk0ZUS; z@Cw7*48~QKI+Q*23Ul(y>{Q+@PPp=Ro2~sUunn%0CyYG!X#?N#aLwpNQbQZDru}hy zP~Q3{HG)!CYTo6~seslZm?i@Expz2Xp73;EvX)SV2M@~Z2 z*W;kb*6%tgUyaTULeSq`^UNm}LC>}tw2xkZJ=JKn?KpMh!&HaE$;WSGU&}xEG2sWJ z%`Vgpi5lL5hOlX4+t;cJ+oI(vZWZOSf4-Y!_)WRxZ2xV8{YOy}!~5(03o0t+_t?Ke zesJvr=`U~TPID$lP#ikVRK!D7l*-!q;qYJY^J;@Gv*tL(#6mKctP75z&j7~6_1N!J z>7+9?>yK+{lGEV7>|F0~>2xZ5*4bsHM67N1%o65$hl0ZplXcJ3x~i;ixmSxvL8<)) zboNvYmJaAOsz1mCPNCv0GdqxnR#lH6^qc*8@SX(?GgyhIx2{X3iJ6Kzt)Jt3E&y6Y zgu&;wN>{RO-|N{3Qkni_Lo#iHi_QEZeEpu94XC7o;Lwt$^j#6g#IHs*2XF+2$$Z@2 zFaBma=d(U!_gCmHB$Ysz`7onttPW~vo2K{htX?)7hN!bHnTLV-ntxZs{-@`h2~pRX zj3kJ`&Gai8Y=_U@NRDxkq?*v|C}qi)35_xIN)9WjhW_D)MpKMpvtQzqW~m`;@7iNx zzWR<5BH=nf2(@+&y4r&U!E?4{-;i#O9U5Mv885Yd(K3EPHd$rDB12#SpiX=l$UhZ_ zA-REbHw4b_u&bOoZ{j7ree!xaMt6+otmj~xI}yo2*Zw@KOTC^WHr;x+cUmg8AJm^H zZ^WVFC6jhEyWu=Q(Vha(peTgWw9ML^$Q(%B5>Wc^bSOO#b{zu=eQmi{2rJ%s|FR8B zMD)!b4)-1o-#eNuJfFd}c0{Q_0aRPk$E2PJEo$nmnR0T50FiunflRbUUe<`;O z;Z@L?dEKS%i8sP$_>Aq{;ez!+F5hWVN_BlKdOkgO4lNlj1ej4nMMN-32rd;aeuGl2 zj9Z{Uzu3^^WCy1ON;CL?-CWh@A2O_EBZ1e{>_+9cD#d9c0~~t+E%i;YcmtI)FVe?S z%Wp(;y{HH*Agyz`Pcb^Xe;eVmcCe!gp zjeP|i#@pszf;|f0Gw0*mpjkNed6ci|&*;hYfTI_s4;=xq+C7jv|AXyk{%t@z{+#&V z!{%ptA_gVk1)Sdfb=to1KPQBi@R>pv%IL=oXb-QkcG^gA?9LgiqM}B`|nI>-7I~gy( z)%mP#?`fka(Pt3*5iUqhPl8q4)&*g~dv#wVEx*h$rJK_^CE}s-NuB#L7c@Dcl1`<} zFG$MGg5*s5Z}y;{jIuI(wvfJ^0>d|aL|t~M{iY1Y*Fy%9QZKo3wrXi^jK}Ds%mD{p zBv<%_;V<=aPqG5-gO+Y$x1>cE448b-td#o|6Z_{Ap#8WSA3Bd>XFkUGBYDyWZ=%r`xU3v#WxATDw*S zbWebTQcH`W+?`C+7Zn;-BY}^huSK968AAB9k@;zpxzY?wdhV91Ng?BQdWE>~_EFHoC<8$IuB%cCP zE?kkS@MZnMV)HKr)g~teA7Ac!jEClt;f0OY(Uy_{_o~hol+9M-)?R=W!zPM*+sNfm zM6$}OoIQX1$d$v7#Ph?Yi0@f>Bfoyg;D3AHn)OGy?2ANoNxtR()SKq_mw)ySxL8#n z;s<;Y$C&acC*t;lDlH4Ld+oTK=H=Tb+X_VW+w)6WScVEUnWw4O9};n#%i^+BF*0F^ za981CcYFq45bNtZ_aUMg+M*MSagA?KL$qd~-31<)n&y+v1IxXr+^=S?A!PfSxdGn$ z5cbj~3^&G8F=4_%imEU-we(iqsPrcM+G8Qm6Do`Tx`;C$d@r=S(#1SB+$QkS76`-V zhTfXAt>U*@zi`ohh^n+~wD62%a_C3?q2bDKHPVV|Lv5XX`MX6%S+5C>|BQ!pXG zt3Ub&UoM+uMBU0Z8FSxv=)R7q@QT}i*d+h3b^h<;|9@jpxF~9Roh?G{DUePT=)xS* z;;5wSQO94k1jQEKdN;q;DRf*Paue3Q+H>=U-^Y%_ncAYR;6`K=4re@p3(bUIrf!XI zd=z%c;f?ZtJX7;jO{^tPpq*R+|DK&|Nsd`sGcwp&Fu%LF*q zo0ijHWz;T9_KmZIZvNzwNEj=PaM@ou(gC6V6X5@_6kiWohm$JYIMGlOeH(MLsfLjomKq zfaA6zozI_EjHpF+*uHAhd=(}Ja;)o5R|CJ-6)D?Jigm!UW2((Vl=5E0A| zm+;qG80A{Nw{5n~H{NK;WFDX9yCCZudTvIyMe1VEn|ELvj>&@R+0|AOcG8%1AT6?P z=+uT?ThDd^C{rTmFq8G2HF?J@EkpGpL|Wu&;sPZ|00X@pFZbKkI~~} zS)3Jzv!l+@Vt`v!;j+}8YR@AMqI&m}ggxc57UU8VfBg6gf8cyw_b5gJ;R1W;pauQ_ zU-Y;zt_${1`D#1=n2*zF;ILXmUT+^mz%o+2P>xOgd+(=WZ&sh5ETFnKh_4}*|Ay2= zhr0q-;b#Hk>$7uQ@w8vpl)Gb#aU(1WD%P-&mr@_vyG$?mMshX(Nsz_KRTzN@vPZ_E z)o@cKzc;Dy0$Ga@QC;rh$f&m^xGGa7|J`ZYcbF72##{}UsnSO&sw$}ruWCgNP zKk-~0P3;R3>s|NeqaUo^m#(1sb(fb7DIN9F6hG$ss3y+GKDjQPPk4hc!; zqjp#<-Tn*Wms}nYMHT3r<)Et}9%}hi>Xt4IzttYv(5m517j=WXixQugvv)`ro~l9_ z^w=1rYN?h1jreuVrIx%CVXpZzhGLI0SiTauM@Jv&2(d+~{%zkV0YRJs-HM09&rs_7 zlEWSSFSbARp!Uf>vTa-Cc*{DU%$uAK6mn*OthM-uZJKj9PHUjHD>u(3F6UME$!OFk z9U+O=V!E>X&uT>W!#!=4L1fJ{N(EjTNf+K~COIWSwh z!jv*24T{A$j(a}pG7@M~>Znym%-mc8;V&b=T-C}f#mr=Cd9(x0hs$bH^1(2oO6@Kg zpKM6?__!U6FQ2Ckp2%PezVv`1N5glu3k}l+NP}`+;zFa2Z%0&Y)$hrB-4V2wNZfZK z?PU})59})gYGYKpiyxt?t#QAZj0(YiB(No{ww2_`3zPNW8CUr)rnH7mEG3v~fNa;l zo1XvX73?RvL>`j+*sj4GK|n#i0T%&CBX2(>ekS6c;GMl+joRCvmBW3AWeH|)Ha;tI zgFAy==qLRGc8MuF9I(#g4iBmRqEOV@sCI0`w%;l6aLLO@axXeX&+ZR3Wy=C{cz-V! z-sC#!8H5%d4pij!kUMAN9+c_uNg`q3c&f^oDO10}SasG6R3XQv)zk1pjAAqw^D|Sl ziK^CRatvQFHF@=RYgCcj8Lxu8kVpNjr;(|`!i(q^@YIxrjjECIzQZ4DHC&u_&_Wm4O?4ro>M$X_}I>$LGcWAt~229EwZaU z`6W$VC~dpC@IvobyI*?fZ$E@-ndB6K>(o;*5n?}|R@mr9IQzrC<+7V&*Q7L@Yq&UQ{U_^@<3$yI!jusQ}q#kr}{Y8Q%2NG z3l)Xf+Sii=z2*!hqE4i$atNP}Jy;Y85rc?YJqLS!a8xpnhD#5(iC4$IGem!R)g*E? z$B$Huh|+}C9NP4bj$|D!@R(ytg77ha%CqbCCVlNP4Wp8e$$|;)(oaAIOyPYWFB%H+ zo6M#47{g)^M*=Zo)7`a$E*1RGTb0Z%4m_`}(v}wbP7JU>f|`SfgIfr~6j{HOdXBvC z+CQws`byl|iA-0*g17mk;r#K-g6fO=Avz}`p(Cs`CL=$E)Tl<-eym}Kac<1U99|d0 z#lH))ih`d6xX9km7?ngM-&fCLA8r`YLg1*xA7Y$BT(vB>&e5TOoc~K0=O6{!g*WNk zr#eD5FW$P{sVj%6I|yfZ64O$|IjIJ#&eZY&JHV;ZL8rvSH=?}LIWr_fqT`z9**Y$?V$NI#yQ z>b4E*dV1*YRm!PkeoI*I3!_DEIAt`DL&52K{g=9d;^x|Sv1cT5&t+w(30aDFbMH)~ zpeJzb57@A7ejoFX)MEgX#iL@tg2DNdNJY{7cOYHB@lD*4T0G}NF&UQf79ju708jm>%sZN@KJ=m z=gj|D{;PQCz8txLu);hPMd_pYQV-1H3l6$nn@bb4Id0oeY_+}@u+(yJ;W3-bqd=u{ z>Tpf&j-oZA1wkyHy4+YkN=jyA8qFF8YMp#;k@@+8;T% z6s~`Jgz99(SbbAIC@C}uQO`R(Ax1qn2gNJKEM5g`CnPOm9IfPFQ7S(3a$rvI)i+ z?%OcuR?iE5}i7r1JPlq|DPR5hiK*iDjNcQ#}+xM-h)0LZUjb!Z_v|VUqELHHWkee74Xf zlRMXykjm(3Oid_rq~Hkoiq!fhRSz97su~o!_;OpZx6Lev;EV z+r?Yb&bhVV9wcJ@pS-Al_NxBBdJnnI=FT$o&IR>y)B#8NS>#TNuu)L7&YtW^`94lY zy(oZ5YK4f52C2z7pY)Hjh=Ub`V!$SH=77ZcsnaQdv(W)C^a^67YUu?<8~XtL?Q0 z{l2TOBxg%PckUfkf4`>9p(g>BV)y++{0i9wZ8IS6)BVn%4I&JXOQ1=8=%F?I6D=W?t zzpQ59)}A*EU778`#qI`o`ou6f0jtveN`R+fV@-yhAn)~~LM43_AMA%(bAK*DrE_im zQ|XfH3K6am?nX)L;EHWo>_Li{G~o4PLba3kH~LqDw^imq>upYa28yk9;X5}nb(Ug* zNzOmX0J*pBNKWSaS+0{AUWiLy6zV2Y;pXc$&0pVqRN8jDwJ(%)As4caaY90XIodX` z{TlR$>J&1jQM!1wQ&U~Lq8|ob&fJVK5cSZuN@9s#HCR6>kw=PTTsv)qR^s|&Yoq*XROH}J_pfl@n_^*7Ek3Vls<-hTKtHLrjTkpCiS;+hV?&*r?(=-eDW0?K92?iuB&t-(x5A?m8zde zQh;3>t-~IgBDk6LIeLn6*QNI@T)k4rdOz2lFCQnd$;Yxa`{!cs5MbMLMY_!B->wCI z<-yiv1Yi#S=>Dy*n9k$yeZZXw8m1itAL5`(0=s2NffZ@1d#!^SvM#B;kZMP%KzaVs zTff+#``TC9LE*#+^Ug7}IN-6u%KB;KHX6ZS$n{AV#M|L1>n4C}iUF0%=LCvhV)7=w z;c6E9_Ams0VsAPXJ<(<5ARcd-|MNgiQ`0RVIw+y0C92s-_lr)yq##S$q7R*aie?E| zfWjJRK46G4)TM!ma~Z4mf3e&UdY8k;^ZwA`Oue(QkjuW`Kd?i*zcs%X!nWaV4;}uK z(sY`Q6*kAuC(<=Ji>-#Ivzrl5pA_^)!sQrm+xbx2G@rYEtf3N?)3ciDvSN&#{o?Pv z1q(lxqA;@g8+FxcP^>L2j;Tafrb>hKNq#)em?~ay@^SIuCr^_5PN%I)J_y`4Lp}yU z5hh9bQh%Bnd93rGKeTJUv#y&CwrCj_7DZ4JEA8bY(K-4; z_FvjlGM+7`a>y6C%qX-*j~ttz*PaSl-?_G(qi@Lkh)Al2rJxnjUBbPu_hc}gmjV@| zZ5ZDkI+r7nz?u2t4qkOXngz>>WZzMXr3+iwseLSh7v-oi%tLsR?K%kQXyA&2s{-x^ z-u1q7a;(%lD}o`rmVJ35;tkv-JoX z%v+Fsd5af>usYiQt)js4`}5yZx>ZPWPJ&4+Tm)6r?SATg0OQm$>N;lrRbm5IPeWR7 zOA-|`#bF6H_1Pgi>!02(9si6@@f9Zlg&vTdG@8Qa{Vjco;rdI1^>ycc5!fg5U(w<= z=sWFiuuw*7z-KSYtl8Mp``aybPvEc8d!gTrt=j$y-1ialA@A38I(CCjWzLR%#n|kW z(MCqv)t9r;yvS%Ta!Kxms==M%s`yK=WxzYgClgFEyeML{Ve1Ge6 z=RVuoGK+Mni4E8cY1#J*>NjLdcw;D*##CqoL|zbpXM0zH)QbnqSM3eg0=zHZ<@tDh zAp&3JXGF%Sv>8zmv?qXn1tK17J}B9n>s^>sMa!}Ih&{nJ?^p8vYO3}{ouM(-t@do3 zVgM5GM)Lp2Zdr(Z6>iuz8hG$Q!^GK{k1wr<^evi1#rtsglJ;;kryA8#rOMaYAVgDWncX)%cOQi>-O=hV^wYoP9WYfkqRVZF z5b4_pP^UD}nH*umt?=#>_DuZ=Lk{_%ablZ{&JgQeqcmh?#L}K2kkxh)1d;82xL~B8 zruycp#+%HvlU$4~32YjU_$*Yt8OR|&4|xQ8`=i2JL`>NI(Qk-M+PpUG1@co`pZI3o zV-`vpov)xb_*yyG%W+dc#A~iG$FlhW?}nyY4mU!(W^UQ@3yzq-8(@in%ut>78L#>M zv~v7Hd*gO)lOt&dN!$1$HHL6|XZdAbUS)+t?j~%SP4OHo?aX- zl?4RyV*F+y*9#5*Jga_Ch}d3Oh$#plk#55SPF3}#B~H!Y0~3n%H;dB6NUzw;J2v zx#7xWpM7oYN*(#tBf>rVLqMr!@6FpLgag-t=Vops_gtzqL00l`>Op5oiI{PmVjHW} zZ0-75My`DDshQr?t81uQZTD(;>ITp}v4Shw(`{1g2#^b5%{boEi@p zP|&kSb*C@zpo{vEpCS=ge{mk%jWV)EaMAVKl_=8j;nsOaT(8vQBxkI%z(t#8x%Ico zK={s{i`zqg;yYdk>tDM;FUO0w*_C;BT%`Ed!Rk-Q_4 z3qft^edxdiOkMADMiIr;LDP>m>)NEd)DQq7&Qr51aBs!Sy_vioyA}=C;+kbm+-3w5 zVB5o>Q0cY*oPYhB-T2>ArPcYQj@`$2iSR~D&e5Eo?a7e^9*VCZPp7IVoH!nc=8n_V z@V=42-M=B`Kc&L5UWz-7BQ~vgR8oAI9}C=lv1#h}XKWbp-?jXdCq=0np%YC27+A0G zX?k*>FRBCt$X4;2L63?xDrXW!8)}?{26W^e;k6>UyhE^0am2Sc-gX$>jr>|kBV`tY-4#7bMV92`($$*``$fRkAI6C571U0=Y^oU!_n^(%+Y zGr_!SOTz8#4l$pv%i`)mYKAchxB8TN3{S!(gCceIF570GUyK(ujcTRII%R~A4unuqO4^d%U@77^u&?LvyprTV*qihmUo2p29umJ5#|6p>K?lDG~*!XF+`La}wEO5zYT5nstEhhbAu8AmJEx<1f+U@$v<0$;=Ehid74$+BSMhs#KrpQc zxLv@nC0Dqtq5oWg(GzXE%y#blkD%y2$I~nd9q*SM>i>ia zgw{g!-2g%;2(VLc-8sRra8;6*l~wHqpYqN)E#t~l=&Nrrsaw-li+yXe;I}>sco8oH z^?S0*@B`G7pK$)9ffVjQnX51-p4p|SIsY84dh|$ZyB)nuh#ZNKP~iwm6GLrZuN|*v z&&M3~pz4JL^#vr4eq`-8@y|Jhdx=ObsBMp-TG3o55Uxlr#Z?aE8X&h{AzX9r2uHVCh1`^TZdT>@0iHO&^bb{?Iug9GL>_1pc47cj ztx)U~yF{D19#4`^wX}Vj!6#31)K%(u&$BtyNYaKW(9eR7=Vj)|Zdv!Ui;85`{D&`4 z<|Dt<+P}Q~a-wCrN~=-ELzN51BZ zP^n?)d_0{$jf_idKN)_D0$cSb$~8J+{M~)ab&g>oFo6=OBhp(p^p&}PL$2M(kAW2z z90E6Ve~?s;$8v=$Q?klCOHe^wax&V`GdIFV&WFekHYW~Qs_t;?iG9Sl7XY$9%cuqx zgFTh0FDg*^Czp>MG)Q-8-ZW93T6r5fv3Ay!GYqT>+Zpr@CFQzy!eSjH0qmQlV4IY* zxJvk>ucyZi;}bqNj|ck}JOk09-Js+OB1#urzT#oYlVElh_t#272Vn4P@B`uk;CQ{? z_EZ9;pej}s6KCrLVnR?I!uFAAb= zZob56U`RB~KHQHC)CTzu<>ZcaCIsSkKn^E zxT7UUOWzhGKiN*p28(&_f^sp-g%b-0ZHZon!7)9 zXRDBlaNq3}G5Z49h!lwWZu;T>Veieup?v@T;gL$&WnV{;T|$y|NLf-*iV#zl>`js^ zjTuWQYg9xsNuum~31eT9eal#96xnCOxR|Bq{CvO9@4oNjc%FZr<9LqyuW!fUpD^aS z=Dg1H{eHb)%eVU?QpWwEnBcbu-Xx=A@*@{~Xmf<~WdkZs48c z*DkB~c#TdzYLHF;g+Ixl0BCl?dq~>uAJMm%+jue~GAtMN%-e47n1zq@HqZW&fMpmW z5r&=s9}~W;CZ5FBvSxAYiobvE@=3k<)Rca{E7|p;@J%i1Ul>SgWL``s1~GyGk$fqz z9SvUmz+>PTh>A-`vemnT6&LF9 zu%fe?YibRlR-MSnMJkH%rrupG+)xHeznbhEGbY|yRX()vc~atw0!KudI_sJKvs{>4 z;KDEBeUY))YSY3wM?|z8AuCfYX09Ri7pjOb-8-@-!saC}EqfDwb!LQR8~9M@HHW5U zkkdPv`gN&+)#KGaPSHFwl3JdAu@zpLMGo^yF&qHlSO&E(tZF;TW0QuyirGpYE4C%h&FJ;88d`Y}3CF7b?S-k82# zUiEaQbH|X8+sr5JPZg<#cQXW0R6h!{mSQ&t?ul&hE5}5~HfMO{h#IEv^)bzE-V@jF zKTMpM*J{N!8(l`YBI5vt#)4vqOL}A4OqlAzM6hFiw6yvQ8$26sQ1{=ck38#{UYLMg zDm|3(k$H&O8+ySTDWvb^cRN6LqiR_C;3Ha2)}1rL3zOL#Sqh!9cKsM&0Tua$+3V0) zj`AylP@RnugQz<)3qyRB~RGM`zaTCz2>T%YmO7Tk>${FxcM=0!Wblr1x$ zFCRn!Vbz3eg(SrX1u}R$+SzaZd{bYp%>+CBx_|kg&+xX>)p4_-4XsB@LV7;pAt&zK z559I@rIQQ;X9J2ZFihfkg78EV9GkG^>8)$V*)ucDaoQD^dp5KSKgme8{l<6OcRTbu z=Od5>QmkaVSf)gW z?&qYQoWfqzVWsDn6FwG9o>p%wScVYoiilQZ*?TvaMnKhx?1o^$)h^?v(h`-wb! zlRYvK&uVHF2F}pkeX!rc4N2tMr>C%@!Ke$ApxBbJ70a>Jw<9X~&Z)*qY>9ZmTRygp zK)@P#6Akv~=m?qwbYaHpTza-(=1S|h#G+@+C33Q_v5Jh~cFw=(6p>IfWs+#tWW|XS zqT5sQVj^y}r%qjN>kT}X@QV2K{+~wmmZ+qB!9RgO)Fey|84XMuu7bxR_^b8IjlDMf zsvZU1NUwY$e1IC7%0fNGvI@rPlN>-}_ybQW5fRfv0bhYZ{v<9tNv`{C|K|Q z%)QVEjH4r^DD&_*=r8Q;9RRiF-c?}Tu88|%MF^tClXq6XlAD=I!G%U6z!OWE_UN$c zs+jsojden62)mJTSJw(;*A>g;a3?DSLYDLW7+>%@UH>jhu#g#(Lz3*%fl(erOXi`K zC|N;u>$!d(9J}vPMz*bVoi?I`dT1V37f;>XM* z_T<%ME;O%Y9u6|CP;~mE95#M4Quk*-0(jUxOZ!s5X;BIB(~-c&VB)MQT69lgUhj|4AP!$PM8$!ziXxpLe=v@od` z)l4XD!HHQsdb_Nx>)w{O;W?;Z_HD5I?9jezFJ;|W6YeRa<~9IWPK0+PKV^zR_C(+= zi%}~d(Z7V1jBe;%ad_f#=VzsF%4-;FlhhmC0k)|ZSF-*8cP#JO@-L3JA;>mrKMF8| zQY>%*L%7!?=27VEXk7ad`d&x&m!Rrxjr{MF(A1^mEJ0dmrqPvb3jr2-DgHIbwp-wt z^+Phd0Z1b>oY9E)o{en0lpoDhUUo=I=Y|bc&q5gvk0treO$4VCCvL-M*;1_+i zI4Tdm0ndq6-|M3--JgQ*+}798cO&#Q51L&)R{=LBG|oZBG$%|SQu5ptkbhd4qLhBtQ&s%x9W#U8Q0Nk$(Wb)shDFg%$J)-pWFh~%y}60+M`|8FKZXLeRgLc0~(q+ ziaVhH+KPjIW29PANrENMXO^N-eMtA%(+Y}O)y0=P!eAl{sbV66Zw)u<(&fJlzxP#M z&K7-Tby)sO^_!@7N%a>N2dvqa4+zc!Oda7S)_>eWa4u`7eb;5=_|1M} zo$4;bXzdmQK*fZtJ009f3Tn&9Y4swwC&i+UN}g{kJ@q!su!kG-t`R^nk?(?2=z6px z(5}m~_k=<(g0IJjMHtI7jCxUIeJ%6QS7P2Us9O1;r}O*#eA;)U&%i@P{QO>;%`E_I z#E{9(cELg6Ei8+3*yQH}hGJW|hR>f;>MwFWU4Y-3k&ia}M2Ed5eS`ETe;j{1sO9s@ zSHIbd_r?3O#_-wcRJNJE5Fj!C7?r8HuDm->*;x~&1<+4WF7-z?9;LfMuZfKN-L4@Z zcQ$0`nw`;a^XV=n%L9U1cAxBjIEVx$=z!4Fps zy$Jb{psv7rBq!-4Hw^KXG5bbzyFD1U_S%)Aca@Pr_s^$G_=TWdwHhjxJWM{Pa;yO? zITrhZ@~nr}uq&OU?U67}{I#)mp5_X<+NU=I+>Wiy|FZDt4&7RtH=jAYk?!H5%t&Vs$uqYija(H_YohPGk(>~gKQjH%K5XG49bn*B$ zYqTu+oS~X_r*m>^=KW>t-G@H7>UdB3#;MxxZnIzg^%r$^V9$YfK^uo!G=iP(NKv-7 zCI`EkejVj>`wJ`beCKg(uM(EKf=mYCnaPK}5u#Y%20K!JydY{}z_*lc66mkA&QmaL z@k?Y)GW|hsbI!+rx4zQbc2u+IAXVC?b}qN z+mAm4FiZLj{RjHq-@#vQ2@jb0!V?W13qvuq@PHf{-!jYQ#grIYKjHAl(dU#>sixA$ zfYi(P;t=es3i}%K3LLz21IIoVTrML_wCwPAb+X8uSNR?mzJGl4FonNE7|#bdEa{!0 zF`GdoCzs9ZFSJz~Lo(0eW9S$`8iR(VgL63Ao^}jvHctHfr(|QRGH2r1y$+u-ArM(t z_de+#Yd~ZyyaEMmW*ug$@>{X{^rgZYb4cPAYBG~=#-7#U&VcjbiiHt;fM<1>JcpKr z4$SeynyQ@$<2R~`Sqr}A1A_l=#%pW%U zME{Bwop0-e-`aO+o{n8JlJXXRvy^x>IVh?Me&|NHYL$V;_~m$xYkyYoOoAL~=R=6&M$-WseDACVQ7OhRLZQ~F&jcN-u$S!!T%W_Hy zqI2*;c2|(n!1jh7rj~?o#c|tDbvZA#jE~oGCRkm!(Ekxm<+Bn4K&;Qo-oK`%Jjd`l z;K;6?Ie5u#E;)iJ-6^z7*CUw?PlW%HuCKl0in~NDOa3Uhr;b#@Hd~`Lzy#k~|V*h8@yn*tf z+GNM?Nnoz~__X10385{lDG3086F$EQyEy7UCXDPp=AFhQM^F;Ysg7^A!(1^vr(1ZU zbT7WW)o(Br%LJ$}u-2$v(fS2gdQ#I-G{R^nOu`xE4qU2rdhSY zWjc$&N(Pq#kQKG7j3VYhw)R)(HAP|C8G6X^A$#2?HK1^MQBFU*;P5VBT|AJQUywa& zf8*U}HrWTZ8-0fuhzpFHjOT_*kUYt%B~iD(rOvM=*`ElxR^W%;%{iWt&|OTkIC+D= zFNn3zlXZd^$q{^YW=0@Mg^@HNOE-kDkM*$b87iqx;@v`z~L_I)Ulr zo*m%nYn);{M*N(tLhLabL5^H(X)@w&uac7<_1XB{_m>JkIsl*X_3X2qxIQ^}bXYWv zO@i4=5b5e_XzU+f<1&I9kN1F`=ZfNW!~H)#G7)@)0GSo+{C8Vju8~yj z4@*al5T_Z+TiL)^1#buzW}eU_*d$F?dA95HKjNG!!346>?zbu$9AF2OGkD_b`CzOM zLIWppH$`ng$lNKGZR9FG7=`uN*k}3mVXxSs0OlMJCsvFXfL*Rz=#L|&4|6E#tcB0P z=Qz_eQ+Q6P^M8>vxV7h1KYxL)kh;3MoQ^FZX+#d}YIQrdS^q@5CsVt;pLhDkH#XV| zKw~GA@lb&gbepug$TYHJa0B8jRQj!-1AUayNcWrP5t_mDhL$G!RTZos)#k{B2&!@h z3Gi>Y!8aXYr*1i{$J z-GzsFW1N8f#|0$@S7X-NN;$+Ft4odprt?*Z3Va!&R^MK#y3&Kd9R20{`E@sqN^4wS zRhyao6CPIh4`I@H={#E=44ngxGXX}?I(W(1D0Zemid_drE!9cWIC|2Sc5uUeZF;_0yr}#M)wholr~ntrbpZ>E8T- zI*&Z5@$0<{#{p#!#^|dhzJ&GU+3$5#IV@?ig~Oju{+EVD$UO-j^f}zCQZNIXdw#MV zzUoNKkV(A$VKmU=A**;YVanqVJAxgUg86A)##x0a`EZ1&Wb@x0>lb^KdF=EH#RS1l zkq-5Cj2!4G?GYY`7(6RRB^cF)(-68qjK zutv~Akf~Vm%@g`aau(0t!R6V#(=*|Q|Fr%N$xt&Ezz7>Fh`pftQcoxzM1^ob)y3yY zR!{Nl`dXwg+nG_{cV99Rn zA;;+pw^o6Lc;v&Ioj&~f(QnK-FUIN}bX-SGj57~c0%Dsobo&E@BAK;ra6^mj8a&nB zgqnPpO4fVdGzC~Xd)Qssb+d%@%UQvI7m`J^W22l|p}_(O*%>O?P#Z_Te#AaFpiQ$( zku{*POObT?)mm$kg;UnuMQUCMf@mbM5e}xqJVa-}Ejv`(ievYhksQ+B`68r?KBi!6 z*RjBUX8)Xr;1K8z1Y7BTl~82?`o#Du^Pu;hX~z6hX{*)vVp{`hw{(hSjJV@-k-)3h z!rLuG1gEZ^-j|9MgV6!;`LQ;W<2Y_t3D2p4SelvL1e_LxHxe=dmcH1n>ll&0u-SMl z^IYiwZ%_7(Akm$CcWgcA>^GRa{g4WdA&87Y?2u*wA5!TW89^5^XxwQBUG-DucD>oI zy%_id$_%2h0``eDThkKxFO11?WU97f_VLH<8syS#r`cxQ0YJrkfP1PdmrE%nEw(U_ z&Hfi>31hlpl^hu^>Sa>)LjJd-1aAdJbn3tr_jZ(%>k+yaOAKw{(J+PWybn=*u)W~| zSSje4d}k-d=bRhJ$a%K*Fdw2>Oexw`I7-Xs=eS&%X}x27m`>Y~!-x8Q@^uJMe;6n) zefxtY%rY-I&chi`KsXfh^#TZ@ZhJmlR{DEkoT|u3CGqwPuWrt{y*yo4x5RhQR-~Ct zlue(4>{DDpj>;mIT|py*Rf65K*0ocnc-%0Qg6!udL)_HgXd925XpM^epcmxJd^tLv z$sD$=6`rk3Zr4*bQ`Tp4j=f8aweEFSVB37l^Bn;lGfhDuI)L(T#Vli$uEka4_q)_(z+02&>}SIV(U^-mFQ<*T5Ocr6cxu>4n?h!Zq|AiE5nCMr-=a5lT|L zPvP&n7cR;@;_qiUe~X+Rcb=E_|HpLYO@mC_yhKBIz($@zXM%WW7 zE{JbT$Q=tr&F|X8@RZ}pH{f8TOMI9|W)9DzU|XW?b0Uw*IOm;<~DJs-VDuJ0h$uMEs?CQJMO>c#NefFhECCrChOC1>0R|6p6q)!`?3&R_X zFd;Kv3st)lFX>qgK7fjEX)JNPf4pcMe}U-s&@6UL7}4au==WDqAUF^ug@Tle9Y>7P6@p1}ozadetrs zo?3B&o0ipC2Cr;lRC!UeAz!C1m!`|^JqzDf4B4%j*c%g@6YW1H_* zl?%69#bl1nLbQPsYXK|2ZpL&nO&LDhTU({w{m==m-mgAj-%}Z7!wF{BD%ajmpx!oH zNZcJ@TjE*WEQ0d^sfu4|Rdio2QT5o0|Ias6e{IAYG#H^A&}9@?mrk@2&nE+UR0tI* z61=e{R8yPM{q)r2x$FElPv{)MP;5`nb6Rq~Xn&Nv`pC=Qm8M8PT2trZF2z3hW3kM~ zybIaH3$WKJaLf9awa4MrJh4?1qp5`9=7)YT19;f8VIJX**;;LXJR=N?H znoqMt+Yi2@NYYl0O#HUpd$vhTBoY41Xw;lb6_xmu);E;kpL&R4IdaNR#&%e4Fwp75 z(2mvT`0mW1g#)RgGR%3IeR*L|+R*?6*xy=SQwHQV;_-g@YkbQ#T|M;6gqPhqJMbVT zE7At!|Jl(6<*6tr2pmOjgOkL>l;Kl2VXq-?RGu{4qawroM+?t-?k&lN@`w%?0|73@ z55TyoXaF0Oa`ZD!d@hYf%+;E}1)1XW%;-rRLs4r7N#_q>UVQ$47!+acu+Yu~1VFYT z5WImO^)2RSqofW}~U#$>ybjynrn>C&`6!xkxwOSiASaH-^gUFKn?RWwP-wtz7qv*t^70C z=Y0Jrd#(8QE1I8p9^Qg&%i56uTd%b#9l?+AU6XIi{8UYVocjPiUVGo7Z>eTiy&N&K zS#qVb4$R;%%_cM%%r|n&Gqu%ea?_KMW9j6VQR=Wj*)|LPK>hJg1cKv@$@3oW`|mkU zc9fszydWrZUIfGg!(dJOvPC>tlSXnX!U|YC-+fvxa|RJi4+()gKS~xN<|7w-?De0r zKP#>N?3d5R7L{Oq;92LHW9dM)M#X}G>EyG&us)Oe3kHwvZed_IuVPydGNvUQ z{~4DyPCdf-{I)J81TmMBE$5bW{ti;^_fOWY)| z=h6|xlUa^>E{X|}`H?){5z1A(7`v@!T9x|a?e(Yr(Voz*=ozKfm(nhukv|rRiTPl9 zH<3;pkC?0F?dOg~Jwl(p^|~izvCryrsx90|2}RfeL0U@iiPt3UYX6S+yd zgAc}fH{1k#&D&6M;klWcX@Jhid6D~2fQPgdJvfdI`h`dhG|-4Xeol?0@U$tv4me)> zSl^J+0nyTf?(a9j?fsJM>clVZxzp|~?dT@2MpN$3^u~2%3p9R~#om|QgoD%1^es;~ zVlH;?B0sc2`cOZ(;A0?vvC5RW+yq;g?# zj6-(I(=eA{e6ti66!Ff2h?j(H%qddOHDyz8c#o+&O@2N4tvhGKMm z@_4j#V_@pC0sn=_b`N(ETYvTf7Zz#$EL*E4M65Mk7HC3~V+Kv1%t#Fst$Iw-1By&~ zv4!SN$zR1bOx)%LVAY#;bb+V~V))fd6w~p$8_HJIb*#hP4Ykh^(62CMXD(XE&1Nr} zB;7uZXd)AQKR6sQbN^F5bMLkhTplzWe1S2qi9v0}u&xV$pjaF6h*h#W*W76Pat zcTe50emGP3&~YoUGzT$PhQE^g;~J1n=#B+Z}+e zyBJRuPPg4iZWrDZqzPRM+%SUg$2Qv_-20=mk3nz}Jehz=7K)umvcI>nDDWC6^0*q~ zl^bJz_w4-lUH9WR>8&DtL)Rb=IxmfBrWVhJ*yI|*Z~3){<%4ZQmX#^;niMOk;)mF( zn`u-A&x_RNJoqVz#D7y)1X%Wx!I(W}W*?OQ7Tcmq5pT&1dQ#=Dd-Jt8bgrzb;E=6S zu&mp>!ER~iETpWxT1ZrjbXEsJ9mwdJBjp2VMUtM`(0Wl7&0n&iF_%R}oHb&hZ5|dB zX)=TNT4}=H#YIF>BN!QI1@3K#4m07kwzNv zbS}+=Cl)J+7R>R1lb=oQ&cMOg#WcJ1TD6=f{Ugu!=oGi#W_>C1&yjiX8eCKIM3fbD zoMHoNz+{XFgr)gaDR*D4^BpW@&dNGpDwHjLz7SH(UJ?vf_^pn7jA5r>zRd9m|8CSF zw@*}$KHxgbW%|w9eDahA+r`bUE>X!&2Zj{5Nx95%2eo!&nDNG*ub*O0jhKkzlFKHcrj;C=Hq%?cJ zx9w7D64a4|N|!X}OcTku7a`<3Bwc{Ko{<}DiL6Psuc#R&@wJ?9^Pa3pV&zM03Oa~C zjPSut$hYAtej>RS#`JfEJDf#hnB=a{LWEEAYY!XLpR_%j+uluP72G=jil7|Ehbk;| z2PXt+cRJuxafgqDfkcNtcBT(Pp2D{OOv{V(n;I_}!S%q?b^SqUbRD*%pOen_Px^~- z1?70NSkl+P4-@i}sBQ5H^#fmfb|%U$0x68>Ko;QI0&?7{1zC7*F`6!fB{~G(UFpDx zR#a;SC;B#hO=Iwe)N;trh~EDpN_)@!a<_-J5Av~Rl;TkcUgn^bW_d`}29L89DI?Xm z?o7#hm(0K#?9wywVP=Eg_$pPW7X}=G6=1-vaL~L}={yYf+!C_unI&5%vtouo0;Br7 z-(Ymou#Wd3b)m1I0)qEIr)8G4)H1f_#-(@ZklUs+=LeDn`@M%hF=%WnsNS31@W0)l zk3i=54>C5uwq`~&BmP5{B=;i7_G){ghDuoC4*(aWo%+wu|L6YvXFdGqdHMgkKNv42 z*pcvbO)I*PB{Rk<4hKDy{tNq+2>*X>F)Tpyh2;8;IY|b*N+kc1wYS6NQXr_^e$%p^ z6fAqSB*Ea2tlj1c?H;B(a|6U?-N$lc-#Z7JInF*JzPaFhv1YQ-Q`YxZFW*te55{Iq z+^`)RnijU%4H5r8@&6~xky!vWgVr@RTXN8jT1R%9~XcTWeVABkG}ZH8*;EQ>c5D5@m8GZ8zX^| zN}T^qbHN@|&hjXxA8uU;Z@JbNo?Vm-QUvE9Bk2paUG?DTesK@OmjARpQpFJWBOiH1Ux zIUTf_7x(M8%X>pJQ_YX4j=2JH;a_6Zk9^P5EvtS1MLlo|GO4#;TS%zVBuuqUNrl+jIvZ~_moA_D z6oI=yzYB_zCiH&DgG?ix2JXNu80qri?G15Jq#gM;8@l8b9A%VysOa+ebi(IvKhv5( zRgi!u+lF~`Vk>4cKoW_)lNXj>s|$XaVwfj@xh6EA6uwC))0sUZ>&moeZZaYtsX@on zSH&oeuW8n3=OJoV2$Ofnq6asK#s<}ZvJB#a!QE6=O)w}mdosMMd&U#cZf zO?zp7UpcVqJy&)4NMp6c+2G3RsS)Q~J-l&6C8)%e4pQ($vByL@M-SL66){BCD z4OMZ5^Eo1uOOa=!2iV@;x+*Bbd{G5rCl={K^A4Fjj}hGUx)qp(ownyQb$j(fMR8ab zJ)VxbWa!xRr&f@ek~F8l1q><1 zSZ18}795gMDU@H$DLfX=>8y#j-D9Ky)bolFJoq1lsCDQSXf zPn5hm8)Zll$9?;Pf|RY=f+(G9A)kUDiYIIIH-|c<#f#Xy+_X0wRP5ZTz3GeC{vK*K zfgqp9$I7(+h3!MzQ;w0io@V^$oiINVD;ZJFA#MJA($Mh zE_bnRj1!BZG~t9*xxG7tHBC?fkIx8_cj!W53uh2+YKl#&h`3Wf2C~~!dg-9T<_C4+ z#Zfu{shsr&EEiWXD#Euy4;RfL8M(-J+q)Uy+s0KH`fLY zH~hul|8kix6=YObjgDg7lHSdu zp55}x|G_64{%?7|)@JG2wC6a2bw0!N{D)c}b^6t7%)83JKT$Rai{`qut2EO4bJNG) zKirA$G?r}horUJSVSoB39DZ7nQJ0=b`IVHA5IbA7%zo!D&If4X-e<9~do^kO>6N1n z7d;@ir|NsTc8&j1d+r;AlKY-hN;9wkUnRJ9{)NG+QC#-H+7|~(a>rEH<#05hNnn39 z0h_EiC$Vl2FkB1^6EE=zwTjt#)Qfd$jOo8z7QKGruH3DU65c@Cj%Y0v+r!G zzKDb|j0oAUczDVG``DgAJXfKBG=0a0r6u*?4O|`UN;Whrg7v}2BgE=8viT^|gIjBw zefIhB7i!aF?%S;wMgKw<$V+o_{t1Y1N?sME$N|#MUzl*!Z0wlW!6&yUnm6O8&l6Kh zBTal%J{~#q+~vdXaT%|E!#0=`;{(=J8#0^oQ|p-FuKO~oTBJI}!<+8Z?k>+XeDN?| zMIf2jlD#N(lpr)1%_-TcD_ARgfh z#<%g_utypsr39R;X?W7TA3Do!{>fO$SUTLy2APy@Q?zrnU$V+}MKOv!(|k+yhg8ie{|80YqoMXMJ**P4Rye~LW)+Kp2680G{vKlC_m;L}?Su_RT zxx&Lg4fR_M`Z=1Wjp_M+nCua`t<+_K(lG0v66w$zIJmfm%QwuUX+bRtxhDoXy+Gzg zgyfV8*2rhEACkl5NrcuWS4H065!wrEVaRxm;j0OD zwFT22T&qrLzts;OXB0bgz)nhZWRo+qFFh!K*Z1D}wu=?>e`1V{;CTXJ3X6De2N-6SiWAeQ@c-r|pY5KUcV#eUX*IGuBtqkstUx9@E-*=wy7z+IQ z>gVOu!3+)tP_%MshvuEzhtn1Y-KGl%7Y; zfw;U|-}k3y7LC*N)?y?xWSEnGVY<|ne!^F3NaY~h85I|*Uw%N=n4@y4oFnUy|AHI! zTST_zOrtmyTZ%Sf)G)PFr1lT2^IKFJqw+iNy*(aXVjNN;d0*fw$OEY;S#=A4WCyf} zO|`a}@VLffPHncTXFaRFYM32&Iq*woYwEY*C!aOlUl<{}-XK!|;xH#m#l}QghRgI+ z9n7}Xd;elSp)&Qdfj^<{6HIxtl*x|x*cw3bY2CYdsm{`X#o73`TlP&%d?rI+FR-)+ zO9*|G9EYt=D<-a~f6spS(H+FN<4=!WPm-s<_d)>1OFDG zY&F{2L+t7(*f^T?Rla!|p2APIjX%5>#Ux$8QvG*F!LEX}5esTAzN1gvaIdMhx_`%3 zhPi87jQb&DaT>{n+SW$CzB(?SV)aS(3Mei+qXyW9Ui?$7{cnG{{NE8Hz!Vh_Izii$DUXIRlMyl&0&n=J+9%J$YccB0WTix=mZtcsj)5Tjy8;y5_^>> z)sCJ?mvTM_X9@-kXetR!W`$qNIw-is%*e+!JJg5eYsc!F6rztqVf*6-tcoVj?g-Pw zrMr*FSV~c{lK8XkD=(H30AJRaV!BLgStGmrp>+`2NzT&{zOC`t*wHx0*PX%i%2+?B z3G+I+klzRnD8kLEa^T+FE{(m?vAo8=!XeG6QOqcQcrWaXG=nS5sSYp4WM?)Z$X5~3 zr^}X{xuB&S$nq@B`pf6xqm=W%qvHiP**hgG-<4m7m37?HAvJuZ_A_D-p8W*zc`Ld+ z;E@=rEoBQ1bR>GY__>d4yiK)y;l-IM5UCN)+r`o?f0r93z|sH^LP^G#HLQmkn+188 zI8(?^zd+$?fJB~6%zhG~}GnNcfZr5(u!re}3*eG21W z?;byH#BN!29Ox<~$iR|pVD?A;oJSka#QfYlx<2%Vq$l~vQLK7;sj;dqljt6EDe`2m zM&Ua9+gp*aru_qK#N@T3G(+I82Moy{&G87mPid%%+%Ov<9>2QRAM&R}=5_)+eSe^t ztz-nE7)idAJeh#SPi@(BeJIUPVTTvs#QY#9St> zif!#Uh1QNdQf2kDQK*bOmVf-YSLnmsN1^>}>F)bAo{P1(o*g>3_UHLC<1?}m^AEBA zSV9xDFMYOLLy&eNitirlw#doel??9WJlX~P99$!oQWA#7yAWmY)f`GK)uoQINLQVG zvWJbArX2Bdz3Ag~c71O0HMTk=C+&e#`0k*qmkuEyfs+wtbl~1!m^emYX;!>Z7!)EL zfhb-dvEv^a_L-t7gntE5=w0mr{EN*#lh6^z^$7wJ0v#AJr>UsxO*5=8xlbpXUIR)-F_ zW$(a`nSj!?7*KPjF%g5{)v@G7pvl-mG8M3M*YV)pmCVnT()neY@cSDTJP`s9P>EQ+ zK;?#mLD_nGU%SrnuP4qc%C&J`i`9W8B>YlBf%QX?mnIFCxK(|&^1$(gY*%)O#)onk}vgw1sVtCuKU;teJ$FB;Mu0k zB2&ULtyOa)>9Xiu)w@J4_{d>d1eqUM@e=C1gQNl?ZDcLHMxks_--Kj;^1DC(#LA(E zWje$ofP2l#CwTzV8|len(U}*3;A6@Fry@kecJh;Kz0r5W4^+7U-C!LK28-97i&lSJ zztZgjTe%suW<_r8K!`T71{V@b!?nKp$vBU_tF=^K$@mp>M)ZWsv-04VS?GcvP5RHy ztRP?4)zXhBQ)|b4``#1-NrKpjpJbHC-D-o&p4}3W*GV#^)i8f*D7FIu!2dO6x$+Rf z{#f8&BAQkR&{!N zgly`UrkMMHi(T&sdUV%6lBHYn5Zlk%RTi3`_iROea$h3J-lG8uBv}jw#-H!eO2}ug zEh}Ii7vav`koWsmP3y^B(M3KvRcH`!4j)Og8j-dvw0s@H+NpmzCuK19fVp(k1~O?4 zyzMKDw^sB~1PpGKy#v~9JI8-0Y{%KwZWAS4&Ff<4^J8R(ebtKZd>)=34HO||9{PEe zvi7IunKiFKf>ai_C+oI$2S$CMo|UNT(J3WYFH~n5<$5~zk$Pu0r@2$t_8B&*ZHiTM zDH#4W_X7Z1s0bsrEX6j4R(CIU;!st-(eUNzki~RM+jCR=a&78ClQWz~`smT^eqbh> z3G7Xxo#h~#Qg7jhLQ-<&K8hv9?7QV|F`QqUZ6b3M?rWTxOKw*qI5H3S0~;`Fatf3I zNH>iVBdbZ(etExBmOlDZCkrz~2^xcS`=301I?KNCEuzm7#xrANv6ZJ~cgc&;GFmDq zM9eWcmea)*@tMarvnu2*&r8HyKE_}~pN%FKJiRr7tqP7>t>bwW`-Jp4<6Qe!;=3dA zqwVN_+Rbxh_2<_>WTFO1g5%L6F7Ba=VWc(L;RI@DI@pH79tG?v(oE6Z16WUd6c~k> zkvM89V;!UQfC+m_Lq#(SeI**9a)s8XbpdT8&K)(q+Eok=1 zYu|5iYV6_pZw<}1w(O#@X+=E=Aw`JMRKpMChi{6Pqyz>Zl=AzaidKXi!WtTL3hKSY zoo^O-%VxZUT|d!OBLLHEVvXCKq&hR=$BAZ7Hw?AuK9mPIK8(hS<*{if=2r%>ED`$S zI~acGH0(9?BgYG)Cl_!9XTt-G*nKE?CI_}}_7HhmjG@Ohs?1k?*%8@T0PnGfgZJGf`bniQ&TD9c+WE1>E zK`Nce`bSClq--JbY;5(4pUD++NxbTZa?bs=6Y{A@b(cFG)3ig!jgQ~gjAI-EJG5UN z?ngTD;TRj^AlZKndyi)Y$%h%jk}dF0v4m`~;YQZ?jf!4=B`CBN3CX)WU}CVIcj}95 zj9wSvONV%x%Z=1a4`wTCS7kuG#Sa;L^b~SHb*c&*k;Br84=m)oZ6-O6#aUu?9Eh$@ z{Rmnf)~%6WGiRiTI3(N&Jx~pWUB+33rF4Ul?>L!RSCbj<6Fw83nJr!vX3XpB06$lkMgjwf{XG(eso9WnF(eSO zz`W8!59obtOMKWpUkDkLN9ZJL3U;(Vs(^s)Qe)- zDVBBhW-n^LorYKFt^HN0vT@&X%K9us`I?WebA?6ZO-|b{jim*R_lNm&9+nut99OIt z-D-X|{B7#tCXvNF^cqcx*^w#V&To`N-7?SPTYLC_Kbt7g!N zvE^$)Kt6Rqg{;*XiT6W^++3#C@+~P#EFGg7B?4&

    >oVxc1@P|{+ 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

    %1&s%fcyI7ei(r`u1%93{+V1YjAXL*E;5X6&H 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 QjmaPF{@44I=%=wi1Ct=JW&i*H From ba874f996d43e75b4f7a346e99011bd351e0d144 Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Tue, 13 Feb 2024 20:39:21 +0000 Subject: [PATCH 07/56] remove evaluation from original Score SDE paper related to FID/Inception scores that I don't use --- .../score_sde_pytorch_hja22/evaluation.py | 146 ------------------ 1 file changed, 146 deletions(-) delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/evaluation.py diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/evaluation.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/evaluation.py deleted file mode 100644 index 982e0d0ef..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/evaluation.py +++ /dev/null @@ -1,146 +0,0 @@ -# coding=utf-8 -# Copyright 2020 The Google Research Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -"""Utility functions for computing FID/Inception scores.""" - -import jax -import numpy as np -import six -import tensorflow as tf -import tensorflow_gan as tfgan -import tensorflow_hub as tfhub - -INCEPTION_TFHUB = 'https://tfhub.dev/tensorflow/tfgan/eval/inception/1' -INCEPTION_OUTPUT = 'logits' -INCEPTION_FINAL_POOL = 'pool_3' -_DEFAULT_DTYPES = { - INCEPTION_OUTPUT: tf.float32, - INCEPTION_FINAL_POOL: tf.float32 -} -INCEPTION_DEFAULT_IMAGE_SIZE = 299 - - -def get_inception_model(inceptionv3=False): - if inceptionv3: - return tfhub.load( - 'https://tfhub.dev/google/imagenet/inception_v3/feature_vector/4') - else: - return tfhub.load(INCEPTION_TFHUB) - - -def load_dataset_stats(config): - """Load the pre-computed dataset statistics.""" - if config.data.dataset == 'CIFAR10': - filename = 'assets/stats/cifar10_stats.npz' - elif config.data.dataset == 'CELEBA': - filename = 'assets/stats/celeba_stats.npz' - elif config.data.dataset == 'LSUN': - filename = f'assets/stats/lsun_{config.data.category}_{config.data.image_size}_stats.npz' - else: - raise ValueError(f'Dataset {config.data.dataset} stats not found.') - - with tf.io.gfile.GFile(filename, 'rb') as fin: - stats = np.load(fin) - return stats - - -def classifier_fn_from_tfhub(output_fields, inception_model, - return_tensor=False): - """Returns a function that can be as a classifier function. - - Copied from tfgan but avoid loading the model each time calling _classifier_fn - - Args: - output_fields: A string, list, or `None`. If present, assume the module - outputs a dictionary, and select this field. - inception_model: A model loaded from TFHub. - return_tensor: If `True`, return a single tensor instead of a dictionary. - - Returns: - A one-argument function that takes an image Tensor and returns outputs. - """ - if isinstance(output_fields, six.string_types): - output_fields = [output_fields] - - def _classifier_fn(images): - output = inception_model(images) - if output_fields is not None: - output = {x: output[x] for x in output_fields} - if return_tensor: - assert len(output) == 1 - output = list(output.values())[0] - return tf.nest.map_structure(tf.compat.v1.layers.flatten, output) - - return _classifier_fn - - -@tf.function -def run_inception_jit(inputs, - inception_model, - num_batches=1, - inceptionv3=False): - """Running the inception network. Assuming input is within [0, 255].""" - if not inceptionv3: - inputs = (tf.cast(inputs, tf.float32) - 127.5) / 127.5 - else: - inputs = tf.cast(inputs, tf.float32) / 255. - - return tfgan.eval.run_classifier_fn( - inputs, - num_batches=num_batches, - classifier_fn=classifier_fn_from_tfhub(None, inception_model), - dtypes=_DEFAULT_DTYPES) - - -@tf.function -def run_inception_distributed(input_tensor, - inception_model, - num_batches=1, - inceptionv3=False): - """Distribute the inception network computation to all available TPUs. - - Args: - input_tensor: The input images. Assumed to be within [0, 255]. - inception_model: The inception network model obtained from `tfhub`. - num_batches: The number of batches used for dividing the input. - inceptionv3: If `True`, use InceptionV3, otherwise use InceptionV1. - - Returns: - A dictionary with key `pool_3` and `logits`, representing the pool_3 and - logits of the inception network respectively. - """ - num_tpus = jax.local_device_count() - input_tensors = tf.split(input_tensor, num_tpus, axis=0) - pool3 = [] - logits = [] if not inceptionv3 else None - device_format = '/TPU:{}' if 'TPU' in str(jax.devices()[0]) else '/GPU:{}' - for i, tensor in enumerate(input_tensors): - with tf.device(device_format.format(i)): - tensor_on_device = tf.identity(tensor) - res = run_inception_jit( - tensor_on_device, inception_model, num_batches=num_batches, - inceptionv3=inceptionv3) - - if not inceptionv3: - pool3.append(res['pool_3']) - logits.append(res['logits']) # pytype: disable=attribute-error - else: - pool3.append(res) - - with tf.device('/CPU'): - return { - 'pool_3': tf.concat(pool3, axis=0), - 'logits': tf.concat(logits, axis=0) if not inceptionv3 else None - } From dc7049a12b0e24aa61739b2713501c72fdbf13b4 Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Tue, 13 Feb 2024 20:39:39 +0000 Subject: [PATCH 08/56] remove some commented out imports that we don't use --- .../score_sde_pytorch_hja22/run_lib.py | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/run_lib.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/run_lib.py index 5146c5415..11b201378 100644 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/run_lib.py +++ b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/run_lib.py @@ -20,25 +20,20 @@ # and MLFlow, and iterating by epoch using PyTorch DataLoaders # pylint: skip-file -"""Training and evaluation for score-based generative models. """ +"""Training for score-based generative models. """ import itertools import os from codetiming import Timer -# import tensorflow as tf -# import tensorflow_gan as tfgan import logging # Keep the import below for registering all model definitions -# from models import ddpm, ncsnv2, ncsnpp -from .models import cunet -from .models import cncsnpp +from .models import cunet, cncsnpp from . import losses from .models.location_params import LocationParams from . import sampling from .models import utils as mutils from .models.ema import ExponentialMovingAverage -# import .evaluation from . import likelihood from . import sde_lib from absl import flags From ca6c4f8fc64d8a1a24384a5bb1b7212feb81448f Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Tue, 13 Feb 2024 20:51:55 +0000 Subject: [PATCH 09/56] add some module and class comments --- src/ml_downscaling_emulator/postprocess.py | 2 ++ .../score_sde_pytorch_hja22/models/cncsnpp.py | 2 +- .../score_sde_pytorch_hja22/models/cunet.py | 2 +- .../score_sde_pytorch_hja22/models/location_params.py | 1 + src/ml_downscaling_emulator/torch.py | 2 ++ 5 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/ml_downscaling_emulator/postprocess.py b/src/ml_downscaling_emulator/postprocess.py index 402f7468d..238003b83 100644 --- a/src/ml_downscaling_emulator/postprocess.py +++ b/src/ml_downscaling_emulator/postprocess.py @@ -7,6 +7,8 @@ from mlde_utils.data.shift_lon_break import ShiftLonBreak from mlde_utils.data.select_gcm_domain import SelectGCMDomain +"""Postprocessing of samples from an emulator.""" + def _get_cdf(x, xbins): pdf, _ = np.histogram(x, xbins) diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/cncsnpp.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/cncsnpp.py index b1179f60f..681dc7ad4 100644 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/cncsnpp.py +++ b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/cncsnpp.py @@ -39,7 +39,7 @@ @utils.register_model(name='cncsnpp') class cNCSNpp(nn.Module): - """NCSN++ model""" + """NCSN++ model with conditioning input""" def __init__(self, config): super().__init__() diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/cunet.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/cunet.py index c36a75619..0d001d06c 100644 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/cunet.py +++ b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/cunet.py @@ -35,7 +35,7 @@ def forward(self, x): @utils.register_model(name='cunet') class ScoreNet(nn.Module): - """A time-dependent score-based model built upon U-Net architecture.""" + """A time-dependent score-based model built upon U-Net architecture with conditioning input.""" def __init__(self, config): """Initialize a time-dependent score-based network. diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/location_params.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/location_params.py index 86563e88b..f7ebd7f72 100644 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/location_params.py +++ b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/location_params.py @@ -1,6 +1,7 @@ import torch class LocationParams(torch.nn.Module): + """Module for adding parameters relating to each input grid box that are learnt during training""" def __init__(self, n_channels, size) -> None: super().__init__() diff --git a/src/ml_downscaling_emulator/torch.py b/src/ml_downscaling_emulator/torch.py index 857af654c..377c8cb02 100644 --- a/src/ml_downscaling_emulator/torch.py +++ b/src/ml_downscaling_emulator/torch.py @@ -5,6 +5,8 @@ from mlde_utils.training.dataset import get_dataset, get_variables +"""Loading UKCP18 data into PyTorch""" + TIME_RANGE = ( cftime.Datetime360Day(1980, 12, 1, 12, 0, 0, 0, has_year_zero=True), cftime.Datetime360Day(2080, 11, 30, 12, 0, 0, 0, has_year_zero=True), From 0fd005502215fcc48c6af22ec4abc3a66f7349b6 Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Tue, 13 Feb 2024 20:52:12 +0000 Subject: [PATCH 10/56] remove a couple more unused modules --- .../controllable_generation.py | 179 ------------------ .../score_sde_pytorch_hja22/debug.py | 49 ----- 2 files changed, 228 deletions(-) delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/controllable_generation.py delete mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/debug.py diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/controllable_generation.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/controllable_generation.py deleted file mode 100644 index 3b0a6c8aa..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/controllable_generation.py +++ /dev/null @@ -1,179 +0,0 @@ -from models import utils as mutils -import torch -import numpy as np -from sampling import NoneCorrector, NonePredictor, shared_corrector_update_fn, shared_predictor_update_fn -import functools - - -def get_pc_inpainter(sde, predictor, corrector, snr, - n_steps=1, probability_flow=False, continuous=False, - denoise=True, eps=1e-5): - """Create an image inpainting function that uses PC samplers. - - Args: - sde: An `sde_lib.SDE` object that represents the forward SDE. - predictor: A subclass of `sampling.Predictor` that represents a predictor algorithm. - corrector: A subclass of `sampling.Corrector` that represents a corrector algorithm. - snr: A `float` number. The signal-to-noise ratio for the corrector. - n_steps: An integer. The number of corrector steps per update of the corrector. - probability_flow: If `True`, predictor solves the probability flow ODE for sampling. - continuous: `True` indicates that the score-based model was trained with continuous time. - denoise: If `True`, add one-step denoising to final samples. - eps: A `float` number. The reverse-time SDE/ODE is integrated to `eps` for numerical stability. - - Returns: - An inpainting function. - """ - # Define predictor & corrector - predictor_update_fn = functools.partial(shared_predictor_update_fn, - sde=sde, - predictor=predictor, - probability_flow=probability_flow, - continuous=continuous) - corrector_update_fn = functools.partial(shared_corrector_update_fn, - sde=sde, - corrector=corrector, - continuous=continuous, - snr=snr, - n_steps=n_steps) - - def get_inpaint_update_fn(update_fn): - """Modify the update function of predictor & corrector to incorporate data information.""" - - def inpaint_update_fn(model, data, mask, x, t): - with torch.no_grad(): - vec_t = torch.ones(data.shape[0], device=data.device) * t - x, x_mean = update_fn(x, vec_t, model=model) - masked_data_mean, std = sde.marginal_prob(data, vec_t) - masked_data = masked_data_mean + torch.randn_like(x) * std[:, None, None, None] - x = x * (1. - mask) + masked_data * mask - x_mean = x * (1. - mask) + masked_data_mean * mask - return x, x_mean - - return inpaint_update_fn - - projector_inpaint_update_fn = get_inpaint_update_fn(predictor_update_fn) - corrector_inpaint_update_fn = get_inpaint_update_fn(corrector_update_fn) - - def pc_inpainter(model, data, mask): - """Predictor-Corrector (PC) sampler for image inpainting. - - Args: - model: A score model. - data: A PyTorch tensor that represents a mini-batch of images to inpaint. - mask: A 0-1 tensor with the same shape of `data`. Value `1` marks known pixels, - and value `0` marks pixels that require inpainting. - - Returns: - Inpainted (complete) images. - """ - with torch.no_grad(): - # Initial sample - x = data * mask + sde.prior_sampling(data.shape).to(data.device) * (1. - mask) - timesteps = torch.linspace(sde.T, eps, sde.N) - for i in range(sde.N): - t = timesteps[i] - x, x_mean = corrector_inpaint_update_fn(model, data, mask, x, t) - x, x_mean = projector_inpaint_update_fn(model, data, mask, x, t) - - return (x_mean if denoise else x) - - return pc_inpainter - - -def get_pc_colorizer(sde, predictor, corrector, - snr, n_steps=1, probability_flow=False, continuous=False, - denoise=True, eps=1e-5): - """Create a image colorization function based on Predictor-Corrector (PC) sampling. - - Args: - sde: An `sde_lib.SDE` object that represents the forward SDE. - predictor: A subclass of `sampling.Predictor` that represents a predictor algorithm. - corrector: A subclass of `sampling.Corrector` that represents a corrector algorithm. - snr: A `float` number. The signal-to-noise ratio for correctors. - n_steps: An integer. The number of corrector steps per update of the predictor. - probability_flow: If `True`, solve the probability flow ODE for sampling with the predictor. - continuous: `True` indicates that the score-based model was trained with continuous time steps. - denoise: If `True`, add one-step denoising to final samples. - eps: A `float` number. The SDE/ODE will start from `eps` to avoid numerical stabilities. - - Returns: A colorization function. - """ - - # `M` is an orthonormal matrix to decouple image space to a latent space where the gray-scale image - # occupies a separate channel - M = torch.tensor([[5.7735014e-01, -8.1649649e-01, 4.7008697e-08], - [5.7735026e-01, 4.0824834e-01, 7.0710671e-01], - [5.7735026e-01, 4.0824822e-01, -7.0710683e-01]]) - # `invM` is the inverse transformation of `M` - invM = torch.inverse(M) - - # Decouple a gray-scale image with `M` - def decouple(inputs): - return torch.einsum('bihw,ij->bjhw', inputs, M.to(inputs.device)) - - # The inverse function to `decouple`. - def couple(inputs): - return torch.einsum('bihw,ij->bjhw', inputs, invM.to(inputs.device)) - - predictor_update_fn = functools.partial(shared_predictor_update_fn, - sde=sde, - predictor=predictor, - probability_flow=probability_flow, - continuous=continuous) - corrector_update_fn = functools.partial(shared_corrector_update_fn, - sde=sde, - corrector=corrector, - continuous=continuous, - snr=snr, - n_steps=n_steps) - - def get_colorization_update_fn(update_fn): - """Modify update functions of predictor & corrector to incorporate information of gray-scale images.""" - - def colorization_update_fn(model, gray_scale_img, x, t): - mask = get_mask(x) - vec_t = torch.ones(x.shape[0], device=x.device) * t - x, x_mean = update_fn(x, vec_t, model=model) - masked_data_mean, std = sde.marginal_prob(decouple(gray_scale_img), vec_t) - masked_data = masked_data_mean + torch.randn_like(x) * std[:, None, None, None] - x = couple(decouple(x) * (1. - mask) + masked_data * mask) - x_mean = couple(decouple(x) * (1. - mask) + masked_data_mean * mask) - return x, x_mean - - return colorization_update_fn - - def get_mask(image): - mask = torch.cat([torch.ones_like(image[:, :1, ...]), - torch.zeros_like(image[:, 1:, ...])], dim=1) - return mask - - predictor_colorize_update_fn = get_colorization_update_fn(predictor_update_fn) - corrector_colorize_update_fn = get_colorization_update_fn(corrector_update_fn) - - def pc_colorizer(model, gray_scale_img): - """Colorize gray-scale images using Predictor-Corrector (PC) sampler. - - Args: - model: A score model. - gray_scale_img: A minibatch of gray-scale images. Their R,G,B channels have same values. - - Returns: - Colorized images. - """ - with torch.no_grad(): - shape = gray_scale_img.shape - mask = get_mask(gray_scale_img) - # Initial sample - x = couple(decouple(gray_scale_img) * mask + \ - decouple(sde.prior_sampling(shape).to(gray_scale_img.device) - * (1. - mask))) - timesteps = torch.linspace(sde.T, eps, sde.N) - for i in range(sde.N): - t = timesteps[i] - x, x_mean = corrector_colorize_update_fn(model, gray_scale_img, x, t) - x, x_mean = predictor_colorize_update_fn(model, gray_scale_img, x, t) - - return (x_mean if denoise else x) - - return pc_colorizer diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/debug.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/debug.py deleted file mode 100644 index a8195bdf1..000000000 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/debug.py +++ /dev/null @@ -1,49 +0,0 @@ -from dataclasses import dataclass, field -import matplotlib.pyplot as plt -import io -import csv -import numpy as np -import pandas as pd -import seaborn as sns -import matplotlib -import importlib -import os -import functools -import itertools -import torch - -import torch.nn as nn -import numpy as np -import tensorflow as tf -import tensorflow_datasets as tfds -import tensorflow_gan as tfgan -import tqdm -import io -import inspect -sns.set(font_scale=2) -sns.set(style="whitegrid") - -import models -from models import utils as mutils -from models import ncsnv2 -from models import ncsnpp -from models import ddpm as ddpm_model -from models import layerspp -from models import layers -from models import normalization - -#from configs.ncsnpp import cifar10_continuous_ve as configs -from configs.ddpm import cifar10_continuous_vp as configs -config = configs.get_config() - -checkpoint = torch.load('exp/ddpm_continuous_vp.pth') - -#score_model = ncsnpp.NCSNpp(config) -score_model = ddpm_model.DDPM(config) -score_model.load_state_dict(checkpoint) -score_model = score_model.eval() -x = torch.ones(8, 3, 32, 32) -y = torch.tensor([1] * 8) -breakpoint() -with torch.no_grad(): - score = score_model(x, y) From b2e86e047abc2e6da6cc11c3c37787a07b0b9cdc Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Tue, 13 Feb 2024 20:52:47 +0000 Subject: [PATCH 11/56] update default UKCP18 configs to match final versions more closely --- .../configs/default_ukcp18_12em_configs.py | 4 +--- .../configs/default_ukcp18_configs.py | 11 +++++------ 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_ukcp18_12em_configs.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_ukcp18_12em_configs.py index abd461ff4..5172f7bc1 100644 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_ukcp18_12em_configs.py +++ b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_ukcp18_12em_configs.py @@ -15,8 +15,6 @@ def get_default_configs(): # data data = config.data - data.dataset_name = 'bham_gcmx-4x_12em_psl-temp4th-vort4th_eqvt_random-season' - data.input_transform_key = "stan" - data.target_transform_key = "sqrturrecen" + data.dataset_name = 'bham_gcmx-4x_12em_psl-sphum4th-temp4th-vort4th_eqvt_random-season' return config diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_ukcp18_configs.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_ukcp18_configs.py index 3d4e8ac5a..bb6bb48d1 100644 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_ukcp18_configs.py +++ b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_ukcp18_configs.py @@ -40,15 +40,15 @@ def get_default_configs(): # data config.data = data = ml_collections.ConfigDict() - data.dataset = 'XR' - data.dataset_name = '2.2km-coarsened-8x_london_vorticity850_random' + data.dataset = 'UKCP18' + data.dataset_name = 'bham_gcmx-4x_1em_psl-sphum4th-temp4th-vort4th_eqvt_random-season' data.image_size = 64 data.random_flip = False data.centered = False data.uniform_dequantization = False data.input_transform_dataset = None - data.input_transform_key = "pixelmmsstanur" - data.target_transform_key = "v1" + data.input_transform_key = "stan" + data.target_transform_key = "sqrturrecen" data.time_inputs = False # model @@ -60,8 +60,7 @@ def get_default_configs(): model.beta_max = 20. model.dropout = 0.1 model.embedding_type = 'fourier' - model.map_features = 0 # DEPRECATED, use loc_spec_channels - model.loc_spec_channels = 8 + model.loc_spec_channels = 0 # optimization config.optim = optim = ml_collections.ConfigDict() From dee1a12e42f43e752ff273d123743c51e7607e91 Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Tue, 13 Feb 2024 20:54:05 +0000 Subject: [PATCH 12/56] merge and rename the custom PyTorch Dataset for using UKCP18 data with models --- src/ml_downscaling_emulator/torch.py | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/src/ml_downscaling_emulator/torch.py b/src/ml_downscaling_emulator/torch.py index 377c8cb02..7a4fa227a 100644 --- a/src/ml_downscaling_emulator/torch.py +++ b/src/ml_downscaling_emulator/torch.py @@ -13,7 +13,7 @@ ) -class XRDataset(Dataset): +class UKCP18Dataset(Dataset): def __init__(self, ds, variables, target_variables, time_range): self.ds = ds self.variables = variables @@ -62,7 +62,7 @@ def time_to_tensor(cls, ds, shape, time_range): ) def __len__(self): - return len(self.ds.time) + return len(self.ds.time) * len(self.ds.ensemble_member) def __getitem__(self, idx): subds = self.sel(idx) @@ -78,14 +78,6 @@ def __getitem__(self, idx): return cond, x, time - def sel(self, idx): - return self.ds.isel(time=idx) - - -class EMXRDataset(XRDataset): - def __len__(self): - return len(self.ds.time) * len(self.ds.ensemble_member) - def sel(self, idx): em_idx, time_idx = divmod(idx, len(self.ds.time)) return self.ds.isel(time=time_idx, ensemble_member=em_idx) @@ -104,7 +96,7 @@ def custom_collate(batch): time_range = None if include_time_inputs: time_range = TIME_RANGE - xr_dataset = EMXRDataset(xr_data, variables, target_variables, time_range) + xr_dataset = UKCP18Dataset(xr_data, variables, target_variables, time_range) data_loader = DataLoader( xr_dataset, batch_size=batch_size, shuffle=shuffle, collate_fn=custom_collate ) From 10310738e9ff659e4de8f2c34e6bf4d1bfcb3413 Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Tue, 13 Feb 2024 20:57:44 +0000 Subject: [PATCH 13/56] rename torch to data module this is a pytorch application so clearer to name it data --- bin/predict.py | 2 +- src/ml_downscaling_emulator/{torch.py => data.py} | 0 src/ml_downscaling_emulator/score_sde_pytorch_hja22/run_lib.py | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) rename src/ml_downscaling_emulator/{torch.py => data.py} (100%) diff --git a/bin/predict.py b/bin/predict.py index 5aa95e2ec..fbe0c06c6 100644 --- a/bin/predict.py +++ b/bin/predict.py @@ -15,7 +15,7 @@ import xarray as xr import yaml -from ml_downscaling_emulator.torch import get_dataloader +from ml_downscaling_emulator.data import get_dataloader from mlde_utils import samples_path, DEFAULT_ENSEMBLE_MEMBER from mlde_utils.training.dataset import get_variables diff --git a/src/ml_downscaling_emulator/torch.py b/src/ml_downscaling_emulator/data.py similarity index 100% rename from src/ml_downscaling_emulator/torch.py rename to src/ml_downscaling_emulator/data.py diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/run_lib.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/run_lib.py index 11b201378..998df6920 100644 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/run_lib.py +++ b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/run_lib.py @@ -44,7 +44,7 @@ from torch.utils.tensorboard import SummaryWriter from .utils import save_checkpoint, restore_checkpoint -from ml_downscaling_emulator.torch import get_dataloader +from ml_downscaling_emulator.data import get_dataloader from mlde_utils import DatasetMetadata from ml_downscaling_emulator.training import log_epoch, track_run From f691e38f70c86b851f9d49c7610590a65ab76912 Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Tue, 13 Feb 2024 21:43:01 +0000 Subject: [PATCH 14/56] add and correct some module comments --- bin/main.py | 5 +---- bin/predict.py | 2 ++ src/ml_downscaling_emulator/data.py | 4 ++-- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/bin/main.py b/bin/main.py index eb044c07d..b7324173a 100644 --- a/bin/main.py +++ b/bin/main.py @@ -14,7 +14,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -"""Training and evaluation""" +"""Training""" import ml_downscaling_emulator.score_sde_pytorch_hja22.run_lib as run_lib from absl import app @@ -56,9 +56,6 @@ def main(argv): logger.setLevel("INFO") # Run the training pipeline run_lib.train(FLAGS.config, FLAGS.workdir) - elif FLAGS.mode == "eval": - # Run the evaluation pipeline - run_lib.evaluate(FLAGS.config, FLAGS.workdir, FLAGS.eval_folder) else: raise ValueError(f"Mode {FLAGS.mode} not recognized.") diff --git a/bin/predict.py b/bin/predict.py index fbe0c06c6..8a6fff393 100644 --- a/bin/predict.py +++ b/bin/predict.py @@ -1,3 +1,5 @@ +"""Generate samples""" + import itertools import os from pathlib import Path diff --git a/src/ml_downscaling_emulator/data.py b/src/ml_downscaling_emulator/data.py index 7a4fa227a..3fe0f64ba 100644 --- a/src/ml_downscaling_emulator/data.py +++ b/src/ml_downscaling_emulator/data.py @@ -1,3 +1,5 @@ +"""Loading UKCP18 data into PyTorch""" + import cftime import numpy as np import torch @@ -5,8 +7,6 @@ from mlde_utils.training.dataset import get_dataset, get_variables -"""Loading UKCP18 data into PyTorch""" - TIME_RANGE = ( cftime.Datetime360Day(1980, 12, 1, 12, 0, 0, 0, has_year_zero=True), cftime.Datetime360Day(2080, 11, 30, 12, 0, 0, 0, has_year_zero=True), From fea55f625e7455d96bdfc0d320d9c30e03894869 Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Tue, 13 Feb 2024 21:44:47 +0000 Subject: [PATCH 15/56] tidy up predict.py --- bin/predict.py | 82 ++++++++++++++++++++++---------------------------- 1 file changed, 36 insertions(+), 46 deletions(-) diff --git a/bin/predict.py b/bin/predict.py index 8a6fff393..514262ef0 100644 --- a/bin/predict.py +++ b/bin/predict.py @@ -34,12 +34,9 @@ import ml_downscaling_emulator.score_sde_pytorch_hja22.models as models # noqa: F401 from ml_downscaling_emulator.score_sde_pytorch_hja22.models import utils as mutils -# from score_sde_pytorch_hja22.models import ncsnv2 -# from score_sde_pytorch_hja22.models import ncsnpp from ml_downscaling_emulator.score_sde_pytorch_hja22.models import cncsnpp # noqa: F401 from ml_downscaling_emulator.score_sde_pytorch_hja22.models import cunet # noqa: F401 -# from score_sde_pytorch_hja22.models import ddpm as ddpm_model from ml_downscaling_emulator.score_sde_pytorch_hja22.models import ( # noqa: F401 layerspp, # noqa: F401 ) # noqa: F401 @@ -49,28 +46,51 @@ ) # noqa: F401 import ml_downscaling_emulator.score_sde_pytorch_hja22.sampling as sampling -# from likelihood import get_likelihood_fn from ml_downscaling_emulator.score_sde_pytorch_hja22.sde_lib import ( VESDE, VPSDE, subVPSDE, ) -# from score_sde_pytorch_hja22.sampling import (ReverseDiffusionPredictor, -# LangevinCorrector, -# EulerMaruyamaPredictor, -# AncestralSamplingPredictor, -# NoneCorrector, -# NonePredictor, -# AnnealedLangevinDynamics) - - logger = logging.getLogger() logger.setLevel("INFO") app = typer.Typer() +def load_config(config_path): + logger.info(f"Loading config from {config_path}") + with open(config_path) as f: + config = config_dict.ConfigDict(yaml.unsafe_load(f)) + + return config + + +def _init_state(config): + score_model = mutils.create_model(config) + location_params = LocationParams( + config.model.loc_spec_channels, config.data.image_size + ) + location_params = location_params.to(config.device) + location_params = torch.nn.DataParallel(location_params) + optimizer = get_optimizer( + config, itertools.chain(score_model.parameters(), location_params.parameters()) + ) + ema = ExponentialMovingAverage( + itertools.chain(score_model.parameters(), location_params.parameters()), + decay=config.model.ema_rate, + ) + state = dict( + step=0, + optimizer=optimizer, + model=score_model, + location_params=location_params, + ema=ema, + ) + + return state + + def load_model(config, ckpt_filename): if config.training.sde == "vesde": sde = VESDE( @@ -96,33 +116,11 @@ def load_model(config, ckpt_filename): else: raise RuntimeError(f"Unknown SDE {config.training.sde}") - random_seed = 0 # @param {"type": "integer"} # noqa: F841 - - sigmas = mutils.get_sigmas(config) # noqa: F841 - score_model = mutils.create_model(config) - location_params = LocationParams( - config.model.loc_spec_channels, config.data.image_size - ) - location_params = location_params.to(config.device) - location_params = torch.nn.DataParallel(location_params) - optimizer = get_optimizer( - config, itertools.chain(score_model.parameters(), location_params.parameters()) - ) - ema = ExponentialMovingAverage( - itertools.chain(score_model.parameters(), location_params.parameters()), - decay=config.model.ema_rate, - ) - state = dict( - step=0, - optimizer=optimizer, - model=score_model, - location_params=location_params, - ema=ema, - ) - + # sigmas = mutils.get_sigmas(config) # noqa: F841 + state = _init_state(config) state, loaded = restore_checkpoint(ckpt_filename, state, config.device) assert loaded, "Did not load state from checkpoint" - ema.copy_to(score_model.parameters()) + state["ema"].copy_to(state["score_model"].parameters()) # Sampling num_output_channels = len(get_variables(config.data.dataset_name)[1]) @@ -171,14 +169,6 @@ def np_samples_to_xr(np_samples, target_transform, coords, cf_data_vars): return samples_ds -def load_config(config_path): - logger.info(f"Loading config from {config_path}") - with open(config_path) as f: - config = config_dict.ConfigDict(yaml.unsafe_load(f)) - - return config - - def sample(sampling_fn, state, config, eval_dl, target_transform): score_model = state["model"] location_params = state["location_params"] From ec443d1fae93e735d84d20a6d5b65b1fbd51f0e0 Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Tue, 13 Feb 2024 21:45:25 +0000 Subject: [PATCH 16/56] remove deprecated way of loading location specific paramaters --- .../score_sde_pytorch_hja22/models/cncsnpp.py | 9 +-------- .../score_sde_pytorch_hja22/models/cunet.py | 9 +-------- 2 files changed, 2 insertions(+), 16 deletions(-) diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/cncsnpp.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/cncsnpp.py index 681dc7ad4..e08079284 100644 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/cncsnpp.py +++ b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/cncsnpp.py @@ -71,10 +71,6 @@ def __init__(self, config): combine_method = config.model.progressive_combine.lower() combiner = functools.partial(Combine, method=combine_method) - # DEPRECATED: the old way to include a learnable feature map of location-specific parameters - if config.model.map_features > 0: - self.map = nn.Parameter(torch.zeros(config.model.map_features, config.data.image_size, config.data.image_size)) - modules = [] # timestep/noise_level embedding; only for continuous training if embedding_type == 'fourier': @@ -150,7 +146,7 @@ def __init__(self, config): else: cond_time_channels = 0 - channels = cond_var_channels + cond_time_channels + output_channels + config.model.map_features + config.model.loc_spec_channels + channels = cond_var_channels + cond_time_channels + output_channels + config.model.loc_spec_channels if progressive_input != 'none': input_pyramid_ch = channels @@ -257,9 +253,6 @@ def forward(self, x, cond, time_cond): # combine the modelled data and the conditioning inputs x = torch.cat([x, cond], dim=1) - # DEPRECATED: old way to add a map of location-specific features to input - if self.config.model.map_features > 0: - x = torch.cat([x, self.map.broadcast_to((x.shape[0], *self.map.shape))], dim=1) # timestep/noise_level embedding; only for continuous training modules = self.all_modules m_idx = 0 diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/cunet.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/cunet.py index 0d001d06c..191065213 100644 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/cunet.py +++ b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/cunet.py @@ -52,14 +52,10 @@ def __init__(self, config): marginal_prob_std=None cond_var_channels, output_channels = list(map(len, get_variables(config.data.dataset_name))) cond_time_channels = 3 - input_channels = output_channels + cond_var_channels + cond_time_channels + config.model.map_features + config.model.loc_spec_channels + input_channels = output_channels + cond_var_channels + cond_time_channels + config.model.loc_spec_channels channels=[32, 64, 128, 256] embed_dim=256 - # DEPRECATED: the old way to include a learnable feature map of location-specific parameters - if config.model.map_features > 0: - self.map = nn.Parameter(torch.zeros(config.model.map_features, USABLE_IMAGE_SIZE, USABLE_IMAGE_SIZE)) - # Gaussian random feature embedding layer for time self.embed = nn.Sequential(GaussianFourierProjection(embed_dim=embed_dim), nn.Linear(embed_dim, embed_dim)) @@ -96,9 +92,6 @@ def forward(self, x, cond, t): output_shape = x.shape # combine the modelled data and the conditioning inputs x = torch.cat([x, cond], dim=1)[..., :USABLE_IMAGE_SIZE, :USABLE_IMAGE_SIZE] - # DEPRECATED: old way to add a map of location-specific features to input - if self.config.model.map_features > 0: - x = torch.cat([x, self.map.broadcast_to((x.shape[0], *self.map.shape))], dim=1) # Obtain the Gaussian random feature embedding for t embed = self.act(self.embed(t)) # Encoding path From b641aa695bc845e7eb20ec4ebedcf4f0f885a794 Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Tue, 13 Feb 2024 21:45:57 +0000 Subject: [PATCH 17/56] update the dataset for smoke test --- bin/local-test-train | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/local-test-train b/bin/local-test-train index b5a16816f..d67283c5e 100755 --- a/bin/local-test-train +++ b/bin/local-test-train @@ -3,7 +3,7 @@ set -euo pipefail config_name="ukcp18_cunet_continuous" -dataset="bham_gcmx-4x_12em_psl-temp4th-vort4th_eqvt_random-season" +dataset="bham_gcmx-4x_1em_psl-sphum4th-temp4th-vort4th_eqvt_random-season-historic" sde="subvpsde" workdir="output/test/${sde}/${config_name}/test-run" From b7d54de886aecacf02e05f5d6119bb85aeba399a Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Tue, 13 Feb 2024 21:58:12 +0000 Subject: [PATCH 18/56] correct an update to predict.py --- bin/predict.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/predict.py b/bin/predict.py index 514262ef0..df6edbbb9 100644 --- a/bin/predict.py +++ b/bin/predict.py @@ -120,7 +120,7 @@ def load_model(config, ckpt_filename): state = _init_state(config) state, loaded = restore_checkpoint(ckpt_filename, state, config.device) assert loaded, "Did not load state from checkpoint" - state["ema"].copy_to(state["score_model"].parameters()) + state["ema"].copy_to(state["model"].parameters()) # Sampling num_output_channels = len(get_variables(config.data.dataset_name)[1]) From 8d71ac5ef8a675d396813d2182722eaeefc06b93 Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Fri, 23 Feb 2024 10:13:49 +0000 Subject: [PATCH 19/56] add mlde-utils to list of pip dependencies which are added when installing package --- environment.lock.yml | 2 ++ pyproject.toml | 7 +++---- requirements.txt | 14 +++----------- 3 files changed, 8 insertions(+), 15 deletions(-) diff --git a/environment.lock.yml b/environment.lock.yml index 277fe9613..e52ef921f 100644 --- a/environment.lock.yml +++ b/environment.lock.yml @@ -1,6 +1,7 @@ name: cuda-downscaling channels: - pytorch + - pyviz - conda-forge - defaults dependencies: @@ -364,6 +365,7 @@ dependencies: - pip: - atpublic==3.1.1 - flufl-lock==7.1.1 + - mlde-utils==0.0.4 - netcdf4==1.6.3 - python-cmethods==1.0.1 prefix: /home/henry/mambaforge/envs/cuda-downscaling diff --git a/pyproject.toml b/pyproject.toml index baa99dd89..36497d766 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -16,10 +16,7 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", ] -dependencies = [ - "flufl-lock", - "python-cmethods" -] +dynamic = ["dependencies"] [project.urls] "Homepage" = "https://github.com/henryaddison/score_sde_pytorch" @@ -28,6 +25,8 @@ dependencies = [ [project.scripts] mlde = "ml_downscaling_emulator.bin:app" +[tool.setuptools.dynamic] +dependencies = { file = ["requirements.txt"] } [tool.black] extend-exclude = '^/src/ml_downscaling_emulator/score_sde_pytorch_hja22/' diff --git a/requirements.txt b/requirements.txt index f93b8befb..afe7906f2 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,11 +1,3 @@ -ml-collections==0.1.0 -tensorflow-gan==2.0.0 -tensorflow_io -tensorflow_datasets==3.1.0 -tensorflow==2.4.0 -tensorflow-addons==0.12.0 -tensorboard==2.4.0 -absl-py==0.10.0 -torch>=1.7.0 -torchvision -ninja +flufl-lock +mlde-utils ~=0.0.4 +python-cmethods From 915c3fc91d46d63b8465057b09599c2f354f0be5 Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Fri, 23 Feb 2024 11:57:59 +0000 Subject: [PATCH 20/56] don't need to install mlde_utils separately any more --- README.md | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 473234970..05595c790 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# ML Downscaling Emulator +# ML Downscaling Emulator Forked from PyTorch implementation for the paper [Score-Based Generative Modeling through Stochastic Differential Equations](https://openreview.net/forum?id=PxTIG12RRHS) @@ -6,11 +6,10 @@ by [Yang Song](https://yang-song.github.io), [Jascha Sohl-Dickstein](http://www. ## Dependencies -1. Create conda environment: `conda env create -f environment.lock.yml` -2. Clone and install https://github.com/henryaddison/mlde_utils into the environment: e.g. `pip install -e ../mlde_utils` -3. Install ml_downscaling_emulator locally: `pip install -e .` -4. Install unet code: `git clone --depth 1 git@github.com:henryaddison/Pytorch-UNet src/ml_downscaling_emulator/unet` -5. Configure necessary environment variables: `DERVIED_DATA` and `KK_SLACK_WH_URL` +1. Create conda environment: `conda env create -f environment.lock.yml` (or add dependencies to your own `conda env install -f environment.txt`) +2. Install ml_downscaling_emulator locally: `pip install -e .` +3. Install unet code: `git clone --depth 1 git@github.com:henryaddison/Pytorch-UNet src/ml_downscaling_emulator/unet` +4. Configure necessary environment variables: `DERVIED_DATA` and `KK_SLACK_WH_URL` ### Usage @@ -42,7 +41,7 @@ main.py: * `workdir` is the path that stores all artifacts of one experiment, like checkpoints, samples, and evaluation results. * `mode` is "train". When set to "train", it starts the training of a new model, or resumes the training of an old model if its meta-checkpoints (for resuming running after pre-emption in a cloud environment) exist in `workdir/checkpoints-meta` . - + These functionalities can be configured through config files, or more conveniently, through the command-line support of the `ml_collections` package. For example, to generate samples and evaluate sample quality, supply the `--config.eval.enable_sampling` flag; to compute log-likelihoods, supply the `--config.eval.enable_bpd` flag, and specify `--config.eval.dataset=train/test` to indicate whether to compute the likelihoods on the training or test dataset. #### Sampling @@ -60,7 +59,7 @@ TODO ## References -This code based on the following work: +This code based on the following work: ```bib @inproceedings{ song2021scorebased, From e8e48852d07a2fa267aa8b5867402c4b18ccfab9 Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Tue, 27 Feb 2024 13:19:54 +0000 Subject: [PATCH 21/56] allow setting of log level through env var and bump mlde_utils now that it has debug logging in ClipT --- .env.example | 2 ++ bin/predict.py | 9 ++++++++- environment.lock.yml | 12 ++++++------ environment.txt | 1 + requirements.txt | 2 +- 5 files changed, 18 insertions(+), 8 deletions(-) create mode 100644 .env.example diff --git a/.env.example b/.env.example new file mode 100644 index 000000000..599de1a8b --- /dev/null +++ b/.env.example @@ -0,0 +1,2 @@ +DERIVED_DATA=/path/to/derived_data +LOG_LEVEL=INFO diff --git a/bin/predict.py b/bin/predict.py index df6edbbb9..260b9bdd8 100644 --- a/bin/predict.py +++ b/bin/predict.py @@ -5,6 +5,7 @@ from pathlib import Path from codetiming import Timer +from dotenv import load_dotenv from knockknock import slack_sender from ml_collections import config_dict import numpy as np @@ -52,8 +53,14 @@ subVPSDE, ) +load_dotenv() # take environment variables from .env. + +logging.basicConfig( + level=logging.INFO, + format="%(levelname)s - %(filename)s - %(asctime)s - %(message)s", +) logger = logging.getLogger() -logger.setLevel("INFO") +logger.setLevel(os.environ.get("LOG_LEVEL", "INFO").upper()) app = typer.Typer() diff --git a/environment.lock.yml b/environment.lock.yml index e52ef921f..20ef7a71f 100644 --- a/environment.lock.yml +++ b/environment.lock.yml @@ -1,9 +1,8 @@ name: cuda-downscaling channels: - pytorch - - pyviz - conda-forge - - defaults + - nodefaults dependencies: - _libgcc_mutex=0.1=conda_forge - _openmp_mutex=4.5=2_kmp_llvm @@ -42,12 +41,12 @@ dependencies: - brotlipy=0.7.0=py39hb9d737c_1005 - bzip2=1.0.8=h7f98852_4 - c-ares=1.18.1=h7f98852_0 - - ca-certificates=2023.5.7=hbcca054_0 + - ca-certificates=2024.2.2=hbcca054_0 - cachetools=5.2.0=pyhd8ed1ab_0 - cairo=1.16.0=ha61ee94_1014 - cartopy=0.21.1=py39h6e7ad6e_0 - cdo=2.1.0=h15029e1_0 - - certifi=2023.5.7=pyhd8ed1ab_0 + - certifi=2024.2.2=pyhd8ed1ab_0 - cf-units=3.1.1=py39h2ae25f5_2 - cffi=1.15.1=py39he91dace_3 - cfgv=3.3.1=pyhd8ed1ab_0 @@ -224,7 +223,7 @@ dependencies: - oauthlib=3.2.2=pyhd8ed1ab_0 - openh264=2.1.1=h780b84a_0 - openjpeg=2.5.0=h7d73246_1 - - openssl=3.1.0=hd590300_3 + - openssl=3.2.1=hd590300_0 - orc=1.8.1=hfdbbad2_0 - ossuuid=1.6.2=hf484d3e_1000 - packaging=21.3=pyhd8ed1ab_0 @@ -269,6 +268,7 @@ dependencies: - python=3.9.15=hba424b6_0_cpython - python-cdo=1.5.7=pyhd8ed1ab_0 - python-dateutil=2.8.2=pyhd8ed1ab_0 + - python-dotenv=1.0.1=pyhd8ed1ab_0 - python-telegram-bot=13.15=pyhd8ed1ab_0 - python-xxhash=3.0.0=py39hb9d737c_2 - python_abi=3.9=3_cp39 @@ -368,4 +368,4 @@ dependencies: - mlde-utils==0.0.4 - netcdf4==1.6.3 - python-cmethods==1.0.1 -prefix: /home/henry/mambaforge/envs/cuda-downscaling +prefix: /home/henry/miniforge3/envs/cuda-downscaling diff --git a/environment.txt b/environment.txt index 48896b3bb..35f6eee2c 100644 --- a/environment.txt +++ b/environment.txt @@ -23,6 +23,7 @@ pre-commit pytest python=3.9.15 python-cdo +python-dotenv>=1.0,<2 pytorch=1.12.1=py3.9_cuda11.3_cudnn8.3.2_0 shortuuid tensorboard diff --git a/requirements.txt b/requirements.txt index afe7906f2..88c89e9ed 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,3 @@ flufl-lock -mlde-utils ~=0.0.4 +mlde-utils ~=0.0.5 python-cmethods From 6e7ef985d3dd1d9fb6dc6646fb83d6cd4a25aae8 Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Wed, 28 Feb 2024 09:41:16 +0000 Subject: [PATCH 22/56] bump version of mlde-utils in lockfile --- environment.lock.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/environment.lock.yml b/environment.lock.yml index 20ef7a71f..e03eabcdb 100644 --- a/environment.lock.yml +++ b/environment.lock.yml @@ -365,7 +365,7 @@ dependencies: - pip: - atpublic==3.1.1 - flufl-lock==7.1.1 - - mlde-utils==0.0.4 + - mlde-utils==0.0.5 - netcdf4==1.6.3 - python-cmethods==1.0.1 prefix: /home/henry/miniforge3/envs/cuda-downscaling From 03ebfec2bbda3a3e11d244de14cea955a1b2e6e1 Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Wed, 28 Feb 2024 09:52:34 +0000 Subject: [PATCH 23/56] use env var to set shared logging level when sampling --- bin/predict.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/bin/predict.py b/bin/predict.py index 260b9bdd8..009481154 100644 --- a/bin/predict.py +++ b/bin/predict.py @@ -56,11 +56,10 @@ load_dotenv() # take environment variables from .env. logging.basicConfig( - level=logging.INFO, + level=os.environ.get("LOG_LEVEL", "INFO").upper(), format="%(levelname)s - %(filename)s - %(asctime)s - %(message)s", ) logger = logging.getLogger() -logger.setLevel(os.environ.get("LOG_LEVEL", "INFO").upper()) app = typer.Typer() From 893dc484b6493a7115e6e4930d6247a6802269e4 Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Mon, 4 Mar 2024 13:13:57 +0000 Subject: [PATCH 24/56] rename configs to UKCP Local pr to make room for multivar and inform using CPM from UKCP Local (not 18) also updated queue train helper to not require dataset now have them set to good versions in config by default --- bin/local-test-train | 2 +- bin/queue-training | 8 +++----- ...m_configs.py => default_ukcp_local_pr_12em_configs.py} | 2 +- ...ukcp18_configs.py => default_ukcp_local_pr_configs.py} | 2 +- ...inuous.py => ukcp_local_pr_12em_cncsnpp_continuous.py} | 2 +- ..._continuous.py => ukcp_local_pr_cncsnpp_continuous.py} | 2 +- ...et_continuous.py => ukcp_local_pr_cunet_continuous.py} | 2 +- ..._continuous.py => ukcp_local_pr_cncsnpp_continuous.py} | 2 +- ...et_continuous.py => ukcp_local_pr_cunet_continuous.py} | 2 +- 9 files changed, 11 insertions(+), 13 deletions(-) rename src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/{default_ukcp18_12em_configs.py => default_ukcp_local_pr_12em_configs.py} (85%) rename src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/{default_ukcp18_configs.py => default_ukcp_local_pr_configs.py} (98%) rename src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/{ukcp18_12em_cncsnpp_continuous.py => ukcp_local_pr_12em_cncsnpp_continuous.py} (96%) rename src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/{ukcp18_cncsnpp_continuous.py => ukcp_local_pr_cncsnpp_continuous.py} (97%) rename src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/{ukcp18_cunet_continuous.py => ukcp_local_pr_cunet_continuous.py} (97%) rename src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/{ukcp18_cncsnpp_continuous.py => ukcp_local_pr_cncsnpp_continuous.py} (97%) rename src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/{ukcp18_cunet_continuous.py => ukcp_local_pr_cunet_continuous.py} (96%) diff --git a/bin/local-test-train b/bin/local-test-train index d67283c5e..0443c4769 100755 --- a/bin/local-test-train +++ b/bin/local-test-train @@ -2,7 +2,7 @@ set -euo pipefail -config_name="ukcp18_cunet_continuous" +config_name="ukcp_local_pr_cunet_continuous" dataset="bham_gcmx-4x_1em_psl-sphum4th-temp4th-vort4th_eqvt_random-season-historic" sde="subvpsde" diff --git a/bin/queue-training b/bin/queue-training index 22f2fdab0..3fa5f75ca 100755 --- a/bin/queue-training +++ b/bin/queue-training @@ -10,7 +10,7 @@ import typer app = typer.Typer() -def train_cmd(sde, dataset, workdir, config, config_overrides=list): +def train_cmd(sde, workdir, config, config_overrides=list): train_basecmd = ["python", f"bin/main.py"] train_opts = { @@ -22,7 +22,6 @@ def train_cmd(sde, dataset, workdir, config, config_overrides=list): return ( train_basecmd + [arg for item in train_opts.items() for arg in item] - + [f"--config.data.dataset_name={dataset}"] + config_overrides ) @@ -51,9 +50,8 @@ def queue_cmd(duration, memory): def main( ctx: typer.Context, model_run_id: str, - cpm_dataset: str, sde: str, - config: str = "xarray_12em_cncsnpp_continuous", + config: str = "ukcp_local_pr_12em_cncsnpp_continuous", memory: int = 64, duration: int = 72, ): @@ -67,7 +65,7 @@ def main( full_cmd = ( queue_cmd(duration=duration, memory=memory) + ["--"] - + train_cmd(sde, cpm_dataset, workdir, config, ctx.args) + + train_cmd(sde, workdir, config, ctx.args) ) print(" ".join(full_cmd).strip(), file=sys.stderr) output = subprocess.run(full_cmd, capture_output=True) diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_ukcp18_12em_configs.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_ukcp_local_pr_12em_configs.py similarity index 85% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_ukcp18_12em_configs.py rename to src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_ukcp_local_pr_12em_configs.py index 5172f7bc1..9d8e44f22 100644 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_ukcp18_12em_configs.py +++ b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_ukcp_local_pr_12em_configs.py @@ -1,7 +1,7 @@ import ml_collections import torch -from ml_downscaling_emulator.score_sde_pytorch_hja22.configs.default_ukcp18_configs import get_default_configs as get_base_configs +from ml_downscaling_emulator.score_sde_pytorch_hja22.configs.default_ukcp_local_pr_configs import get_default_configs as get_base_configs def get_default_configs(): diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_ukcp18_configs.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_ukcp_local_pr_configs.py similarity index 98% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_ukcp18_configs.py rename to src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_ukcp_local_pr_configs.py index bb6bb48d1..86cc24ae4 100644 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_ukcp18_configs.py +++ b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_ukcp_local_pr_configs.py @@ -40,7 +40,7 @@ def get_default_configs(): # data config.data = data = ml_collections.ConfigDict() - data.dataset = 'UKCP18' + data.dataset = 'UKCP_Local' data.dataset_name = 'bham_gcmx-4x_1em_psl-sphum4th-temp4th-vort4th_eqvt_random-season' data.image_size = 64 data.random_flip = False diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp18_12em_cncsnpp_continuous.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp_local_pr_12em_cncsnpp_continuous.py similarity index 96% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp18_12em_cncsnpp_continuous.py rename to src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp_local_pr_12em_cncsnpp_continuous.py index 8c75391b8..a498b5ce8 100644 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp18_12em_cncsnpp_continuous.py +++ b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp_local_pr_12em_cncsnpp_continuous.py @@ -15,7 +15,7 @@ # Lint as: python3 """Training NCSN++ on precip data with sub-VP SDE.""" -from ml_downscaling_emulator.score_sde_pytorch_hja22.configs.default_ukcp18_12em_configs import get_default_configs +from ml_downscaling_emulator.score_sde_pytorch_hja22.configs.default_ukcp_local_pr_12em_configs import get_default_configs def get_config(): diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp18_cncsnpp_continuous.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp_local_pr_cncsnpp_continuous.py similarity index 97% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp18_cncsnpp_continuous.py rename to src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp_local_pr_cncsnpp_continuous.py index d58d2227d..b8a095c9f 100644 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp18_cncsnpp_continuous.py +++ b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp_local_pr_cncsnpp_continuous.py @@ -15,7 +15,7 @@ # Lint as: python3 """Training NCSN++ on precip data with sub-VP SDE.""" -from ml_downscaling_emulator.score_sde_pytorch_hja22.configs.default_ukcp18_configs import get_default_configs +from ml_downscaling_emulator.score_sde_pytorch_hja22.configs.default_ukcp_local_pr_configs import get_default_configs def get_config(): diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp18_cunet_continuous.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp_local_pr_cunet_continuous.py similarity index 97% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp18_cunet_continuous.py rename to src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp_local_pr_cunet_continuous.py index 5059f077a..dfbc38e59 100644 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp18_cunet_continuous.py +++ b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp_local_pr_cunet_continuous.py @@ -15,7 +15,7 @@ # Lint as: python3 """Training conditional U-Net on precip data with sub-VP SDE.""" -from ml_downscaling_emulator.score_sde_pytorch_hja22.configs.default_ukcp18_configs import get_default_configs +from ml_downscaling_emulator.score_sde_pytorch_hja22.configs.default_ukcp_local_pr_configs import get_default_configs def get_config(): diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ukcp18_cncsnpp_continuous.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ukcp_local_pr_cncsnpp_continuous.py similarity index 97% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ukcp18_cncsnpp_continuous.py rename to src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ukcp_local_pr_cncsnpp_continuous.py index 691000f2a..6a0184f3e 100644 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ukcp18_cncsnpp_continuous.py +++ b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ukcp_local_pr_cncsnpp_continuous.py @@ -15,7 +15,7 @@ # Lint as: python3 """Training NCSN++ on precip data with VE SDE.""" -from ml_downscaling_emulator.score_sde_pytorch_hja22.configs.default_ukcp18_configs import get_default_configs +from ml_downscaling_emulator.score_sde_pytorch_hja22.configs.default_ukcp_local_pr_configs import get_default_configs def get_config(): diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ukcp18_cunet_continuous.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ukcp_local_pr_cunet_continuous.py similarity index 96% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ukcp18_cunet_continuous.py rename to src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ukcp_local_pr_cunet_continuous.py index 0bb63f147..0ad9c6b6c 100644 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ukcp18_cunet_continuous.py +++ b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ukcp_local_pr_cunet_continuous.py @@ -15,7 +15,7 @@ # Lint as: python3 """Training UNet on XArray with VE SDE.""" -from ml_downscaling_emulator.score_sde_pytorch_hja22.configs.default_ukcp18_configs import get_default_configs +from ml_downscaling_emulator.score_sde_pytorch_hja22.configs.default_ukcp_local_pr_configs import get_default_configs def get_config(): From afa9f45830a667a33f684c62bff7c7be415e5c27 Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Mon, 4 Mar 2024 13:17:58 +0000 Subject: [PATCH 25/56] rename torch Dataset to Local from 18 --- src/ml_downscaling_emulator/data.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/ml_downscaling_emulator/data.py b/src/ml_downscaling_emulator/data.py index 3fe0f64ba..e4060a262 100644 --- a/src/ml_downscaling_emulator/data.py +++ b/src/ml_downscaling_emulator/data.py @@ -1,4 +1,4 @@ -"""Loading UKCP18 data into PyTorch""" +"""Loading UKCP Local data into PyTorch""" import cftime import numpy as np @@ -13,7 +13,7 @@ ) -class UKCP18Dataset(Dataset): +class UKCPLocalDataset(Dataset): def __init__(self, ds, variables, target_variables, time_range): self.ds = ds self.variables = variables @@ -96,7 +96,7 @@ def custom_collate(batch): time_range = None if include_time_inputs: time_range = TIME_RANGE - xr_dataset = UKCP18Dataset(xr_data, variables, target_variables, time_range) + xr_dataset = UKCPLocalDataset(xr_data, variables, target_variables, time_range) data_loader = DataLoader( xr_dataset, batch_size=batch_size, shuffle=shuffle, collate_fn=custom_collate ) From bdd5028d3ce70195d1e89f4d5fd7240ddcb9f81c Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Tue, 5 Mar 2024 10:22:14 +0000 Subject: [PATCH 26/56] bump version of mlde_utils to include latest changes for mv setup --- environment.lock.yml | 2 +- requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/environment.lock.yml b/environment.lock.yml index e03eabcdb..436beae17 100644 --- a/environment.lock.yml +++ b/environment.lock.yml @@ -365,7 +365,7 @@ dependencies: - pip: - atpublic==3.1.1 - flufl-lock==7.1.1 - - mlde-utils==0.0.5 + - mlde-utils==0.0.6 - netcdf4==1.6.3 - python-cmethods==1.0.1 prefix: /home/henry/miniforge3/envs/cuda-downscaling diff --git a/requirements.txt b/requirements.txt index 88c89e9ed..ebf216808 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,3 @@ flufl-lock -mlde-utils ~=0.0.5 +mlde-utils ~=0.0.6 python-cmethods From 6faabcdb7d45a6ccf015933b033c08972923aec6 Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Tue, 5 Mar 2024 10:49:07 +0000 Subject: [PATCH 27/56] add a ci action --- .github/workflows/ci.yml | 33 +++++++++++++ src/ml_downscaling_emulator/bin/evaluate.py | 2 +- .../{test_torch.py => test_data.py} | 46 ++++++++++++------- 3 files changed, 64 insertions(+), 17 deletions(-) create mode 100644 .github/workflows/ci.yml rename tests/ml_downscaling_emulator/{test_torch.py => test_data.py} (66%) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 000000000..9698dfa4e --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,33 @@ +name: CI + +on: [push] + +jobs: + ci-checks: + runs-on: ubuntu-latest + strategy: + max-parallel: 5 + + steps: + - name: Clone repo + uses: actions/checkout@v4 + - name: setup-micromamba + uses: mamba-org/setup-micromamba@v1.4.1 + with: + environment-file: environment.lock.yml + init-shell: bash + cache-environment: true + post-cleanup: 'all' + - name: Install package + run: | + pip install -e . + shell: micromamba-shell {0} + - name: Install unet + uses: actions/checkout@v4 + with: + repository: henryaddison/Pytorch-UNet + path: src/ml_downscaling_emulator/unet + - name: Test with pytest + run: | + pytest + shell: micromamba-shell {0} diff --git a/src/ml_downscaling_emulator/bin/evaluate.py b/src/ml_downscaling_emulator/bin/evaluate.py index 5915002cc..a5d4b3eea 100644 --- a/src/ml_downscaling_emulator/bin/evaluate.py +++ b/src/ml_downscaling_emulator/bin/evaluate.py @@ -13,7 +13,7 @@ from mlde_utils.training.dataset import load_raw_dataset_split from ..deterministic import sampling from ..deterministic.utils import create_model, restore_checkpoint -from ..torch import get_dataloader +from ..data import get_dataloader logging.basicConfig( diff --git a/tests/ml_downscaling_emulator/test_torch.py b/tests/ml_downscaling_emulator/test_data.py similarity index 66% rename from tests/ml_downscaling_emulator/test_torch.py rename to tests/ml_downscaling_emulator/test_data.py index 4a157b152..4e855ac13 100644 --- a/tests/ml_downscaling_emulator/test_torch.py +++ b/tests/ml_downscaling_emulator/test_data.py @@ -4,11 +4,11 @@ import torch import xarray as xr -from ml_downscaling_emulator.torch import XRDataset +from ml_downscaling_emulator.data import UKCPLocalDataset -def test_XRDataset_item_cond_var(xr_dataset, time_range): - pt_dataset = XRDataset(xr_dataset, ["var1", "var2"], ["target"], time_range) +def test_UKCPLocalDataset_item_cond_var(xr_dataset, time_range): + pt_dataset = UKCPLocalDataset(xr_dataset, ["var1", "var2"], ["target"], time_range) cond = pt_dataset[0][0][:2] expected_cond = torch.stack( [ @@ -20,8 +20,10 @@ def test_XRDataset_item_cond_var(xr_dataset, time_range): assert torch.all(cond == expected_cond) -def test_XRDataset_item_cond_time(xr_dataset, time_range, earliest_time, latest_time): - pt_dataset = XRDataset(xr_dataset, ["var1", "var2"], ["target"], time_range) +def test_UKCPLocalDataset_item_cond_time( + xr_dataset, time_range, earliest_time, latest_time +): + pt_dataset = UKCPLocalDataset(xr_dataset, ["var1", "var2"], ["target"], time_range) test_date = cftime.Datetime360Day(1980, 12, 1, 12, 0, 0, 0, has_year_zero=True) expected_climate_time = (test_date - earliest_time) / (latest_time - earliest_time) @@ -54,16 +56,16 @@ def test_XRDataset_item_cond_time(xr_dataset, time_range, earliest_time, latest_ ) -def test_XRDataset_item_target(xr_dataset, time_range): - pt_dataset = XRDataset(xr_dataset, ["var1", "var2"], ["target"], time_range) +def test_UKCPLocalDataset_item_target(xr_dataset, time_range): + pt_dataset = UKCPLocalDataset(xr_dataset, ["var1", "var2"], ["target"], time_range) target = pt_dataset[0][1] expected_target = torch.Tensor(np.arange(5 * 7).reshape(1, 5, 7)) assert torch.all(target == expected_target) -def test_XRDataset_item_time(xr_dataset, time_range): - pt_dataset = XRDataset(xr_dataset, ["var1", "var2"], ["target"], time_range) +def test_UKCPLocalDataset_item_time(xr_dataset, time_range): + pt_dataset = UKCPLocalDataset(xr_dataset, ["var1", "var2"], ["target"], time_range) time = pt_dataset[0][2] expected_time = cftime.Datetime360Day(1980, 12, 1, 12, 0, 0, 0, has_year_zero=True) @@ -108,28 +110,40 @@ def time_coords(): ) +@pytest.fixture +def em_coords(): + return ["01", "02"] + + def values(shape): return np.arange(np.prod(shape)).reshape(*shape) @pytest.fixture -def xr_dataset(time_coords, lat_coords, lon_coords): +def xr_dataset(em_coords, time_coords, lat_coords, lon_coords): ds = xr.Dataset( data_vars={ "var1": ( - ["time", "grid_longitude", "grid_latitude"], - values((len(time_coords), len(lon_coords), len(lat_coords))), + ["ensemble_member", "time", "grid_longitude", "grid_latitude"], + values( + (len(em_coords), len(time_coords), len(lon_coords), len(lat_coords)) + ), ), "var2": ( - ["time", "grid_longitude", "grid_latitude"], - values((len(time_coords), len(lon_coords), len(lat_coords))), + ["ensemble_member", "time", "grid_longitude", "grid_latitude"], + values( + (len(em_coords), len(time_coords), len(lon_coords), len(lat_coords)) + ), ), "target": ( - ["time", "grid_longitude", "grid_latitude"], - values((len(time_coords), len(lon_coords), len(lat_coords))), + ["ensemble_member", "time", "grid_longitude", "grid_latitude"], + values( + (len(em_coords), len(time_coords), len(lon_coords), len(lat_coords)) + ), ), }, coords=dict( + ensemble_member=(["ensemble_member"], em_coords), time=(["time"], time_coords), grid_longitude=(["grid_longitude"], lon_coords), grid_latitude=(["grid_latitude"], lat_coords), From d74e2555bb74ccf1ae30a8debb18b4ea66e7ea0b Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Thu, 7 Mar 2024 09:30:18 +0000 Subject: [PATCH 28/56] local-test-train runs without loc spec channels need to figure out why not working with loc spec channels but still better to have a smoke test that runs --- bin/local-test-train | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/local-test-train b/bin/local-test-train index 0443c4769..b4fe29730 100755 --- a/bin/local-test-train +++ b/bin/local-test-train @@ -9,7 +9,7 @@ sde="subvpsde" workdir="output/test/${sde}/${config_name}/test-run" config_path="src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/${sde}/${config_name}.py" -loc_spec_channels=1 +loc_spec_channels=0 train_batch_size=2 random_crop_size=32 From 768d024a95395109d68e81c1ca541eb4ab29ad04 Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Fri, 8 Mar 2024 11:53:49 +0000 Subject: [PATCH 29/56] store raw predictions as well as transformed ones when sampling --- bin/predict.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/bin/predict.py b/bin/predict.py index 009481154..adcc09d71 100644 --- a/bin/predict.py +++ b/bin/predict.py @@ -164,8 +164,12 @@ def np_samples_to_xr(np_samples, target_transform, coords, cf_data_vars): # add ensemble member axis to np samples np_samples = np_samples[np.newaxis, :] pred_pr_var = (pred_pr_dims, np_samples, pred_pr_attrs) - - data_vars = {**cf_data_vars, "target_pr": pred_pr_var} + raw_pred_var = ( + pred_pr_dims, + np_samples, + {"grid_mapping": "rotated_latitude_longitude"}, + ) + data_vars = {**cf_data_vars, "target_pr": pred_pr_var, "raw_pred": raw_pred_var} samples_ds = target_transform.invert( xr.Dataset(data_vars=data_vars, coords=coords, attrs={}) From 8986619c546fa56c031937e1c5cc98f9541f9686 Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Fri, 15 Mar 2024 16:19:08 +0000 Subject: [PATCH 30/56] minimal data var stuff when combining pred files --- src/ml_downscaling_emulator/bin/postprocess.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/ml_downscaling_emulator/bin/postprocess.py b/src/ml_downscaling_emulator/bin/postprocess.py index 2eb4e5c2d..1ee56a518 100644 --- a/src/ml_downscaling_emulator/bin/postprocess.py +++ b/src/ml_downscaling_emulator/bin/postprocess.py @@ -226,6 +226,9 @@ def merge( typer.echo(f"save to {output_filepath}") os.makedirs(os.path.dirname(output_filepath), exist_ok=True) - xr.concat([xr.open_dataset(f) for f in pred_file_group], dim="time").to_netcdf( - output_filepath - ) + xr.concat( + [xr.open_dataset(f) for f in pred_file_group], + dim="time", + join="exact", + data_vars="minimal", + ).to_netcdf(output_filepath) From 834e24628a9e7d40ee4e81b0a7eef8f495e81d47 Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Fri, 15 Mar 2024 17:22:30 +0000 Subject: [PATCH 31/56] correct name of directory for running jupyter --- bin/bp-jup | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/bp-jup b/bin/bp-jup index 56ac1ac9f..061427866 100755 --- a/bin/bp-jup +++ b/bin/bp-jup @@ -3,4 +3,4 @@ set -euo pipefail # start Jupyter running on Blue Pebble for notebooks in this project, accessible over SSH tunnel -bp_jupyter -g 1 -q cnu,gpu -m 16 -t 2 --condaenv cuda-downscaling --workdir /user/home/vf20964/code/score_sde_pytorch --module-list default +bp_jupyter -g 1 -q cnu,gpu -m 16 -t 2 --condaenv cuda-downscaling --workdir /user/home/vf20964/code/mlde --module-list default From 164bd7735b685f2a4d355281ab514201e20bd06d Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Fri, 15 Mar 2024 17:23:58 +0000 Subject: [PATCH 32/56] this jupyter on bp script won't work --- bin/bp-jup | 6 ------ 1 file changed, 6 deletions(-) delete mode 100755 bin/bp-jup diff --git a/bin/bp-jup b/bin/bp-jup deleted file mode 100755 index 061427866..000000000 --- a/bin/bp-jup +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -set -euo pipefail - -# start Jupyter running on Blue Pebble for notebooks in this project, accessible over SSH tunnel -bp_jupyter -g 1 -q cnu,gpu -m 16 -t 2 --condaenv cuda-downscaling --workdir /user/home/vf20964/code/mlde --module-list default From fc4ed246a6b99915a423ede64f3dbeaffbd1fede Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Mon, 18 Mar 2024 15:00:57 +0000 Subject: [PATCH 33/56] add 1em to non-12em configs and add a low data config --- bin/local-test-train | 2 +- .../default_ukcp_local_pr_12em_configs.py | 2 +- ...y => default_ukcp_local_pr_1em_configs.py} | 0 ...> ukcp_local_pr_1em_cncsnpp_continuous.py} | 2 +- ...ukcp_local_pr_1em_cncsnpp_continuous_ld.py | 72 +++++++++++++++++++ ... => ukcp_local_pr_1em_cunet_continuous.py} | 2 +- .../vesde/ukcp_local_pr_cncsnpp_continuous.py | 2 +- .../vesde/ukcp_local_pr_cunet_continuous.py | 2 +- 8 files changed, 78 insertions(+), 6 deletions(-) rename src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/{default_ukcp_local_pr_configs.py => default_ukcp_local_pr_1em_configs.py} (100%) rename src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/{ukcp_local_pr_cncsnpp_continuous.py => ukcp_local_pr_1em_cncsnpp_continuous.py} (97%) create mode 100644 src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp_local_pr_1em_cncsnpp_continuous_ld.py rename src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/{ukcp_local_pr_cunet_continuous.py => ukcp_local_pr_1em_cunet_continuous.py} (96%) diff --git a/bin/local-test-train b/bin/local-test-train index b4fe29730..2c2ac091d 100755 --- a/bin/local-test-train +++ b/bin/local-test-train @@ -2,7 +2,7 @@ set -euo pipefail -config_name="ukcp_local_pr_cunet_continuous" +config_name="ukcp_local_pr_1em_cunet_continuous" dataset="bham_gcmx-4x_1em_psl-sphum4th-temp4th-vort4th_eqvt_random-season-historic" sde="subvpsde" diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_ukcp_local_pr_12em_configs.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_ukcp_local_pr_12em_configs.py index 9d8e44f22..54a4ff3ef 100644 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_ukcp_local_pr_12em_configs.py +++ b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_ukcp_local_pr_12em_configs.py @@ -1,7 +1,7 @@ import ml_collections import torch -from ml_downscaling_emulator.score_sde_pytorch_hja22.configs.default_ukcp_local_pr_configs import get_default_configs as get_base_configs +from ml_downscaling_emulator.score_sde_pytorch_hja22.configs.default_ukcp_local_pr_1em_configs import get_default_configs as get_base_configs def get_default_configs(): diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_ukcp_local_pr_configs.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_ukcp_local_pr_1em_configs.py similarity index 100% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_ukcp_local_pr_configs.py rename to src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_ukcp_local_pr_1em_configs.py diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp_local_pr_cncsnpp_continuous.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp_local_pr_1em_cncsnpp_continuous.py similarity index 97% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp_local_pr_cncsnpp_continuous.py rename to src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp_local_pr_1em_cncsnpp_continuous.py index b8a095c9f..b180b88e2 100644 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp_local_pr_cncsnpp_continuous.py +++ b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp_local_pr_1em_cncsnpp_continuous.py @@ -15,7 +15,7 @@ # Lint as: python3 """Training NCSN++ on precip data with sub-VP SDE.""" -from ml_downscaling_emulator.score_sde_pytorch_hja22.configs.default_ukcp_local_pr_configs import get_default_configs +from ml_downscaling_emulator.score_sde_pytorch_hja22.configs.default_ukcp_local_pr_1em_configs import get_default_configs def get_config(): diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp_local_pr_1em_cncsnpp_continuous_ld.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp_local_pr_1em_cncsnpp_continuous_ld.py new file mode 100644 index 000000000..4700f229a --- /dev/null +++ b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp_local_pr_1em_cncsnpp_continuous_ld.py @@ -0,0 +1,72 @@ +# coding=utf-8 +# Copyright 2020 The Google Research Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Lint as: python3 +"""Training NCSN++ on precip data with sub-VP SDE.""" +from ml_downscaling_emulator.score_sde_pytorch_hja22.configs.default_ukcp_local_pr_1em_configs import get_default_configs + + +def get_config(): + config = get_default_configs() + # training + training = config.training + training.sde = 'subvpsde' + training.continuous = True + training.reduce_mean = True + training.n_epochs = 300 + + # sampling + sampling = config.sampling + sampling.method = 'pc' + sampling.predictor = 'euler_maruyama' + sampling.corrector = 'none' + + # data + data = config.data + data.centered = True + data.dataset_name = 'bham_gcmx-4x_1em_psl-sphum4th-temp4th-vort4th_eqvt_random-season-historic' + + # model + model = config.model + model.name = 'cncsnpp' + model.scale_by_sigma = False + model.ema_rate = 0.9999 + model.normalization = 'GroupNorm' + model.nonlinearity = 'swish' + model.nf = 128 + model.ch_mult = (1, 2, 2, 2) + model.num_res_blocks = 4 + model.attn_resolutions = (16,) + model.resamp_with_conv = True + model.conditional = True + model.fir = True + model.fir_kernel = [1, 3, 3, 1] + model.skip_rescale = True + model.resblock_type = 'biggan' + model.progressive = 'none' + model.progressive_input = 'residual' + model.progressive_combine = 'sum' + model.attention_type = 'ddpm' + model.embedding_type = 'positional' + model.init_scale = 0. + model.fourier_scale = 16 + model.conv_size = 3 + + # data + data = config.data + data.input_transform_key = "stan" + data.target_transform_key = "sqrturrecen" + + return config diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp_local_pr_cunet_continuous.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp_local_pr_1em_cunet_continuous.py similarity index 96% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp_local_pr_cunet_continuous.py rename to src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp_local_pr_1em_cunet_continuous.py index dfbc38e59..caba144d1 100644 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp_local_pr_cunet_continuous.py +++ b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp_local_pr_1em_cunet_continuous.py @@ -15,7 +15,7 @@ # Lint as: python3 """Training conditional U-Net on precip data with sub-VP SDE.""" -from ml_downscaling_emulator.score_sde_pytorch_hja22.configs.default_ukcp_local_pr_configs import get_default_configs +from ml_downscaling_emulator.score_sde_pytorch_hja22.configs.default_ukcp_local_pr_1em_configs import get_default_configs def get_config(): diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ukcp_local_pr_cncsnpp_continuous.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ukcp_local_pr_cncsnpp_continuous.py index 6a0184f3e..5dea3c41c 100644 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ukcp_local_pr_cncsnpp_continuous.py +++ b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ukcp_local_pr_cncsnpp_continuous.py @@ -15,7 +15,7 @@ # Lint as: python3 """Training NCSN++ on precip data with VE SDE.""" -from ml_downscaling_emulator.score_sde_pytorch_hja22.configs.default_ukcp_local_pr_configs import get_default_configs +from ml_downscaling_emulator.score_sde_pytorch_hja22.configs.default_ukcp_local_pr_1em_configs import get_default_configs def get_config(): diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ukcp_local_pr_cunet_continuous.py b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ukcp_local_pr_cunet_continuous.py index 0ad9c6b6c..a5b114539 100644 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ukcp_local_pr_cunet_continuous.py +++ b/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ukcp_local_pr_cunet_continuous.py @@ -15,7 +15,7 @@ # Lint as: python3 """Training UNet on XArray with VE SDE.""" -from ml_downscaling_emulator.score_sde_pytorch_hja22.configs.default_ukcp_local_pr_configs import get_default_configs +from ml_downscaling_emulator.score_sde_pytorch_hja22.configs.default_ukcp_local_pr_1em_configs import get_default_configs def get_config(): From 44a3e2c427813fa22320350a26f051006c9c75b0 Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Mon, 18 Mar 2024 15:01:25 +0000 Subject: [PATCH 34/56] work on documenting how to train and sample from a model --- .env.example | 4 ++++ README.md | 68 +++++++++++++++++++++------------------------------- bin/main.py | 5 +--- 3 files changed, 32 insertions(+), 45 deletions(-) diff --git a/.env.example b/.env.example index 599de1a8b..04a999e83 100644 --- a/.env.example +++ b/.env.example @@ -1,2 +1,6 @@ +# [required] root path for where to find datasets and store models DERIVED_DATA=/path/to/derived_data +# [optional] log level LOG_LEVEL=INFO +# [optional] slack webhook url for training and samples notifications +KK_SLACK_WH_URL=https://hooks.slack.com diff --git a/README.md b/README.md index 05595c790..77fd1361a 100644 --- a/README.md +++ b/README.md @@ -11,68 +11,54 @@ by [Yang Song](https://yang-song.github.io), [Jascha Sohl-Dickstein](http://www. 3. Install unet code: `git clone --depth 1 git@github.com:henryaddison/Pytorch-UNet src/ml_downscaling_emulator/unet` 4. Configure necessary environment variables: `DERVIED_DATA` and `KK_SLACK_WH_URL` -### Usage +## Usage - -#### Smoke test +### Smoke test `bin/local-test-train` -#### Training +### Training -Train models through `main.py`. +Train models through `bin/main.py`, e.g. + +```sh +python bin/main.py --config src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp_local_pr_12em_cncsnpp_continuous.py --workdir ${DERVIED_DATA}/path/to/models/paper-12em --mode train +``` ```sh main.py: + --mode: : Running mode: train + --workdir: Working directory for storing data related to model such as model snapshots, tranforms or samples --config: Training configuration. (default: 'None') - --mode: : Running mode: train or eval - --workdir: Working directory ``` -* `config` is the path to the config file. Our prescribed config files are provided in `configs/`. They are formatted according to [`ml_collections`](https://github.com/google/ml_collections) and should be quite self-explanatory. +* `mode` is "train". When set to "train", it starts the training of a new model, or resumes the training of an old model if its meta-checkpoints (for resuming running after pre-emption in a cloud environment) exist in `workdir/checkpoints-meta`. - **Naming conventions of config files**: the path of a config file is a combination of the following dimensions: - * dataset: One of `cifar10`, `celeba`, `celebahq`, `celebahq_256`, `ffhq_256`, `celebahq`, `ffhq`. - * model: One of `ncsn`, `ncsnv2`, `ncsnpp`, `ddpm`, `ddpmpp`. - * continuous: train the model with continuously sampled time steps. +* `workdir` is the path that stores all artifacts of one experiment, like checkpoints, transforms and samples. Recommended to be a subdirectory of ${DERIVED_DATA}. -* `workdir` is the path that stores all artifacts of one experiment, like checkpoints, samples, and evaluation results. +* `config` is the path to the config file. Config files for emulators are provided in `src/configs/`. They are formatted according to [`ml_collections`](https://github.com/google/ml_collections) and heavily based on ncsnpp config files. -* `mode` is "train". When set to "train", it starts the training of a new model, or resumes the training of an old model if its meta-checkpoints (for resuming running after pre-emption in a cloud environment) exist in `workdir/checkpoints-meta` . + **Naming conventions of config files**: the path of a config file is a combination of the following dimensions: + * SDE: `subvpsde` + * data source: `ukcp_local` + * variable: `pr` + * ensemble members: `12em` (all 12) or `1em` (single) + * model: `cncsnpp` + * continuous: train the model with continuously sampled time steps. - These functionalities can be configured through config files, or more conveniently, through the command-line support of the `ml_collections` package. For example, to generate samples and evaluate sample quality, supply the `--config.eval.enable_sampling` flag; to compute log-likelihoods, supply the `--config.eval.enable_bpd` flag, and specify `--config.eval.dataset=train/test` to indicate whether to compute the likelihoods on the training or test dataset. +Any datasets are assumed to be found in `${DERIVED_DATA}/moose/nc-datasets/{dataset_name}/`. In particular, the config key config.data.dataset_name is the name of the dataset to use to train the model. -#### Sampling -TODO +Functionalities can be configured through config files, or more conveniently, through the command-line support of the `ml_collections` package. -## How to extend the code -* **New SDEs**: inherent the `sde_lib.SDE` abstract class and implement all abstract methods. The `discretize()` method is optional and the default is Euler-Maruyama discretization. Existing sampling methods and likelihood computation will automatically work for this new SDE. -* **New predictors**: inherent the `sampling.Predictor` abstract class, implement the `update_fn` abstract method, and register its name with `@register_predictor`. The new predictor can be directly used in `sampling.get_pc_sampler` for Predictor-Corrector sampling, and all other controllable generation methods in `controllable_generation.py`. -* **New correctors**: inherent the `sampling.Corrector` abstract class, implement the `update_fn` abstract method, and register its name with `@register_corrector`. The new corrector can be directly used in `sampling.get_pc_sampler`, and all other controllable generation methods in `controllable_generation.py`. -## Tips -* When using the JAX codebase, you can jit multiple training steps together to improve training speed at the cost of more memory usage. This can be set via `config.training.n_jitted_steps`. For CIFAR-10, we recommend using `config.training.n_jitted_steps=5` when your GPU/TPU has sufficient memory; otherwise we recommend using `config.training.n_jitted_steps=1`. Our current implementation requires `config.training.log_freq` to be dividable by `n_jitted_steps` for logging and checkpointing to work normally. -* The `snr` (signal-to-noise ratio) parameter of `LangevinCorrector` somewhat behaves like a temperature parameter. Larger `snr` typically results in smoother samples, while smaller `snr` gives more diverse but lower quality samples. Typical values of `snr` is `0.05 - 0.2`, and it requires tuning to strike the sweet spot. -* For VE SDEs, we recommend choosing `config.model.sigma_max` to be the maximum pairwise distance between data samples in the training dataset. +### Sampling -## References +Once have trained a model create samples from it with `bin/predict.py`, e.g. -This code based on the following work: -```bib -@inproceedings{ - song2021scorebased, - title={Score-Based Generative Modeling through Stochastic Differential Equations}, - author={Yang Song and Jascha Sohl-Dickstein and Diederik P Kingma and Abhishek Kumar and Stefano Ermon and Ben Poole}, - booktitle={International Conference on Learning Representations}, - year={2021}, - url={https://openreview.net/forum?id=PxTIG12RRHS} -} +```sh +python bin/predict.py --checkpoint epoch-20 --num-samples 1 --dataset bham_60km-4x_12em_psl-sphum4th-temp4th-vort4th_eqvt_random-season --split test --input-transform-dataset bham_60km-4x_12em_psl-sphum4th-temp4th-vort4th_eqvt_random-season --input-transform-key pixelmmsstan --ensemble-member 01 ${DERVIED_DATA}/path/to/models/paper-12em ``` -This work is built upon some previous papers which might also interest you: - -* Song, Yang, and Stefano Ermon. "Generative Modeling by Estimating Gradients of the Data Distribution." *Proceedings of the 33rd Annual Conference on Neural Information Processing Systems*. 2019. -* Song, Yang, and Stefano Ermon. "Improved techniques for training score-based generative models." *Proceedings of the 34th Annual Conference on Neural Information Processing Systems*. 2020. -* Ho, Jonathan, Ajay Jain, and Pieter Abbeel. "Denoising diffusion probabilistic models." *Proceedings of the 34th Annual Conference on Neural Information Processing Systems*. 2020. +This will use the checkpoint of the model in `${DERVIED_DATA}/path/to/models/paper-12em/checkpoints/{checkpoint}.pth` and model config from training `${DERVIED_DATA}/path/to/models/paper-12em/config.yml`. It will store samples generated in `${DERVIED_DATA}/path/to/models/paper-12em/samples/{dataset}/{input_transform_data}-{input_transform_key}/{split}/{ensemble_member}/`. Sample files and named like `predictions-{uuid}.nc`. diff --git a/bin/main.py b/bin/main.py index b7324173a..a08d2b801 100644 --- a/bin/main.py +++ b/bin/main.py @@ -31,10 +31,7 @@ "config", None, "Training configuration.", lock_config=True ) flags.DEFINE_string("workdir", None, "Work directory.") -flags.DEFINE_enum("mode", None, ["train", "eval"], "Running mode: train or eval") -flags.DEFINE_string( - "eval_folder", "eval", "The folder name for storing evaluation results" -) +flags.DEFINE_enum("mode", None, ["train"], "Running mode: train") flags.mark_flags_as_required(["workdir", "config", "mode"]) From 848203fc04c5aaa2f8e00a09e0bce2ff0fd58c67 Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Mon, 18 Mar 2024 15:13:52 +0000 Subject: [PATCH 35/56] move smoke test script into tests dir --- README.md | 6 +++++- bin/local-test-train => tests/smoke-test | 0 2 files changed, 5 insertions(+), 1 deletion(-) rename bin/local-test-train => tests/smoke-test (100%) diff --git a/README.md b/README.md index 77fd1361a..a3465e5a6 100644 --- a/README.md +++ b/README.md @@ -15,8 +15,12 @@ by [Yang Song](https://yang-song.github.io), [Jascha Sohl-Dickstein](http://www. ### Smoke test -`bin/local-test-train` +```sh +tests/smoke-test +``` +Uses a simpler network to test the full training and sampling regime. +Recommended to run with a sample of the dataset rather than the full thing. ### Training diff --git a/bin/local-test-train b/tests/smoke-test similarity index 100% rename from bin/local-test-train rename to tests/smoke-test From b3f07cafb542397c2df558de1c87e90a597b19ff Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Mon, 18 Mar 2024 15:22:59 +0000 Subject: [PATCH 36/56] use .env.example as guide for env vars to set --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a3465e5a6..1e860ba7a 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ by [Yang Song](https://yang-song.github.io), [Jascha Sohl-Dickstein](http://www. 1. Create conda environment: `conda env create -f environment.lock.yml` (or add dependencies to your own `conda env install -f environment.txt`) 2. Install ml_downscaling_emulator locally: `pip install -e .` 3. Install unet code: `git clone --depth 1 git@github.com:henryaddison/Pytorch-UNet src/ml_downscaling_emulator/unet` -4. Configure necessary environment variables: `DERVIED_DATA` and `KK_SLACK_WH_URL` +4. Configure application behaviour with environment variables. See `.env.example` for variables that can be set. ## Usage From 653aaa39de0ec26b1e05b66fdab58572a717943b Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Mon, 18 Mar 2024 15:24:07 +0000 Subject: [PATCH 37/56] bump version of mlde-utils to latest --- environment.lock.yml | 2 +- requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/environment.lock.yml b/environment.lock.yml index 436beae17..38561d5fd 100644 --- a/environment.lock.yml +++ b/environment.lock.yml @@ -365,7 +365,7 @@ dependencies: - pip: - atpublic==3.1.1 - flufl-lock==7.1.1 - - mlde-utils==0.0.6 + - mlde-utils==0.0.7 - netcdf4==1.6.3 - python-cmethods==1.0.1 prefix: /home/henry/miniforge3/envs/cuda-downscaling diff --git a/requirements.txt b/requirements.txt index ebf216808..29f910fa6 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,3 @@ flufl-lock -mlde-utils ~=0.0.6 +mlde-utils ~=0.0.7 python-cmethods From 4a22a065c22b8da492a7e8ee7dbfbb2ceb532cfc Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Mon, 18 Mar 2024 15:35:46 +0000 Subject: [PATCH 38/56] clean up bin dir and move blue pebble helpers into separate dir --- bin/add-ensemble-member-dim-to-predictions | 119 --------------------- bin/{ => bp}/bp-tb | 0 bin/{ => bp}/queue-sampling | 0 bin/{ => bp}/queue-training | 0 bin/{ => bp}/train-sample | 0 bin/deterministic/{ => bp}/queue-sampling | 0 bin/deterministic/{ => bp}/queue-training | 0 bin/deterministic/{ => bp}/train-sample | 0 bin/deterministic/mv-xfm-to-keyed-dir | 55 ---------- bin/deterministic/netcdf-to-numpy.py | 62 ----------- bin/mv-xfm-to-keyed-dir | 60 ----------- bin/split-samples-by-time-period | 56 ---------- 12 files changed, 352 deletions(-) delete mode 100755 bin/add-ensemble-member-dim-to-predictions rename bin/{ => bp}/bp-tb (100%) rename bin/{ => bp}/queue-sampling (100%) rename bin/{ => bp}/queue-training (100%) rename bin/{ => bp}/train-sample (100%) rename bin/deterministic/{ => bp}/queue-sampling (100%) rename bin/deterministic/{ => bp}/queue-training (100%) rename bin/deterministic/{ => bp}/train-sample (100%) delete mode 100755 bin/deterministic/mv-xfm-to-keyed-dir delete mode 100644 bin/deterministic/netcdf-to-numpy.py delete mode 100755 bin/mv-xfm-to-keyed-dir delete mode 100755 bin/split-samples-by-time-period diff --git a/bin/add-ensemble-member-dim-to-predictions b/bin/add-ensemble-member-dim-to-predictions deleted file mode 100755 index 4626d9469..000000000 --- a/bin/add-ensemble-member-dim-to-predictions +++ /dev/null @@ -1,119 +0,0 @@ -#!/usr/bin/env python -# make sure all datasets have ensemble member and add default to any that don't - -import glob -import logging -import os -import shutil -import xarray as xr - -logger = logging.getLogger(__name__) -logging.basicConfig(level=logging.INFO, format="%(levelname)s %(asctime)s: %(message)s") - -DEFAULT_ENSEMBLE_MEMBER = "01" - - -def fix_file(nc_filepath): - logger.info(f"Working on {nc_filepath}") - ds = xr.open_dataset(nc_filepath) - - if "ensemble_member" in ds.dims: - logger.info(f"Already has ensemble member: {nc_filepath}") - ds.close() - return - - logger.info(f"Fixing {nc_filepath}") - ds = ds.load() - ds.close() - ds = ds.expand_dims(dict(ensemble_member=[DEFAULT_ENSEMBLE_MEMBER])) - - dirpath, filename = os.path.split(nc_filepath) - new_filepath = os.path.join(dirpath, "01", filename) - os.makedirs(os.path.dirname(new_filepath), exist_ok=True) - - if "sample_id" in ds.dims: - ds = ds.squeeze(dim="sample_id") - - ds.to_netcdf(new_filepath) - - ds = xr.open_dataset(new_filepath) - assert list(ds["pred_pr"].dims) == [ - "ensemble_member", - "time", - "grid_latitude", - "grid_longitude", - ], list(ds["pred_pr"].dims) - assert ds["pred_pr"].shape[0] == 1 - assert ds["pred_pr"].shape[1] > 0 - assert ds["pred_pr"].shape[2] == 64 - assert ds["pred_pr"].shape[3] == 64 - assert ds["pred_pr"].isnull().sum().values.item() == 0 - logger.info(f"Removing original prediction file: {nc_filepath}") - os.remove(nc_filepath) - - -def main(): - diff_models_glob = os.path.join( - os.getenv("DERIVED_DATA"), - "workdirs", - "score-sde", - "*", # sde - "xarray_cncsnpp_continuous", - "*", # model name - ) - - unet_models_glob = os.path.join( - os.getenv("DERIVED_DATA"), - "workdirs", - "u-net", - "*", # model name - ) - - id_linpr_models_glob = os.path.join( - os.getenv("DERIVED_DATA"), - "workdirs", - "id-linpr", # model name - ) - - model_dirs = ( - glob.glob(diff_models_glob) - + glob.glob(unet_models_glob) - + glob.glob(id_linpr_models_glob) - ) - for model_dir in model_dirs: - if os.path.basename(model_dir) == "archive": - continue - - samples_glob = os.path.join( - model_dir, - "samples", - "*", # checkpoint - "*", # dataset - "*", # input_xfm - "*", # split - "predictions-*.nc", - ) - sample_filepaths = glob.glob(samples_glob) - for sample_filepath in sample_filepaths: - fix_file(sample_filepath) - - sample_config_files_glob = os.path.join( - model_dir, - "samples", - "*", # checkpoint - "*", # dataset - "*", # input_xfm - "*", # split - "config.yml", - ) - - for sample_config_filepath in glob.glob(sample_config_files_glob): - dirpath, filename = os.path.split(sample_config_filepath) - new_filepath = os.path.join(dirpath, "01", filename) - os.makedirs(os.path.dirname(new_filepath), exist_ok=True) - logger.info(f"moving config {sample_config_filepath} to {new_filepath}") - shutil.move(sample_config_filepath, new_filepath) - - -if __name__ == "__main__": - main() diff --git a/bin/bp-tb b/bin/bp/bp-tb similarity index 100% rename from bin/bp-tb rename to bin/bp/bp-tb diff --git a/bin/queue-sampling b/bin/bp/queue-sampling similarity index 100% rename from bin/queue-sampling rename to bin/bp/queue-sampling diff --git a/bin/queue-training b/bin/bp/queue-training similarity index 100% rename from bin/queue-training rename to bin/bp/queue-training diff --git a/bin/train-sample b/bin/bp/train-sample similarity index 100% rename from bin/train-sample rename to bin/bp/train-sample diff --git a/bin/deterministic/queue-sampling b/bin/deterministic/bp/queue-sampling similarity index 100% rename from bin/deterministic/queue-sampling rename to bin/deterministic/bp/queue-sampling diff --git a/bin/deterministic/queue-training b/bin/deterministic/bp/queue-training similarity index 100% rename from bin/deterministic/queue-training rename to bin/deterministic/bp/queue-training diff --git a/bin/deterministic/train-sample b/bin/deterministic/bp/train-sample similarity index 100% rename from bin/deterministic/train-sample rename to bin/deterministic/bp/train-sample diff --git a/bin/deterministic/mv-xfm-to-keyed-dir b/bin/deterministic/mv-xfm-to-keyed-dir deleted file mode 100755 index 4b8eb249c..000000000 --- a/bin/deterministic/mv-xfm-to-keyed-dir +++ /dev/null @@ -1,55 +0,0 @@ -#!/usr/bin/env python -# move cached input transforms and samples to folder that includes the transform key - -import glob -import os -from ml_collections import config_dict -import shutil -import yaml - - -def main(): - model_run_wildcard_path = os.path.join( - os.getenv("DERIVED_DATA"), "workdirs", "u-net", "*" - ) - print(model_run_wildcard_path) - model_run_glob = glob.glob(model_run_wildcard_path) - for model_run_path in model_run_glob: - # skip the archive directory - if model_run_path.endswith("archive"): - continue - print(f"Working on {model_run_path}", flush=True) - # extract input transform key from config - model_run_config_path = os.path.join(model_run_path, "config.yml") - with open(model_run_config_path) as f: - config = config_dict.ConfigDict(yaml.unsafe_load(f)) - try: - input_xfm_key = config["input_transform_key"] - except AttributeError: - input_xfm_key = "v1" - - # move the transform - input_xfm_glob = glob.glob( - os.path.join(model_run_path, "transforms", "*", "input.pickle") - ) - for input_xfm_path in input_xfm_glob: - new_xfm_path = input_xfm_path.replace( - "input.pickle", f"{input_xfm_key}/input.pickle" - ) - os.makedirs(os.path.dirname(new_xfm_path), exist_ok=True) - print(f"Moving {input_xfm_path} to {new_xfm_path}") - shutil.move(input_xfm_path, new_xfm_path) - - # move the samples - samples_glob = glob.glob(os.path.join(model_run_path, "samples", "*", "*")) - for sample_set_path in samples_glob: - new_sample_path = os.path.join(sample_set_path, input_xfm_key) - existing_sample_splits_glob = glob.glob(os.path.join(sample_set_path, "*")) - os.makedirs(new_sample_path, exist_ok=True) - for sample_split_path in existing_sample_splits_glob: - print(f"Moving {sample_split_path} to {new_sample_path}") - shutil.move(sample_split_path, new_sample_path) - - -if __name__ == "__main__": - main() diff --git a/bin/deterministic/netcdf-to-numpy.py b/bin/deterministic/netcdf-to-numpy.py deleted file mode 100644 index cac535973..000000000 --- a/bin/deterministic/netcdf-to-numpy.py +++ /dev/null @@ -1,62 +0,0 @@ -import argparse -import logging -import os -from pathlib import Path - -import numpy as np -import xarray as xr - - -def get_args(): - parser = argparse.ArgumentParser( - description="Save a netcdf dataset to raw numpy on disk", - formatter_class=argparse.ArgumentDefaultsHelpFormatter, - ) - parser.add_argument( - "--input", - dest="input_dir", - type=Path, - required=True, - help="Base path to input storage", - ) - parser.add_argument( - "--output", - dest="output_dir", - type=Path, - required=True, - help="Base path to storage output", - ) - parser.add_argument( - "--variable", - dest="variable", - type=str, - required=True, - help="Name of variable to extract and save from netCDF dataset", - ) - - return parser.parse_args() - - -if __name__ == "__main__": - logging.basicConfig( - level=logging.INFO, format="%(levelname)s %(asctime)s: %(message)s" - ) - - args = get_args() - - output_path = args.output_dir / f"{args.variable}.npy" - - logging.info( - f"Saving {args.variable} from dataset in {args.input_dir} to {output_path}" - ) - - os.makedirs(args.output_dir, exist_ok=True) - - ds = xr.open_mfdataset(str(args.input_dir / "*.nc")) - - # don't need the ensemble member dimension for training - np_array = ds.isel(ensemble_member=0)[args.variable].values - - np.save(output_path, np_array) - - logging.info("All done") diff --git a/bin/mv-xfm-to-keyed-dir b/bin/mv-xfm-to-keyed-dir deleted file mode 100755 index 3f90399ae..000000000 --- a/bin/mv-xfm-to-keyed-dir +++ /dev/null @@ -1,60 +0,0 @@ -#!/usr/bin/env python -# move cached input transforms and samples to folder that includes the transform key - -import glob -import os -from ml_collections import config_dict -import shutil -import yaml - - -def main(): - model_run_wildcard_path = os.path.join( - os.getenv("DERIVED_DATA"), - "workdirs", - "score-sde", - "*", - "xarray_cncsnpp_continuous", - "*", - ) - print(model_run_wildcard_path) - model_run_glob = glob.glob(model_run_wildcard_path) - for model_run_path in model_run_glob: - # skip the archive directory - if model_run_path.endswith("archive"): - continue - print(f"Working on {model_run_path}", flush=True) - # extract input transform key from config - model_run_config_path = os.path.join(model_run_path, "config.yml") - with open(model_run_config_path) as f: - config = config_dict.ConfigDict(yaml.unsafe_load(f)) - try: - input_xfm_key = config.data.input_transform_key - except AttributeError: - input_xfm_key = "v1" - - # move the transform - input_xfm_glob = glob.glob( - os.path.join(model_run_path, "transforms", "*", "input.pickle") - ) - for input_xfm_path in input_xfm_glob: - new_xfm_path = input_xfm_path.replace( - "input.pickle", f"{input_xfm_key}/input.pickle" - ) - os.makedirs(os.path.dirname(new_xfm_path), exist_ok=True) - print(f"Moving {input_xfm_path} to {new_xfm_path}") - shutil.move(input_xfm_path, new_xfm_path) - - # move the samples - samples_glob = glob.glob(os.path.join(model_run_path, "samples", "*", "*")) - for sample_set_path in samples_glob: - new_sample_path = os.path.join(sample_set_path, input_xfm_key) - existing_sample_splits_glob = glob.glob(os.path.join(sample_set_path, "*")) - os.makedirs(new_sample_path, exist_ok=True) - for sample_split_path in existing_sample_splits_glob: - print(f"Moving {sample_split_path} to {new_sample_path}") - shutil.move(sample_split_path, new_sample_path) - - -if __name__ == "__main__": - main() diff --git a/bin/split-samples-by-time-period b/bin/split-samples-by-time-period deleted file mode 100755 index 83c656471..000000000 --- a/bin/split-samples-by-time-period +++ /dev/null @@ -1,56 +0,0 @@ -#!/usr/bin/env python -# Concatenate samples from a bunch of subsets of training set - -import cftime -import glob -import os -import typer -import xarray as xr - -app = typer.Typer() - -TIME_PERIODS = { - "historic": slice( - cftime.Datetime360Day(1980, 12, 1, 12, 0, 0, 0, has_year_zero=True), - cftime.Datetime360Day(2000, 11, 30, 12, 0, 0, 0, has_year_zero=True), - ), - "present": slice( - cftime.Datetime360Day(2020, 12, 1, 12, 0, 0, 0, has_year_zero=True), - cftime.Datetime360Day(2040, 11, 30, 12, 0, 0, 0, has_year_zero=True), - ), - "future": slice( - cftime.Datetime360Day(2060, 12, 1, 12, 0, 0, 0, has_year_zero=True), - cftime.Datetime360Day(2080, 11, 30, 12, 0, 0, 0, has_year_zero=True), - ), -} - - -def samples_dir(workdir, checkpoint, dataset, input_xfm, split): - return f"{os.getenv('DERIVED_DATA')}/workdirs/{workdir}/samples/{checkpoint}/{dataset}/{input_xfm}/{split}" - - -@app.command() -def main( - workdir: str, dataset: str, checkpoint="epoch-100", input_xfm="stan", split="val" -): - pred_glob = os.path.join( - samples_dir(workdir, checkpoint, dataset, input_xfm, split), "predictions-*.nc" - ) - typer.echo(pred_glob) - pred_paths = glob.glob(pred_glob) - - for pred_path in pred_paths: - ds = xr.open_dataset(pred_path) - for tp in ["historic", "present", "future"]: - tp_output_path = os.path.join( - samples_dir(workdir, checkpoint, f"{dataset}-{tp}", input_xfm, split), - os.path.basename(pred_path), - ) - - typer.echo(f"save to {tp_output_path}") - os.makedirs(os.path.dirname(tp_output_path), exist_ok=True) - ds.sel(time=TIME_PERIODS[tp]).to_netcdf(tp_output_path) - - -if __name__ == "__main__": - app() From 354a6419b6ab9f6c787d84131090e03245f240ba Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Mon, 18 Mar 2024 15:42:47 +0000 Subject: [PATCH 39/56] use checkpoint rather than epoch for determining checkpoint for sampling just cleaner and more consistent --- bin/predict.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bin/predict.py b/bin/predict.py index adcc09d71..c6eb23da1 100644 --- a/bin/predict.py +++ b/bin/predict.py @@ -239,7 +239,7 @@ def main( workdir: Path, dataset: str = typer.Option(...), split: str = "val", - epoch: int = typer.Option(...), + checkpoint: str = typer.Option(...), batch_size: int = None, num_samples: int = 3, input_transform_dataset: str = None, @@ -260,7 +260,7 @@ def main( output_dirpath = samples_path( workdir=workdir, - checkpoint=f"epoch-{epoch}", + checkpoint=checkpoint, dataset=dataset, input_xfm=f"{config.data.input_transform_dataset}-{config.data.input_transform_key}", split=split, @@ -290,7 +290,7 @@ def main( shuffle=False, ) - ckpt_filename = os.path.join(workdir, "checkpoints", f"epoch_{epoch}.pth") + ckpt_filename = os.path.join(workdir, "checkpoints", f"{checkpoint}.pth") logger.info(f"Loading model from {ckpt_filename}") state, sampling_fn = load_model(config, ckpt_filename) From a7024c151f4ebf11bcd016dd714318911fc6bbee Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Mon, 18 Mar 2024 15:43:12 +0000 Subject: [PATCH 40/56] add an opening sentence to README --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 1e860ba7a..305da2410 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # ML Downscaling Emulator +A machine learning emulator of a CPM based on a diffusion model. + Forked from PyTorch implementation for the paper [Score-Based Generative Modeling through Stochastic Differential Equations](https://openreview.net/forum?id=PxTIG12RRHS) by [Yang Song](https://yang-song.github.io), [Jascha Sohl-Dickstein](http://www.sohldickstein.com/), [Diederik P. Kingma](http://dpkingma.com/), [Abhishek Kumar](http://users.umiacs.umd.edu/~abhishek/), [Stefano Ermon](https://cs.stanford.edu/~ermon/), and [Ben Poole](https://cs.stanford.edu/~poole/) From f93dd843bcff7ee7b9b1be5ff8bb15fa0612ee16 Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Mon, 18 Mar 2024 15:52:06 +0000 Subject: [PATCH 41/56] improvements to readme particularly explaining the predict.py command --- README.md | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 305da2410..6fbb07e59 100644 --- a/README.md +++ b/README.md @@ -8,11 +8,13 @@ by [Yang Song](https://yang-song.github.io), [Jascha Sohl-Dickstein](http://www. ## Dependencies -1. Create conda environment: `conda env create -f environment.lock.yml` (or add dependencies to your own `conda env install -f environment.txt`) +1. Create conda environment: `conda env create -f environment.lock.yml` (or add dependencies to your own: `conda env install -f environment.txt`) 2. Install ml_downscaling_emulator locally: `pip install -e .` 3. Install unet code: `git clone --depth 1 git@github.com:henryaddison/Pytorch-UNet src/ml_downscaling_emulator/unet` 4. Configure application behaviour with environment variables. See `.env.example` for variables that can be set. +Any datasets are assumed to be found in `${DERIVED_DATA}/moose/nc-datasets/{dataset_name}/`. In particular, the config key config.data.dataset_name is the name of the dataset to use to train the model. + ## Usage ### Smoke test @@ -22,7 +24,7 @@ tests/smoke-test ``` Uses a simpler network to test the full training and sampling regime. -Recommended to run with a sample of the dataset rather than the full thing. +Recommended to run with a sample of the dataset. ### Training @@ -54,8 +56,6 @@ main.py: * model: `cncsnpp` * continuous: train the model with continuously sampled time steps. -Any datasets are assumed to be found in `${DERIVED_DATA}/moose/nc-datasets/{dataset_name}/`. In particular, the config key config.data.dataset_name is the name of the dataset to use to train the model. - Functionalities can be configured through config files, or more conveniently, through the command-line support of the `ml_collections` package. @@ -64,7 +64,12 @@ Functionalities can be configured through config files, or more conveniently, th Once have trained a model create samples from it with `bin/predict.py`, e.g. ```sh -python bin/predict.py --checkpoint epoch-20 --num-samples 1 --dataset bham_60km-4x_12em_psl-sphum4th-temp4th-vort4th_eqvt_random-season --split test --input-transform-dataset bham_60km-4x_12em_psl-sphum4th-temp4th-vort4th_eqvt_random-season --input-transform-key pixelmmsstan --ensemble-member 01 ${DERVIED_DATA}/path/to/models/paper-12em +python bin/predict.py --checkpoint epoch-20 --dataset bham_60km-4x_12em_psl-sphum4th-temp4th-vort4th_eqvt_random-season --split test --ensemble-member 01 --input-transform-dataset bham_60km-4x_12em_psl-sphum4th-temp4th-vort4th_eqvt_random-season --input-transform-key pixelmmsstan --num-samples 1 ${DERVIED_DATA}/path/to/models/paper-12em ``` -This will use the checkpoint of the model in `${DERVIED_DATA}/path/to/models/paper-12em/checkpoints/{checkpoint}.pth` and model config from training `${DERVIED_DATA}/path/to/models/paper-12em/config.yml`. It will store samples generated in `${DERVIED_DATA}/path/to/models/paper-12em/samples/{dataset}/{input_transform_data}-{input_transform_key}/{split}/{ensemble_member}/`. Sample files and named like `predictions-{uuid}.nc`. +This example command will: +* use the checkpoint of the model in `${DERVIED_DATA}/path/to/models/paper-12em/checkpoints/{checkpoint}.pth` and model config from training `${DERVIED_DATA}/path/to/models/paper-12em/config.yml`. +* store samples generated in `${DERVIED_DATA}/path/to/models/paper-12em/samples/{dataset}/{input_transform_data}-{input_transform_key}/{split}/{ensemble_member}/`. Sample files and named like `predictions-{uuid}.nc`. +* generate samples conditioned on examples from ensemble member `01` in the `test` subset of the `bham_60km-4x_12em_psl-sphum4th-temp4th-vort4th_eqvt_random-season` dataset. +* transform the inputs based on the `bham_60km-4x_12em_psl-sphum4th-temp4th-vort4th_eqvt_random-season` dataset using the `pixelmmsstan` approach. +* generate 1 set of samples. From 0874ca1898e3aea04cabb126ec163964ad690e3c Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Mon, 18 Mar 2024 22:33:38 +0000 Subject: [PATCH 42/56] remove _hja22 from score sde package namespace not needed anymore --- .pre-commit-config.yaml | 4 +-- README.md | 2 +- bin/bp/queue-training | 2 +- bin/main.py | 2 +- bin/model-size | 17 +++++------- bin/predict.py | 26 +++++++++---------- pyproject.toml | 2 +- .../__init__.py | 0 .../configs/__init__.py | 0 .../default_ukcp_local_pr_12em_configs.py | 2 +- .../default_ukcp_local_pr_1em_configs.py | 0 .../configs/subvpsde/__init__.py | 0 .../ukcp_local_pr_12em_cncsnpp_continuous.py | 2 +- .../ukcp_local_pr_1em_cncsnpp_continuous.py | 2 +- ...ukcp_local_pr_1em_cncsnpp_continuous_ld.py | 2 +- .../ukcp_local_pr_1em_cunet_continuous.py | 2 +- .../configs/vesde/__init__.py | 0 .../vesde/ukcp_local_pr_cncsnpp_continuous.py | 2 +- .../vesde/ukcp_local_pr_cunet_continuous.py | 2 +- .../configs/vpsde/__init__.py | 0 .../likelihood.py | 0 .../losses.py | 0 .../models/__init__.py | 0 .../models/cncsnpp.py | 0 .../models/cunet.py | 0 .../models/ddpm.py | 0 .../models/ema.py | 0 .../models/layers.py | 0 .../models/layerspp.py | 0 .../models/location_params.py | 0 .../models/ncsnpp.py | 0 .../models/ncsnv2.py | 0 .../models/normalization.py | 0 .../models/up_or_down_sampling.py | 0 .../models/utils.py | 0 .../op/__init__.py | 0 .../op/fused_act.py | 0 .../op/fused_bias_act.cpp | 0 .../op/fused_bias_act_kernel.cu | 0 .../op/upfirdn2d.cpp | 0 .../op/upfirdn2d.py | 0 .../op/upfirdn2d_kernel.cu | 0 .../run_lib.py | 0 .../sampling.py | 0 .../sde_lib.py | 0 .../utils.py | 0 tests/smoke-test | 2 +- tox.ini | 2 +- 48 files changed, 35 insertions(+), 38 deletions(-) rename src/ml_downscaling_emulator/{score_sde_pytorch_hja22 => score_sde_pytorch}/__init__.py (100%) rename src/ml_downscaling_emulator/{score_sde_pytorch_hja22 => score_sde_pytorch}/configs/__init__.py (100%) rename src/ml_downscaling_emulator/{score_sde_pytorch_hja22 => score_sde_pytorch}/configs/default_ukcp_local_pr_12em_configs.py (71%) rename src/ml_downscaling_emulator/{score_sde_pytorch_hja22 => score_sde_pytorch}/configs/default_ukcp_local_pr_1em_configs.py (100%) rename src/ml_downscaling_emulator/{score_sde_pytorch_hja22 => score_sde_pytorch}/configs/subvpsde/__init__.py (100%) rename src/ml_downscaling_emulator/{score_sde_pytorch_hja22 => score_sde_pytorch}/configs/subvpsde/ukcp_local_pr_12em_cncsnpp_continuous.py (93%) rename src/ml_downscaling_emulator/{score_sde_pytorch_hja22 => score_sde_pytorch}/configs/subvpsde/ukcp_local_pr_1em_cncsnpp_continuous.py (93%) rename src/ml_downscaling_emulator/{score_sde_pytorch_hja22 => score_sde_pytorch}/configs/subvpsde/ukcp_local_pr_1em_cncsnpp_continuous_ld.py (94%) rename src/ml_downscaling_emulator/{score_sde_pytorch_hja22 => score_sde_pytorch}/configs/subvpsde/ukcp_local_pr_1em_cunet_continuous.py (93%) rename src/ml_downscaling_emulator/{score_sde_pytorch_hja22 => score_sde_pytorch}/configs/vesde/__init__.py (100%) rename src/ml_downscaling_emulator/{score_sde_pytorch_hja22 => score_sde_pytorch}/configs/vesde/ukcp_local_pr_cncsnpp_continuous.py (93%) rename src/ml_downscaling_emulator/{score_sde_pytorch_hja22 => score_sde_pytorch}/configs/vesde/ukcp_local_pr_cunet_continuous.py (93%) rename src/ml_downscaling_emulator/{score_sde_pytorch_hja22 => score_sde_pytorch}/configs/vpsde/__init__.py (100%) rename src/ml_downscaling_emulator/{score_sde_pytorch_hja22 => score_sde_pytorch}/likelihood.py (100%) rename src/ml_downscaling_emulator/{score_sde_pytorch_hja22 => score_sde_pytorch}/losses.py (100%) rename src/ml_downscaling_emulator/{score_sde_pytorch_hja22 => score_sde_pytorch}/models/__init__.py (100%) rename src/ml_downscaling_emulator/{score_sde_pytorch_hja22 => score_sde_pytorch}/models/cncsnpp.py (100%) rename src/ml_downscaling_emulator/{score_sde_pytorch_hja22 => score_sde_pytorch}/models/cunet.py (100%) rename src/ml_downscaling_emulator/{score_sde_pytorch_hja22 => score_sde_pytorch}/models/ddpm.py (100%) rename src/ml_downscaling_emulator/{score_sde_pytorch_hja22 => score_sde_pytorch}/models/ema.py (100%) rename src/ml_downscaling_emulator/{score_sde_pytorch_hja22 => score_sde_pytorch}/models/layers.py (100%) rename src/ml_downscaling_emulator/{score_sde_pytorch_hja22 => score_sde_pytorch}/models/layerspp.py (100%) rename src/ml_downscaling_emulator/{score_sde_pytorch_hja22 => score_sde_pytorch}/models/location_params.py (100%) rename src/ml_downscaling_emulator/{score_sde_pytorch_hja22 => score_sde_pytorch}/models/ncsnpp.py (100%) rename src/ml_downscaling_emulator/{score_sde_pytorch_hja22 => score_sde_pytorch}/models/ncsnv2.py (100%) rename src/ml_downscaling_emulator/{score_sde_pytorch_hja22 => score_sde_pytorch}/models/normalization.py (100%) rename src/ml_downscaling_emulator/{score_sde_pytorch_hja22 => score_sde_pytorch}/models/up_or_down_sampling.py (100%) rename src/ml_downscaling_emulator/{score_sde_pytorch_hja22 => score_sde_pytorch}/models/utils.py (100%) rename src/ml_downscaling_emulator/{score_sde_pytorch_hja22 => score_sde_pytorch}/op/__init__.py (100%) rename src/ml_downscaling_emulator/{score_sde_pytorch_hja22 => score_sde_pytorch}/op/fused_act.py (100%) rename src/ml_downscaling_emulator/{score_sde_pytorch_hja22 => score_sde_pytorch}/op/fused_bias_act.cpp (100%) rename src/ml_downscaling_emulator/{score_sde_pytorch_hja22 => score_sde_pytorch}/op/fused_bias_act_kernel.cu (100%) rename src/ml_downscaling_emulator/{score_sde_pytorch_hja22 => score_sde_pytorch}/op/upfirdn2d.cpp (100%) rename src/ml_downscaling_emulator/{score_sde_pytorch_hja22 => score_sde_pytorch}/op/upfirdn2d.py (100%) rename src/ml_downscaling_emulator/{score_sde_pytorch_hja22 => score_sde_pytorch}/op/upfirdn2d_kernel.cu (100%) rename src/ml_downscaling_emulator/{score_sde_pytorch_hja22 => score_sde_pytorch}/run_lib.py (100%) rename src/ml_downscaling_emulator/{score_sde_pytorch_hja22 => score_sde_pytorch}/sampling.py (100%) rename src/ml_downscaling_emulator/{score_sde_pytorch_hja22 => score_sde_pytorch}/sde_lib.py (100%) rename src/ml_downscaling_emulator/{score_sde_pytorch_hja22 => score_sde_pytorch}/utils.py (100%) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 3c79dbd82..35fb32047 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -13,9 +13,9 @@ repos: hooks: - id: black language_version: python3.9 - exclude: ^src/ml_downscaling_emulator/score_sde_pytorch_hja22/ + exclude: ^src/ml_downscaling_emulator/score_sde_pytorch/ - repo: https://github.com/pycqa/flake8 rev: '6.0.0' # pick a git hash / tag to point to hooks: - id: flake8 - exclude: ^src/ml_downscaling_emulator/score_sde_pytorch_hja22/ + exclude: ^src/ml_downscaling_emulator/score_sde_pytorch/ diff --git a/README.md b/README.md index 6fbb07e59..046300acc 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ Recommended to run with a sample of the dataset. Train models through `bin/main.py`, e.g. ```sh -python bin/main.py --config src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp_local_pr_12em_cncsnpp_continuous.py --workdir ${DERVIED_DATA}/path/to/models/paper-12em --mode train +python bin/main.py --config src/ml_downscaling_emulator/score_sde_pytorch/configs/subvpsde/ukcp_local_pr_12em_cncsnpp_continuous.py --workdir ${DERVIED_DATA}/path/to/models/paper-12em --mode train ``` ```sh diff --git a/bin/bp/queue-training b/bin/bp/queue-training index 3fa5f75ca..f6cbb0867 100755 --- a/bin/bp/queue-training +++ b/bin/bp/queue-training @@ -14,7 +14,7 @@ def train_cmd(sde, workdir, config, config_overrides=list): train_basecmd = ["python", f"bin/main.py"] train_opts = { - "--config": f"src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/{sde}/{config}.py", + "--config": f"src/ml_downscaling_emulator/score_sde_pytorch/configs/{sde}/{config}.py", "--workdir": workdir, "--mode": "train", } diff --git a/bin/main.py b/bin/main.py index a08d2b801..ab44e0865 100644 --- a/bin/main.py +++ b/bin/main.py @@ -16,7 +16,7 @@ """Training""" -import ml_downscaling_emulator.score_sde_pytorch_hja22.run_lib as run_lib +import ml_downscaling_emulator.score_sde_pytorch.run_lib as run_lib from absl import app from absl import flags from ml_collections.config_flags import config_flags diff --git a/bin/model-size b/bin/model-size index 38b64f7f4..fee6586d3 100755 --- a/bin/model-size +++ b/bin/model-size @@ -9,23 +9,20 @@ import typer import logging import yaml -from ml_downscaling_emulator.score_sde_pytorch_hja22.models.location_params import ( +from ml_downscaling_emulator.score_sde_pytorch.models.location_params import ( LocationParams, ) -from ml_downscaling_emulator.score_sde_pytorch_hja22.models import utils as mutils +from ml_downscaling_emulator.score_sde_pytorch.models import utils as mutils -# from score_sde_pytorch_hja22.models import ncsnv2 -# from score_sde_pytorch_hja22.models import ncsnpp -from ml_downscaling_emulator.score_sde_pytorch_hja22.models import cncsnpp # noqa: F401 -from ml_downscaling_emulator.score_sde_pytorch_hja22.models import cunet # noqa: F401 +from ml_downscaling_emulator.score_sde_pytorch.models import cncsnpp # noqa: F401 +from ml_downscaling_emulator.score_sde_pytorch.models import cunet # noqa: F401 -# from score_sde_pytorch_hja22.models import ddpm as ddpm_model -from ml_downscaling_emulator.score_sde_pytorch_hja22.models import ( # noqa: F401 +from ml_downscaling_emulator.score_sde_pytorch.models import ( # noqa: F401 layerspp, # noqa: F401 ) # noqa: F401 -from ml_downscaling_emulator.score_sde_pytorch_hja22.models import layers # noqa: F401 -from ml_downscaling_emulator.score_sde_pytorch_hja22.models import ( # noqa: F401 +from ml_downscaling_emulator.score_sde_pytorch.models import layers # noqa: F401 +from ml_downscaling_emulator.score_sde_pytorch.models import ( # noqa: F401 normalization, # noqa: F401 ) # noqa: F401 diff --git a/bin/predict.py b/bin/predict.py index c6eb23da1..26f64c822 100644 --- a/bin/predict.py +++ b/bin/predict.py @@ -22,32 +22,32 @@ from mlde_utils import samples_path, DEFAULT_ENSEMBLE_MEMBER from mlde_utils.training.dataset import get_variables -from ml_downscaling_emulator.score_sde_pytorch_hja22.losses import get_optimizer -from ml_downscaling_emulator.score_sde_pytorch_hja22.models.ema import ( +from ml_downscaling_emulator.score_sde_pytorch.losses import get_optimizer +from ml_downscaling_emulator.score_sde_pytorch.models.ema import ( ExponentialMovingAverage, ) -from ml_downscaling_emulator.score_sde_pytorch_hja22.models.location_params import ( +from ml_downscaling_emulator.score_sde_pytorch.models.location_params import ( LocationParams, ) -from ml_downscaling_emulator.score_sde_pytorch_hja22.utils import restore_checkpoint +from ml_downscaling_emulator.score_sde_pytorch.utils import restore_checkpoint -import ml_downscaling_emulator.score_sde_pytorch_hja22.models as models # noqa: F401 -from ml_downscaling_emulator.score_sde_pytorch_hja22.models import utils as mutils +import ml_downscaling_emulator.score_sde_pytorch.models as models # noqa: F401 +from ml_downscaling_emulator.score_sde_pytorch.models import utils as mutils -from ml_downscaling_emulator.score_sde_pytorch_hja22.models import cncsnpp # noqa: F401 -from ml_downscaling_emulator.score_sde_pytorch_hja22.models import cunet # noqa: F401 +from ml_downscaling_emulator.score_sde_pytorch.models import cncsnpp # noqa: F401 +from ml_downscaling_emulator.score_sde_pytorch.models import cunet # noqa: F401 -from ml_downscaling_emulator.score_sde_pytorch_hja22.models import ( # noqa: F401 +from ml_downscaling_emulator.score_sde_pytorch.models import ( # noqa: F401 layerspp, # noqa: F401 ) # noqa: F401 -from ml_downscaling_emulator.score_sde_pytorch_hja22.models import layers # noqa: F401 -from ml_downscaling_emulator.score_sde_pytorch_hja22.models import ( # noqa: F401 +from ml_downscaling_emulator.score_sde_pytorch.models import layers # noqa: F401 +from ml_downscaling_emulator.score_sde_pytorch.models import ( # noqa: F401 normalization, # noqa: F401 ) # noqa: F401 -import ml_downscaling_emulator.score_sde_pytorch_hja22.sampling as sampling +import ml_downscaling_emulator.score_sde_pytorch.sampling as sampling -from ml_downscaling_emulator.score_sde_pytorch_hja22.sde_lib import ( +from ml_downscaling_emulator.score_sde_pytorch.sde_lib import ( VESDE, VPSDE, subVPSDE, diff --git a/pyproject.toml b/pyproject.toml index 36497d766..7d0680485 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,4 +29,4 @@ dynamic = ["dependencies"] dependencies = { file = ["requirements.txt"] } [tool.black] -extend-exclude = '^/src/ml_downscaling_emulator/score_sde_pytorch_hja22/' +extend-exclude = '^/src/ml_downscaling_emulator/score_sde_pytorch/' diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/__init__.py b/src/ml_downscaling_emulator/score_sde_pytorch/__init__.py similarity index 100% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/__init__.py rename to src/ml_downscaling_emulator/score_sde_pytorch/__init__.py diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/__init__.py b/src/ml_downscaling_emulator/score_sde_pytorch/configs/__init__.py similarity index 100% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/__init__.py rename to src/ml_downscaling_emulator/score_sde_pytorch/configs/__init__.py diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_ukcp_local_pr_12em_configs.py b/src/ml_downscaling_emulator/score_sde_pytorch/configs/default_ukcp_local_pr_12em_configs.py similarity index 71% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_ukcp_local_pr_12em_configs.py rename to src/ml_downscaling_emulator/score_sde_pytorch/configs/default_ukcp_local_pr_12em_configs.py index 54a4ff3ef..3bcee8ab5 100644 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_ukcp_local_pr_12em_configs.py +++ b/src/ml_downscaling_emulator/score_sde_pytorch/configs/default_ukcp_local_pr_12em_configs.py @@ -1,7 +1,7 @@ import ml_collections import torch -from ml_downscaling_emulator.score_sde_pytorch_hja22.configs.default_ukcp_local_pr_1em_configs import get_default_configs as get_base_configs +from ml_downscaling_emulator.score_sde_pytorch.configs.default_ukcp_local_pr_1em_configs import get_default_configs as get_base_configs def get_default_configs(): diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_ukcp_local_pr_1em_configs.py b/src/ml_downscaling_emulator/score_sde_pytorch/configs/default_ukcp_local_pr_1em_configs.py similarity index 100% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/default_ukcp_local_pr_1em_configs.py rename to src/ml_downscaling_emulator/score_sde_pytorch/configs/default_ukcp_local_pr_1em_configs.py diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/__init__.py b/src/ml_downscaling_emulator/score_sde_pytorch/configs/subvpsde/__init__.py similarity index 100% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/__init__.py rename to src/ml_downscaling_emulator/score_sde_pytorch/configs/subvpsde/__init__.py diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp_local_pr_12em_cncsnpp_continuous.py b/src/ml_downscaling_emulator/score_sde_pytorch/configs/subvpsde/ukcp_local_pr_12em_cncsnpp_continuous.py similarity index 93% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp_local_pr_12em_cncsnpp_continuous.py rename to src/ml_downscaling_emulator/score_sde_pytorch/configs/subvpsde/ukcp_local_pr_12em_cncsnpp_continuous.py index a498b5ce8..b6f6f3948 100644 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp_local_pr_12em_cncsnpp_continuous.py +++ b/src/ml_downscaling_emulator/score_sde_pytorch/configs/subvpsde/ukcp_local_pr_12em_cncsnpp_continuous.py @@ -15,7 +15,7 @@ # Lint as: python3 """Training NCSN++ on precip data with sub-VP SDE.""" -from ml_downscaling_emulator.score_sde_pytorch_hja22.configs.default_ukcp_local_pr_12em_configs import get_default_configs +from ml_downscaling_emulator.score_sde_pytorch.configs.default_ukcp_local_pr_12em_configs import get_default_configs def get_config(): diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp_local_pr_1em_cncsnpp_continuous.py b/src/ml_downscaling_emulator/score_sde_pytorch/configs/subvpsde/ukcp_local_pr_1em_cncsnpp_continuous.py similarity index 93% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp_local_pr_1em_cncsnpp_continuous.py rename to src/ml_downscaling_emulator/score_sde_pytorch/configs/subvpsde/ukcp_local_pr_1em_cncsnpp_continuous.py index b180b88e2..37875926d 100644 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp_local_pr_1em_cncsnpp_continuous.py +++ b/src/ml_downscaling_emulator/score_sde_pytorch/configs/subvpsde/ukcp_local_pr_1em_cncsnpp_continuous.py @@ -15,7 +15,7 @@ # Lint as: python3 """Training NCSN++ on precip data with sub-VP SDE.""" -from ml_downscaling_emulator.score_sde_pytorch_hja22.configs.default_ukcp_local_pr_1em_configs import get_default_configs +from ml_downscaling_emulator.score_sde_pytorch.configs.default_ukcp_local_pr_1em_configs import get_default_configs def get_config(): diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp_local_pr_1em_cncsnpp_continuous_ld.py b/src/ml_downscaling_emulator/score_sde_pytorch/configs/subvpsde/ukcp_local_pr_1em_cncsnpp_continuous_ld.py similarity index 94% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp_local_pr_1em_cncsnpp_continuous_ld.py rename to src/ml_downscaling_emulator/score_sde_pytorch/configs/subvpsde/ukcp_local_pr_1em_cncsnpp_continuous_ld.py index 4700f229a..88a3bcc6a 100644 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp_local_pr_1em_cncsnpp_continuous_ld.py +++ b/src/ml_downscaling_emulator/score_sde_pytorch/configs/subvpsde/ukcp_local_pr_1em_cncsnpp_continuous_ld.py @@ -15,7 +15,7 @@ # Lint as: python3 """Training NCSN++ on precip data with sub-VP SDE.""" -from ml_downscaling_emulator.score_sde_pytorch_hja22.configs.default_ukcp_local_pr_1em_configs import get_default_configs +from ml_downscaling_emulator.score_sde_pytorch.configs.default_ukcp_local_pr_1em_configs import get_default_configs def get_config(): diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp_local_pr_1em_cunet_continuous.py b/src/ml_downscaling_emulator/score_sde_pytorch/configs/subvpsde/ukcp_local_pr_1em_cunet_continuous.py similarity index 93% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp_local_pr_1em_cunet_continuous.py rename to src/ml_downscaling_emulator/score_sde_pytorch/configs/subvpsde/ukcp_local_pr_1em_cunet_continuous.py index caba144d1..b8dea1c8b 100644 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/subvpsde/ukcp_local_pr_1em_cunet_continuous.py +++ b/src/ml_downscaling_emulator/score_sde_pytorch/configs/subvpsde/ukcp_local_pr_1em_cunet_continuous.py @@ -15,7 +15,7 @@ # Lint as: python3 """Training conditional U-Net on precip data with sub-VP SDE.""" -from ml_downscaling_emulator.score_sde_pytorch_hja22.configs.default_ukcp_local_pr_1em_configs import get_default_configs +from ml_downscaling_emulator.score_sde_pytorch.configs.default_ukcp_local_pr_1em_configs import get_default_configs def get_config(): diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/__init__.py b/src/ml_downscaling_emulator/score_sde_pytorch/configs/vesde/__init__.py similarity index 100% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/__init__.py rename to src/ml_downscaling_emulator/score_sde_pytorch/configs/vesde/__init__.py diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ukcp_local_pr_cncsnpp_continuous.py b/src/ml_downscaling_emulator/score_sde_pytorch/configs/vesde/ukcp_local_pr_cncsnpp_continuous.py similarity index 93% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ukcp_local_pr_cncsnpp_continuous.py rename to src/ml_downscaling_emulator/score_sde_pytorch/configs/vesde/ukcp_local_pr_cncsnpp_continuous.py index 5dea3c41c..a10867091 100644 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ukcp_local_pr_cncsnpp_continuous.py +++ b/src/ml_downscaling_emulator/score_sde_pytorch/configs/vesde/ukcp_local_pr_cncsnpp_continuous.py @@ -15,7 +15,7 @@ # Lint as: python3 """Training NCSN++ on precip data with VE SDE.""" -from ml_downscaling_emulator.score_sde_pytorch_hja22.configs.default_ukcp_local_pr_1em_configs import get_default_configs +from ml_downscaling_emulator.score_sde_pytorch.configs.default_ukcp_local_pr_1em_configs import get_default_configs def get_config(): diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ukcp_local_pr_cunet_continuous.py b/src/ml_downscaling_emulator/score_sde_pytorch/configs/vesde/ukcp_local_pr_cunet_continuous.py similarity index 93% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ukcp_local_pr_cunet_continuous.py rename to src/ml_downscaling_emulator/score_sde_pytorch/configs/vesde/ukcp_local_pr_cunet_continuous.py index a5b114539..58e3842e0 100644 --- a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vesde/ukcp_local_pr_cunet_continuous.py +++ b/src/ml_downscaling_emulator/score_sde_pytorch/configs/vesde/ukcp_local_pr_cunet_continuous.py @@ -15,7 +15,7 @@ # Lint as: python3 """Training UNet on XArray with VE SDE.""" -from ml_downscaling_emulator.score_sde_pytorch_hja22.configs.default_ukcp_local_pr_1em_configs import get_default_configs +from ml_downscaling_emulator.score_sde_pytorch.configs.default_ukcp_local_pr_1em_configs import get_default_configs def get_config(): diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/__init__.py b/src/ml_downscaling_emulator/score_sde_pytorch/configs/vpsde/__init__.py similarity index 100% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/vpsde/__init__.py rename to src/ml_downscaling_emulator/score_sde_pytorch/configs/vpsde/__init__.py diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/likelihood.py b/src/ml_downscaling_emulator/score_sde_pytorch/likelihood.py similarity index 100% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/likelihood.py rename to src/ml_downscaling_emulator/score_sde_pytorch/likelihood.py diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/losses.py b/src/ml_downscaling_emulator/score_sde_pytorch/losses.py similarity index 100% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/losses.py rename to src/ml_downscaling_emulator/score_sde_pytorch/losses.py diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/__init__.py b/src/ml_downscaling_emulator/score_sde_pytorch/models/__init__.py similarity index 100% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/__init__.py rename to src/ml_downscaling_emulator/score_sde_pytorch/models/__init__.py diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/cncsnpp.py b/src/ml_downscaling_emulator/score_sde_pytorch/models/cncsnpp.py similarity index 100% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/cncsnpp.py rename to src/ml_downscaling_emulator/score_sde_pytorch/models/cncsnpp.py diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/cunet.py b/src/ml_downscaling_emulator/score_sde_pytorch/models/cunet.py similarity index 100% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/cunet.py rename to src/ml_downscaling_emulator/score_sde_pytorch/models/cunet.py diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/ddpm.py b/src/ml_downscaling_emulator/score_sde_pytorch/models/ddpm.py similarity index 100% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/ddpm.py rename to src/ml_downscaling_emulator/score_sde_pytorch/models/ddpm.py diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/ema.py b/src/ml_downscaling_emulator/score_sde_pytorch/models/ema.py similarity index 100% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/ema.py rename to src/ml_downscaling_emulator/score_sde_pytorch/models/ema.py diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/layers.py b/src/ml_downscaling_emulator/score_sde_pytorch/models/layers.py similarity index 100% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/layers.py rename to src/ml_downscaling_emulator/score_sde_pytorch/models/layers.py diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/layerspp.py b/src/ml_downscaling_emulator/score_sde_pytorch/models/layerspp.py similarity index 100% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/layerspp.py rename to src/ml_downscaling_emulator/score_sde_pytorch/models/layerspp.py diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/location_params.py b/src/ml_downscaling_emulator/score_sde_pytorch/models/location_params.py similarity index 100% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/location_params.py rename to src/ml_downscaling_emulator/score_sde_pytorch/models/location_params.py diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/ncsnpp.py b/src/ml_downscaling_emulator/score_sde_pytorch/models/ncsnpp.py similarity index 100% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/ncsnpp.py rename to src/ml_downscaling_emulator/score_sde_pytorch/models/ncsnpp.py diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/ncsnv2.py b/src/ml_downscaling_emulator/score_sde_pytorch/models/ncsnv2.py similarity index 100% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/ncsnv2.py rename to src/ml_downscaling_emulator/score_sde_pytorch/models/ncsnv2.py diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/normalization.py b/src/ml_downscaling_emulator/score_sde_pytorch/models/normalization.py similarity index 100% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/normalization.py rename to src/ml_downscaling_emulator/score_sde_pytorch/models/normalization.py diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/up_or_down_sampling.py b/src/ml_downscaling_emulator/score_sde_pytorch/models/up_or_down_sampling.py similarity index 100% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/up_or_down_sampling.py rename to src/ml_downscaling_emulator/score_sde_pytorch/models/up_or_down_sampling.py diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/utils.py b/src/ml_downscaling_emulator/score_sde_pytorch/models/utils.py similarity index 100% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/models/utils.py rename to src/ml_downscaling_emulator/score_sde_pytorch/models/utils.py diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/op/__init__.py b/src/ml_downscaling_emulator/score_sde_pytorch/op/__init__.py similarity index 100% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/op/__init__.py rename to src/ml_downscaling_emulator/score_sde_pytorch/op/__init__.py diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/op/fused_act.py b/src/ml_downscaling_emulator/score_sde_pytorch/op/fused_act.py similarity index 100% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/op/fused_act.py rename to src/ml_downscaling_emulator/score_sde_pytorch/op/fused_act.py diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/op/fused_bias_act.cpp b/src/ml_downscaling_emulator/score_sde_pytorch/op/fused_bias_act.cpp similarity index 100% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/op/fused_bias_act.cpp rename to src/ml_downscaling_emulator/score_sde_pytorch/op/fused_bias_act.cpp diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/op/fused_bias_act_kernel.cu b/src/ml_downscaling_emulator/score_sde_pytorch/op/fused_bias_act_kernel.cu similarity index 100% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/op/fused_bias_act_kernel.cu rename to src/ml_downscaling_emulator/score_sde_pytorch/op/fused_bias_act_kernel.cu diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/op/upfirdn2d.cpp b/src/ml_downscaling_emulator/score_sde_pytorch/op/upfirdn2d.cpp similarity index 100% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/op/upfirdn2d.cpp rename to src/ml_downscaling_emulator/score_sde_pytorch/op/upfirdn2d.cpp diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/op/upfirdn2d.py b/src/ml_downscaling_emulator/score_sde_pytorch/op/upfirdn2d.py similarity index 100% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/op/upfirdn2d.py rename to src/ml_downscaling_emulator/score_sde_pytorch/op/upfirdn2d.py diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/op/upfirdn2d_kernel.cu b/src/ml_downscaling_emulator/score_sde_pytorch/op/upfirdn2d_kernel.cu similarity index 100% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/op/upfirdn2d_kernel.cu rename to src/ml_downscaling_emulator/score_sde_pytorch/op/upfirdn2d_kernel.cu diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/run_lib.py b/src/ml_downscaling_emulator/score_sde_pytorch/run_lib.py similarity index 100% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/run_lib.py rename to src/ml_downscaling_emulator/score_sde_pytorch/run_lib.py diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/sampling.py b/src/ml_downscaling_emulator/score_sde_pytorch/sampling.py similarity index 100% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/sampling.py rename to src/ml_downscaling_emulator/score_sde_pytorch/sampling.py diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/sde_lib.py b/src/ml_downscaling_emulator/score_sde_pytorch/sde_lib.py similarity index 100% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/sde_lib.py rename to src/ml_downscaling_emulator/score_sde_pytorch/sde_lib.py diff --git a/src/ml_downscaling_emulator/score_sde_pytorch_hja22/utils.py b/src/ml_downscaling_emulator/score_sde_pytorch/utils.py similarity index 100% rename from src/ml_downscaling_emulator/score_sde_pytorch_hja22/utils.py rename to src/ml_downscaling_emulator/score_sde_pytorch/utils.py diff --git a/tests/smoke-test b/tests/smoke-test index 2c2ac091d..80da43183 100755 --- a/tests/smoke-test +++ b/tests/smoke-test @@ -7,7 +7,7 @@ dataset="bham_gcmx-4x_1em_psl-sphum4th-temp4th-vort4th_eqvt_random-season-histor sde="subvpsde" workdir="output/test/${sde}/${config_name}/test-run" -config_path="src/ml_downscaling_emulator/score_sde_pytorch_hja22/configs/${sde}/${config_name}.py" +config_path="src/ml_downscaling_emulator/score_sde_pytorch/configs/${sde}/${config_name}.py" loc_spec_channels=0 train_batch_size=2 diff --git a/tox.ini b/tox.ini index 6308e4e08..15d31e5af 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [flake8] max-line-length = 88 extend-ignore = E203,E501,F541 -exclude = .git,__pycache__,docs/source/conf.py,old,build,dist,src/ml_downscaling_emulator/unet,src/ml_downscaling_emulator/score_sde_pytorch_hja22 +exclude = .git,__pycache__,docs/source/conf.py,old,build,dist,src/ml_downscaling_emulator/unet,src/ml_downscaling_emulator/score_sde_pytorch max-complexity = 20 From 9c8241a2af96b059864985bedaec230d92d79f2e Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Mon, 18 Mar 2024 22:34:16 +0000 Subject: [PATCH 43/56] reformat the reference to source paper for code --- README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index 046300acc..9dc1fe362 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,7 @@ A machine learning emulator of a CPM based on a diffusion model. -Forked from PyTorch implementation for the paper [Score-Based Generative Modeling through Stochastic Differential Equations](https://openreview.net/forum?id=PxTIG12RRHS) - -by [Yang Song](https://yang-song.github.io), [Jascha Sohl-Dickstein](http://www.sohldickstein.com/), [Diederik P. Kingma](http://dpkingma.com/), [Abhishek Kumar](http://users.umiacs.umd.edu/~abhishek/), [Stefano Ermon](https://cs.stanford.edu/~ermon/), and [Ben Poole](https://cs.stanford.edu/~poole/) +Diffusion model implementation forked from PyTorch implementation for the paper [Score-Based Generative Modeling through Stochastic Differential Equations](https://openreview.net/forum?id=PxTIG12RRHS) by [Yang Song](https://yang-song.github.io), [Jascha Sohl-Dickstein](http://www.sohldickstein.com/), [Diederik P. Kingma](http://dpkingma.com/), [Abhishek Kumar](http://users.umiacs.umd.edu/~abhishek/), [Stefano Ermon](https://cs.stanford.edu/~ermon/), and [Ben Poole](https://cs.stanford.edu/~poole/). ## Dependencies From d87fe193951fb268b5c4e9290c01557d993fd231 Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Mon, 18 Mar 2024 22:34:42 +0000 Subject: [PATCH 44/56] use checkpoint rather than epoch in smoke test --- tests/smoke-test | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/smoke-test b/tests/smoke-test index 80da43183..fb4e766e0 100755 --- a/tests/smoke-test +++ b/tests/smoke-test @@ -19,6 +19,7 @@ WANDB_EXPERIMENT_NAME="test" python bin/main.py --workdir ${workdir} --config ${ epoch=2 num_samples=2 eval_batchsize=32 +checkpoint="epoch_${epoch}" -rm -rf "${workdir}/samples/epoch-${epoch}/${dataset}" -python bin/predict.py ${workdir} --dataset ${dataset} --epoch ${epoch} --batch-size ${eval_batchsize} --num-samples ${num_samples} --ensemble-member 01 +rm -rf "${workdir}/samples/${checkpoint}/${dataset}" +python bin/predict.py ${workdir} --dataset ${dataset} --checkpoint ${checkpoint} --batch-size ${eval_batchsize} --num-samples ${num_samples} --ensemble-member 01 From 2dde9b93706568ab218dc6ca55b05659e548450f Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Wed, 20 Mar 2024 13:18:48 +0000 Subject: [PATCH 45/56] Installation instructions more like mlde-data --- README.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 9dc1fe362..e2bb189ac 100644 --- a/README.md +++ b/README.md @@ -6,10 +6,12 @@ Diffusion model implementation forked from PyTorch implementation for the paper ## Dependencies -1. Create conda environment: `conda env create -f environment.lock.yml` (or add dependencies to your own: `conda env install -f environment.txt`) -2. Install ml_downscaling_emulator locally: `pip install -e .` -3. Install unet code: `git clone --depth 1 git@github.com:henryaddison/Pytorch-UNet src/ml_downscaling_emulator/unet` -4. Configure application behaviour with environment variables. See `.env.example` for variables that can be set. +1. Clone repo and cd into it +2. Create conda environment: `conda env create -f environment.lock.yml` (or add dependencies to your own: `conda env install -f environment.txt`) +3. Activate the conda environment (if not already done so) +4. Install ml_downscaling_emulator locally: `pip install -e .` +5. Install unet code: `git clone --depth 1 git@github.com:henryaddison/Pytorch-UNet src/ml_downscaling_emulator/unet` +6. Configure application behaviour with environment variables. See `.env.example` for variables that can be set. Any datasets are assumed to be found in `${DERIVED_DATA}/moose/nc-datasets/{dataset_name}/`. In particular, the config key config.data.dataset_name is the name of the dataset to use to train the model. From 31876dd3d9998889dbc28cd470f8575e520b7d4c Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Wed, 20 Mar 2024 13:35:18 +0000 Subject: [PATCH 46/56] correct project urls --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 7d0680485..849c7965b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -19,8 +19,8 @@ classifiers = [ dynamic = ["dependencies"] [project.urls] -"Homepage" = "https://github.com/henryaddison/score_sde_pytorch" -"Bug Tracker" = "https://github.com/henryaddison/score_sde_pytorch/issues" +"Homepage" = "https://github.com/henryaddison/mlde" +"Bug Tracker" = "https://github.com/henryaddison/mlde/issues" [project.scripts] mlde = "ml_downscaling_emulator.bin:app" From a00d6f4f5610266d38416dee818c8fc38718a37b Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Thu, 7 Mar 2024 09:32:34 +0000 Subject: [PATCH 47/56] update deterministic part so runs again --- bin/deterministic/local-test-train | 6 +++--- src/ml_downscaling_emulator/bin/evaluate.py | 9 +++++---- .../configs/{default.py => ukcp_local_pr_unet.py} | 1 + src/ml_downscaling_emulator/deterministic/run_lib.py | 2 +- 4 files changed, 10 insertions(+), 8 deletions(-) rename src/ml_downscaling_emulator/deterministic/configs/{default.py => ukcp_local_pr_unet.py} (95%) diff --git a/bin/deterministic/local-test-train b/bin/deterministic/local-test-train index ecaf40d9a..e5efb5391 100755 --- a/bin/deterministic/local-test-train +++ b/bin/deterministic/local-test-train @@ -8,10 +8,10 @@ cpm_dataset="bham_gcmx-4x_12em_psl-temp4th-vort4th_eqvt_random-season" gcm_dataset="bham_60km-4x_12em_psl-temp4th-vort4th_eqvt_random-season" workdir="output/test/unet/test-run" -config_path="src/ml_downscaling_emulator/deterministic/configs/default.py" +config_path="src/ml_downscaling_emulator/deterministic/configs/ukcp_local_pr_unet.py" -map_features=1 -train_batch_size=32 +map_features=0 +train_batch_size=4 rm -rf ${workdir} WANDB_EXPERIMENT_NAME="test" python ${SCRIPT_DIR}/main.py --mode train --workdir ${workdir} --config ${config_path} --config.data.dataset_name=${cpm_dataset} --config.training.batch_size=${train_batch_size} --config.training.n_epochs=2 --config.data.time_inputs=True --config.model.name=debug diff --git a/src/ml_downscaling_emulator/bin/evaluate.py b/src/ml_downscaling_emulator/bin/evaluate.py index a5d4b3eea..bbf4dae23 100644 --- a/src/ml_downscaling_emulator/bin/evaluate.py +++ b/src/ml_downscaling_emulator/bin/evaluate.py @@ -71,10 +71,11 @@ def sample( if batch_size is not None: config.eval.batch_size = batch_size - if input_transform_dataset is not None: - config.data.input_transform_dataset = input_transform_dataset - else: - config.data.input_transform_dataset = dataset + with config.unlocked(): + if input_transform_dataset is not None: + config.data.input_transform_dataset = input_transform_dataset + else: + config.data.input_transform_dataset = dataset if input_transform_key is not None: config.data.input_transform_key = input_transform_key diff --git a/src/ml_downscaling_emulator/deterministic/configs/default.py b/src/ml_downscaling_emulator/deterministic/configs/ukcp_local_pr_unet.py similarity index 95% rename from src/ml_downscaling_emulator/deterministic/configs/default.py rename to src/ml_downscaling_emulator/deterministic/configs/ukcp_local_pr_unet.py index 709be5b81..50da06869 100644 --- a/src/ml_downscaling_emulator/deterministic/configs/default.py +++ b/src/ml_downscaling_emulator/deterministic/configs/ukcp_local_pr_unet.py @@ -19,6 +19,7 @@ def get_config(): data.dataset_name = "" data.input_transform_key = "stan" data.target_transform_key = "sqrturrecen" + data.input_transform_dataset = None data.time_inputs = False config.model = model = ml_collections.ConfigDict() diff --git a/src/ml_downscaling_emulator/deterministic/run_lib.py b/src/ml_downscaling_emulator/deterministic/run_lib.py index 79af70e34..d8e86f65f 100644 --- a/src/ml_downscaling_emulator/deterministic/run_lib.py +++ b/src/ml_downscaling_emulator/deterministic/run_lib.py @@ -13,7 +13,7 @@ from ..training import log_epoch, track_run from .utils import restore_checkpoint, save_checkpoint, create_model -from ..torch import get_dataloader +from ..data import get_dataloader FLAGS = flags.FLAGS EXPERIMENT_NAME = os.getenv("WANDB_EXPERIMENT_NAME") From bff15096663209476720b2df1a0f448c7df7101b Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Fri, 8 Mar 2024 11:53:07 +0000 Subject: [PATCH 48/56] update name of unet config to show 12em --- bin/deterministic/local-test-train | 2 +- .../{ukcp_local_pr_unet.py => ukcp_local_12em_pr_unet.py} | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) rename src/ml_downscaling_emulator/deterministic/configs/{ukcp_local_pr_unet.py => ukcp_local_12em_pr_unet.py} (89%) diff --git a/bin/deterministic/local-test-train b/bin/deterministic/local-test-train index e5efb5391..9e4789ae6 100755 --- a/bin/deterministic/local-test-train +++ b/bin/deterministic/local-test-train @@ -8,7 +8,7 @@ cpm_dataset="bham_gcmx-4x_12em_psl-temp4th-vort4th_eqvt_random-season" gcm_dataset="bham_60km-4x_12em_psl-temp4th-vort4th_eqvt_random-season" workdir="output/test/unet/test-run" -config_path="src/ml_downscaling_emulator/deterministic/configs/ukcp_local_pr_unet.py" +config_path="src/ml_downscaling_emulator/deterministic/configs/ukcp_local_12em_pr_unet.py" map_features=0 train_batch_size=4 diff --git a/src/ml_downscaling_emulator/deterministic/configs/ukcp_local_pr_unet.py b/src/ml_downscaling_emulator/deterministic/configs/ukcp_local_12em_pr_unet.py similarity index 89% rename from src/ml_downscaling_emulator/deterministic/configs/ukcp_local_pr_unet.py rename to src/ml_downscaling_emulator/deterministic/configs/ukcp_local_12em_pr_unet.py index 50da06869..1a710d81f 100644 --- a/src/ml_downscaling_emulator/deterministic/configs/ukcp_local_pr_unet.py +++ b/src/ml_downscaling_emulator/deterministic/configs/ukcp_local_12em_pr_unet.py @@ -16,7 +16,9 @@ def get_config(): evaluate.batch_size = 64 config.data = data = ml_collections.ConfigDict() - data.dataset_name = "" + data.dataset_name = ( + "bham_gcmx-4x_12em_psl-sphum4th-temp4th-vort4th_eqvt_random-season" + ) data.input_transform_key = "stan" data.target_transform_key = "sqrturrecen" data.input_transform_dataset = None From 67e2e4b951201e8f06cd3cb23aff071876f0f05d Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Mon, 18 Mar 2024 15:37:49 +0000 Subject: [PATCH 49/56] move deterministic smoke test helper into tests dir --- .../local-test-train => tests/deterministic/smoke-test | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename bin/deterministic/local-test-train => tests/deterministic/smoke-test (100%) diff --git a/bin/deterministic/local-test-train b/tests/deterministic/smoke-test similarity index 100% rename from bin/deterministic/local-test-train rename to tests/deterministic/smoke-test From c8fffbfa6efc858b79098e2c28b0c948a87ff55c Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Wed, 20 Mar 2024 15:11:30 +0000 Subject: [PATCH 50/56] clean up some deterministic related code --- bin/deterministic/main.py | 2 +- src/ml_downscaling_emulator/bin/evaluate.py | 6 +++--- tests/deterministic/smoke-test | 21 ++++++++++----------- tests/smoke-test | 5 +++-- 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/bin/deterministic/main.py b/bin/deterministic/main.py index 5c409b000..801531607 100644 --- a/bin/deterministic/main.py +++ b/bin/deterministic/main.py @@ -13,7 +13,7 @@ "config", None, "Training configuration.", lock_config=True ) flags.DEFINE_string("workdir", None, "Work directory.") -flags.DEFINE_enum("mode", None, ["train", "eval"], "Running mode: train or eval") +flags.DEFINE_enum("mode", None, ["train"], "Running mode: train.") flags.mark_flags_as_required(["workdir", "config", "mode"]) diff --git a/src/ml_downscaling_emulator/bin/evaluate.py b/src/ml_downscaling_emulator/bin/evaluate.py index bbf4dae23..5146ddbd1 100644 --- a/src/ml_downscaling_emulator/bin/evaluate.py +++ b/src/ml_downscaling_emulator/bin/evaluate.py @@ -58,7 +58,7 @@ def sample( workdir: Path, dataset: str = typer.Option(...), split: str = "val", - epoch: int = typer.Option(...), + checkpoint: str = typer.Option(...), batch_size: int = None, num_samples: int = 1, input_transform_dataset: str = None, @@ -81,7 +81,7 @@ def sample( output_dirpath = samples_path( workdir=workdir, - checkpoint=f"epoch-{epoch}", + checkpoint=checkpoint, dataset=dataset, input_xfm=f"{config.data.input_transform_dataset}-{config.data.input_transform_key}", split=split, @@ -106,7 +106,7 @@ def sample( shuffle=False, ) - ckpt_filename = os.path.join(workdir, "checkpoints", f"epoch_{epoch}.pth") + ckpt_filename = os.path.join(workdir, "checkpoints", f"{checkpoint}.pth") num_predictors = eval_dl.dataset[0][0].shape[0] state = load_model(config, num_predictors, ckpt_filename) diff --git a/tests/deterministic/smoke-test b/tests/deterministic/smoke-test index 9e4789ae6..d0fdc140e 100755 --- a/tests/deterministic/smoke-test +++ b/tests/deterministic/smoke-test @@ -4,23 +4,22 @@ set -euo pipefail SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) -cpm_dataset="bham_gcmx-4x_12em_psl-temp4th-vort4th_eqvt_random-season" -gcm_dataset="bham_60km-4x_12em_psl-temp4th-vort4th_eqvt_random-season" +cpm_dataset="bham_gcmx-4x_1em_psl-sphum4th-temp4th-vort4th_eqvt_random-season-historic" +gcm_dataset="bham_60km-4x_1em_psl-sphum4th-temp4th-vort4th_eqvt_random-season-historic" workdir="output/test/unet/test-run" config_path="src/ml_downscaling_emulator/deterministic/configs/ukcp_local_12em_pr_unet.py" -map_features=0 -train_batch_size=4 +train_batch_size=2 +epoch=2 rm -rf ${workdir} -WANDB_EXPERIMENT_NAME="test" python ${SCRIPT_DIR}/main.py --mode train --workdir ${workdir} --config ${config_path} --config.data.dataset_name=${cpm_dataset} --config.training.batch_size=${train_batch_size} --config.training.n_epochs=2 --config.data.time_inputs=True --config.model.name=debug +WANDB_DISABLE_SERVICE=True WANDB_EXPERIMENT_NAME="test" python ${SCRIPT_DIR}/../../bin/deterministic/main.py --mode train --workdir ${workdir} --config ${config_path} --config.data.dataset_name=${cpm_dataset} --config.training.batch_size=${train_batch_size} --config.training.n_epochs=${epoch} --config.data.time_inputs=True --config.model.name=debug -epoch=2 num_samples=2 -eval_batchsize=128 +eval_batchsize=32 -rm -rf "${workdir}/samples/epoch-${epoch}/${cpm_dataset}" -mlde evaluate sample ${workdir} --dataset ${cpm_dataset} --epoch ${epoch} --batch-size ${eval_batchsize} --num-samples ${num_samples} -rm -rf "${workdir}/samples/epoch-${epoch}/${gcm_dataset}" -mlde evaluate sample ${workdir} --dataset ${gcm_dataset} --epoch ${epoch} --batch-size ${eval_batchsize} --num-samples ${num_samples} +rm -rf "${workdir}/samples/epoch_${epoch}/${cpm_dataset}" +mlde evaluate sample ${workdir} --dataset ${cpm_dataset} --checkpoint epoch_${epoch} --batch-size ${eval_batchsize} --num-samples ${num_samples} +rm -rf "${workdir}/samples/epoch_${epoch}/${gcm_dataset}" +mlde evaluate sample ${workdir} --dataset ${gcm_dataset} --checkpoint epoch_${epoch} --batch-size ${eval_batchsize} --num-samples ${num_samples} diff --git a/tests/smoke-test b/tests/smoke-test index fb4e766e0..21ff64615 100755 --- a/tests/smoke-test +++ b/tests/smoke-test @@ -12,11 +12,12 @@ config_path="src/ml_downscaling_emulator/score_sde_pytorch/configs/${sde}/${conf loc_spec_channels=0 train_batch_size=2 random_crop_size=32 +epoch=2 rm -rf ${workdir} -WANDB_EXPERIMENT_NAME="test" python bin/main.py --workdir ${workdir} --config ${config_path} --mode train --config.data.dataset_name=${dataset} --config.training.snapshot_freq=5 --config.training.eval_freq=100 --config.training.log_freq=50 --config.training.n_epochs=2 --config.model.loc_spec_channels=${loc_spec_channels} --config.training.random_crop_size=${random_crop_size} --config.training.batch_size=${train_batch_size} --config.data.input_transform_key=stan --config.data.target_transform_key=sqrturrecen --config.data.time_inputs=True +WANDB_EXPERIMENT_NAME="test" python bin/main.py --workdir ${workdir} --config ${config_path} --mode train --config.data.dataset_name=${dataset} --config.training.snapshot_freq=5 --config.training.eval_freq=100 --config.training.log_freq=50 --config.training.n_epochs=${epoch} --config.model.loc_spec_channels=${loc_spec_channels} --config.training.random_crop_size=${random_crop_size} --config.training.batch_size=${train_batch_size} --config.data.input_transform_key=stan --config.data.target_transform_key=sqrturrecen --config.data.time_inputs=True + -epoch=2 num_samples=2 eval_batchsize=32 checkpoint="epoch_${epoch}" From 2bfe6a557bf66e3c2850e7f38adb4a686efebf4e Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Thu, 21 Mar 2024 09:31:41 +0000 Subject: [PATCH 51/56] remove wandb watch model --- src/ml_downscaling_emulator/deterministic/run_lib.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/ml_downscaling_emulator/deterministic/run_lib.py b/src/ml_downscaling_emulator/deterministic/run_lib.py index d8e86f65f..4f0b3c04d 100644 --- a/src/ml_downscaling_emulator/deterministic/run_lib.py +++ b/src/ml_downscaling_emulator/deterministic/run_lib.py @@ -208,7 +208,6 @@ def train_step_fn(state, batch, cond): EXPERIMENT_NAME, run_name, run_config, [config.model.name, "baseline"], tb_dir ) as (wandb_run, tb_writer): # Fit model - wandb_run.watch(model, criterion=criterion, log_freq=100) logging.info("Starting training loop at epoch %d." % (initial_epoch,)) From 29035759a0db65b07d8b7bdbe63b06bce94d6512 Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Thu, 21 Mar 2024 09:38:09 +0000 Subject: [PATCH 52/56] u-net should train for 100 epochs by default --- .../deterministic/configs/ukcp_local_12em_pr_unet.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ml_downscaling_emulator/deterministic/configs/ukcp_local_12em_pr_unet.py b/src/ml_downscaling_emulator/deterministic/configs/ukcp_local_12em_pr_unet.py index 1a710d81f..821accfd9 100644 --- a/src/ml_downscaling_emulator/deterministic/configs/ukcp_local_12em_pr_unet.py +++ b/src/ml_downscaling_emulator/deterministic/configs/ukcp_local_12em_pr_unet.py @@ -6,7 +6,7 @@ def get_config(): config = ml_collections.ConfigDict() config.training = training = ml_collections.ConfigDict() - training.n_epochs = 200 + training.n_epochs = 100 training.batch_size = 64 training.snapshot_freq = 25 training.log_freq = 50 From 00121cab6ee6e47f522dd58905abd6e874fd251d Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Mon, 25 Mar 2024 10:39:31 +0000 Subject: [PATCH 53/56] remove unnecessary config from debug cunet model --- .../ukcp_local_pr_1em_cunet_continuous.py | 22 ------------------- 1 file changed, 22 deletions(-) diff --git a/src/ml_downscaling_emulator/score_sde_pytorch/configs/subvpsde/ukcp_local_pr_1em_cunet_continuous.py b/src/ml_downscaling_emulator/score_sde_pytorch/configs/subvpsde/ukcp_local_pr_1em_cunet_continuous.py index b8dea1c8b..ac254d20d 100644 --- a/src/ml_downscaling_emulator/score_sde_pytorch/configs/subvpsde/ukcp_local_pr_1em_cunet_continuous.py +++ b/src/ml_downscaling_emulator/score_sde_pytorch/configs/subvpsde/ukcp_local_pr_1em_cunet_continuous.py @@ -39,27 +39,5 @@ def get_config(): # model model = config.model model.name = 'cunet' - model.scale_by_sigma = False - model.ema_rate = 0.9999 - model.normalization = 'GroupNorm' - model.nonlinearity = 'swish' - model.nf = 128 - model.ch_mult = (1, 2, 2, 2) - model.num_res_blocks = 4 - model.attn_resolutions = (16,) - model.resamp_with_conv = True - model.conditional = True - model.fir = True - model.fir_kernel = [1, 3, 3, 1] - model.skip_rescale = True - model.resblock_type = 'biggan' - model.progressive = 'none' - model.progressive_input = 'residual' - model.progressive_combine = 'sum' - model.attention_type = 'ddpm' - model.embedding_type = 'positional' - model.init_scale = 0. - model.fourier_scale = 16 - model.conv_size = 3 return config From ecfe293b713ec8b80dff4d55d87a2539769367be Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Mon, 25 Mar 2024 10:39:58 +0000 Subject: [PATCH 54/56] rename dir for qmapped results to make clear treats em separately --- src/ml_downscaling_emulator/bin/postprocess.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ml_downscaling_emulator/bin/postprocess.py b/src/ml_downscaling_emulator/bin/postprocess.py index 1ee56a518..8a2999251 100644 --- a/src/ml_downscaling_emulator/bin/postprocess.py +++ b/src/ml_downscaling_emulator/bin/postprocess.py @@ -165,7 +165,7 @@ def process_samples(ds): eval_input_xfm, split, process_samples, - new_workdir=workdir / "postprocess" / "qm", + new_workdir=workdir / "postprocess" / "qm-per-em", ) From 5ab7a40f927970698f53cd95cdafe32864dc3f4b Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Mon, 25 Mar 2024 10:43:54 +0000 Subject: [PATCH 55/56] qmapping may use a different dataset for simulation than ml samples --- src/ml_downscaling_emulator/bin/postprocess.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ml_downscaling_emulator/bin/postprocess.py b/src/ml_downscaling_emulator/bin/postprocess.py index 8a2999251..c63c61d9f 100644 --- a/src/ml_downscaling_emulator/bin/postprocess.py +++ b/src/ml_downscaling_emulator/bin/postprocess.py @@ -119,6 +119,7 @@ def filter( def qm( workdir: Path, checkpoint: str = typer.Option(...), + sim_dataset: str = typer.Option(...), train_dataset: str = typer.Option(...), train_input_xfm: str = "stan", eval_dataset: str = typer.Option(...), @@ -128,7 +129,7 @@ def qm( ): # to compute the mapping, use train split data # open train split of dataset for the target_pr - sim_train_da = open_raw_dataset_split(train_dataset, "train").sel( + sim_train_da = open_raw_dataset_split(sim_dataset, "train").sel( ensemble_member=ensemble_member )["target_pr"] From 3783052c7a042f47c56e71cddc0fd4168d90527e Mon Sep 17 00:00:00 2001 From: Henry Addison Date: Mon, 25 Mar 2024 10:46:32 +0000 Subject: [PATCH 56/56] include sim and train dataset and inputs xfms in qm path for completeness to ensure separating different possible approaches to qmapping --- src/ml_downscaling_emulator/bin/postprocess.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/ml_downscaling_emulator/bin/postprocess.py b/src/ml_downscaling_emulator/bin/postprocess.py index c63c61d9f..21cc425ef 100644 --- a/src/ml_downscaling_emulator/bin/postprocess.py +++ b/src/ml_downscaling_emulator/bin/postprocess.py @@ -166,7 +166,12 @@ def process_samples(ds): eval_input_xfm, split, process_samples, - new_workdir=workdir / "postprocess" / "qm-per-em", + new_workdir=workdir + / "postprocess" + / "qm-per-em" + / sim_dataset + / train_dataset + / train_input_xfm, )

    8pVU-oS`%%bddQ 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 diff --git a/assets/ffhq_256.jpg b/assets/ffhq_256.jpg deleted file mode 100644 index 123089dcb44a2c9b5275ea3ea0c462bed8d559f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 71775 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