From 0dc87f927b7e1717c20814012f7684aaa10e3458 Mon Sep 17 00:00:00 2001 From: Dinesh Daultani Date: Wed, 27 Dec 2023 06:36:08 +0000 Subject: [PATCH] initial commit --- .dockerignore | 8 + .gitignore | 46 +++ LICENSE | 21 ++ README.md | 172 ++++++++++ base/__init__.py | 3 + base/base_data_loader.py | 72 ++++ base/base_model.py | 71 ++++ base/base_trainer.py | 177 ++++++++++ .../CIFAR10/ResNet56-56_fusiondistill.yaml | 56 ++++ .../CIFAR10/ResNet56_base_scratch.yaml | 46 +++ .../CIFAR10/ResNet56_base_vanilla.yaml | 46 +++ .../deg_all/CIFAR10/ResNet56_ensemble.yaml | 35 ++ configs/deg_all/CIFAR10/ResNet56_fused.yaml | 46 +++ configs/deg_all/CIFAR10/ResNet56_soups.yaml | 35 ++ .../CIFAR100/ResNet56-56_fusiondistill.yaml | 56 ++++ .../CIFAR100/ResNet56_base_scratch.yaml | 46 +++ .../CIFAR100/ResNet56_base_vanilla.yaml | 46 +++ .../deg_all/CIFAR100/ResNet56_ensemble.yaml | 35 ++ configs/deg_all/CIFAR100/ResNet56_fused.yaml | 46 +++ configs/deg_all/CIFAR100/ResNet56_soups.yaml | 35 ++ .../ResNet56-56_fusiondistill.yaml | 56 ++++ .../TinyImagenet/ResNet56_base_scratch.yaml | 46 +++ .../TinyImagenet/ResNet56_base_vanilla.yaml | 46 +++ .../TinyImagenet/ResNet56_ensemble.yaml | 35 ++ .../deg_all/TinyImagenet/ResNet56_fused.yaml | 46 +++ .../deg_all/TinyImagenet/ResNet56_soups.yaml | 35 ++ configs/ind/CIFAR10/ResNet56_clean.yaml | 45 +++ configs/ind/CIFAR100/ResNet56_clean.yaml | 45 +++ configs/ind/TinyImagenet/ResNet56_clean.yaml | 45 +++ configs/sl/CIFAR10/ResNet56-56.yaml | 53 +++ configs/sl/CIFAR100/ResNet56-56.yaml | 52 +++ configs/sl/TinyImagenet/ResNet56-56.yaml | 52 +++ data_loader/data_loaders.py | 117 +++++++ docker/Dockerfile | 33 ++ docker/requirements.txt | 19 ++ figures/proposed-arch-diagram.png | Bin 0 -> 1093757 bytes logger/__init__.py | 2 + logger/logger.py | 22 ++ logger/logger_config.json | 32 ++ logger/visualization.py | 73 ++++ losses/__init__.py | 1 + losses/cosine_embedding.py | 15 + model/__init__.py | 1 + model/backbones/resnet.py | 100 ++++++ model/loss.py | 16 + model/metric.py | 22 ++ parse_config.py | 192 +++++++++++ test.py | 99 ++++++ test_ensemble.py | 141 ++++++++ train.py | 58 ++++ train_all_deg.py | 64 ++++ trainer/__init__.py | 4 + trainer/ind.py | 211 ++++++++++++ trainer/ind_all_deg.py | 237 +++++++++++++ trainer/sl.py | 299 +++++++++++++++++ trainer/sl_all_deg.py | 316 ++++++++++++++++++ utils/__init__.py | 1 + utils/data/cutout.py | 52 +++ utils/data/datasets.py | 290 ++++++++++++++++ utils/data/degradedimagedata.py | 75 +++++ utils/data/degtransforms.py | 168 ++++++++++ utils/data/tiny_imagenet/dataset.py | 210 ++++++++++++ utils/model_soups.py | 80 +++++ utils/util.py | 111 ++++++ 64 files changed, 4715 insertions(+) create mode 100644 .dockerignore create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 README.md create mode 100644 base/__init__.py create mode 100644 base/base_data_loader.py create mode 100644 base/base_model.py create mode 100644 base/base_trainer.py create mode 100644 configs/deg_all/CIFAR10/ResNet56-56_fusiondistill.yaml create mode 100644 configs/deg_all/CIFAR10/ResNet56_base_scratch.yaml create mode 100644 configs/deg_all/CIFAR10/ResNet56_base_vanilla.yaml create mode 100644 configs/deg_all/CIFAR10/ResNet56_ensemble.yaml create mode 100644 configs/deg_all/CIFAR10/ResNet56_fused.yaml create mode 100644 configs/deg_all/CIFAR10/ResNet56_soups.yaml create mode 100644 configs/deg_all/CIFAR100/ResNet56-56_fusiondistill.yaml create mode 100644 configs/deg_all/CIFAR100/ResNet56_base_scratch.yaml create mode 100644 configs/deg_all/CIFAR100/ResNet56_base_vanilla.yaml create mode 100644 configs/deg_all/CIFAR100/ResNet56_ensemble.yaml create mode 100644 configs/deg_all/CIFAR100/ResNet56_fused.yaml create mode 100644 configs/deg_all/CIFAR100/ResNet56_soups.yaml create mode 100644 configs/deg_all/TinyImagenet/ResNet56-56_fusiondistill.yaml create mode 100644 configs/deg_all/TinyImagenet/ResNet56_base_scratch.yaml create mode 100644 configs/deg_all/TinyImagenet/ResNet56_base_vanilla.yaml create mode 100644 configs/deg_all/TinyImagenet/ResNet56_ensemble.yaml create mode 100644 configs/deg_all/TinyImagenet/ResNet56_fused.yaml create mode 100644 configs/deg_all/TinyImagenet/ResNet56_soups.yaml create mode 100644 configs/ind/CIFAR10/ResNet56_clean.yaml create mode 100644 configs/ind/CIFAR100/ResNet56_clean.yaml create mode 100644 configs/ind/TinyImagenet/ResNet56_clean.yaml create mode 100644 configs/sl/CIFAR10/ResNet56-56.yaml create mode 100644 configs/sl/CIFAR100/ResNet56-56.yaml create mode 100644 configs/sl/TinyImagenet/ResNet56-56.yaml create mode 100644 data_loader/data_loaders.py create mode 100644 docker/Dockerfile create mode 100644 docker/requirements.txt create mode 100644 figures/proposed-arch-diagram.png create mode 100644 logger/__init__.py create mode 100644 logger/logger.py create mode 100644 logger/logger_config.json create mode 100644 logger/visualization.py create mode 100644 losses/__init__.py create mode 100644 losses/cosine_embedding.py create mode 100644 model/__init__.py create mode 100644 model/backbones/resnet.py create mode 100644 model/loss.py create mode 100644 model/metric.py create mode 100644 parse_config.py create mode 100644 test.py create mode 100644 test_ensemble.py create mode 100644 train.py create mode 100644 train_all_deg.py create mode 100644 trainer/__init__.py create mode 100644 trainer/ind.py create mode 100644 trainer/ind_all_deg.py create mode 100644 trainer/sl.py create mode 100644 trainer/sl_all_deg.py create mode 100644 utils/__init__.py create mode 100644 utils/data/cutout.py create mode 100644 utils/data/datasets.py create mode 100644 utils/data/degradedimagedata.py create mode 100644 utils/data/degtransforms.py create mode 100644 utils/data/tiny_imagenet/dataset.py create mode 100644 utils/model_soups.py create mode 100644 utils/util.py diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..ed4203e --- /dev/null +++ b/.dockerignore @@ -0,0 +1,8 @@ +.git + +# input data, saved log, checkpoints +data/ +input/ +saved/ +datasets/ + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9eb0f0f --- /dev/null +++ b/.gitignore @@ -0,0 +1,46 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +env/ +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +*.egg-info/ +.installed.cfg +*.egg +*.deb + +# Jupyter Notebook +.ipynb_checkpoints + +# input data, saved log, checkpoints, notebooks,... +data/ +input/ +saved/ +datasets/ +paper_data/ +checkpoints/ +jupyter/ +experiments_train.sh +experiments_test.sh + +# editor, os cache directory +.vscode/ +.idea/ +__MACOSX/ diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..92d9233 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Dinesh Daultani + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..cc1c446 --- /dev/null +++ b/README.md @@ -0,0 +1,172 @@ +# Consolidating separate degradations model via weights fusion and distillation + +Authors: [Dinesh Daultani](https://dineshdaultani.github.io/), [Hugo Larochelle](https://mila.quebec/en/person/hugo-larochelle/) + +[[paper](https://openaccess.thecvf.com/content/WACV2024W/VAQ/papers/Daultani_Consolidating_Separate_Degradations_Model_via_Weights_Fusion_and_Distillation_WACVW_2024_paper.pdf)] + +This repository contains the source code associated with the paper "Consolidating separate degradations model via weights fusion and distillation", which was presented at WACV 2024 workshop. + +## Abstract +Real-world images prevalently contain different varieties of degradation, such as motion blur and luminance noise. Computer vision recognition models trained on clean images perform poorly on degraded images. Previously, several works have explored how to perform image classification of degraded images while training a single model for each degradation. Nevertheless, it becomes challenging to host several degradation models for each degradation on limited hardware applications and to estimate degradation parameters correctly at the run-time. This work proposes a method for effectively combining several models trained separately on different degradations into a single model to classify images with different types of degradations. Our proposed method is four-fold: (1) train a base model on clean images, (2) fine-tune the base model individually for all given image degradations, (3) perform a fusion of weights given the fine-tuned models for individual degradations, (4) perform fine-tuning on given task using distillation and cross-entropy loss. Our proposed method can outperform previous state-of-the-art methods of pretraining in out-of-distribution generalization based on degradations such as JPEG compression, salt-and-pepper noise, Gaussian blur, and additive white Gaussian noise by 2.5% on CIFAR-100 dataset and by 1.3% on CIFAR-10 dataset. Moreover, our proposed method can handle degradation used for training without any explicit information about degradation at the inference time. + +## Brief Introduction +Computer vision has been widely used in real-world applications nowadays. Considerable research has focused on the assumption that the images do not contain abnormalities and only ideal images. Real-world images frequently have different perturbations, like motion blur, noise (caused by low-light conditions), and compression, appearing in various digital versions of images/videos. Specifically, some computer vision domains face challenges with image degradation, leading to diminishing model performance or reliability. Hence, degradation in vision is often unavoidable, so it is crucial to handle degraded images properly. At the same time, often, the models trained are specific for a particular degradation. However, our study focuses on an essential aspect of this limitation: combining several models trained separately on individual degradations. To the best of our knowledge, this study is the first to investigate the method of combining separately trained degradation models into a single model for the classification of images with distinct types of degradation. + +Our proposed method is split into four steps as follows: +1. Train a base model $\mu_{clean}$ on clean images. +2. Fine-tune the base model $\mu_{clean}$ individually for each degradation $deg$, i.e., $\mu_{deg}$. +3. Perform fusion of weights given the fine-tuned models $\mu_{deg}$ for individual degradations as $\sigma$. +4. Perform fine-tuning on all degradation images using distillation and cross-entropy loss as $\sigma_{tuned}$. + +

+ + + Figure 1. Fine-tuning of Student $\sigma_{tuned}$ using fusion model initialized with weights $\sigma$ and knowledge transfer from Teachers $\mu_{deg_{1}}$, $\mu_{deg_{2}}$, ..., $\mu_{deg_{N}}$ where $N$ represents total individual degradations used for consolidation in the student network. +

+ + +## Quantitative evaluation results + +Performance evaluation for comparison approaches, applied to different datasets on ResNet56 backbones. These datasets undergo assessment under four distinct degradations, i.e., JPEG compression, Gaussian blur, additive white Gaussian noise, and salt-and-pepper noise, denoted as JPEG, Blur, AWGN, and SAPN, respectively. The "Avg" column contains the average for the above four degradations. Moreover, results in **bold** and underline represent the best performance for combined degradation and separate/combined models, respectively. + +### CIFAR-100 dataset +| Approach | JPEG | Blur | AWGN | SAPN | Avg | +|:-------------------------:|:----:|:----:|:----:|:----:|:----:| +| Base separate (Oracle) | 63.4 | 58.2 | 65.4 | 74.1 | 65.3 | +| Ensemble | 59.3 | 25.3 | 43.6 | 58.7 | 46.7 | +| Scratch | 59.1 | 54.3 | 61.0 | 66.0 | 60.1 | +| Vanilla fine-tuning | 62.2 | 56.0 | 63.8 | 70.2 | 63.1 | +| ModelSoups | 1.1 | 1.0 | 1.2 | 1.0 | 1.1 | +| Fusing | 62.3 | 56.4 | 64.1 | 70.5 | 63.3 | +| FusionDistill (Ours) | **64.5** | **58.6** | **66.4** | **73.7** | **65.8** | + +### Tiny Imagenet dataset +| Approach | JPEG | Blur | AWGN | SAPN | Avg | +|:-------------------------:|:----:|:----:|:----:|:----:|:----:| +| Base separate (Oracle) | 56.3 | 50.3 | 57.7 | 60.6 | 56.2 | +| Ensemble | 53.1 | 17.4 | 45.4 | 49.9 | 35.5 | +| Scratch | 54.0 | 48.2 | 55.3 | 58.2 | 53.9 | +| Vanilla fine-tuning | 55.2 | 48.1 | 56.6 | 59.7 | 54.9 | +| ModelSoups | 0.5 | 0.5 | 0.5 | 0.5 | 0.5 | +| Fusing | 54.2 | 47.1 | 55.2 | 58.8 | 53.8 | +| FusionDistill (Ours) | **56.7** | **48.5** | **58.2** | **61.9** | **56.3** | + +For more details of our proposed method and relevant details please refer to our [paper](https://openaccess.thecvf.com/content/WACV2024W/VAQ/papers/Daultani_Consolidating_Separate_Degradations_Model_via_Weights_Fusion_and_Distillation_WACVW_2024_paper.pdf). + +## Requirements +To install all the pre-requisite libraries install the docker container from `docker/Dockerfile`. Following python libraries are main pre-requisites: +* pytorch==1.12.0 +* imagedegrade + +To properly reproduce the results from the paper, please use the provided docker `Dockerfile` and `docker/requirements.txt`. Sample docker build and run commands are as follows: +* `docker build -f docker/Dockerfile -t pytorch_1.12 .` +* `docker run -v /:/data --shm-size 50G -p 8008:8008 -it --gpus '"device=0,1"' pytorch_1.12 /bin/bash` + +## Training / Evaluation +### Proposed method +Proposed method training is done in four steps: +1. Step-1: Train a base model on clean images. + - Training: + ``` + python train.py -c configs/ind//ResNet56_clean.yaml + ``` + By default the clean image models reside in `saved/jpeg/IndTrainer` directory. + +2. Step-2: Fine-tune the base model trained on clean images for each degradation individually. + - Training: + ``` + python train.py -c configs/sl//ResNet56-56.yaml --dt + ``` + +3. Step-3: Perform fusion of weights given the fine-tuned models for individual degradations + - Fusion (ModelSoups): + ``` + python utils/model_soups.py --dataset + ``` + + We need to specify the dataset and it will by default read the ResNet config file for model soups in the specific dataset folder. + +4. Step-4: Perform fine-tuning on all degradation images using distillation and cross-entropy loss + - Training: + ``` + python train_all_deg.py -c configs/deg_all//ResNet56-56_consistency.yaml --dt combined_deg + ``` + - Evaluation: + ``` + python test.py -r saved/combined_deg/SLDA_Trainer/ResNet56-56_CIFAR10/train//model_best.pth --dt + ``` + +Please refer to the notes at the end for some common details to run the experiments. + +### Running existing method experiments (Baselines) +#### Base separate (Oracle) + Oracle method is nothing but the Step-2 models trained on degradation individually. Hence, we need to run evaluation after Step-2: + - Evaluation: + ``` + python test.py -r saved//SLTrainer/ResNet56-56_/train//model_best.pth + ``` + +#### Ensemble + This method uses combination of all individually trained degradation models. Hence, we need to only run the evaluation out-of-the-box using separately prepared ensemble script: + - Evaluation: + ``` + python test_ensemble.py -c configs/deg_all//ResNet56_ensemble.yaml + ``` + +#### Scratch + - Training: + ``` + python train_all_deg.py -c configs/deg_all//ResNet56_base_scratch.yaml --dt combined_deg + ``` + - Evaluation: + ``` + python test.py -r saved/combined_deg/IndDATrainer/ResNet56__deg_scratch/train//model_best.pth --dt + ``` + +#### Vanilla Finetuning + - Training: + ``` + python train_all_deg.py -c configs/deg_all//ResNet56_base_vanilla.yaml --dt combined_deg + ``` + - Evaluation: + ``` + python test.py -r saved/combined_deg/IndDATrainer/ResNet56__deg_vanilla/train//model_best.pth --dt + ``` + +#### ModelSoups + ModelSoups method doesn't involve any training and running evaluation is after the Step-3 of the proposed method, i.e., the weight fusion process. + - Evaluation: + ``` + python test.py -r saved/combined_deg/SLTrainer/ResNet56-56__soups/train//model_best.pth --dt + ``` + +#### Fusing + - Training: + ``` + python train_all_deg.py -c configs/deg_all//ResNet56_fused.yaml --dt combined_deg + ``` + - Evaluation: + ``` + python test.py -r saved/combined_deg/IndDATrainer/ResNet56__deg_fused/train//model_best.pth --dt + ``` + +### Notes for running experiments: +- Replace with either "CIFAR10", "CIFAR100" or "TinyImagenet" to run the experiments for specific dataset for training or evaluation scripts. +- Replace with degradations such as `jpeg`, `blur`, `noise`, `saltpepper` when training for individual degradation, i.e., Step-2. Consequently, replace with `combined_deg` when training for all degradations, i.e., Step-4. +- If you train the model from scratch you need to change `pretrained_path` paths in config yaml files. +- Replace with appropriate run id after running the training. +- Evaluation script is run for specific degradation. + +## Citation +If you find our work or this repository helpful, please consider citing our work: + +```bibtex +@InProceedings{Daultani_2024_WACV, + author = {Daultani, Dinesh and Larochelle, Hugo}, + title = {Consolidating Separate Degradations Model via Weights Fusion and Distillation}, + booktitle = {Proceedings of the IEEE/CVF Winter Conference on Applications of Computer Vision (WACV) Workshops}, + month = {January}, + year = {2024}, + pages = {440-449} +} +``` \ No newline at end of file diff --git a/base/__init__.py b/base/__init__.py new file mode 100644 index 0000000..19c2224 --- /dev/null +++ b/base/__init__.py @@ -0,0 +1,3 @@ +from .base_data_loader import * +from .base_model import * +from .base_trainer import * diff --git a/base/base_data_loader.py b/base/base_data_loader.py new file mode 100644 index 0000000..2c62a3e --- /dev/null +++ b/base/base_data_loader.py @@ -0,0 +1,72 @@ +import numpy as np +from torch.utils.data import DataLoader +from torch.utils.data.dataloader import default_collate +from torch.utils.data.sampler import SubsetRandomSampler +from utils.util import seed_worker +import torch + +class BaseDataLoader(DataLoader): + """ + Base class for all data loaders + """ + def __init__(self, dataset, batch_size, shuffle, validation_split, num_workers, + collate_fn=default_collate, pin_memory = True, persistent_workers = True, seed = 123): + self.validation_split = validation_split + self.shuffle = shuffle + + self.batch_idx = 0 + self.n_samples = len(dataset) + + self.sampler, self.valid_sampler = self._split_sampler(self.validation_split) + + # Based on torch recommendation on data loader randomness + # https://pytorch.org/docs/stable/notes/randomness.html#dataloader + g = torch.Generator() + g.manual_seed(seed) + + self.init_kwargs = { + 'dataset': dataset, + 'batch_size': batch_size, + 'shuffle': self.shuffle, + 'collate_fn': collate_fn, + 'num_workers': num_workers, + 'pin_memory': pin_memory, + 'persistent_workers': persistent_workers, + 'worker_init_fn': seed_worker, + 'generator': g, + } + super().__init__(sampler=self.sampler, **self.init_kwargs) + + def _split_sampler(self, split): + if split == 0.0: + return None, None + + idx_full = np.arange(self.n_samples) + + np.random.seed(0) + np.random.shuffle(idx_full) + + if isinstance(split, int): + assert split > 0 + assert split < self.n_samples, "validation set size is configured to be larger than entire dataset." + len_valid = split + else: + len_valid = int(self.n_samples * split) + + valid_idx = idx_full[0:len_valid] + train_idx = np.delete(idx_full, np.arange(0, len_valid)) + + train_sampler = SubsetRandomSampler(train_idx) + valid_sampler = SubsetRandomSampler(valid_idx) + + # turn off shuffle option which is mutually exclusive with sampler + self.shuffle = False + self.n_samples = len(train_idx) + + return train_sampler, valid_sampler + + def split_validation(self): + if self.valid_sampler is None: + return None + else: + return DataLoader(sampler=self.valid_sampler, **self.init_kwargs) diff --git a/base/base_model.py b/base/base_model.py new file mode 100644 index 0000000..84c3c66 --- /dev/null +++ b/base/base_model.py @@ -0,0 +1,71 @@ +import torch.nn as nn +import numpy as np +from abc import abstractmethod + + +class BaseModel(nn.Module): + """ + Base class for all models + """ + def __init__(self, deg_flag = 'clean'): + """ + Constructor + Args: + num_of_features (int) : The number of features extracted by the feature extractor. + init_weights (bool) : True if you initialize weights. + deg_flag (int) : clean when training with clean images + deg when training with clean images + """ + super(BaseModel, self).__init__() + self.deg_flag = deg_flag + print('Creating network object with deg_flag: ', self.deg_flag) + + def define_input(self, *inputs): + """ + Forward pass logic + if deg_flag is True, run forward pass on degraded images + else run forward pass on clean images + :return: Model output + """ + clean_img, deg_img = inputs + if self.deg_flag == 'clean': + return clean_img + elif self.deg_flag == 'deg': + return deg_img + else: + raise NotImplementedError + + + def _init_weight_layers(self, layers): + """ + Initialize each layer depends on the layer type + """ + for layer in layers.modules(): + if isinstance(layer, nn.Conv2d): + nn.init.kaiming_normal_(layer.weight, mode='fan_out', nonlinearity='relu') + if layer.bias is not None: + nn.init.constant_(layer.bias, 0) + elif isinstance(layer, nn.BatchNorm2d): + nn.init.constant_(layer.weight, 1) + nn.init.constant_(layer.bias, 0) + elif isinstance(layer, nn.Linear): + nn.init.normal_(layer.weight, 0, 0.01) + nn.init.constant_(layer.bias, 0) + + def __str__(self): + """ + Model prints with number of trainable parameters + """ + model_parameters = filter(lambda p: p.requires_grad, self.parameters()) + params = sum([np.prod(p.size()) for p in model_parameters]) + return super().__str__() + '\nTrainable parameters: {}'.format(params) + + @abstractmethod + def forward(): + """ + forward function for the model + """ + msg = "forward functionhas not been implemeted." + raise NotImplementedError(msg) + + \ No newline at end of file diff --git a/base/base_trainer.py b/base/base_trainer.py new file mode 100644 index 0000000..008514e --- /dev/null +++ b/base/base_trainer.py @@ -0,0 +1,177 @@ +import torch +from abc import abstractmethod +from numpy import inf +from logger import TensorboardWriter +from utils import prepare_device +from utils import inf_loop + +class BaseTrainer: + """ + Base class for all trainers + """ + def __init__(self, metric_ftns, config, train_data_loader, valid_data_loader, + len_epoch): + self.config = config + self.logger = config.get_logger('trainer', config['trainer']['args']['verbosity']) + model_args = config['model']['args'] if 'model' in config else \ + config['student_model']['args'] + self.deg_flag = model_args['deg_flag'] + # prepare for (multi-device) GPU training + self.device, self.device_ids = prepare_device(config['n_gpu']) + self.metric_ftns = metric_ftns + self.train_data_loader = train_data_loader + if len_epoch is None: + # epoch-based training + self.len_epoch = len(self.train_data_loader) + else: + # iteration-based training + self.train_data_loader = inf_loop(train_data_loader) + self.len_epoch = len_epoch + self.valid_data_loader = valid_data_loader + self.do_validation = self.valid_data_loader is not None + cfg_trainer = config['trainer']['args'] + self.epochs = cfg_trainer['epochs'] + self.save_period = cfg_trainer['save_period'] + self.monitor = cfg_trainer.get('monitor', 'off') + + # configuration to monitor model performance and save best + if self.monitor == 'off': + self.mnt_mode = 'off' + self.mnt_best = 0 + else: + self.mnt_mode, self.mnt_metric = self.monitor.split() + assert self.mnt_mode in ['min', 'max'] + + self.mnt_best = inf if self.mnt_mode == 'min' else -inf + self.early_stop = cfg_trainer.get('early_stop', inf) + if self.early_stop <= 0: + self.early_stop = inf + + self.start_epoch = 1 + self.checkpoint_dir = config.save_dir + + # setup visualization writer instance + self.writer = TensorboardWriter(config.log_dir, self.logger, cfg_trainer['tensorboard']) + + if config.resume is not None: + self._resume_checkpoint(config) + + @abstractmethod + def _train_epoch(self, epoch): + """ + Training logic for an epoch + + :param epoch: Current epoch number + """ + raise NotImplementedError + + @abstractmethod + def _build_model(self, config): + """ + Build model from the configuration file + + :param config: config file + """ + raise NotImplementedError + + @abstractmethod + def _load_loss(self, config): + """ + Load loss from the configuration file + + :param config: config file + """ + raise NotImplementedError + + @abstractmethod + def _load_optimizer(self, model, config): + """ + Load optimizer from the configuration file + + :param config: config file + """ + raise NotImplementedError + + @abstractmethod + def _load_scheduler(self, optimizer, config): + """ + Load scheduler from the configuration file + + :param config: config file + """ + raise NotImplementedError + + @abstractmethod + def _save_checkpoint(self, epoch, save_best): + """ + Saving checkpoints + + :param epoch: current epoch number + :param log: logging information of the epoch + :param save_best: if True, rename the saved checkpoint to 'model_best.pth' + """ + raise NotImplementedError + + @abstractmethod + def _resume_checkpoint(self, resume_path): + """ + Resume from saved checkpoints + + :param resume_path: Checkpoint path to be resumed + """ + raise NotImplementedError + + def train(self): + """ + Full training logic + """ + not_improved_count = 0 + for epoch in range(self.start_epoch, self.epochs + 1): + result = self._train_epoch(epoch) + + # save logged informations into log dict + log = {'epoch': epoch} + log.update(result) + + # print logged informations to the screen + for key, value in log.items(): + self.logger.info(' {:15s}: {}'.format(str(key), value)) + + # evaluate model performance according to configured metric, save best checkpoint as model_best + best = False + if self.mnt_mode != 'off': + try: + # check whether model performance improved or not, according to specified metric(mnt_metric) + improved = (self.mnt_mode == 'min' and log[self.mnt_metric] <= self.mnt_best) or \ + (self.mnt_mode == 'max' and log[self.mnt_metric] >= self.mnt_best) + except KeyError: + self.logger.warning("Warning: Metric '{}' is not found. " + "Model performance monitoring is disabled.".format(self.mnt_metric)) + self.mnt_mode = 'off' + improved = False + + if improved: + self.mnt_best = log[self.mnt_metric] + not_improved_count = 0 + best = True + else: + not_improved_count += 1 + + if not_improved_count > self.early_stop: + self.logger.info("Validation performance didn\'t improve for {} epochs. " + "Training stops.".format(self.early_stop)) + break + + if epoch % self.save_period == 0: + self._save_checkpoint(epoch, save_best=best) + + def _progress(self, batch_idx): + base = '[{}/{} ({:.0f}%)]' + if hasattr(self.train_data_loader, 'n_samples'): + current = batch_idx * self.train_data_loader.batch_size + total = self.train_data_loader.n_samples + else: + current = batch_idx + total = self.len_epoch + return base.format(current, total, 100.0 * current / total) + diff --git a/configs/deg_all/CIFAR10/ResNet56-56_fusiondistill.yaml b/configs/deg_all/CIFAR10/ResNet56-56_fusiondistill.yaml new file mode 100644 index 0000000..6a99189 --- /dev/null +++ b/configs/deg_all/CIFAR10/ResNet56-56_fusiondistill.yaml @@ -0,0 +1,56 @@ +name: ResNet56-56_CIFAR10 +n_gpu: 1 +teacher_model: + type: ResNet56 + args: + deg_flag: clean + num_class: 10 + pretrained_path_jpeg: saved/jpeg/SLTrainer/ResNet56-56_CIFAR10/train//model_best.pth + pretrained_path_blur: saved/blur/SLTrainer/ResNet56-56_CIFAR10/train//model_best.pth + pretrained_path_noise: saved/noise/SLTrainer/ResNet56-56_CIFAR10/train//model_best.pth + pretrained_path_saltpepper: saved/saltpepper/SLTrainer/ResNet56-56_CIFAR10/train//model_best.pth +student_model: + type: ResNet56 + args: + deg_flag: deg + num_class: 10 + pretrained_path: ./saved/combined_deg/SLTrainer/ResNet56-56_CIFAR10_soups/train//model_best.pth +data_loader: + type: DegCIFAR10DataLoader + args: + data_dir: data/ + batch_size: 128 + shuffle: true + validation_split: 0.0 + num_workers: 2 + deg_type: combined_deg + cutout_method: Cutout + cutout_length: 16 + cutout_apply_clean: false + cutout_apply_deg: true +optimizer: + type: RAdam + args: + lr: 0.001 + weight_decay: 0.0001 +loss: + - supervised_loss: CE + - inheritance_loss: COS +loss_weights: [0.1, [0.0, 0.0, 1.0]] +metrics: +- accuracy +lr_scheduler: + type: MultiStepLR + args: + milestones: [30, 70, 90] + gamma: 0.2 +trainer: + type: SLDA_Trainer + args: + epochs: 100 + save_dir: saved/ + save_period: 1 + verbosity: 2 + monitor: max val_accuracy_deg + early_stop: 100 + tensorboard: true \ No newline at end of file diff --git a/configs/deg_all/CIFAR10/ResNet56_base_scratch.yaml b/configs/deg_all/CIFAR10/ResNet56_base_scratch.yaml new file mode 100644 index 0000000..5e6a7d3 --- /dev/null +++ b/configs/deg_all/CIFAR10/ResNet56_base_scratch.yaml @@ -0,0 +1,46 @@ +name: ResNet56_CIFAR10_deg_scratch +n_gpu: 1 +model: + type: ResNet56 + args: + deg_flag: deg + num_class: 10 +data_loader: + type: DegCIFAR10DataLoader + args: + data_dir: data/ + batch_size: 128 + shuffle: true + validation_split: 0.0 + num_workers: 2 + deg_type: jpeg + cutout_apply_clean: true + cutout_apply_deg: true + cutout_method: Cutout + cutout_length: 16 +optimizer: + type: SGD + args: + lr: 0.1 + momentum: 0.9 + weight_decay: 0.0001 +loss: + - supervised_loss: CE +loss_weights: [1.0] +metrics: +- accuracy +lr_scheduler: + type: MultiStepLR + args: + milestones: [60, 140, 180] + gamma: 0.2 +trainer: + type: IndDATrainer + args: + epochs: 200 + save_dir: saved/ + save_period: 1 + verbosity: 2 + monitor: max val_accuracy_deg + early_stop: 200 + tensorboard: true \ No newline at end of file diff --git a/configs/deg_all/CIFAR10/ResNet56_base_vanilla.yaml b/configs/deg_all/CIFAR10/ResNet56_base_vanilla.yaml new file mode 100644 index 0000000..170c798 --- /dev/null +++ b/configs/deg_all/CIFAR10/ResNet56_base_vanilla.yaml @@ -0,0 +1,46 @@ +name: ResNet56_CIFAR10_deg_vanilla +n_gpu: 1 +model: + type: ResNet56 + args: + deg_flag: deg + num_class: 10 + pretrained_path: ./saved/jpeg/IndTrainer/ResNet56_CIFAR10_clean/train//model_best.pth +data_loader: + type: DegCIFAR10DataLoader + args: + data_dir: data/ + batch_size: 128 + shuffle: true + validation_split: 0.0 + num_workers: 2 + deg_type: combined_deg + cutout_apply_clean: true + cutout_apply_deg: true + cutout_method: Cutout + cutout_length: 16 +optimizer: + type: RAdam + args: + lr: 0.001 + weight_decay: 0.0001 +loss: + - supervised_loss: CE +loss_weights: [1.0] +metrics: +- accuracy +lr_scheduler: + type: MultiStepLR + args: + milestones: [60, 140, 180] + gamma: 0.2 +trainer: + type: IndDATrainer + args: + epochs: 200 + save_dir: saved/ + save_period: 1 + verbosity: 2 + monitor: max val_accuracy_deg + early_stop: 200 + tensorboard: true \ No newline at end of file diff --git a/configs/deg_all/CIFAR10/ResNet56_ensemble.yaml b/configs/deg_all/CIFAR10/ResNet56_ensemble.yaml new file mode 100644 index 0000000..77176df --- /dev/null +++ b/configs/deg_all/CIFAR10/ResNet56_ensemble.yaml @@ -0,0 +1,35 @@ +name: ResNet56_CIFAR10_deg_ensemble +n_gpu: 1 +model: + type: ResNet56 + args: + deg_flag: deg + num_class: 10 + pretrained_path_jpeg: saved/jpeg/SLTrainer/ResNet56-56_CIFAR10/train//model_best.pth + pretrained_path_blur: saved/blur/SLTrainer/ResNet56-56_CIFAR10/train//model_best.pth + pretrained_path_noise: saved/noise/SLTrainer/ResNet56-56_CIFAR10/train//model_best.pth + pretrained_path_saltpepper: saved/saltpepper/SLTrainer/ResNet56-56_CIFAR10/train//model_best.pth +data_loader: + type: DegCIFAR10DataLoader + args: + data_dir: data/ + batch_size: 128 + shuffle: true + validation_split: 0.0 + num_workers: 2 + deg_type: jpeg +loss: + - supervised_loss: CE +loss_weights: [1.0] +metrics: +- accuracy_classes +trainer: + type: IndDATrainer + args: + epochs: 100 + save_dir: saved/ + save_period: 1 + verbosity: 2 + monitor: max val_accuracy_deg + early_stop: 100 + tensorboard: true \ No newline at end of file diff --git a/configs/deg_all/CIFAR10/ResNet56_fused.yaml b/configs/deg_all/CIFAR10/ResNet56_fused.yaml new file mode 100644 index 0000000..6601af5 --- /dev/null +++ b/configs/deg_all/CIFAR10/ResNet56_fused.yaml @@ -0,0 +1,46 @@ +name: ResNet56_CIFAR10_deg_fused +n_gpu: 1 +model: + type: ResNet56 + args: + deg_flag: deg + num_class: 10 + pretrained_path: ./saved/combined_deg/SLTrainer/ResNet56-56_CIFAR10_soups/train//model_best.pth +data_loader: + type: DegCIFAR10DataLoader + args: + data_dir: data/ + batch_size: 128 + shuffle: true + validation_split: 0.0 + num_workers: 2 + deg_type: combined_deg + cutout_apply_clean: true + cutout_apply_deg: true + cutout_method: Cutout + cutout_length: 16 +optimizer: + type: RAdam + args: + lr: 0.001 + weight_decay: 0.0001 +loss: + - supervised_loss: CE +loss_weights: [1.0] +metrics: +- accuracy +lr_scheduler: + type: MultiStepLR + args: + milestones: [30, 70, 90] + gamma: 0.2 +trainer: + type: IndDATrainer + args: + epochs: 100 + save_dir: saved/ + save_period: 1 + verbosity: 2 + monitor: max val_accuracy_deg + early_stop: 100 + tensorboard: true \ No newline at end of file diff --git a/configs/deg_all/CIFAR10/ResNet56_soups.yaml b/configs/deg_all/CIFAR10/ResNet56_soups.yaml new file mode 100644 index 0000000..379a427 --- /dev/null +++ b/configs/deg_all/CIFAR10/ResNet56_soups.yaml @@ -0,0 +1,35 @@ +name: ResNet56_CIFAR10_deg +n_gpu: 1 +model: + type: ResNet56 + args: + deg_flag: deg + num_class: 10 + pretrained_path_jpeg: saved/jpeg/SLTrainer/ResNet56-56_CIFAR10/train//model_best.pth + pretrained_path_blur: saved/blur/SLTrainer/ResNet56-56_CIFAR10/train//model_best.pth + pretrained_path_noise: saved/noise/SLTrainer/ResNet56-56_CIFAR10/train//model_best.pth + pretrained_path_saltpepper: saved/saltpepper/SLTrainer/ResNet56-56_CIFAR10/train//model_best.pth +data_loader: + type: DegCIFAR10DataLoader + args: + data_dir: data/ + batch_size: 128 + shuffle: true + validation_split: 0.0 + num_workers: 2 + deg_type: jpeg +loss: + - supervised_loss: CE +loss_weights: [1.0] +metrics: +- accuracy +trainer: + type: SLTrainer + args: + epochs: 100 + save_dir: saved/ + save_period: 1 + verbosity: 2 + monitor: max val_accuracy_deg + early_stop: 100 + tensorboard: true \ No newline at end of file diff --git a/configs/deg_all/CIFAR100/ResNet56-56_fusiondistill.yaml b/configs/deg_all/CIFAR100/ResNet56-56_fusiondistill.yaml new file mode 100644 index 0000000..419c9bb --- /dev/null +++ b/configs/deg_all/CIFAR100/ResNet56-56_fusiondistill.yaml @@ -0,0 +1,56 @@ +name: ResNet56-56_CIFAR100 +n_gpu: 1 +teacher_model: + type: ResNet56 + args: + deg_flag: clean + num_class: 100 + pretrained_path_jpeg: saved/jpeg/SLTrainer/ResNet56-56_CIFAR100/train//model_best.pth + pretrained_path_blur: saved/blur/SLTrainer/ResNet56-56_CIFAR100/train//model_best.pth + pretrained_path_noise: saved/noise/SLTrainer/ResNet56-56_CIFAR100/train//model_best.pth + pretrained_path_saltpepper: saved/saltpepper/SLTrainer/ResNet56-56_CIFAR100/train//model_best.pth +student_model: + type: ResNet56 + args: + deg_flag: deg + num_class: 100 + pretrained_path: ./saved/combined_deg/SLTrainer/ResNet56-56_CIFAR100_soups/train//model_best.pth # Model_soups: ILIAC - seed 1 +data_loader: + type: DegCIFAR100DataLoader + args: + data_dir: data/ + batch_size: 128 + shuffle: true + validation_split: 0.0 + num_workers: 2 + deg_type: combined_deg + cutout_method: Cutout + cutout_length: 16 + cutout_apply_clean: false + cutout_apply_deg: true +optimizer: + type: RAdam + args: + lr: 0.001 + weight_decay: 0.0001 +loss: + - supervised_loss: CE + - inheritance_loss: COS +loss_weights: [0.1, [0.0, 0.0, 1.0]] +metrics: +- accuracy +lr_scheduler: + type: MultiStepLR + args: + milestones: [30, 70, 90] + gamma: 0.2 +trainer: + type: SLDA_Trainer + args: + epochs: 100 + save_dir: saved/ + save_period: 1 + verbosity: 2 + monitor: max val_accuracy_deg + early_stop: 100 + tensorboard: true \ No newline at end of file diff --git a/configs/deg_all/CIFAR100/ResNet56_base_scratch.yaml b/configs/deg_all/CIFAR100/ResNet56_base_scratch.yaml new file mode 100644 index 0000000..d65a16b --- /dev/null +++ b/configs/deg_all/CIFAR100/ResNet56_base_scratch.yaml @@ -0,0 +1,46 @@ +name: ResNet56_CIFAR100_deg_scratch +n_gpu: 1 +model: + type: ResNet56 + args: + deg_flag: deg + num_class: 100 +data_loader: + type: DegCIFAR100DataLoader + args: + data_dir: data/ + batch_size: 128 + shuffle: true + validation_split: 0.0 + num_workers: 2 + deg_type: jpeg + cutout_apply_clean: true + cutout_apply_deg: true + cutout_method: Cutout + cutout_length: 16 +optimizer: + type: SGD + args: + lr: 0.1 + momentum: 0.9 + weight_decay: 0.0001 +loss: + - supervised_loss: CE +loss_weights: [1.0] +metrics: +- accuracy +lr_scheduler: + type: MultiStepLR + args: + milestones: [60, 140, 180] + gamma: 0.2 +trainer: + type: IndDATrainer + args: + epochs: 200 + save_dir: saved/ + save_period: 1 + verbosity: 2 + monitor: max val_accuracy_deg + early_stop: 200 + tensorboard: true \ No newline at end of file diff --git a/configs/deg_all/CIFAR100/ResNet56_base_vanilla.yaml b/configs/deg_all/CIFAR100/ResNet56_base_vanilla.yaml new file mode 100644 index 0000000..eab8866 --- /dev/null +++ b/configs/deg_all/CIFAR100/ResNet56_base_vanilla.yaml @@ -0,0 +1,46 @@ +name: ResNet56_CIFAR100_deg_vanilla +n_gpu: 1 +model: + type: ResNet56 + args: + deg_flag: deg + num_class: 100 + pretrained_path: ./saved/jpeg/IndTrainer/ResNet56_CIFAR100_clean/train//model_best.pth +data_loader: + type: DegCIFAR100DataLoader + args: + data_dir: data/ + batch_size: 128 + shuffle: true + validation_split: 0.0 + num_workers: 2 + deg_type: combined_deg + cutout_apply_clean: true + cutout_apply_deg: true + cutout_method: Cutout + cutout_length: 16 +optimizer: + type: RAdam + args: + lr: 0.001 + weight_decay: 0.0001 +loss: + - supervised_loss: CE +loss_weights: [1.0] +metrics: +- accuracy +lr_scheduler: + type: MultiStepLR + args: + milestones: [60, 140, 180] + gamma: 0.2 +trainer: + type: IndDATrainer + args: + epochs: 200 + save_dir: saved/ + save_period: 1 + verbosity: 2 + monitor: max val_accuracy_deg + early_stop: 200 + tensorboard: true \ No newline at end of file diff --git a/configs/deg_all/CIFAR100/ResNet56_ensemble.yaml b/configs/deg_all/CIFAR100/ResNet56_ensemble.yaml new file mode 100644 index 0000000..cbb38b9 --- /dev/null +++ b/configs/deg_all/CIFAR100/ResNet56_ensemble.yaml @@ -0,0 +1,35 @@ +name: ResNet56_CIFAR100_deg_ensemble +n_gpu: 1 +model: + type: ResNet56 + args: + deg_flag: deg + num_class: 100 + pretrained_path_jpeg: saved/jpeg/SLTrainer/ResNet56-56_CIFAR100/train//model_best.pth + pretrained_path_blur: saved/blur/SLTrainer/ResNet56-56_CIFAR100/train//model_best.pth + pretrained_path_noise: saved/noise/SLTrainer/ResNet56-56_CIFAR100/train//model_best.pth + pretrained_path_saltpepper: saved/saltpepper/SLTrainer/ResNet56-56_CIFAR100/train//model_best.pth +data_loader: + type: DegCIFAR100DataLoader + args: + data_dir: data/ + batch_size: 128 + shuffle: true + validation_split: 0.0 + num_workers: 2 + deg_type: jpeg +loss: + - supervised_loss: CE +loss_weights: [1.0] +metrics: +- accuracy_classes +trainer: + type: IndDATrainer + args: + epochs: 100 + save_dir: saved/ + save_period: 1 + verbosity: 2 + monitor: max val_accuracy_deg + early_stop: 100 + tensorboard: true \ No newline at end of file diff --git a/configs/deg_all/CIFAR100/ResNet56_fused.yaml b/configs/deg_all/CIFAR100/ResNet56_fused.yaml new file mode 100644 index 0000000..fff1540 --- /dev/null +++ b/configs/deg_all/CIFAR100/ResNet56_fused.yaml @@ -0,0 +1,46 @@ +name: ResNet56_CIFAR100_deg_fused +n_gpu: 1 +model: + type: ResNet56 + args: + deg_flag: deg + num_class: 100 + pretrained_path: ./saved/combined_deg/SLTrainer/ResNet56-56_CIFAR100_soups/train//model_best.pth # Model_soups: ILIAC - seed 2 +data_loader: + type: DegCIFAR100DataLoader + args: + data_dir: data/ + batch_size: 128 + shuffle: true + validation_split: 0.0 + num_workers: 2 + deg_type: combined_deg + cutout_apply_clean: true + cutout_apply_deg: true + cutout_method: Cutout + cutout_length: 16 +optimizer: + type: RAdam + args: + lr: 0.001 + weight_decay: 0.0001 +loss: + - supervised_loss: CE +loss_weights: [1.0] +metrics: +- accuracy +lr_scheduler: + type: MultiStepLR + args: + milestones: [30, 70, 90] + gamma: 0.2 +trainer: + type: IndDATrainer + args: + epochs: 100 + save_dir: saved/ + save_period: 1 + verbosity: 2 + monitor: max val_accuracy_deg + early_stop: 100 + tensorboard: true \ No newline at end of file diff --git a/configs/deg_all/CIFAR100/ResNet56_soups.yaml b/configs/deg_all/CIFAR100/ResNet56_soups.yaml new file mode 100644 index 0000000..0ca749a --- /dev/null +++ b/configs/deg_all/CIFAR100/ResNet56_soups.yaml @@ -0,0 +1,35 @@ +name: ResNet56_CIFAR100_deg +n_gpu: 1 +model: + type: ResNet56 + args: + deg_flag: deg + num_class: 100 + pretrained_path_jpeg: saved/jpeg/SLTrainer/ResNet56-56_CIFAR100/train//model_best.pth + pretrained_path_blur: saved/blur/SLTrainer/ResNet56-56_CIFAR100/train//model_best.pth + pretrained_path_noise: saved/noise/SLTrainer/ResNet56-56_CIFAR100/train//model_best.pth + pretrained_path_saltpepper: saved/saltpepper/SLTrainer/ResNet56-56_CIFAR100/train//model_best.pth +data_loader: + type: DegCIFAR100DataLoader + args: + data_dir: data/ + batch_size: 128 + shuffle: true + validation_split: 0.0 + num_workers: 2 + deg_type: jpeg +loss: + - supervised_loss: CE +loss_weights: [1.0] +metrics: +- accuracy +trainer: + type: SLTrainer + args: + epochs: 100 + save_dir: saved/ + save_period: 1 + verbosity: 2 + monitor: max val_accuracy_deg + early_stop: 100 + tensorboard: true \ No newline at end of file diff --git a/configs/deg_all/TinyImagenet/ResNet56-56_fusiondistill.yaml b/configs/deg_all/TinyImagenet/ResNet56-56_fusiondistill.yaml new file mode 100644 index 0000000..3b9d0d1 --- /dev/null +++ b/configs/deg_all/TinyImagenet/ResNet56-56_fusiondistill.yaml @@ -0,0 +1,56 @@ +name: ResNet56-56_TinyImagenet +n_gpu: 1 +teacher_model: + type: ResNet56 + args: + deg_flag: clean + num_class: 200 + pretrained_path_jpeg: saved/jpeg/SLTrainer/ResNet56-56_TinyImagenet/train//model_best.pth + pretrained_path_blur: saved/blur/SLTrainer/ResNet56-56_TinyImagenet/train//model_best.pth + pretrained_path_noise: saved/noise/SLTrainer/ResNet56-56_TinyImagenet/train//model_best.pth + pretrained_path_saltpepper: saved/saltpepper/SLTrainer/ResNet56-56_TinyImagenet/train//model_best.pth +student_model: + type: ResNet56 + args: + deg_flag: deg + num_class: 200 + pretrained_path: ./saved/combined_deg/SLTrainer/ResNet56-56_TinyImagenet_soups/train//model_best.pth # Model_soups: ILIAC - seed 1 +data_loader: + type: DegTinyImagenetDataLoader + args: + data_dir: data/ + batch_size: 128 + shuffle: true + validation_split: 0.0 + num_workers: 1 + deg_type: combined_deg + cutout_method: Cutout + cutout_length: 16 + cutout_apply_clean: false + cutout_apply_deg: true +optimizer: + type: RAdam + args: + lr: 0.001 + weight_decay: 0.0001 +loss: + - supervised_loss: CE + - inheritance_loss: COS +loss_weights: [0.1, [0.0, 0.0, 1.0]] +metrics: +- accuracy +lr_scheduler: + type: MultiStepLR + args: + milestones: [30, 70, 90] + gamma: 0.2 +trainer: + type: SLDA_Trainer + args: + epochs: 100 + save_dir: saved/ + save_period: 1 + verbosity: 2 + monitor: max val_accuracy_deg + early_stop: 100 + tensorboard: true \ No newline at end of file diff --git a/configs/deg_all/TinyImagenet/ResNet56_base_scratch.yaml b/configs/deg_all/TinyImagenet/ResNet56_base_scratch.yaml new file mode 100644 index 0000000..76b448e --- /dev/null +++ b/configs/deg_all/TinyImagenet/ResNet56_base_scratch.yaml @@ -0,0 +1,46 @@ +name: ResNet56_TinyImagenet_deg_scratch +n_gpu: 1 +model: + type: ResNet56 + args: + deg_flag: deg + num_class: 200 +data_loader: + type: DegTinyImagenetDataLoader + args: + data_dir: data/ + batch_size: 128 + shuffle: true + validation_split: 0.0 + num_workers: 1 + deg_type: jpeg + cutout_apply_clean: true + cutout_apply_deg: true + cutout_method: Cutout + cutout_length: 32 +optimizer: + type: SGD + args: + lr: 0.1 + momentum: 0.9 + weight_decay: 0.0001 +loss: + - supervised_loss: CE +loss_weights: [1.0] +metrics: +- accuracy +lr_scheduler: + type: MultiStepLR + args: + milestones: [60, 140, 180] + gamma: 0.2 +trainer: + type: IndDATrainer + args: + epochs: 200 + save_dir: saved/ + save_period: 1 + verbosity: 2 + monitor: max val_accuracy_deg + early_stop: 200 + tensorboard: true \ No newline at end of file diff --git a/configs/deg_all/TinyImagenet/ResNet56_base_vanilla.yaml b/configs/deg_all/TinyImagenet/ResNet56_base_vanilla.yaml new file mode 100644 index 0000000..32426ea --- /dev/null +++ b/configs/deg_all/TinyImagenet/ResNet56_base_vanilla.yaml @@ -0,0 +1,46 @@ +name: ResNet56_TinyImagenet_deg_vanilla +n_gpu: 1 +model: + type: ResNet56 + args: + deg_flag: deg + num_class: 200 + pretrained_path: ./saved/jpeg/IndTrainer/ResNet56_TinyImagenet_clean/train//model_best.pth +data_loader: + type: DegTinyImagenetDataLoader + args: + data_dir: data/ + batch_size: 128 + shuffle: true + validation_split: 0.0 + num_workers: 1 + deg_type: combined_deg + cutout_apply_clean: true + cutout_apply_deg: true + cutout_method: Cutout + cutout_length: 32 +optimizer: + type: RAdam + args: + lr: 0.001 + weight_decay: 0.0001 +loss: + - supervised_loss: CE +loss_weights: [1.0] +metrics: +- accuracy +lr_scheduler: + type: MultiStepLR + args: + milestones: [60, 140, 180] + gamma: 0.2 +trainer: + type: IndDATrainer + args: + epochs: 200 + save_dir: saved/ + save_period: 1 + verbosity: 2 + monitor: max val_accuracy_deg + early_stop: 200 + tensorboard: true \ No newline at end of file diff --git a/configs/deg_all/TinyImagenet/ResNet56_ensemble.yaml b/configs/deg_all/TinyImagenet/ResNet56_ensemble.yaml new file mode 100644 index 0000000..523bef8 --- /dev/null +++ b/configs/deg_all/TinyImagenet/ResNet56_ensemble.yaml @@ -0,0 +1,35 @@ +name: ResNet56_TinyImagenet_deg_ensemble +n_gpu: 1 +model: + type: ResNet56 + args: + deg_flag: deg + num_class: 200 + pretrained_path_jpeg: saved/jpeg/SLTrainer/ResNet56-56_TinyImagenet/train//model_best.pth + pretrained_path_blur: saved/blur/SLTrainer/ResNet56-56_TinyImagenet/train//model_best.pth + pretrained_path_noise: saved/noise/SLTrainer/ResNet56-56_TinyImagenet/train//model_best.pth + pretrained_path_saltpepper: saved/saltpepper/SLTrainer/ResNet56-56_TinyImagenet/train//model_best.pth +data_loader: + type: DegTinyImagenetDataLoader + args: + data_dir: data/ + batch_size: 128 + shuffle: true + validation_split: 0.0 + num_workers: 2 + deg_type: jpeg +loss: + - supervised_loss: CE +loss_weights: [1.0] +metrics: +- accuracy_classes +trainer: + type: IndDATrainer + args: + epochs: 100 + save_dir: saved/ + save_period: 1 + verbosity: 2 + monitor: max val_accuracy_deg + early_stop: 100 + tensorboard: true \ No newline at end of file diff --git a/configs/deg_all/TinyImagenet/ResNet56_fused.yaml b/configs/deg_all/TinyImagenet/ResNet56_fused.yaml new file mode 100644 index 0000000..126154c --- /dev/null +++ b/configs/deg_all/TinyImagenet/ResNet56_fused.yaml @@ -0,0 +1,46 @@ +name: ResNet56_TinyImagenet_deg_fused +n_gpu: 1 +model: + type: ResNet56 + args: + deg_flag: deg + num_class: 200 + pretrained_path: ./saved/combined_deg/SLTrainer/ResNet56-56_TinyImagenet_soups/train//model_best.pth # Model_soups: ILIAC - seed 2 +data_loader: + type: DegTinyImagenetDataLoader + args: + data_dir: data/ + batch_size: 128 + shuffle: true + validation_split: 0.0 + num_workers: 1 + deg_type: combined_deg + cutout_apply_clean: true + cutout_apply_deg: true + cutout_method: Cutout + cutout_length: 16 +optimizer: + type: RAdam + args: + lr: 0.001 + weight_decay: 0.0001 +loss: + - supervised_loss: CE +loss_weights: [1.0] +metrics: +- accuracy +lr_scheduler: + type: MultiStepLR + args: + milestones: [30, 70, 90] + gamma: 0.2 +trainer: + type: IndDATrainer + args: + epochs: 100 + save_dir: saved/ + save_period: 1 + verbosity: 2 + monitor: max val_accuracy_deg + early_stop: 100 + tensorboard: true \ No newline at end of file diff --git a/configs/deg_all/TinyImagenet/ResNet56_soups.yaml b/configs/deg_all/TinyImagenet/ResNet56_soups.yaml new file mode 100644 index 0000000..d20d718 --- /dev/null +++ b/configs/deg_all/TinyImagenet/ResNet56_soups.yaml @@ -0,0 +1,35 @@ +name: ResNet56_TinyImagenet_deg +n_gpu: 1 +model: + type: ResNet56 + args: + deg_flag: deg + num_class: 200 + pretrained_path_jpeg: saved/jpeg/SLTrainer/ResNet56-56_TinyImagenet/train//model_best.pth + pretrained_path_blur: saved/blur/SLTrainer/ResNet56-56_TinyImagenet/train//model_best.pth + pretrained_path_noise: saved/noise/SLTrainer/ResNet56-56_TinyImagenet/train//model_best.pth + pretrained_path_saltpepper: saved/saltpepper/SLTrainer/ResNet56-56_TinyImagenet/train//model_best.pth +data_loader: + type: DegTinyImagenetDataLoader + args: + data_dir: data/ + batch_size: 128 + shuffle: true + validation_split: 0.0 + num_workers: 2 + deg_type: jpeg +loss: + - supervised_loss: CE +loss_weights: [1.0] +metrics: +- accuracy +trainer: + type: SLTrainer + args: + epochs: 100 + save_dir: saved/ + save_period: 1 + verbosity: 2 + monitor: max val_accuracy_deg + early_stop: 100 + tensorboard: true \ No newline at end of file diff --git a/configs/ind/CIFAR10/ResNet56_clean.yaml b/configs/ind/CIFAR10/ResNet56_clean.yaml new file mode 100644 index 0000000..a73a7f4 --- /dev/null +++ b/configs/ind/CIFAR10/ResNet56_clean.yaml @@ -0,0 +1,45 @@ +name: ResNet56_CIFAR10_clean +n_gpu: 1 +model: + type: ResNet56 + args: + deg_flag: clean + num_class: 10 +data_loader: + type: DegCIFAR10DataLoader + args: + data_dir: data/ + batch_size: 128 + shuffle: true + validation_split: 0.0 + num_workers: 2 + deg_type: jpeg + cutout_method: Cutout + cutout_length: 16 + cutout_apply_clean: True +optimizer: + type: SGD + args: + lr: 0.1 + momentum: 0.9 + weight_decay: 0.0001 +loss: + - supervised_loss: CE +loss_weights: [1.0] +metrics: +- accuracy +lr_scheduler: + type: MultiStepLR + args: + milestones: [60, 120, 160] + gamma: 0.2 +trainer: + type: IndTrainer + args: + epochs: 200 + save_dir: saved/ + save_period: 1 + verbosity: 2 + monitor: max val_accuracy_clean + early_stop: 200 + tensorboard: true \ No newline at end of file diff --git a/configs/ind/CIFAR100/ResNet56_clean.yaml b/configs/ind/CIFAR100/ResNet56_clean.yaml new file mode 100644 index 0000000..1041cef --- /dev/null +++ b/configs/ind/CIFAR100/ResNet56_clean.yaml @@ -0,0 +1,45 @@ +name: ResNet56_CIFAR100_clean +n_gpu: 1 +model: + type: ResNet56 + args: + deg_flag: clean + num_class: 100 +data_loader: + type: DegCIFAR100DataLoader + args: + data_dir: data/ + batch_size: 128 + shuffle: true + validation_split: 0.0 + num_workers: 3 + deg_type: jpeg + cutout_method: Cutout + cutout_length: 16 + cutout_apply_clean: True +optimizer: + type: SGD + args: + lr: 0.1 + momentum: 0.9 + weight_decay: 0.0005 +loss: + - supervised_loss: CE +loss_weights: [1.0] +metrics: +- accuracy +lr_scheduler: + type: MultiStepLR + args: + milestones: [60, 120, 160] + gamma: 0.2 +trainer: + type: IndTrainer + args: + epochs: 200 + save_dir: saved/ + save_period: 1 + verbosity: 2 + monitor: max val_accuracy_clean + early_stop: 200 + tensorboard: true \ No newline at end of file diff --git a/configs/ind/TinyImagenet/ResNet56_clean.yaml b/configs/ind/TinyImagenet/ResNet56_clean.yaml new file mode 100644 index 0000000..9731f88 --- /dev/null +++ b/configs/ind/TinyImagenet/ResNet56_clean.yaml @@ -0,0 +1,45 @@ +name: ResNet56_TinyImagenet_clean +n_gpu: 1 +model: + type: ResNet56 + args: + deg_flag: clean + num_class: 200 +data_loader: + type: DegTinyImagenetDataLoader + args: + data_dir: data/ + batch_size: 128 + shuffle: true + validation_split: 0.0 + num_workers: 5 + deg_type: jpeg + cutout_method: Cutout + cutout_length: 32 + cutout_apply_clean: True +optimizer: + type: SGD + args: + lr: 0.1 + momentum: 0.9 + weight_decay: 0.0005 +loss: + - supervised_loss: CE +loss_weights: [1.0] +metrics: +- accuracy +lr_scheduler: + type: MultiStepLR + args: + milestones: [60, 120, 160] + gamma: 0.2 +trainer: + type: IndTrainer + args: + epochs: 200 + save_dir: saved/ + save_period: 1 + verbosity: 2 + monitor: max val_accuracy_clean + early_stop: 200 + tensorboard: true \ No newline at end of file diff --git a/configs/sl/CIFAR10/ResNet56-56.yaml b/configs/sl/CIFAR10/ResNet56-56.yaml new file mode 100644 index 0000000..d31be68 --- /dev/null +++ b/configs/sl/CIFAR10/ResNet56-56.yaml @@ -0,0 +1,53 @@ +name: ResNet56-56_CIFAR10 +n_gpu: 1 +# random_seed: 0 +teacher_model: + type: ResNet56 + args: + deg_flag: clean + num_class: 10 + pretrained_path: ./saved/jpeg/IndTrainer/ResNet56_CIFAR10_clean/train//model_best.pth +student_model: + type: ResNet56 + args: + deg_flag: deg + num_class: 10 + pretrained_path: ./saved/jpeg/IndTrainer/ResNet56_CIFAR10_clean/train//model_best.pth +data_loader: + type: DegCIFAR10DataLoader + args: + data_dir: data/ + batch_size: 128 + shuffle: true + validation_split: 0.0 + num_workers: 2 + deg_type: jpeg + cutout_method: Cutout + cutout_length: 16 + cutout_apply_clean: false + cutout_apply_deg: true +optimizer: + type: RAdam + args: + lr: 0.001 + weight_decay: 0.0001 +loss: + - supervised_loss: CE + - inheritance_loss: COS +loss_weights: [1.0, [0.0, 0.0, 1.0]] +metrics: +- accuracy +lr_scheduler: + type: CosineAnnealingLR + args: + T_max: 100 +trainer: + type: SLTrainer + args: + epochs: 100 + save_dir: saved/ + save_period: 1 + verbosity: 2 + monitor: max val_accuracy_deg + early_stop: 100 + tensorboard: true \ No newline at end of file diff --git a/configs/sl/CIFAR100/ResNet56-56.yaml b/configs/sl/CIFAR100/ResNet56-56.yaml new file mode 100644 index 0000000..81c2e60 --- /dev/null +++ b/configs/sl/CIFAR100/ResNet56-56.yaml @@ -0,0 +1,52 @@ +name: ResNet56-56_CIFAR100 +n_gpu: 1 +teacher_model: + type: ResNet56 + args: + deg_flag: clean + num_class: 100 + pretrained_path: ./saved/jpeg/IndTrainer/ResNet56_CIFAR100_clean/train//model_best.pth +student_model: + type: ResNet56 + args: + deg_flag: deg + num_class: 100 + pretrained_path: ./saved/jpeg/IndTrainer/ResNet56_CIFAR100_clean/train//model_best.pth +data_loader: + type: DegCIFAR100DataLoader + args: + data_dir: data/ + batch_size: 128 + shuffle: true + validation_split: 0.0 + num_workers: 2 + deg_type: jpeg + cutout_method: Cutout + cutout_length: 16 + cutout_apply_clean: false + cutout_apply_deg: true +optimizer: + type: RAdam + args: + lr: 0.001 + weight_decay: 0.0001 +loss: + - supervised_loss: CE + - inheritance_loss: COS +loss_weights: [1.0, [0.0, 0.0, 1.0]] +metrics: +- accuracy +lr_scheduler: + type: CosineAnnealingLR + args: + T_max: 100 +trainer: + type: SLTrainer + args: + epochs: 100 + save_dir: saved/ + save_period: 1 + verbosity: 2 + monitor: max val_accuracy_deg + early_stop: 100 + tensorboard: true \ No newline at end of file diff --git a/configs/sl/TinyImagenet/ResNet56-56.yaml b/configs/sl/TinyImagenet/ResNet56-56.yaml new file mode 100644 index 0000000..fdf9fff --- /dev/null +++ b/configs/sl/TinyImagenet/ResNet56-56.yaml @@ -0,0 +1,52 @@ +name: ResNet56-56_TinyImagenet +n_gpu: 1 +teacher_model: + type: ResNet56 + args: + deg_flag: clean + num_class: 200 + pretrained_path: ./saved/jpeg/IndTrainer/ResNet56_TinyImagenet_clean/train//model_best.pth +student_model: + type: ResNet56 + args: + deg_flag: deg + num_class: 200 + pretrained_path: ./saved/jpeg/IndTrainer/ResNet56_TinyImagenet_clean/train//model_best.pth +data_loader: + type: DegTinyImagenetDataLoader + args: + data_dir: data/ + batch_size: 128 + shuffle: true + validation_split: 0.0 + num_workers: 2 + deg_type: jpeg + cutout_method: Cutout + cutout_length: 32 + cutout_apply_clean: false + cutout_apply_deg: true +optimizer: + type: RAdam + args: + lr: 0.001 + weight_decay: 0.0001 +loss: + - supervised_loss: CE + - inheritance_loss: COS +loss_weights: [1.0, [0.0, 0.0, 1.0]] +metrics: +- accuracy +lr_scheduler: + type: CosineAnnealingLR + args: + T_max: 100 +trainer: + type: SLTrainer + args: + epochs: 100 + save_dir: saved/ + save_period: 1 + verbosity: 2 + monitor: max val_accuracy_deg + early_stop: 100 + tensorboard: true \ No newline at end of file diff --git a/data_loader/data_loaders.py b/data_loader/data_loaders.py new file mode 100644 index 0000000..27ad594 --- /dev/null +++ b/data_loader/data_loaders.py @@ -0,0 +1,117 @@ +from torchvision import transforms +from base import BaseDataLoader +import argparse +from parse_config import ConfigParser +import data_loader.data_loaders as module_data +from utils.data.datasets import DegCIFAR10Dataset, DegCIFAR100Dataset, DegTinyImagenetDataset + +class DegCIFAR10DataLoader(BaseDataLoader): + """ + CIFAR10 data loader + """ + def __init__(self, data_dir, batch_size, shuffle=True, validation_split=0.0, num_workers=1, train=True, + deg_type = 'jpeg', deg_range = None, is_to_tensor = True, is_normalized = True, + transform = None, teacher_transform = None, student_transform = None, train_init_transform = None, + cutout_method = None, cutout_length = None, cutout_apply_clean = True, cutout_apply_deg = True, + cutout_independent = False): + self.data_dir = data_dir + self.cutout_method = cutout_method + if train: + train_init_transform = transforms.Compose([transforms.RandomHorizontalFlip()]) + if is_to_tensor: + if is_normalized: + normalize = transforms.Normalize(mean = (125.3/255.0, 123.0/255.0, 113.9/255.0), + std = (63.0/255.0, 62.1/255.0, 66.7/255.0)) + self.deg_to_tensor = transforms.Compose([transforms.ToTensor(), normalize]) + else: + self.deg_to_tensor = transforms.Compose([transforms.ToTensor()]) + + self.dataset = DegCIFAR10Dataset(data_dir, train, train_init_transform, teacher_transform, student_transform, + deg_type = deg_type, deg_range = deg_range, is_to_tensor = is_to_tensor, + deg_to_tensor = self.deg_to_tensor, cutout_method = cutout_method, + cutout_length = cutout_length, cutout_apply_clean = cutout_apply_clean, + cutout_apply_deg = cutout_apply_deg, cutout_independent = cutout_independent) + super().__init__(self.dataset, batch_size, shuffle, validation_split, num_workers) + +class DegCIFAR100DataLoader(BaseDataLoader): + """ + CIFAR100 data loader + """ + def __init__(self, data_dir, batch_size, shuffle=True, validation_split=0.0, num_workers=1, train=True, + deg_type = 'jpeg', deg_range = None, is_to_tensor = True, is_normalized = True, + transform = None, teacher_transform = None, student_transform = None, train_init_transform = None, + cutout_method = None, cutout_length = None, cutout_apply_clean = True, cutout_apply_deg = True, + cutout_independent = False): + self.data_dir = data_dir + self.cutout_method = cutout_method + if train: + train_init_transform = transforms.Compose([transforms.RandomHorizontalFlip()]) + if is_to_tensor: + if is_normalized: + normalize = transforms.Normalize(mean = [129.3/255.0, 124.1/255.0, 112.4/255.0], + std = [68.2/255.0, 65.4/255.0, 70.4/255.0]) + self.deg_to_tensor = transforms.Compose([transforms.ToTensor(), normalize]) + else: + self.deg_to_tensor = transforms.Compose([transforms.ToTensor()]) + + self.dataset = DegCIFAR100Dataset(data_dir, train, train_init_transform, teacher_transform, student_transform, + deg_type = deg_type, deg_range = deg_range, is_to_tensor = is_to_tensor, + deg_to_tensor = self.deg_to_tensor, cutout_method = cutout_method, + cutout_length = cutout_length, cutout_apply_clean = cutout_apply_clean, + cutout_apply_deg = cutout_apply_deg, cutout_independent = cutout_independent) + super().__init__(self.dataset, batch_size, shuffle, validation_split, num_workers) + +class DegTinyImagenetDataLoader(BaseDataLoader): + """ + Tiny ImageNet data loader + """ + def __init__(self, data_dir, batch_size, shuffle=True, validation_split=0.0, num_workers=1, train=True, + deg_type = 'jpeg', deg_range = None, is_to_tensor = True, is_normalized = True, + transform = None, teacher_transform = None, student_transform = None, train_init_transform = None, + cutout_method = None, cutout_length = None, cutout_apply_clean = True, cutout_apply_deg = True, + cutout_independent = False): + self.data_dir = data_dir + self.cutout_method = cutout_method + if train: + train_init_transform = transforms.Compose([transforms.RandomHorizontalFlip()]) + if is_to_tensor: + if is_normalized: + normalize = transforms.Normalize(mean=[0.485, 0.456, 0.406], + std=[0.229, 0.224, 0.225]) + self.deg_to_tensor = transforms.Compose([transforms.ToTensor(), normalize]) + else: + self.deg_to_tensor = transforms.Compose([transforms.ToTensor()]) + + self.dataset = DegTinyImagenetDataset(data_dir, train, train_init_transform, teacher_transform, student_transform, + deg_type = deg_type, deg_range = deg_range, is_to_tensor = is_to_tensor, + deg_to_tensor = self.deg_to_tensor, cutout_method = cutout_method, + cutout_length = cutout_length, cutout_apply_clean = cutout_apply_clean, + cutout_apply_deg = cutout_apply_deg, cutout_independent = cutout_independent) + super().__init__(self.dataset, batch_size, shuffle, validation_split, num_workers) + +if __name__ == '__main__': + args = argparse.ArgumentParser(description='Testing KD data loaders') + args.add_argument('-c', '--config', default=None, type=str, + help='config file path (default: None)') + args.add_argument('-r', '--resume', default=None, type=str, + help='path to latest checkpoint (default: None)') + args.add_argument('-d', '--device', default=None, type=str, + help='indices of GPUs to enable (default: all)') + + config = ConfigParser.from_args(args) + # setup data_loader instances + data_loader = config.init_obj('data_loader', module_data) + + # (image_clean, image_deg), targets = data_loader.dataset.__getitem__(index=5) + # print("Save images into test_imgs from:") + # print(image_clean.cpu().detach().numpy().shape) + # img = image_clean.cpu().detach().numpy().transpose(1,2,0) + # img = (img - np.min(img)) / (np.max(img) - np.min(img)) + # plt.imsave('./test_img.png', img) + # print('targets: ', targets) + + for batch_idx, (images, targets) in enumerate(data_loader): + (image_clean, image_deg) = images + (labels, levels) = targets + print(labels) + exit() diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 0000000..faf9586 --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,33 @@ +FROM nvidia/cuda:11.2.0-cudnn8-devel-ubuntu20.04 +MAINTAINER Dinesh Daultani + +# Temp fix for current nvidia key issue +COPY ./cuda-keyring_1.0-1_all.deb cuda-keyring_1.0-1_all.deb +RUN rm /etc/apt/sources.list.d/cuda.list \ + && rm /etc/apt/sources.list.d/nvidia-ml.list \ + && dpkg -i cuda-keyring_1.0-1_all.deb + +ARG DEBIAN_FRONTEND=noninteractive +RUN apt-get update && \ + apt-get install -y wget vim git zip && \ + apt-get install -y sudo software-properties-common systemd-sysv + +# Installing Anaconda +RUN wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh && \ + /bin/bash Miniconda3-latest-Linux-x86_64.sh -b -p /opt/conda && \ + rm Miniconda3-latest-Linux-x86_64.sh + +ENV PATH /opt/conda/bin:$PATH +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/extras/CUPTI/lib64 + +# Install libraries +RUN conda create -n py38 python=3.8 +SHELL ["/bin/bash", "-c"] +RUN source activate py38 && \ + echo $(python -V) && \ + conda install -y scikit-learn && \ + conda install -y pytorch==1.12.0 torchvision==0.13.0 -c pytorch + +COPY requirements.txt /tmp/ +RUN source activate py38 && \ + pip install -r /tmp/requirements.txt \ No newline at end of file diff --git a/docker/requirements.txt b/docker/requirements.txt new file mode 100644 index 0000000..7d44322 --- /dev/null +++ b/docker/requirements.txt @@ -0,0 +1,19 @@ +numpy +tqdm +tensorboard>=1.14 +sklearn +h5py==2.10.0 +pandas +matplotlib +argparse +logger +pyyaml +imagedegrade +torch-tb-profiler +ipykernel +imageio +torchinfo +openpyxl +seaborn +hiddenlayer +ptflops \ No newline at end of file diff --git a/figures/proposed-arch-diagram.png b/figures/proposed-arch-diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..d5550df1d04b4c6848bbe6174a8068cc87028d4b GIT binary patch literal 1093757 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 z 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%0AFVDDcL{fM(_jFyrs6-16VL$)mp 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

i)@pg^kJ2Oj$7Pd(+$4K(sk-t%P|- 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�Cxv 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

skXW1paZfg6#2fxTYGq^ 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

t+cjJE_tl`ca-e3kqKm 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 P1wiGdhC-Q~#e@F?Rj@@e literal 0 HcmV?d00001 diff --git a/logger/__init__.py b/logger/__init__.py new file mode 100644 index 0000000..5f3763b --- /dev/null +++ b/logger/__init__.py @@ -0,0 +1,2 @@ +from .logger import * +from .visualization import * \ No newline at end of file diff --git a/logger/logger.py b/logger/logger.py new file mode 100644 index 0000000..4599fb0 --- /dev/null +++ b/logger/logger.py @@ -0,0 +1,22 @@ +import logging +import logging.config +from pathlib import Path +from utils import read_json + + +def setup_logging(save_dir, log_config='logger/logger_config.json', default_level=logging.INFO): + """ + Setup logging configuration + """ + log_config = Path(log_config) + if log_config.is_file(): + config = read_json(log_config) + # modify logging paths based on run config + for _, handler in config['handlers'].items(): + if 'filename' in handler: + handler['filename'] = str(save_dir / handler['filename']) + + logging.config.dictConfig(config) + else: + print("Warning: logging configuration file is not found in {}.".format(log_config)) + logging.basicConfig(level=default_level) diff --git a/logger/logger_config.json b/logger/logger_config.json new file mode 100644 index 0000000..c3e7e02 --- /dev/null +++ b/logger/logger_config.json @@ -0,0 +1,32 @@ + +{ + "version": 1, + "disable_existing_loggers": false, + "formatters": { + "simple": {"format": "%(message)s"}, + "datetime": {"format": "%(asctime)s - %(name)s - %(levelname)s - %(message)s"} + }, + "handlers": { + "console": { + "class": "logging.StreamHandler", + "level": "DEBUG", + "formatter": "simple", + "stream": "ext://sys.stdout" + }, + "info_file_handler": { + "class": "logging.handlers.RotatingFileHandler", + "level": "INFO", + "formatter": "datetime", + "filename": "info.log", + "maxBytes": 10485760, + "backupCount": 20, "encoding": "utf8" + } + }, + "root": { + "level": "INFO", + "handlers": [ + "console", + "info_file_handler" + ] + } +} \ No newline at end of file diff --git a/logger/visualization.py b/logger/visualization.py new file mode 100644 index 0000000..34ef64f --- /dev/null +++ b/logger/visualization.py @@ -0,0 +1,73 @@ +import importlib +from datetime import datetime + + +class TensorboardWriter(): + def __init__(self, log_dir, logger, enabled): + self.writer = None + self.selected_module = "" + + if enabled: + log_dir = str(log_dir) + + # Retrieve vizualization writer. + succeeded = False + for module in ["torch.utils.tensorboard", "tensorboardX"]: + try: + self.writer = importlib.import_module(module).SummaryWriter(log_dir) + succeeded = True + break + except ImportError: + succeeded = False + self.selected_module = module + + if not succeeded: + message = "Warning: visualization (Tensorboard) is configured to use, but currently not installed on " \ + "this machine. Please install TensorboardX with 'pip install tensorboardx', upgrade PyTorch to " \ + "version >= 1.1 to use 'torch.utils.tensorboard' or turn off the option in the 'config.json' file." + logger.warning(message) + + self.step = 0 + self.mode = '' + + self.tb_writer_ftns = { + 'add_scalar', 'add_scalars', 'add_image', 'add_images', 'add_audio', + 'add_text', 'add_histogram', 'add_pr_curve', 'add_embedding' + } + self.tag_mode_exceptions = {'add_histogram', 'add_embedding'} + self.timer = datetime.now() + + def set_step(self, step, mode='train'): + self.mode = mode + self.step = step + if step == 0: + self.timer = datetime.now() + else: + duration = datetime.now() - self.timer + self.add_scalar('steps_per_sec', 1 / duration.total_seconds()) + self.timer = datetime.now() + + def __getattr__(self, name): + """ + If visualization is configured to use: + return add_data() methods of tensorboard with additional information (step, tag) added. + Otherwise: + return a blank function handle that does nothing + """ + if name in self.tb_writer_ftns: + add_data = getattr(self.writer, name, None) + + def wrapper(tag, data, *args, **kwargs): + if add_data is not None: + # add mode(train/valid) tag + if name not in self.tag_mode_exceptions: + tag = '{}/{}'.format(tag, self.mode) + add_data(tag, data, self.step, *args, **kwargs) + return wrapper + else: + # default action for returning methods defined in this class, set_step() for instance. + try: + attr = object.__getattr__(name) + except AttributeError: + raise AttributeError("type object '{}' has no attribute '{}'".format(self.selected_module, name)) + return attr diff --git a/losses/__init__.py b/losses/__init__.py new file mode 100644 index 0000000..1a9238a --- /dev/null +++ b/losses/__init__.py @@ -0,0 +1 @@ +from .cosine_embedding import COS \ No newline at end of file diff --git a/losses/cosine_embedding.py b/losses/cosine_embedding.py new file mode 100644 index 0000000..d4b0a01 --- /dev/null +++ b/losses/cosine_embedding.py @@ -0,0 +1,15 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F + +class COS(nn.Module): + ''' + Cosine Embedding loss + ''' + def __init__(self): + super(COS, self).__init__() + + def forward(self, fm_s, fm_t, dum): + loss = F.cosine_embedding_loss(fm_s.view(fm_s.size(0), -1), + fm_t.view(fm_t.size(0), -1), dum) + return loss \ No newline at end of file diff --git a/model/__init__.py b/model/__init__.py new file mode 100644 index 0000000..4d07374 --- /dev/null +++ b/model/__init__.py @@ -0,0 +1 @@ +from model.backbones.resnet import ResNet20, ResNet56, ResNet110 \ No newline at end of file diff --git a/model/backbones/resnet.py b/model/backbones/resnet.py new file mode 100644 index 0000000..388af10 --- /dev/null +++ b/model/backbones/resnet.py @@ -0,0 +1,100 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +from base.base_model import BaseModel + +class ResBlock(nn.Module): + def __init__(self, in_channels, out_channels, return_before_act): + super(ResBlock, self).__init__() + self.return_before_act = return_before_act + self.downsample = (in_channels != out_channels) + if self.downsample: + self.conv1 = nn.Conv2d(in_channels, out_channels, kernel_size=3, stride=2, padding=1, bias=False) + self.ds = nn.Sequential(*[ + nn.Conv2d(in_channels, out_channels, kernel_size=1, stride=2, bias=False), + nn.BatchNorm2d(out_channels) + ]) + else: + self.conv1 = nn.Conv2d(in_channels, out_channels, kernel_size=3, stride=1, padding=1, bias=False) + self.ds = None + self.bn1 = nn.BatchNorm2d(out_channels) + self.relu = nn.ReLU() + self.conv2 = nn.Conv2d(out_channels, out_channels, kernel_size=3, stride=1, padding=1, bias=False) + self.bn2 = nn.BatchNorm2d(out_channels) + + def forward(self, x): + residual = x + + pout = self.conv1(x) # pout: pre out before activation + pout = self.bn1(pout) + pout = self.relu(pout) + + pout = self.conv2(pout) + pout = self.bn2(pout) + + if self.downsample: + residual = self.ds(x) + + pout += residual + out = self.relu(pout) + + if not self.return_before_act: + return out + else: + return pout, out + + +class ResNet_simple(BaseModel): + def __init__(self, block, num_blocks, num_class = 10, init_weights = True, deg_flag = None, fa = True): + super(ResNet_simple, self).__init__(deg_flag) + self.block = block + self.num_blocks = num_blocks + self.conv1 = nn.Conv2d(3, 16, kernel_size=3, stride=1, padding=1, bias=False) + self.bn1 = nn.BatchNorm2d(16) + self.relu = nn.ReLU() + + self.res1 = self.make_layer(self.block, self.num_blocks[0], 16, 16) + self.res2 = self.make_layer(self.block, self.num_blocks[1], 16, 32) + self.res3 = self.make_layer(self.block, self.num_blocks[2], 32, 64) + + self.avgpool = nn.AdaptiveAvgPool2d(2) + self.fc = nn.Linear(256, num_class) + + if init_weights: + self._init_weight_layers(self) + + self.num_class = num_class + self.fa = fa + + def make_layer(self, block, num, in_channels, out_channels): # num must >=2 + layers = [block(in_channels, out_channels, False)] + for i in range(num-2): + layers.append(block(out_channels, out_channels, False)) + layers.append(block(out_channels, out_channels, True)) + return nn.Sequential(*layers) + + def forward(self, *x): + x = self.define_input(*x) + pstem = self.conv1(x) # pstem: pre stem before activation + pstem = self.bn1(pstem) + stem = self.relu(pstem) + stem = (pstem, stem) + + rb1 = self.res1(stem[1]) + rb2 = self.res2(rb1[1]) + rb3 = self.res3(rb2[1]) + + feat = self.avgpool(rb3[1]) + feat = feat.view(feat.size(0), -1) + out = self.fc(feat) + + return stem, rb1, rb2, rb3, feat, out + +def ResNet20(**args): + return ResNet_simple(ResBlock, [3,3,3], **args) + +def ResNet56(**args): + return ResNet_simple(ResBlock, [9,9,9], **args) + +def ResNet110(**args): + return ResNet_simple(ResBlock, [18,18,18], **args) diff --git a/model/loss.py b/model/loss.py new file mode 100644 index 0000000..96e6654 --- /dev/null +++ b/model/loss.py @@ -0,0 +1,16 @@ +import torch.nn as nn +from losses import * + +def supervised_loss(method): + if method == 'CE': + loss = nn.CrossEntropyLoss() + else: + raise NotImplementedError + return loss + +def inheritance_loss(method): + if method == 'COS': + loss = COS() + else: + raise NotImplementedError + return loss diff --git a/model/metric.py b/model/metric.py new file mode 100644 index 0000000..448515a --- /dev/null +++ b/model/metric.py @@ -0,0 +1,22 @@ +import torch + +def accuracy(output, target): + """ + This function is used to calculate accuracy + """ + with torch.no_grad(): + pred = torch.argmax(output, dim=1) + assert pred.shape[0] == len(target) + correct = 0 + correct += torch.sum(pred == target).item() + return correct / len(target) + +def accuracy_classes(pred, target): + """ + This function is used to calculate accuracy specifically for ensemble model + """ + with torch.no_grad(): + assert pred.shape[0] == len(target) + correct = 0 + correct += torch.sum(pred == target).item() + return correct / len(target) diff --git a/parse_config.py b/parse_config.py new file mode 100644 index 0000000..88ad528 --- /dev/null +++ b/parse_config.py @@ -0,0 +1,192 @@ +import os +import logging +from pathlib import Path +from functools import reduce, partial +from operator import getitem +from datetime import datetime +from logger import setup_logging +from utils import read_yaml, write_yaml, print_dict +from utils import import_class + +class ConfigParser: + def __init__(self, config, resume=None, modification=None, mode = 'train', run_id=None, dry_run=False): + """ + class to parse configuration yaml file. Handles hyperparameters for training, initializations of modules, checkpoint saving + and logging module. + :param config: Dict containing configurations, hyperparameters for training. contents of `config.yaml` file for example. + :param resume: String, path to the checkpoint being loaded. + :param modification: Dict keychain:value, specifying position values to be replaced from config dict. + :param run_id: Unique Identifier for training processes. Used to save checkpoints and training log. Timestamp is being used as default + """ + # load config file and apply modification + self._config = _update_config(config, modification) + self.resume = resume + + # set save_dir where trained model and log will be saved. + save_dir = Path(self.config['trainer']['args']['save_dir']) + + exper_name = self.config['name'] + trainer = self.config['trainer']['type'] + deg_type = self.config['data_loader']['args']['deg_type'] + if run_id is None: # use timestamp as default run-id + run_id = datetime.now().strftime(r'%m%d_%H%M%S') + self._save_dir = save_dir / deg_type / trainer / exper_name / mode / run_id + self._log_dir = self._save_dir + + if not dry_run: + # make directory for saving checkpoints and log. + exist_ok = run_id == '' + self.save_dir.mkdir(parents=True, exist_ok=exist_ok) + + # save updated config file to the checkpoint dir + write_yaml(self.config, self.save_dir / 'config.yaml') + + # configure logging module + setup_logging(self.log_dir) + self.log_levels = { + 0: logging.WARNING, + 1: logging.INFO, + 2: logging.DEBUG + } + + @classmethod + def from_args(cls, args, options=''): + """ + Initialize this class from some cli arguments. Used in train, test. + """ + for opt in options: + args.add_argument(*opt.flags, default=None, type=opt.type) + if not isinstance(args, tuple): + args = args.parse_args() + + if args.device is not None: + os.environ["CUDA_VISIBLE_DEVICES"] = args.device + if args.resume is not None: + resume = Path(args.resume) + cfg_fname = resume.parent / 'config.yaml' + else: + msg_no_cfg = "Configuration file need to be specified. Add '-c config.yaml', for example." + assert args.config is not None, msg_no_cfg + resume = None + cfg_fname = Path(args.config) + + config = read_yaml(cfg_fname) + if args.config and resume: + # update new config for fine-tuning + config.update(read_yaml(args.config)) + + # parse custom cli options into dictionary + modification = {opt.target : getattr(args, _get_opt_name(opt.flags)) for opt in options} + + mode = 'train' if not hasattr(args, 'mode') else args.mode + return cls(config, resume, modification, mode) + + def init_obj(self, name, module, *args, **kwargs): + """ + Finds a function handle with the name given as 'type' in config, and returns the + instance initialized with corresponding arguments given. + + `object = config.init_obj('name', module, a, b=1)` + is equivalent to + `object = module.name(a, b=1)` + """ + module_name = self[name]['type'] + module_args = dict(self[name]['args']) + assert all([k not in module_args for k in kwargs]), 'Overwriting kwargs given in config file is not allowed' + module_args.update(kwargs) + return getattr(module, module_name)(*args, **module_args) + + def get_class(self, name, init = True, _class = None): + """ + Finds a function handle with the name given as 'type' in config, and returns the + class with the corresponding arguments given. + + `Class = config.init_class('name', module, a, b=1)` + is equivalent to + `Class = name.module(a, b=1)` + This function can import model and loss classes + """ + module_name = self[name]['type'] + module_args = dict(self[name]['args']) + if _class is None: + Module = '.'.join([name, module_name]) + else: + Module = '.'.join([_class, module_name]) + Module = import_class(Module) + if init: + Module = Module(**module_args) + return Module + + def init_ftn(self, name, module, *args, **kwargs): + """ + Finds a function handle with the name given as 'type' in config, and returns the + function with given arguments fixed with functools.partial. + + `function = config.init_ftn('name', module, a, b=1)` + is equivalent to + `function = lambda *args, **kwargs: module.name(a, *args, b=1, **kwargs)`. + """ + module_name = self[name]['type'] + module_args = dict(self[name]['args']) + assert all([k not in module_args for k in kwargs]), 'Overwriting kwargs given in config file is not allowed' + module_args.update(kwargs) + return partial(getattr(module, module_name), *args, **module_args) + + def __getitem__(self, name): + """Access items like ordinary dict.""" + return self.config[name] + + def __contains__(self, name): + """Check item exists like ordinary dict.""" + if name in self.config: + return True + else: + return False + + def __str__(self): + return print_dict(self.config) + + def get_logger(self, name, verbosity=2): + msg_verbosity = 'verbosity option {} is invalid. Valid options are {}.'.format(verbosity, self.log_levels.keys()) + assert verbosity in self.log_levels, msg_verbosity + logger = logging.getLogger(name) + logger.setLevel(self.log_levels[verbosity]) + return logger + + # setting read-only attributes + @property + def config(self): + return self._config + + @property + def save_dir(self): + return self._save_dir + + @property + def log_dir(self): + return self._log_dir + +# helper functions to update config dict with custom cli options +def _update_config(config, modification): + if modification is None: + return config + + for k, v in modification.items(): + if v is not None: + _set_by_path(config, k, v) + return config + +def _get_opt_name(flags): + for flg in flags: + if flg.startswith('--'): + return flg.replace('--', '') + return flags[0].replace('--', '') + +def _set_by_path(tree, keys, value): + """Set a value in a nested object in tree by sequence of keys.""" + keys = keys.split(';') + _get_by_path(tree, keys[:-1])[keys[-1]] = value + +def _get_by_path(tree, keys): + """Access a nested object in tree by sequence of keys.""" + return reduce(getitem, keys, tree) diff --git a/test.py b/test.py new file mode 100644 index 0000000..def444c --- /dev/null +++ b/test.py @@ -0,0 +1,99 @@ +import argparse +import collections +import torch +import data_loader.data_loaders as module_data +import model.metric as module_metric +from parse_config import ConfigParser +from utils.data import degradedimagedata as deg_data +from logger import TensorboardWriter +from utils.util import set_seeds +from utils import prepare_device + +# fix random seeds for reproducibility +set_seeds() + +def main(config): + logger = config.get_logger('test') + logger.info(config) + device, device_ids = prepare_device(config['n_gpu']) + + writer = TensorboardWriter(config.log_dir, logger, + config['trainer']['args']['tensorboard']) + deg_range = deg_data.get_type_range(config['data_loader']['args']['deg_type']) + + # build model architecture + if 'model' in config: + model = config.get_class('model') + else: + model = config.get_class('student_model', _class = 'model') + logger.info(model) + + metric_fns = [getattr(module_metric, met) for met in config['metrics']] + + logger.info('Loading checkpoint: {} ...'.format(config.resume)) + model = model.to(device) + + if len(device_ids) > 1: + model = torch.nn.DataParallel(model, device_ids=device_ids) + checkpoint = torch.load(config.resume) + state_dict = checkpoint['state_dict'] + model.load_state_dict(state_dict) + model.eval() + + for lev in range(deg_range[0],deg_range[1]+1): + # setup data_loader instances + data_loader = getattr(module_data, config['data_loader']['type'])( + config['data_loader']['args']['data_dir'], + batch_size=100, + shuffle=False, + validation_split=0.0, + num_workers=2, + train=False, + deg_type = config['data_loader']['args']['deg_type'], + deg_range = [lev, lev] + ) + total_loss = 0.0 + total_metrics = torch.zeros(len(metric_fns)) + + with torch.no_grad(): + for i, (images, targets) in enumerate(data_loader): + (image_clean, image_deg) = images + (labels, _) = targets + image_clean = image_clean.to(device) + image_deg = image_deg.to(device) + target = labels.to(device) + + _, _, _, _, feat, output = model(image_deg, image_deg) + + batch_size = image_clean.shape[0] + for i, metric in enumerate(metric_fns): + total_metrics[i] += metric(output, target) * batch_size + + n_samples = len(data_loader.sampler) + log = {'deg_level': lev} + log.update({ + met.__name__: total_metrics[i].item() / n_samples for i, met in enumerate(metric_fns) + }) + writer.set_step(lev, mode = 'eval') + for met, val in log.items(): + writer.add_scalar(met, val) + logger.info(log) + + +if __name__ == '__main__': + args = argparse.ArgumentParser(description='Degraded Image Classification - KD') + args.add_argument('-c', '--config', default=None, type=str, + help='config file path (default: None)') + args.add_argument('-r', '--resume', default=None, type=str, + help='path to latest checkpoint (default: None)') + args.add_argument('-d', '--device', default=None, type=str, + help='indices of GPUs to enable (default: all)') + args.add_argument('-m', '--mode', default='eval', type=str, + help='Activate eval mode for config') + # custom cli options to modify configuration from default values given in json file. + CustomArgs = collections.namedtuple('CustomArgs', 'flags type target') + options = [ + CustomArgs(['--dt', '--deg_type'], type=str, target='data_loader;args;deg_type') + ] + config = ConfigParser.from_args(args, options) + main(config) diff --git a/test_ensemble.py b/test_ensemble.py new file mode 100644 index 0000000..340d8bd --- /dev/null +++ b/test_ensemble.py @@ -0,0 +1,141 @@ +import argparse +import collections +import torch +import data_loader.data_loaders as module_data +import model.metric as module_metric +from parse_config import ConfigParser +from utils.data import degradedimagedata as deg_data +from logger import TensorboardWriter +from utils.util import set_seeds +from utils import prepare_device +import copy + +# fix random seeds for reproducibility +set_seeds() + +def main(config): + logger = config.get_logger('test') + logger.info(config) + device, device_ids = prepare_device(config['n_gpu']) + + writer = TensorboardWriter(config.log_dir, logger, + config['trainer']['args']['tensorboard']) + deg_range = deg_data.get_type_range(config['data_loader']['args']['deg_type']) + + # build model architecture + if 'model' in config: + model = config.get_class('model') + else: + model = config.get_class('student_model', _class = 'model') + logger.info(model) + + metric_fns = [getattr(module_metric, met) for met in config['metrics']] + + # logger.info('Loading checkpoint: {} ...'.format(config.resume)) + model = model.to(device) + + # Loading model paths for all deg models + logger.info('Loading checkpoints of below models:') + model_paths = [] + for key, value in config['model'].items(): + if key.startswith('pretrained_path'): + model_paths.append(value) + logger.info(value) + + if len(device_ids) > 1: + model = torch.nn.DataParallel(model, device_ids=device_ids) + checkpoints = [torch.load(path) for path in model_paths] + models_all = [copy.deepcopy(model) for _ in range(len(checkpoints))] + # Loading all models given the model paths for all degradations + for i, model in enumerate(models_all): + model.load_state_dict(checkpoints[i]['state_dict']) + model = model.to(device) + model.eval() + + for lev in range(deg_range[0],deg_range[1]+1): + # setup data_loader instances + data_loader = getattr(module_data, config['data_loader']['type'])( + config['data_loader']['args']['data_dir'], + batch_size=100, + shuffle=False, + validation_split=0.0, + num_workers=2, + train=False, + deg_type = config['data_loader']['args']['deg_type'], + deg_range = [lev, lev] + ) + total_loss = 0.0 + total_metrics = torch.zeros(len(metric_fns)) + + with torch.no_grad(): + for i, (images, targets) in enumerate(data_loader): + (image_clean, image_deg) = images + (labels, _) = targets + image_clean = image_clean.to(device) + image_deg = image_deg.to(device) + target = labels.to(device) + + outputs_all, pred_labels_all = [], [] + for i, model in enumerate(models_all): + _, _, _, _, feat, output = model(image_deg, image_deg) + outputs_all.append(output) + + for output in outputs_all: + pred_labels_all.append(torch.argmax(output, dim=1)) + + # Stack all lists together as tensor + outputs_all = torch.stack(outputs_all) + pred_labels_all = torch.stack(pred_labels_all) + + # Transpose the tensors to apply single image-wise operations + outputs_all = torch.permute(outputs_all, (1, 0, 2)) + pred_labels_all = pred_labels_all.T + # Take the sum of prob and then max of all predictions + outputs_all_sum_max = torch.argmax(outputs_all.sum(dim=1), dim=1) + + ensemble_outputs = [] + # Iterate over each sub-tensor along the first dimension + for i, sub_tensor in enumerate(pred_labels_all): + values, counts = torch.unique(sub_tensor, return_counts=True) + max_count = counts.max() + mode_values = values[counts == max_count] + + # Breaking the pluraity ensemble tie here + if len(mode_values) > 1: + ensemble_outputs.append(outputs_all_sum_max[i]) + else: + ensemble_outputs.append(mode_values[0]) + ensemble_outputs = torch.stack(ensemble_outputs) + + batch_size = image_clean.shape[0] + for i, metric in enumerate(metric_fns): + total_metrics[i] += metric(ensemble_outputs, target) * batch_size + + n_samples = len(data_loader.sampler) + log = {'deg_level': lev} + log.update({ + met.__name__: total_metrics[i].item() / n_samples for i, met in enumerate(metric_fns) + }) + writer.set_step(lev, mode = 'eval') + for met, val in log.items(): + writer.add_scalar(met, val) + logger.info(log) + + +if __name__ == '__main__': + args = argparse.ArgumentParser(description='Degraded Image Classification - KD') + args.add_argument('-c', '--config', default=None, type=str, + help='config file path (default: None)') + args.add_argument('-r', '--resume', default=None, type=str, + help='path to latest checkpoint (default: None)') + args.add_argument('-d', '--device', default=None, type=str, + help='indices of GPUs to enable (default: all)') + args.add_argument('-m', '--mode', default='eval', type=str, + help='Activate eval mode for config') + # custom cli options to modify configuration from default values given in json file. + CustomArgs = collections.namedtuple('CustomArgs', 'flags type target') + options = [ + CustomArgs(['--dt', '--deg_type'], type=str, target='data_loader;args;deg_type') + ] + config = ConfigParser.from_args(args, options) + main(config) diff --git a/train.py b/train.py new file mode 100644 index 0000000..2b81972 --- /dev/null +++ b/train.py @@ -0,0 +1,58 @@ +import argparse +import collections +import data_loader.data_loaders as module_data +import model.metric as module_metric +from parse_config import ConfigParser +from utils.util import set_seeds, set_seeds_prev + +def main(config): + logger = config.get_logger('train') + logger.info(config) + + # setup data_loader instances + train_data_loader = config.init_obj('data_loader', module_data) + valid_data_loader = getattr(module_data, config['data_loader']['type'])( + config['data_loader']['args']['data_dir'], + batch_size=128, + shuffle=False, + validation_split=0.0, + num_workers=2, + train=False, + deg_type = config['data_loader']['args']['deg_type'] + ) + + Trainer = config.get_class('trainer', init = False) + metrics = [getattr(module_metric, met) for met in config['metrics']] + trainer = Trainer(metrics, config=config, + train_data_loader=train_data_loader, + valid_data_loader=valid_data_loader) + + trainer.train() + + +if __name__ == '__main__': + args = argparse.ArgumentParser(description='Degraded Image Classification - KD') + args.add_argument('-c', '--config', default=None, type=str, + help='config file path (default: None)') + args.add_argument('-r', '--resume', default=None, type=str, + help='path to latest checkpoint (default: None)') + args.add_argument('-d', '--device', default=None, type=str, + help='indices of GPUs to enable (default: all)') + + # custom cli options to modify configuration from default values given in json file. + CustomArgs = collections.namedtuple('CustomArgs', 'flags type target') + options = [ + CustomArgs(['--lr', '--learning_rate'], type=float, target='optimizer;args;lr'), + CustomArgs(['--bs', '--batch_size'], type=int, target='data_loader;args;batch_size'), + CustomArgs(['--dt', '--deg_type'], type=str, target='data_loader;args;deg_type'), + CustomArgs(['--rs', '--random_seed'], type=int, target='random_seed') + ] + config = ConfigParser.from_args(args, options) + + # fix random seeds for reproducibility + if 'random_seed' in config: + set_seeds(config['random_seed']) + else: + # Provides backward compability for previous experiments + set_seeds_prev() + main(config) diff --git a/train_all_deg.py b/train_all_deg.py new file mode 100644 index 0000000..fda38b7 --- /dev/null +++ b/train_all_deg.py @@ -0,0 +1,64 @@ +import argparse +import collections +import data_loader.data_loaders as module_data +import model.metric as module_metric +from parse_config import ConfigParser +from utils.util import set_seeds, set_seeds_prev + +def main(config): + logger = config.get_logger('train') + logger.info(config) + + # setup data_loader instances + degs_all = ['jpeg', 'blur', 'saltpepper', 'noise'] + train_loaders_all = [] + val_loaders_all = [] + prev_deg = config.config['data_loader']['args']['deg_type'] + for deg in degs_all: + config.config['data_loader']['args']['deg_type'] = deg + train_loaders_all.append(config.init_obj('data_loader', module_data)) + val_loaders_all.append(getattr(module_data, config['data_loader']['type'])( + config['data_loader']['args']['data_dir'], + batch_size=128, + shuffle=False, + validation_split=0.0, + num_workers=2, + train=False, + deg_type = config['data_loader']['args']['deg_type'] + )) + config.config['data_loader']['args']['deg_type'] = prev_deg + Trainer = config.get_class('trainer', init = False) + metrics = [getattr(module_metric, met) for met in config['metrics']] + trainer = Trainer(metrics, config=config, + train_loaders_all=train_loaders_all, + val_loaders_all=val_loaders_all) + + trainer.train() + + +if __name__ == '__main__': + args = argparse.ArgumentParser(description='Degraded Image Classification - KD') + args.add_argument('-c', '--config', default=None, type=str, + help='config file path (default: None)') + args.add_argument('-r', '--resume', default=None, type=str, + help='path to latest checkpoint (default: None)') + args.add_argument('-d', '--device', default=None, type=str, + help='indices of GPUs to enable (default: all)') + + # custom cli options to modify configuration from default values given in json file. + CustomArgs = collections.namedtuple('CustomArgs', 'flags type target') + options = [ + CustomArgs(['--lr', '--learning_rate'], type=float, target='optimizer;args;lr'), + CustomArgs(['--bs', '--batch_size'], type=int, target='data_loader;args;batch_size'), + CustomArgs(['--dt', '--deg_type'], type=str, target='data_loader;args;deg_type'), + CustomArgs(['--rs', '--random_seed'], type=int, target='random_seed') + ] + config = ConfigParser.from_args(args, options) + + # fix random seeds for reproducibility + if 'random_seed' in config: + set_seeds(config['random_seed']) + else: + # Provides backward compability for previous experiments + set_seeds_prev() + main(config) diff --git a/trainer/__init__.py b/trainer/__init__.py new file mode 100644 index 0000000..aa54817 --- /dev/null +++ b/trainer/__init__.py @@ -0,0 +1,4 @@ +from .ind import IndTrainer +from .sl import SLTrainer +from .sl_all_deg import SLDA_Trainer +from .ind_all_deg import IndDATrainer \ No newline at end of file diff --git a/trainer/ind.py b/trainer/ind.py new file mode 100644 index 0000000..66b0d5a --- /dev/null +++ b/trainer/ind.py @@ -0,0 +1,211 @@ +import numpy as np +import torch +from base import BaseTrainer +from utils import inf_loop, MetricTracker +import model.loss as module_loss +import warmup_scheduler + +class IndTrainer(BaseTrainer): + """ + Trainer class for training base model on clean images, i.e., Step-1. + """ + def __init__(self, metric_ftns, config, train_data_loader, valid_data_loader=None, + len_epoch=None): + super().__init__(metric_ftns, config, train_data_loader, valid_data_loader, len_epoch) + self.model = self._build_model(config) + self.criterion = self._load_loss(config) + self.optimizer = self._load_optimizer(self.model, config) + self.lr_scheduler = self._load_scheduler(self.optimizer, config) + self.config = config + + self.log_step = int(np.sqrt(train_data_loader.batch_size)) + train_misc_metrics = ['loss', 'lr'] + valid_misc_metrics = ['loss'] + self.train_metrics = MetricTracker(*train_misc_metrics, + *[m.__name__ + '_' + self.deg_flag for m in self.metric_ftns], + writer=self.writer) + self.valid_metrics = MetricTracker(*valid_misc_metrics, + *[m.__name__ + '_' + self.deg_flag for m in self.metric_ftns], + writer=self.writer) + + def _build_model(self, config): + """ + Building model from the configuration file + + :param config: config file + :return: model with loaded state dict + """ + # build model architecture, then print to console + model = config.get_class('model') + self.logger.info(model) + model = model.to(self.device) + if len(self.device_ids) > 1: + model = torch.nn.DataParallel(model, device_ids=self.device_ids) + return model + + def _load_loss(self, config): + """ + Build model from the configuration file + + :param config: config file + :return: criterion dictionary in the format: {loss_type: loss} + """ + # criterion = getattr(module_loss, config['loss']) + criterion = {type: getattr(module_loss, type)(loss) for losses in config['loss'] \ + for type, loss in losses.items()} + return criterion + + def _load_optimizer(self, model, config): + """ + Load optimizer from the configuration file + + :param model: model for which optimizer is to be initialized + :param config: config file + :return: initialized optimizer + """ + trainable_params = filter(lambda p: p.requires_grad, model.parameters()) + optimizer = config.init_obj('optimizer', torch.optim, trainable_params) + return optimizer + + def _load_scheduler(self, optimizer, config): + """ + Load scheduler from the configuration file + + :param optimizer: optimizer for which scheduler is to be initialized + :param config: config file + :return: initialized scheduler + """ + lr_scheduler = config.init_obj('lr_scheduler', torch.optim.lr_scheduler, optimizer) + if 'lr_warmup' in config and config['lr_warmup'] is not None: + lr_scheduler = config.init_obj('lr_warmup', warmup_scheduler, optimizer, after_scheduler = lr_scheduler) + return lr_scheduler + + def _train_epoch(self, epoch): + """ + Training logic for an epoch + + :param epoch: Integer, current training epoch. + :return: A log that contains average loss and metric in this epoch. + """ + self.model.train() + self.train_metrics.reset() + for batch_idx, (images, targets) in enumerate(self.train_data_loader): + (image_clean, image_deg) = images + (labels, _) = targets + image_clean = image_clean.to(self.device) + image_deg = image_deg.to(self.device) + target = labels.to(self.device) + + self.optimizer.zero_grad() + + outputs = self.model(image_clean, image_deg) + output = outputs[-1] + loss = self.criterion['supervised_loss'](output, target) + loss.backward() + self.optimizer.step() + + self.writer.set_step((epoch - 1) * self.len_epoch + batch_idx) + self.train_metrics.update('loss', loss.item()) + for met in self.metric_ftns: + self.train_metrics.update(met.__name__ + '_' + self.deg_flag, + met(output, target)) + self.train_metrics.update('lr', self.lr_scheduler.get_last_lr()[0]) + if batch_idx % self.log_step == 0: + self.logger.debug('Train Epoch: {} {} Loss: {:.6f}'.format( + epoch, + self._progress(batch_idx), + loss.item())) + + if batch_idx == self.len_epoch: + break + log = self.train_metrics.result() + + if self.do_validation: + self.logger.info('Testing on validation data') + val_log = self._valid_epoch(epoch) + log.update(**{'val_'+k : v for k, v in val_log.items()}) + + if self.lr_scheduler is not None: + self.lr_scheduler.step() + return log + + def _valid_epoch(self, epoch): + """ + Validate after training an epoch + + :param epoch: Integer, current training epoch. + :return: A log that contains information about validation + """ + self.model.eval() + self.valid_metrics.reset() + with torch.no_grad(): + for batch_idx, (images, targets) in enumerate(self.valid_data_loader): + (image_clean, image_deg) = images + (labels, _) = targets + image_clean = image_clean.to(self.device) + image_deg = image_deg.to(self.device) + target = labels.to(self.device) + + outputs = self.model(image_clean, image_deg) + output = outputs[-1] + loss = self.criterion['supervised_loss'](output, target) + + self.writer.set_step((epoch - 1) * len(self.valid_data_loader) + batch_idx, 'valid') + self.valid_metrics.update('loss', loss.item()) + for met in self.metric_ftns: + self.valid_metrics.update(met.__name__ + '_' + self.deg_flag, + met(output, target)) + + return self.valid_metrics.result() + + def _save_checkpoint(self, epoch, save_best=False): + """ + Saving checkpoints + + :param epoch: current epoch number + :param log: logging information of the epoch + :param save_best: if True, rename the saved checkpoint to 'model_best.pth' + """ + model_name = type(self.model).__name__ + state = { + 'model': model_name, + 'epoch': epoch, + 'state_dict': self.model.state_dict(), + 'optimizer': self.optimizer.state_dict(), + 'monitor_best': self.mnt_best, + 'config': self.config + } + filename = str(self.checkpoint_dir / 'checkpoint-epoch{}.pth'.format(epoch)) + # torch.save(state, filename) + self.logger.info("Saving checkpoint: {} ...".format(filename)) + if save_best: + best_path = str(self.checkpoint_dir / 'model_best.pth') + torch.save(state, best_path) + self.logger.info("Saving current best: model_best.pth ...") + + def _resume_checkpoint(self, config): + """ + Resume from saved checkpoints + + :param resume_path: Checkpoint path to be resumed + """ + resume_path = str(config.resume) + self.logger.info("Loading checkpoint: {} ...".format(resume_path)) + checkpoint = torch.load(resume_path) + self.start_epoch = checkpoint['epoch'] + 1 + self.mnt_best = checkpoint['monitor_best'] + + # load architecture params from checkpoint. + if checkpoint['config']['model'] != self.config['model']: + self.logger.warning("Warning: Architecture configuration given in config file is different from that of " + "checkpoint. This may yield an exception while state_dict is being loaded.") + self.model.load_state_dict(checkpoint['state_dict']) + + # load optimizer state from checkpoint only when optimizer type is not changed. + if checkpoint['config']['optimizer']['type'] != self.config['optimizer']['type']: + self.logger.warning("Warning: Optimizer type given in config file is different from that of checkpoint. " + "Optimizer parameters not being resumed.") + else: + self.optimizer.load_state_dict(checkpoint['optimizer']) + + self.logger.info("Checkpoint loaded. Resume training from epoch {}".format(self.start_epoch)) diff --git a/trainer/ind_all_deg.py b/trainer/ind_all_deg.py new file mode 100644 index 0000000..17a83d8 --- /dev/null +++ b/trainer/ind_all_deg.py @@ -0,0 +1,237 @@ +import numpy as np +import torch +from base import BaseTrainer +from utils import inf_loop, MetricTracker +import model.loss as module_loss +import warmup_scheduler +import copy + +class IndDATrainer(BaseTrainer): + """ + Trainer class for training Individual model for combination of several degradation. + This trainer is used for training methods such as: Scratch, Vanilla, and Fused. + """ + def __init__(self, metric_ftns, config, train_loaders_all, val_loaders_all=None, + len_epoch=None): + super().__init__(metric_ftns, config, train_loaders_all[0], val_loaders_all[0], len_epoch) + self.model = self._build_model(config) + self.criterion = self._load_loss(config) + self.optimizer = self._load_optimizer(self.model, config) + self.lr_scheduler = self._load_scheduler(self.optimizer, config) + self.config = config + + self.log_step = int(np.sqrt(train_loaders_all[0].batch_size)) + train_misc_metrics = ['loss', 'lr'] + valid_misc_metrics = ['loss'] + self.train_metrics = MetricTracker(*train_misc_metrics, + *[m.__name__ + '_' + self.deg_flag for m in self.metric_ftns], + writer=self.writer) + self.valid_metrics = MetricTracker(*valid_misc_metrics, + *[m.__name__ + '_' + self.deg_flag for m in self.metric_ftns], + writer=self.writer) + self.train_loaders_all = train_loaders_all + self.val_loaders_all = val_loaders_all + + def _build_model(self, config): + """ + Building model from the configuration file + + :param config: config file + :return: model with loaded state dict + """ + # build model architecture, then print to console + model = config.get_class('model') + self.logger.info(model) + model = model.to(self.device) + if 'pretrained_path' in config['model']: + checkpoint = torch.load(config['model']['pretrained_path']) + model.load_state_dict(checkpoint['state_dict']) + if len(self.device_ids) > 1: + model = torch.nn.DataParallel(model, device_ids=self.device_ids) + return model + + def _load_loss(self, config): + """ + Build model from the configuration file + + :param config: config file + :return: criterion dictionary in the format: {loss_type: loss} + """ + criterion = {type: getattr(module_loss, type)(loss) for losses in config['loss'] \ + for type, loss in losses.items()} + return criterion + + def _load_optimizer(self, model, config): + """ + Load optimizer from the configuration file + + :param model: model for which optimizer is to be initialized + :param config: config file + :return: initialized optimizer + """ + trainable_params = filter(lambda p: p.requires_grad, model.parameters()) + optimizer = config.init_obj('optimizer', torch.optim, trainable_params) + return optimizer + + def _load_scheduler(self, optimizer, config): + """ + Load scheduler from the configuration file + + :param optimizer: optimizer for which scheduler is to be initialized + :param config: config file + :return: initialized scheduler + """ + lr_scheduler = config.init_obj('lr_scheduler', torch.optim.lr_scheduler, optimizer) + if 'lr_warmup' in config and config['lr_warmup'] is not None: + lr_scheduler = config.init_obj('lr_warmup', warmup_scheduler, optimizer, after_scheduler = lr_scheduler) + return lr_scheduler + + def _train_epoch(self, epoch): + """ + Training logic for an epoch + + :param epoch: Integer, current training epoch. + :return: A log that contains average loss and metric in this epoch. + """ + self.model.train() + self.train_metrics.reset() + for batch_idx, loaders_all in enumerate(zip(*self.train_loaders_all)): + image_clean_all, image_deg_all, labels_all = None, None, None + for loader in loaders_all: + ((image_clean, image_deg), (labels, _)) = loader + if image_clean_all is None: + image_clean_all = copy.deepcopy(image_clean) + image_deg_all = copy.deepcopy(image_deg) + labels_all = copy.deepcopy(labels) + else: + image_clean_all = torch.cat((image_clean_all, image_clean)) + image_deg_all = torch.cat((image_deg_all, image_deg)) + labels_all = torch.cat((labels_all, labels)) + + image_clean_all = image_clean_all.to(self.device) + image_deg_all = image_deg_all.to(self.device) + target = labels_all.to(self.device) + + self.optimizer.zero_grad() + + outputs = self.model(image_clean_all, image_deg_all) + output = outputs[-1] + loss = self.criterion['supervised_loss'](output, target) + loss.backward() + self.optimizer.step() + + self.writer.set_step((epoch - 1) * self.len_epoch + batch_idx) + self.train_metrics.update('loss', loss.item()) + for met in self.metric_ftns: + self.train_metrics.update(met.__name__ + '_' + self.deg_flag, + met(output, target)) + self.train_metrics.update('lr', self.lr_scheduler.get_last_lr()[0]) + if batch_idx % self.log_step == 0: + self.logger.debug('Train Epoch: {} {} Loss: {:.6f}'.format( + epoch, + self._progress(batch_idx), + loss.item())) + + if batch_idx == self.len_epoch: + break + log = self.train_metrics.result() + + if self.do_validation: + self.logger.info('Testing on validation data') + val_log = self._valid_epoch(epoch) + log.update(**{'val_'+k : v for k, v in val_log.items()}) + + if self.lr_scheduler is not None: + self.lr_scheduler.step() + return log + + def _valid_epoch(self, epoch): + """ + Validate after training an epoch + + :param epoch: Integer, current training epoch. + :return: A log that contains information about validation + """ + self.model.eval() + self.valid_metrics.reset() + with torch.no_grad(): + for batch_idx, loaders_all in enumerate(zip(*self.val_loaders_all)): + image_clean_all, image_deg_all, labels_all = None, None, None + for loader in loaders_all: + ((image_clean, image_deg), (labels, _)) = loader + if image_clean_all is None: + image_clean_all = copy.deepcopy(image_clean) + image_deg_all = copy.deepcopy(image_deg) + labels_all = copy.deepcopy(labels) + else: + image_clean_all = torch.cat((image_clean_all, image_clean)) + image_deg_all = torch.cat((image_deg_all, image_deg)) + labels_all = torch.cat((labels_all, labels)) + + image_clean_all = image_clean_all.to(self.device) + image_deg_all = image_deg_all.to(self.device) + target = labels_all.to(self.device) + + outputs = self.model(image_clean_all, image_deg_all) + output = outputs[-1] + loss = self.criterion['supervised_loss'](output, target) + + self.writer.set_step((epoch - 1) * len(self.valid_data_loader) + batch_idx, 'valid') + self.valid_metrics.update('loss', loss.item()) + for met in self.metric_ftns: + self.valid_metrics.update(met.__name__ + '_' + self.deg_flag, + met(output, target)) + + return self.valid_metrics.result() + + def _save_checkpoint(self, epoch, save_best=False): + """ + Saving checkpoints + + :param epoch: current epoch number + :param log: logging information of the epoch + :param save_best: if True, rename the saved checkpoint to 'model_best.pth' + """ + model_name = type(self.model).__name__ + state = { + 'model': model_name, + 'epoch': epoch, + 'state_dict': self.model.state_dict(), + 'optimizer': self.optimizer.state_dict(), + 'monitor_best': self.mnt_best, + 'config': self.config + } + filename = str(self.checkpoint_dir / 'checkpoint-epoch{}.pth'.format(epoch)) + # torch.save(state, filename) + self.logger.info("Saving checkpoint: {} ...".format(filename)) + if save_best: + best_path = str(self.checkpoint_dir / 'model_best.pth') + torch.save(state, best_path) + self.logger.info("Saving current best: model_best.pth ...") + + def _resume_checkpoint(self, config): + """ + Resume from saved checkpoints + + :param resume_path: Checkpoint path to be resumed + """ + resume_path = str(config.resume) + self.logger.info("Loading checkpoint: {} ...".format(resume_path)) + checkpoint = torch.load(resume_path) + self.start_epoch = checkpoint['epoch'] + 1 + self.mnt_best = checkpoint['monitor_best'] + + # load architecture params from checkpoint. + if checkpoint['config']['model'] != self.config['model']: + self.logger.warning("Warning: Architecture configuration given in config file is different from that of " + "checkpoint. This may yield an exception while state_dict is being loaded.") + self.model.load_state_dict(checkpoint['state_dict']) + + # load optimizer state from checkpoint only when optimizer type is not changed. + if checkpoint['config']['optimizer']['type'] != self.config['optimizer']['type']: + self.logger.warning("Warning: Optimizer type given in config file is different from that of checkpoint. " + "Optimizer parameters not being resumed.") + else: + self.optimizer.load_state_dict(checkpoint['optimizer']) + + self.logger.info("Checkpoint loaded. Resume training from epoch {}".format(self.start_epoch)) diff --git a/trainer/sl.py b/trainer/sl.py new file mode 100644 index 0000000..0a8df30 --- /dev/null +++ b/trainer/sl.py @@ -0,0 +1,299 @@ +import numpy as np +import torch +from base import BaseTrainer +from utils import inf_loop, MetricTracker +import model.loss as module_loss +import torch.nn as nn +import torch.nn.functional as F + +class SLTrainer(BaseTrainer): + """ + Trainer class for fine-tuning the base model trained on clean images for specific degradation, i.e., step-2 + """ + def __init__(self, metric_ftns, config, train_data_loader, valid_data_loader=None, + len_epoch=None): + super().__init__(metric_ftns, config, train_data_loader, valid_data_loader, len_epoch) + self.teacher, self.student = self._build_model(config) + self.criterion = self._load_loss(config) + self.optimizer = self._load_optimizer(self.student, config) + self.lr_scheduler = self._load_scheduler(self.optimizer, config) + self.config = config + self.loss_names = {type: loss for losses in config['loss'] for type, loss in losses.items()} + self.log_step = int(np.sqrt(train_data_loader.batch_size)) + train_misc_metrics = ['loss', 'sup_loss', 'inh_loss', 'lr'] + valid_misc_metrics = ['loss', 'sup_loss', 'inh_loss'] + self.train_metrics = MetricTracker(*train_misc_metrics, + *[m.__name__ + '_' + self.deg_flag for m in self.metric_ftns], + writer=self.writer) + self.valid_metrics = MetricTracker(*valid_misc_metrics, + *[m.__name__ + '_' + self.deg_flag for m in self.metric_ftns], + writer=self.writer) + + def _build_model(self, config): + """ + Building model from the configuration file + + :param config: config file + :return: model with loaded state dict + """ + # build model architecture, then print to console + teacher = config.get_class('teacher_model', _class = 'model') + student = config.get_class('student_model', _class = 'model') + self.logger.info('Teacher Network: {} \n Student Network: {}'.format(teacher, student)) + self.logger.info("Loading checkpoint for teacher: {} ...".format( + config['teacher_model']['pretrained_path'])) + + teacher = teacher.to(self.device) + student = student.to(self.device) + if len(self.device_ids) > 1: + teacher = torch.nn.DataParallel(teacher, device_ids=self.device_ids) + student = torch.nn.DataParallel(student, device_ids=self.device_ids) + + checkpoint = torch.load(config['teacher_model']['pretrained_path']) + teacher.load_state_dict(checkpoint['state_dict']) + if 'pretrained_path' in config['student_model']: + checkpoint = torch.load(config['student_model']['pretrained_path']) + student.load_state_dict(checkpoint['state_dict']) + # Feezing parameters of teacher + if self.config['student_model']['type'].startswith('ShakePyramidNet'): + for param in teacher.parameters(): + param.requires_grad = False + + return teacher, student + + def _load_loss(self, config): + """ + Build model from the configuration file + + :param config: config file + :return: criterion dictionary in the format: {loss_type: loss} + """ + criterion = {type: getattr(module_loss, type)(loss) for losses in config['loss'] \ + for type, loss in losses.items()} + return criterion + + def _load_optimizer(self, model, config): + """ + Load optimizer from the configuration file + + :param model: model for which optimizer is to be initialized + :param config: config file + :return: initialized optimizer + """ + trainable_params = filter(lambda p: p.requires_grad, model.parameters()) + optimizer = config.init_obj('optimizer', torch.optim, trainable_params) + return optimizer + + def _load_scheduler(self, optimizer, config): + """ + Load scheduler from the configuration file + + :param optimizer: optimizer for which scheduler is to be initialized + :param config: config file + :return: initialized scheduler + """ + lr_scheduler = config.init_obj('lr_scheduler', torch.optim.lr_scheduler, optimizer) + return lr_scheduler + + def _train_epoch(self, epoch): + """ + Training logic for an epoch + + :param epoch: Integer, current training epoch. + :return: A log that contains average loss and metric in this epoch. + """ + self.teacher.eval() + self.student.train() + self.train_metrics.reset() + for batch_idx, (images, targets) in enumerate(self.train_data_loader): + (image_clean, image_deg) = images + (labels, _) = targets + image_clean = image_clean.to(self.device) + image_deg = image_deg.to(self.device) + target = labels.to(self.device) + if self.loss_names['inheritance_loss'] == 'COS': + dum = torch.ones((image_clean.size(0),)) + dum = dum.to(self.device) + + self.optimizer.zero_grad() + stem_t, rb1_t, rb2_t, rb3_t, t_feat, t_out = self.teacher(image_clean, image_deg) + stem_s, rb1_s, rb2_s, rb3_s, s_feat, s_out = self.student(image_clean, image_deg) + + sup_loss = self.criterion['supervised_loss'](s_out, target) * \ + self.config['loss_weights'][0] + inh_loss = 0 + if self.loss_names['inheritance_loss'] == 'COS': + inh_loss += self.criterion['inheritance_loss'](rb1_s[1], rb1_t[1].detach(), dum) * \ + self.config['loss_weights'][1][0] + inh_loss += self.criterion['inheritance_loss'](rb2_s[1], rb2_t[1].detach(), dum) * \ + self.config['loss_weights'][1][1] + inh_loss += self.criterion['inheritance_loss'](rb3_s[1], rb3_t[1].detach(), dum) * \ + self.config['loss_weights'][1][2] + elif self.loss_names['inheritance_loss'] == 'AT': + inh_loss += self.criterion['inheritance_loss'](rb1_s[1], rb1_t[1].detach()) * \ + self.config['loss_weights'][1][0] + inh_loss += self.criterion['inheritance_loss'](rb2_s[1], rb2_t[1].detach()) * \ + self.config['loss_weights'][1][1] + inh_loss += self.criterion['inheritance_loss'](rb3_s[1], rb3_t[1].detach()) * \ + self.config['loss_weights'][1][2] + elif self.loss_names['inheritance_loss'] == 'KLD': + inh_loss += self.criterion['inheritance_loss'](torch.log(torch.clamp(F.softmax(rb3_s[1],dim=1),1e-10,1.0)), + torch.clamp(F.softmax(rb3_t[1], dim=1),1e-10,1.0)) * \ + self.config['loss_weights'][1][2] + else: + raise NotImplementedError + # inh_loss = inh_loss / (self.config['loss_weights'][1][0] + + # self.config['loss_weights'][1][1] + + # self.config['loss_weights'][1][2]) + loss = sup_loss + inh_loss + loss.backward() + self.optimizer.step() + + self.writer.set_step((epoch - 1) * self.len_epoch + batch_idx) + self.train_metrics.update('loss', loss.item()) + self.train_metrics.update('inh_loss', inh_loss.item()) + self.train_metrics.update('sup_loss', sup_loss.item()) + for met in self.metric_ftns: + self.train_metrics.update(met.__name__ + '_' + self.deg_flag, + met(s_out, target)) + self.train_metrics.update('lr', self.lr_scheduler.get_last_lr()[0]) + if batch_idx % self.log_step == 0: + self.logger.debug( + 'Train Epoch: {} {} Loss: {:.6f} Sup Loss: {:.6f} Inh Loss: {:.6f}'.format( + epoch, self._progress(batch_idx), loss.item(), + sup_loss.item(), inh_loss.item())) + # self.writer.add_image('input_clean', make_grid(image_clean.cpu(), nrow=8, normalize=True)) + # self.writer.add_image('input_deg', make_grid(image_deg.cpu(), nrow=8, normalize=True)) + + if batch_idx == self.len_epoch: + break + log = self.train_metrics.result() + + if self.do_validation: + self.logger.info('Testing on validation data') + val_log = self._valid_epoch(epoch) + log.update(**{'val_'+k : v for k, v in val_log.items()}) + + if self.lr_scheduler is not None: + self.lr_scheduler.step() + return log + + def _valid_epoch(self, epoch): + """ + Validate after training an epoch + + :param epoch: Integer, current training epoch. + :return: A log that contains information about validation + """ + self.teacher.eval() + self.student.eval() + self.valid_metrics.reset() + with torch.no_grad(): + for batch_idx, (images, targets) in enumerate(self.valid_data_loader): + (image_clean, image_deg) = images + (labels, _) = targets + image_clean = image_clean.to(self.device) + image_deg = image_deg.to(self.device) + target = labels.to(self.device) + if self.loss_names['inheritance_loss'] == 'COS': + dum = torch.ones((image_clean.size(0),)) + dum = dum.to(self.device) + + self.optimizer.zero_grad() + stem_t, rb1_t, rb2_t, rb3_t, t_feat, t_out = self.teacher(image_clean, image_deg) + stem_s, rb1_s, rb2_s, rb3_s, s_feat, s_out = self.student(image_clean, image_deg) + + sup_loss = self.criterion['supervised_loss'](s_out, target) * \ + self.config['loss_weights'][0] + inh_loss = 0 + if self.loss_names['inheritance_loss'] == 'COS': + inh_loss += self.criterion['inheritance_loss'](rb1_s[1], rb1_t[1].detach(), dum) * \ + self.config['loss_weights'][1][0] + inh_loss += self.criterion['inheritance_loss'](rb2_s[1], rb2_t[1].detach(), dum) * \ + self.config['loss_weights'][1][1] + inh_loss += self.criterion['inheritance_loss'](rb3_s[1], rb3_t[1].detach(), dum) * \ + self.config['loss_weights'][1][2] + elif self.loss_names['inheritance_loss'] == 'AT': + inh_loss += self.criterion['inheritance_loss'](rb1_s[1], rb1_t[1].detach()) * \ + self.config['loss_weights'][1][0] + inh_loss += self.criterion['inheritance_loss'](rb2_s[1], rb2_t[1].detach()) * \ + self.config['loss_weights'][1][1] + inh_loss += self.criterion['inheritance_loss'](rb3_s[1], rb3_t[1].detach()) * \ + self.config['loss_weights'][1][2] + elif self.loss_names['inheritance_loss'] == 'KLD': + inh_loss += self.criterion['inheritance_loss'](torch.log(torch.clamp(F.softmax(rb3_s[1],dim=1),1e-10,1.0)), + torch.clamp(F.softmax(rb3_t[1], dim=1),1e-10,1.0)) * \ + self.config['loss_weights'][1][2] + else: + raise NotImplementedError + # inh_loss = inh_loss / (self.config['loss_weights'][1][0] + + # self.config['loss_weights'][1][1] + + # self.config['loss_weights'][1][2]) + loss = sup_loss + inh_loss + + self.writer.set_step((epoch - 1) * len(self.valid_data_loader) + batch_idx, 'valid') + self.valid_metrics.update('loss', loss.item()) + self.valid_metrics.update('inh_loss', inh_loss.item()) + self.valid_metrics.update('sup_loss', sup_loss.item()) + for met in self.metric_ftns: + self.valid_metrics.update(met.__name__ + '_' + self.deg_flag, + met(s_out, target)) + # self.writer.add_image('input_clean', make_grid(image_clean.cpu(), nrow=8, normalize=True)) + # self.writer.add_image('input_deg', make_grid(image_deg.cpu(), nrow=8, normalize=True)) + + # add histogram of model parameters to the tensorboard + # for name, p in self.student.named_parameters(): + # self.writer.add_histogram(name, p, bins='auto') + return self.valid_metrics.result() + + def _save_checkpoint(self, epoch, save_best=False): + """ + Saving checkpoints + + :param epoch: current epoch number + :param log: logging information of the epoch + :param save_best: if True, rename the saved checkpoint to 'model_best.pth' + """ + model_name = type(self.student).__name__ + state = { + 'model': model_name, + 'epoch': epoch, + 'state_dict': self.student.state_dict(), + 'optimizer': self.optimizer.state_dict(), + 'monitor_best': self.mnt_best, + 'config': self.config + } + filename = str(self.checkpoint_dir / 'checkpoint-epoch{}.pth'.format(epoch)) + # torch.save(state, filename) + self.logger.info("Saving checkpoint: {} ...".format(filename)) + if save_best: + best_path = str(self.checkpoint_dir / 'model_best.pth') + torch.save(state, best_path) + self.logger.info("Saving current best: model_best.pth ...") + + def _resume_checkpoint(self, config): + """ + Resume from saved checkpoints + + :param resume_path: Checkpoint path to be resumed + """ + resume_path = str(config.resume) + self.logger.info("Loading checkpoint: {} ...".format(resume_path)) + checkpoint = torch.load(resume_path) + self.start_epoch = checkpoint['epoch'] + 1 + self.mnt_best = checkpoint['monitor_best'] + + # load architecture params from checkpoint. + if checkpoint['config']['student_model'] != self.config['student_model']: + self.logger.warning("Warning: Architecture configuration given in config file is different from that of " + "checkpoint. This may yield an exception while state_dict is being loaded.") + self.student.load_state_dict(checkpoint['state_dict']) + + # load optimizer state from checkpoint only when optimizer type is not changed. + if checkpoint['config']['optimizer']['type'] != self.config['optimizer']['type']: + self.logger.warning("Warning: Optimizer type given in config file is different from that of checkpoint. " + "Optimizer parameters not being resumed.") + else: + self.optimizer.load_state_dict(checkpoint['optimizer']) + + self.logger.info("Checkpoint loaded. Resume training from epoch {}".format(self.start_epoch)) diff --git a/trainer/sl_all_deg.py b/trainer/sl_all_deg.py new file mode 100644 index 0000000..fb0ec31 --- /dev/null +++ b/trainer/sl_all_deg.py @@ -0,0 +1,316 @@ +import numpy as np +import torch +from torchvision.utils import make_grid +from base import BaseTrainer +from utils import inf_loop, MetricTracker +import model.loss as module_loss +import torch.nn as nn +import torch.nn.functional as F +import copy + +class SLDA_Trainer(BaseTrainer): + """ + Trainer class for training our proposed method FusionDistill based on distillation and fusion, + i.e., Step-4 of our proposed method. + """ + def __init__(self, metric_ftns, config, train_loaders_all, val_loaders_all=None, + len_epoch=None): + super().__init__(metric_ftns, config, train_loaders_all[0], val_loaders_all[0], len_epoch) + self.teachers, self.student = self._build_model(config) + self.criterion = self._load_loss(config) + self.optimizer = self._load_optimizer(self.student, config) + self.lr_scheduler = self._load_scheduler(self.optimizer, config) + self.config = config + self.loss_names = {type: loss for losses in config['loss'] for type, loss in losses.items()} + self.log_step = int(np.sqrt(train_loaders_all[0].batch_size)) + train_misc_metrics = ['loss', 'sup_loss', 'inh_loss', 'lr'] + valid_misc_metrics = ['loss', 'sup_loss', 'inh_loss'] + self.train_metrics = MetricTracker(*train_misc_metrics, + *[m.__name__ + '_' + self.deg_flag for m in self.metric_ftns], + writer=self.writer) + self.valid_metrics = MetricTracker(*valid_misc_metrics, + *[m.__name__ + '_' + self.deg_flag for m in self.metric_ftns], + writer=self.writer) + self.train_loaders_all = train_loaders_all + self.val_loaders_all = val_loaders_all + + + def _build_model(self, config): + """ + Building model from the configuration file + + :param config: config file + :return: model with loaded state dict + """ + # build model architecture, then print to console + teacher = config.get_class('teacher_model', _class = 'model') + student = config.get_class('student_model', _class = 'model') + self.logger.info('Teacher Network: {} \n Student Network: {}'.format(teacher, student)) + + degs_all = ['jpeg', 'blur', 'saltpepper', 'noise'] + model_paths = [config['teacher_model']['pretrained_path_' + deg] for deg in degs_all] + checkpoints = [torch.load(path) for path in model_paths] + teachers = [copy.deepcopy(teacher) for _ in range(len(checkpoints))] + # Feezing parameters of teachers + for i, model in enumerate(teachers): + model.load_state_dict(checkpoints[i]['state_dict']) + for param in model.parameters(): + param.requires_grad = False + model = model.to(self.device) + + student = student.to(self.device) + if 'pretrained_path' in config['student_model']: + checkpoint = torch.load(config['student_model']['pretrained_path']) + student.load_state_dict(checkpoint['state_dict']) + + return teachers, student + + def _load_loss(self, config): + """ + Build model from the configuration file + + :param config: config file + :return: criterion dictionary in the format: {loss_type: loss} + """ + criterion = {type: getattr(module_loss, type)(loss) for losses in config['loss'] \ + for type, loss in losses.items()} + return criterion + + def _load_optimizer(self, model, config): + """ + Load optimizer from the configuration file + + :param model: model for which optimizer is to be initialized + :param config: config file + :return: initialized optimizer + """ + trainable_params = filter(lambda p: p.requires_grad, model.parameters()) + optimizer = config.init_obj('optimizer', torch.optim, trainable_params) + return optimizer + + def _load_scheduler(self, optimizer, config): + """ + Load scheduler from the configuration file + + :param optimizer: optimizer for which scheduler is to be initialized + :param config: config file + :return: initialized scheduler + """ + lr_scheduler = config.init_obj('lr_scheduler', torch.optim.lr_scheduler, optimizer) + return lr_scheduler + + def _train_epoch(self, epoch): + """ + Training logic for an epoch + + :param epoch: Integer, current training epoch. + :return: A log that contains average loss and metric in this epoch. + """ + for teacher in self.teachers: + teacher.eval() + self.student.train() + self.train_metrics.reset() + for batch_idx, loaders_all in enumerate(zip(*self.train_loaders_all)): + image_clean_all, image_deg_all, labels_all = None, None, None + for loader in loaders_all: + ((image_clean, image_deg), (labels, _)) = loader + if image_clean_all is None: + image_clean_all = copy.deepcopy(image_clean) + image_deg_all = copy.deepcopy(image_deg) + labels_all = copy.deepcopy(labels) + else: + image_clean_all = torch.cat((image_clean_all, image_clean)) + image_deg_all = torch.cat((image_deg_all, image_deg)) + labels_all = torch.cat((labels_all, labels)) + + image_clean_all = image_clean_all.to(self.device) + image_deg_all = image_deg_all.to(self.device) + target = labels_all.to(self.device) + + batch_size = int(image_clean_all.size(0)/4) + if self.loss_names['inheritance_loss'] == 'COS': + dum = torch.ones(batch_size,) + dum = dum.to(self.device) + + self.optimizer.zero_grad() + _, rb1_t_jpeg, rb2_t_jpeg, rb3_t_jpeg, _, _ = self.teachers[0](image_clean_all[:batch_size], + image_deg_all[:batch_size]) + _, rb1_t_blur, rb2_t_blur, rb3_t_blur, _, _ = self.teachers[1](image_clean_all[batch_size:batch_size*2], + image_deg_all[batch_size:batch_size*2]) + _, rb1_t_saltpepper, rb2_t_saltpepper, rb3_t_saltpepper, _, _ = self.teachers[2](image_clean_all[batch_size*2:batch_size*3], + image_deg_all[batch_size*2:batch_size*3]) + _, rb1_t_noise, rb2_t_noise, rb3_t_noise, _, _ = self.teachers[3](image_clean_all[batch_size*3:], + image_deg_all[batch_size*3:]) + + stem_s, rb1_s, rb2_s, rb3_s, s_feat, s_out = self.student(image_clean_all, image_deg_all) + + sup_loss = self.criterion['supervised_loss'](s_out, target) * \ + self.config['loss_weights'][0] + inh_loss = 0 + if self.loss_names['inheritance_loss'] == 'COS': + inh_loss += self.criterion['inheritance_loss'](rb3_s[1][:batch_size], rb3_t_jpeg[1].detach(), dum) * \ + self.config['loss_weights'][1][2] + inh_loss += self.criterion['inheritance_loss'](rb3_s[1][batch_size:batch_size*2], rb3_t_blur[1].detach(), dum) * \ + self.config['loss_weights'][1][2] + inh_loss += self.criterion['inheritance_loss'](rb3_s[1][batch_size*2:batch_size*3], rb3_t_saltpepper[1].detach(), dum) * \ + self.config['loss_weights'][1][2] + inh_loss += self.criterion['inheritance_loss'](rb3_s[1][batch_size*3:], rb3_t_noise[1].detach(), dum) * \ + self.config['loss_weights'][1][2] + else: + raise NotImplementedError + + loss = sup_loss + inh_loss + loss.backward() + self.optimizer.step() + + self.writer.set_step((epoch - 1) * self.len_epoch + batch_idx) + self.train_metrics.update('loss', loss.item()) + self.train_metrics.update('inh_loss', inh_loss.item()) + self.train_metrics.update('sup_loss', sup_loss.item()) + for met in self.metric_ftns: + self.train_metrics.update(met.__name__ + '_' + self.deg_flag, + met(s_out, target)) + self.train_metrics.update('lr', self.lr_scheduler.get_last_lr()[0]) + if batch_idx % self.log_step == 0: + self.logger.debug( + 'Train Epoch: {} {} Loss: {:.6f} Sup Loss: {:.6f} Inh Loss: {:.6f}'.format( + epoch, self._progress(batch_idx), loss.item(), + sup_loss.item(), inh_loss.item())) + + if batch_idx == self.len_epoch: + break + log = self.train_metrics.result() + + if self.do_validation: + self.logger.info('Testing on validation data') + val_log = self._valid_epoch(epoch) + log.update(**{'val_'+k : v for k, v in val_log.items()}) + + if self.lr_scheduler is not None: + self.lr_scheduler.step() + return log + + def _valid_epoch(self, epoch): + """ + Validate after training an epoch + + :param epoch: Integer, current training epoch. + :return: A log that contains information about validation + """ + for teacher in self.teachers: + teacher.eval() + self.student.eval() + self.valid_metrics.reset() + with torch.no_grad(): + for batch_idx, loaders_all in enumerate(zip(*self.val_loaders_all)): + image_clean_all, image_deg_all, labels_all = None, None, None + for loader in loaders_all: + ((image_clean, image_deg), (labels, _)) = loader + if image_clean_all is None: + image_clean_all = copy.deepcopy(image_clean) + image_deg_all = copy.deepcopy(image_deg) + labels_all = copy.deepcopy(labels) + else: + image_clean_all = torch.cat((image_clean_all, image_clean)) + image_deg_all = torch.cat((image_deg_all, image_deg)) + labels_all = torch.cat((labels_all, labels)) + + image_clean_all = image_clean_all.to(self.device) + image_deg_all = image_deg_all.to(self.device) + target = labels_all.to(self.device) + + batch_size = int(image_clean_all.size(0)/4) + if self.loss_names['inheritance_loss'] == 'COS': + dum = torch.ones(batch_size,) + dum = dum.to(self.device) + + self.optimizer.zero_grad() + _, rb1_t_jpeg, rb2_t_jpeg, rb3_t_jpeg, _, _ = self.teachers[0](image_clean_all[:batch_size], + image_deg_all[:batch_size]) + _, rb1_t_blur, rb2_t_blur, rb3_t_blur, _, _ = self.teachers[1](image_clean_all[batch_size:batch_size*2], + image_deg_all[batch_size:batch_size*2]) + _, rb1_t_saltpepper, rb2_t_saltpepper, rb3_t_saltpepper, _, _ = self.teachers[2](image_clean_all[batch_size*2:batch_size*3], + image_deg_all[batch_size*2:batch_size*3]) + _, rb1_t_noise, rb2_t_noise, rb3_t_noise, _, _ = self.teachers[3](image_clean_all[batch_size*3:], + image_deg_all[batch_size*3:]) + + stem_s, rb1_s, rb2_s, rb3_s, s_feat, s_out = self.student(image_clean_all, image_deg_all) + + sup_loss = self.criterion['supervised_loss'](s_out, target) * \ + self.config['loss_weights'][0] + inh_loss = 0 + if self.loss_names['inheritance_loss'] == 'COS': + inh_loss += self.criterion['inheritance_loss'](rb3_s[1][:batch_size], rb3_t_jpeg[1].detach(), dum) * \ + self.config['loss_weights'][1][2] + inh_loss += self.criterion['inheritance_loss'](rb3_s[1][batch_size:batch_size*2], rb3_t_blur[1].detach(), dum) * \ + self.config['loss_weights'][1][2] + inh_loss += self.criterion['inheritance_loss'](rb3_s[1][batch_size*2:batch_size*3], rb3_t_saltpepper[1].detach(), dum) * \ + self.config['loss_weights'][1][2] + inh_loss += self.criterion['inheritance_loss'](rb3_s[1][batch_size*3:], rb3_t_noise[1].detach(), dum) * \ + self.config['loss_weights'][1][2] + else: + raise NotImplementedError + + loss = sup_loss + inh_loss + + self.writer.set_step((epoch - 1) * len(self.valid_data_loader) + batch_idx, 'valid') + self.valid_metrics.update('loss', loss.item()) + self.valid_metrics.update('inh_loss', inh_loss.item()) + self.valid_metrics.update('sup_loss', sup_loss.item()) + for met in self.metric_ftns: + self.valid_metrics.update(met.__name__ + '_' + self.deg_flag, + met(s_out, target)) + + return self.valid_metrics.result() + + def _save_checkpoint(self, epoch, save_best=False): + """ + Saving checkpoints + + :param epoch: current epoch number + :param log: logging information of the epoch + :param save_best: if True, rename the saved checkpoint to 'model_best.pth' + """ + model_name = type(self.student).__name__ + state = { + 'model': model_name, + 'epoch': epoch, + 'state_dict': self.student.state_dict(), + 'optimizer': self.optimizer.state_dict(), + 'monitor_best': self.mnt_best, + 'config': self.config + } + filename = str(self.checkpoint_dir / 'checkpoint-epoch{}.pth'.format(epoch)) + # torch.save(state, filename) + self.logger.info("Saving checkpoint: {} ...".format(filename)) + if save_best: + best_path = str(self.checkpoint_dir / 'model_best.pth') + torch.save(state, best_path) + self.logger.info("Saving current best: model_best.pth ...") + + def _resume_checkpoint(self, config): + """ + Resume from saved checkpoints + + :param resume_path: Checkpoint path to be resumed + """ + resume_path = str(config.resume) + self.logger.info("Loading checkpoint: {} ...".format(resume_path)) + checkpoint = torch.load(resume_path) + self.start_epoch = checkpoint['epoch'] + 1 + self.mnt_best = checkpoint['monitor_best'] + + # load architecture params from checkpoint. + if checkpoint['config']['student_model'] != self.config['student_model']: + self.logger.warning("Warning: Architecture configuration given in config file is different from that of " + "checkpoint. This may yield an exception while state_dict is being loaded.") + self.student.load_state_dict(checkpoint['state_dict']) + + # load optimizer state from checkpoint only when optimizer type is not changed. + if checkpoint['config']['optimizer']['type'] != self.config['optimizer']['type']: + self.logger.warning("Warning: Optimizer type given in config file is different from that of checkpoint. " + "Optimizer parameters not being resumed.") + else: + self.optimizer.load_state_dict(checkpoint['optimizer']) + + self.logger.info("Checkpoint loaded. Resume training from epoch {}".format(self.start_epoch)) diff --git a/utils/__init__.py b/utils/__init__.py new file mode 100644 index 0000000..46d3a15 --- /dev/null +++ b/utils/__init__.py @@ -0,0 +1 @@ +from .util import * diff --git a/utils/data/cutout.py b/utils/data/cutout.py new file mode 100644 index 0000000..e9e4d10 --- /dev/null +++ b/utils/data/cutout.py @@ -0,0 +1,52 @@ +import torch +import numpy as np + +class Cutout(object): + """Randomly mask out one or more patches from an image. + Implementation based on the implementation from: + https://github.com/uoguelph-mlrg/Cutout/blob/master/util/cutout.py + Args: + n_holes (int): Number of patches to cut out of each image. + length (int): The length (in pixels) of each square patch. + """ + def __init__(self, n_holes = 1, length = 8): + self.n_holes = n_holes + self.length = length + + def __call__(self, img, mask): + """ + Args: + img (Tensor): Tensor image of size (C, H, W). + mask (Tensor): Mask with n_holes of dimension length x length cut out of it. + Returns: + Tensor: Image with applied mask that contains n_holes of dimension length + x length cut out of it. + """ + img = img * mask + return img + + def get_mask(self, img): + """ + Args: + img (Tensor): Tensor image of size (C, H, W). + Returns: + Tensor: Mask with n_holes of dimension length x length cut out of it. + """ + h = img.size(1) + w = img.size(2) + mask = np.ones((h, w), np.float32) + + for n in range(self.n_holes): + y = np.random.randint(h) + x = np.random.randint(w) + + y1 = np.clip(y - self.length // 2, 0, h) + y2 = np.clip(y + self.length // 2, 0, h) + x1 = np.clip(x - self.length // 2, 0, w) + x2 = np.clip(x + self.length // 2, 0, w) + + mask[y1: y2, x1: x2] = 0. + + mask = torch.from_numpy(mask) + mask = mask.expand_as(img) + return mask diff --git a/utils/data/datasets.py b/utils/data/datasets.py new file mode 100644 index 0000000..0319973 --- /dev/null +++ b/utils/data/datasets.py @@ -0,0 +1,290 @@ +from torchvision.datasets import CIFAR10, CIFAR100 +from utils.data.tiny_imagenet.dataset import TinyImageNetDataset +from torchvision.transforms import Compose, RandomCrop, functional as tvtf +from utils.data import degtransforms, degradedimagedata as deg_data +import torch +from utils.data.cutout import Cutout +import numpy as np +from PIL import Image + +class DegCIFAR10Dataset(CIFAR10): + def __init__(self, data_dir, train = True, train_init_transform = None, teacher_transform = None, + student_transform = None, val_transform = None, download = False, deg_type = 'jpeg', + deg_range = None, deg_list = None, is_to_tensor = True, is_target_to_tensor = True, + deg_to_tensor = None, cutout_method = None, cutout_length = None, + cutout_apply_clean = True, cutout_apply_deg = True, cutout_independent = False): + super().__init__(data_dir, train, train_init_transform, download = download) + self.train = train + self.teacher_transform = teacher_transform + self.student_transform = student_transform + self.deg_type = deg_type + self.deg_range = deg_range + if self.deg_range is None: + self.deg_range = deg_data.get_type_range(self.deg_type) + self.deg_list = deg_list + self.is_to_tensor = is_to_tensor + self.is_target_to_tensor = is_target_to_tensor + self.deg_to_tensor = deg_to_tensor + self.cutout_method = cutout_method + self.cutout_length = cutout_length + self.cutout_apply_clean = cutout_apply_clean + self.cutout_apply_deg = cutout_apply_deg + self.cutout_independent = cutout_independent + if cutout_method == 'Cutout' and self.cutout_length is not None: + self.cutout = Cutout(length = cutout_length) + self.epoch = 0 + self.deg_transform = Compose([degtransforms.DegApplyWithLevel(self.deg_type, self.deg_range, self.deg_list)]) + + def __getitem__(self, index): + """ + degradation & tensor are applied. + """ + clean_img, target = super().__getitem__(index) + orig_clean_img = clean_img.copy() + + if self.train: + if self.teacher_transform: + clean_img, _ = self.teacher_transform(clean_img) + if self.student_transform: + clean_img, _ = self.student_transform(orig_clean_img) + deg_img, deg_lev = self.deg_transform(clean_img) if self.deg_type == 'jpeg' \ + else self.deg_transform(np.asarray(clean_img)) + else: + deg_img, deg_lev = self.deg_transform(clean_img) if self.deg_type == 'jpeg' \ + else self.deg_transform(np.asarray(clean_img)) + else: + deg_img, deg_lev = self.deg_transform(clean_img) if self.deg_type == 'jpeg' \ + else self.deg_transform(np.asarray(clean_img)) + if self.deg_type != 'jpeg': + deg_img = Image.fromarray(np.uint8(deg_img.clip(0, 255))) + + if self.train: + # self.transform does not have the RandomCrop in the training process + # Applying RandomCrop + clean_img = tvtf.pad(clean_img, 4, 0, "constant") + deg_img = tvtf.pad(deg_img, 4, 0, "constant") + i, j, h, w = RandomCrop.get_params(clean_img, output_size=(32, 32)) + clean_img = tvtf.crop(clean_img, i, j, h, w) + deg_img = tvtf.crop(deg_img, i, j, h, w) + + if self.is_to_tensor: + tensor_clean_img = self.deg_to_tensor(clean_img) + tensor_deg_img = self.deg_to_tensor(deg_img) + imgs = (tensor_clean_img, tensor_deg_img) + else: + imgs = (clean_img, deg_img) + + # Applying cutout + if self.train and self.cutout_method is not None: + clean_img, deg_img = imgs + if self.cutout_method == 'Cutout': + if self.cutout_independent: + clean_mask = self.cutout.get_mask(clean_img) + deg_mask = self.cutout.get_mask(deg_img) + else: + clean_mask = self.cutout.get_mask(clean_img) + deg_mask = clean_mask + if self.cutout_apply_clean: + clean_img = self.cutout(clean_img, clean_mask) + if self.cutout_apply_deg: + deg_img = self.cutout(deg_img, deg_mask) + + imgs = (clean_img, deg_img) + + if self.is_target_to_tensor: + deg_lev = degtransforms.normalize_level(self.deg_type, deg_lev) + tensor_target = torch.tensor(target) + tensor_deg_lev = deg_lev + targets = (tensor_target, tensor_deg_lev) + else: + targets = (target, deg_lev) + + return imgs, targets + +class DegCIFAR100Dataset(CIFAR100): + def __init__(self, data_dir, train = True, train_init_transform = None, teacher_transform = None, + student_transform = None, val_transform = None, download = False, deg_type = 'jpeg', + deg_range = None, deg_list = None, is_to_tensor = True, is_target_to_tensor = True, + deg_to_tensor = None, cutout_method = None, cutout_length = None, + cutout_apply_clean = True, cutout_apply_deg = True, cutout_independent = False): + super().__init__(data_dir, train, train_init_transform, download = download) + self.train = train + self.teacher_transform = teacher_transform + self.student_transform = student_transform + self.deg_type = deg_type + self.deg_range = deg_range + if self.deg_range is None: + self.deg_range = deg_data.get_type_range(self.deg_type) + self.deg_list = deg_list + self.is_to_tensor = is_to_tensor + self.is_target_to_tensor = is_target_to_tensor + self.deg_to_tensor = deg_to_tensor + self.cutout_method = cutout_method + self.cutout_length = cutout_length + self.cutout_apply_clean = cutout_apply_clean + self.cutout_apply_deg = cutout_apply_deg + self.cutout_independent = cutout_independent + if cutout_method == 'Cutout' and self.cutout_length is not None: + self.cutout = Cutout(length = cutout_length) + self.epoch = 0 + self.deg_transform = Compose([degtransforms.DegApplyWithLevel(self.deg_type, self.deg_range, self.deg_list)]) + + def __getitem__(self, index): + """ + degradation & tensor are applied. + """ + clean_img, target = super().__getitem__(index) + orig_clean_img = clean_img.copy() + if self.train: + if self.teacher_transform: + clean_img, _ = self.teacher_transform(clean_img) + if self.student_transform: + clean_img, _ = self.student_transform(orig_clean_img) + deg_img, deg_lev = self.deg_transform(clean_img) if self.deg_type == 'jpeg' \ + else self.deg_transform(np.asarray(clean_img)) + else: + deg_img, deg_lev = self.deg_transform(clean_img) if self.deg_type == 'jpeg' \ + else self.deg_transform(np.asarray(clean_img)) + else: + deg_img, deg_lev = self.deg_transform(clean_img) if self.deg_type == 'jpeg' \ + else self.deg_transform(np.asarray(clean_img)) + if self.deg_type != 'jpeg': + deg_img = Image.fromarray(np.uint8(deg_img.clip(0, 255))) + + if self.train: + # self.transform does not have the RandomCrop in the training process + # Applying RandomCrop + clean_img = tvtf.pad(clean_img, 4, 0, "constant") + deg_img = tvtf.pad(deg_img, 4, 0, "constant") + i, j, h, w = RandomCrop.get_params(clean_img, output_size=(32, 32)) + clean_img = tvtf.crop(clean_img, i, j, h, w) + deg_img = tvtf.crop(deg_img, i, j, h, w) + + if self.is_to_tensor: + tensor_clean_img = self.deg_to_tensor(clean_img) + tensor_deg_img = self.deg_to_tensor(deg_img) + imgs = (tensor_clean_img, tensor_deg_img) + else: + imgs = (clean_img, deg_img) + + # Applying cutout + if self.train and self.cutout_method is not None: + clean_img, deg_img = imgs + if self.cutout_method == 'Cutout' or self.cutout_method == 'GridMask': + if self.cutout_independent: + clean_mask = self.cutout.get_mask(clean_img) + deg_mask = self.cutout.get_mask(deg_img) + else: + clean_mask = self.cutout.get_mask(clean_img) + deg_mask = clean_mask + if self.cutout_apply_clean: + clean_img = self.cutout(clean_img, clean_mask) + if self.cutout_apply_deg: + deg_img = self.cutout(deg_img, deg_mask) + + imgs = (clean_img, deg_img) + + if self.is_target_to_tensor: + deg_lev = degtransforms.normalize_level(self.deg_type, deg_lev) + tensor_target = torch.tensor(target) + tensor_deg_lev = deg_lev + targets = (tensor_target, tensor_deg_lev) + else: + targets = (target, deg_lev) + + return imgs, targets + +class DegTinyImagenetDataset(TinyImageNetDataset): + def __init__(self, data_dir, train = True, train_init_transform = None, teacher_transform = None, + student_transform = None, val_transform = None, download = False, deg_type = 'jpeg', + deg_range = None, deg_list = None, is_to_tensor = True, is_target_to_tensor = True, + deg_to_tensor = None, cutout_method = None, cutout_length = None, + cutout_apply_clean = True, cutout_apply_deg = True, cutout_independent = False): + super().__init__(data_dir + 'tiny-imagenet-200/', train, train_init_transform, + download = download) + self.train = train + self.teacher_transform = teacher_transform + self.student_transform = student_transform + self.deg_type = deg_type + self.deg_range = deg_range + if self.deg_range is None: + self.deg_range = deg_data.get_type_range(self.deg_type) + self.deg_list = deg_list + self.is_to_tensor = is_to_tensor + self.is_target_to_tensor = is_target_to_tensor + self.deg_to_tensor = deg_to_tensor + self.cutout_method = cutout_method + self.cutout_length = cutout_length + self.cutout_apply_clean = cutout_apply_clean + self.cutout_apply_deg = cutout_apply_deg + self.cutout_independent = cutout_independent + if cutout_method == 'Cutout' and self.cutout_length is not None: + self.cutout = Cutout(length = cutout_length) + self.epoch = 0 + self.deg_transform = Compose([degtransforms.DegApplyWithLevel(self.deg_type, self.deg_range, self.deg_list)]) + + def __getitem__(self, index): + """ + degradation & tensor are applied. + """ + clean_img, target = super().__getitem__(index) + + orig_clean_img = clean_img.copy() + if self.train: + if self.teacher_transform: + clean_img, _ = self.teacher_transform(clean_img) + if self.student_transform: + clean_img, _ = self.student_transform(orig_clean_img) + deg_img, deg_lev = self.deg_transform(clean_img) if self.deg_type == 'jpeg' \ + else self.deg_transform(np.asarray(clean_img)) + else: + deg_img, deg_lev = self.deg_transform(clean_img) if self.deg_type == 'jpeg' \ + else self.deg_transform(np.asarray(clean_img)) + else: + deg_img, deg_lev = self.deg_transform(clean_img) if self.deg_type == 'jpeg' \ + else self.deg_transform(np.asarray(clean_img)) + if self.deg_type != 'jpeg': + deg_img = Image.fromarray(np.uint8(deg_img.clip(0, 255))) + + if self.train: + # self.transform does not have the RandomCrop in the training process + # Applying RandomCrop + clean_img = tvtf.pad(clean_img, 4, 0, "constant") + deg_img = tvtf.pad(deg_img, 4, 0, "constant") + i, j, h, w = RandomCrop.get_params(clean_img, output_size=(64, 64)) + clean_img = tvtf.crop(clean_img, i, j, h, w) + deg_img = tvtf.crop(deg_img, i, j, h, w) + + if self.is_to_tensor: + tensor_clean_img = self.deg_to_tensor(clean_img) + tensor_deg_img = self.deg_to_tensor(deg_img) + imgs = (tensor_clean_img, tensor_deg_img) + else: + imgs = (clean_img, deg_img) + + # Applying cutout + if self.train and self.cutout_method is not None: + clean_img, deg_img = imgs + if self.cutout_method == 'Cutout' or self.cutout_method == 'GridMask': + if self.cutout_independent: + clean_mask = self.cutout.get_mask(clean_img) + deg_mask = self.cutout.get_mask(deg_img) + else: + clean_mask = self.cutout.get_mask(clean_img) + deg_mask = clean_mask + if self.cutout_apply_clean: + clean_img = self.cutout(clean_img, clean_mask) + if self.cutout_apply_deg: + deg_img = self.cutout(deg_img, deg_mask) + + imgs = (clean_img, deg_img) + + if self.is_target_to_tensor: + deg_lev = degtransforms.normalize_level(self.deg_type, deg_lev) + tensor_target = torch.tensor(target) + tensor_deg_lev = deg_lev + targets = (tensor_target, tensor_deg_lev) + else: + targets = (target, deg_lev) + + return imgs, targets diff --git a/utils/data/degradedimagedata.py b/utils/data/degradedimagedata.py new file mode 100644 index 0000000..911ca1d --- /dev/null +++ b/utils/data/degradedimagedata.py @@ -0,0 +1,75 @@ +import numpy as np + +def get_type_range(degtype): + """ + Get degradation type and range + Args: + degtype (string) : jpeg, noise, blur, saltpepper + """ + if degtype == "jpeg": + deg_range = [1, 101] + elif degtype == "noise": + deg_range = [0, 50] + elif degtype == "blur": + deg_range = [0, 50] + elif degtype == 'saltpepper': + deg_range = [0, 25] + else: + raise NotImplementedError + return deg_range + +def get_minmax_normalizedlevel(deg_type): + """ + Min and Max of normalized degradation levels + Args: + deg_type (string) : degradation type + Returns: + normalized degradation level (tuple) + """ + if deg_type == 'jpeg': + ret_adj, max_l, min_l = 100.0, 101.0, 1.0 + elif deg_type == 'noise': + ret_adj, max_l, min_l = 255.0, 50.0, 0.0 + elif deg_type == 'blur': + ret_adj, max_l, min_l = 100.0, 50.0, 0.0 + elif deg_type == 'saltpepper': + ret_adj, max_l, min_l = 100.0, 5.0, 0.0 + else: + ret_adj, max_l, min_l = 1.0, 1.0, 0.0 + + return min_l/ret_adj, max_l/ret_adj + +def fix_seed_noise_sl(is_fixed): + """ + Fix the seed of Gaussian and Binomial distributions + This is only used for evalution purpose. + If you fix the seed, please do not forget to unfix the seed. + Args: + is_fixed (bool) : True if the seed is fixed + """ + if is_fixed: + np.random.seed(seed=301) + else: + np.random.seed(seed=None) + +def get_type_list(degtype): + """ + Get degradation type and range + Args: + degtype (string) : jpeg, noise, blur, saltpepper + """ + if degtype == "jpeg": + deg_type = "jpeg" + deg_list = [10, 30, 50, 70, 90] + elif degtype == "noise": + deg_type = "noise" + deg_list = [np.sqrt(0.05)*255, np.sqrt(0.1)*255, + np.sqrt(0.15)*255, np.sqrt(0.2)*255, np.sqrt(0.25)*255] + elif degtype == "blur": + deg_type = "blur" + deg_list = [10., 20., 30., 40., 50.] + else: + deg_type = "saltpepper" + deg_list = [5., 10., 15., 20., 25.] + + return deg_type, deg_list \ No newline at end of file diff --git a/utils/data/degtransforms.py b/utils/data/degtransforms.py new file mode 100644 index 0000000..9dd0e92 --- /dev/null +++ b/utils/data/degtransforms.py @@ -0,0 +1,168 @@ +import torch +import numpy as np +import random +from PIL import Image, ImageStat, ImageChops +import imagedegrade.im as degrade # https://github.com/mastnk/imagedegrade +import imagedegrade.np as np_degrade # https://github.com/mastnk/imagedegrade + +random.seed(0) + +def jpegcompresswithclean(img, jpeg_quality): + """ + Apply JPEG distortion to clean images + If JPEG quality factor is in [1, 100], JPEG distortion is applied. + If it is not in [1, 100], clean image will be returned. + Args: + img (PIL image) : clean image + jpeg_quality (int) : JPEG quality factor + Returns: + img (PIL image) : JPEG image or clean image + """ + if (jpeg_quality >= 1) and (jpeg_quality <= 100): + ret_img = degrade.jpeg(img, jpeg_quality) + else: + ret_img = img + + return ret_img + +def degradation_function(deg_type): + """ + Get the pointer of a degradation function from imagedegrade.im + Args: + deg_type (string) : degradtion type + Returns: + ret_func (pinter) : the poiter of your selected degradation function + ret_adj (folat) : the adjsutment of degradation level + """ + if deg_type == 'jpeg': + ret_func = jpegcompresswithclean + ret_adj = 1.0 + elif deg_type == 'noise': + ret_func = np_degrade.noise + ret_adj = 1.0 + elif deg_type == 'blur': + ret_func = np_degrade.blur + ret_adj = 10.0 + elif deg_type == 'saltpepper': + ret_func = np_degrade.saltpepper + ret_adj = 100.0 + else: + msg = 'This degradation is not supported.' + raise LookupError(msg) + + return ret_func, ret_adj + +def normalize_level(deg_type, level): + """ + Normaliza degradation levels + Args: + deg_type (string) : degradation type + level (int or float) : degradation level + Returns: + normalized degradation level (float) + """ + if deg_type == 'jpeg': + ret_adj = 100.0 + elif deg_type == 'noise': + ret_adj = 255.0 + elif deg_type == 'blur': + ret_adj = 10.0 + elif deg_type == 'saltpepper': + ret_adj = 1.0 + else: + ret_adj = 1.0 + ret = np.array([float(level)/ret_adj]) + ret.astype(np.float32) + return ret + +def calc_deglev_rescaledimg(deg_type, img_org, resized_img_org, inp_resized_img_org, inp_resized_img_deg, deg_param): + """ + True degration level for rescaled degraded images + Args: + deg_type (string) : degradation type + img_org (PIL images) : clean image + resized_img_org (PIL images) : resized clean image + inp_resized_img_org (PIL images) : resized clean image input into CNN + inp_resized_img_deg (PIL images) : resized degraded image input into CNN + deg_param (float) : degradation parameter used by degradation operator + Returns: + true degradation level (JPEG and Gaussian, S&P noise: RMSE, Gaussina blur: rescaled std) + """ + if deg_type == 'blur': + true_deglev = deg_param / float(img_org.width) * float(resized_img_org.width) # Rescaling the standard deviation + else: + img_diff = ImageChops.difference(inp_resized_img_org, inp_resized_img_deg) + stat_diff = ImageStat.Stat(img_diff) + mse = sum(stat_diff.sum2) / float(len(stat_diff.count)) / float(stat_diff.count[0]) + true_deglev = np.sqrt(mse) # RMSE based on the maximum intensity 255.0 + if deg_type == 'jpeg': # This operation is necessary for the normalize_level function. + true_deglev *= (100.0 / 255.0) + elif deg_type == 'saltpepper': + true_deglev /= 255.0 + + return true_deglev + +class DegApplyWithLevel(torch.nn.Module): + """ + Data augmentation of degradations + This transform returns not only a degraded image but also a degradation level. + """ + def __init__(self, deg_type, deg_range, deg_list): + """ + deg_range or deg_list are not input at the same time. + Args: + deg_type (string) : degradtion type + deg_range (int, int) : range of degradation levels + deg_list (list) : list of degradation levels + """ + super().__init__() + self.deg_type = deg_type + if deg_range is None and deg_list is None: + msg = 'Both deg_range and deg_list do not have values.' + raise TypeError(msg) + elif (deg_range is not None) and (deg_list is not None): + msg = 'deg_range or deg_list have values.' + raise TypeError(msg) + else: + self.deg_range = deg_range + self.deg_list = deg_list + + self.deg_func, self.deg_adj = degradation_function(deg_type) + + def forward(self, img): + """ + Get a degraded image and a degradation level + Args: + img : clean image (PIL image) + Returns: + degraded image (PIL image) : degraded image + deg_lev (float) : degradation level + """ + if self.deg_range is not None: + deg_lev = random.randint(self.deg_range[0], self.deg_range[1]) + if self.deg_adj > 1.0: + deg_lev = deg_lev / self.deg_adj + else: + deg_lev = random.choice(self.deg_list) + if self.deg_adj > 1.0: + deg_lev = deg_lev / self.deg_adj + + return self.deg_func(img, deg_lev), deg_lev + + def __repr__(self): + return self.__class__.__name__ + '(deg_type={}, deg_range=({},{}))'.format(self.deg_type, self.deg_range[0], self.deg_range[1]) + +class DegradationApply(DegApplyWithLevel): + """ + Data augmentation of degradations + """ + def forward(self, img): + """ + Get a degraded image + Args: + img : clean image (PIL image) + Returns: + degraded image (PIL image) : degraded image + """ + deg_img, deg_lev = super().forward(img) + return deg_img diff --git a/utils/data/tiny_imagenet/dataset.py b/utils/data/tiny_imagenet/dataset.py new file mode 100644 index 0000000..28b0e12 --- /dev/null +++ b/utils/data/tiny_imagenet/dataset.py @@ -0,0 +1,210 @@ +import imageio +from PIL import Image +import numpy as np +import os + +from collections import defaultdict +from torch.utils.data import Dataset + +from tqdm.autonotebook import tqdm + +dir_structure_help = r""" +TinyImageNetPath +├── test +│ └── images +│ ├── test_0.JPEG +│ ├── t... +│ └── ... +├── train +│ ├── n01443537 +│ │ ├── images +│ │ │ ├── n01443537_0.JPEG +│ │ │ ├── n... +│ │ │ └── ... +│ │ └── n01443537_boxes.txt +│ ├── n01629819 +│ │ ├── images +│ │ │ ├── n01629819_0.JPEG +│ │ │ ├── n... +│ │ │ └── ... +│ │ └── n01629819_boxes.txt +│ ├── n... +│ │ ├── images +│ │ │ ├── ... +│ │ │ └── ... +├── val +│ ├── images +│ │ ├── val_0.JPEG +│ │ ├── v... +│ │ └── ... +│ └── val_annotations.txt +├── wnids.txt +└── words.txt +""" + +def download_and_unzip(URL, root_dir): + """ + Please download the dataset from here: http://cs231n.stanford.edu/tiny-imagenet-200.zip + """ + error_message = "Download is not yet implemented. Please, go to {URL} urself." + raise NotImplementedError(error_message.format(URL)) + +def _add_channels(img, total_channels=3): + while len(img.shape) < 3: # third axis is the channels + img = np.expand_dims(img, axis=-1) + while(img.shape[-1]) < 3: + img = np.concatenate([img, img[:, :, -1:]], axis=-1) + return img + +"""Creates a paths datastructure for the tiny imagenet. + +Args: + root_dir: Where the data is located + download: Download if the data is not there + +Members: + label_id: + ids: + nit_to_words: + data_dict: + +""" +class TinyImageNetPaths: + def __init__(self, root_dir, download=False): + if download: + download_and_unzip('http://cs231n.stanford.edu/tiny-imagenet-200.zip', + root_dir) + train_path = os.path.join(root_dir, 'train') + val_path = os.path.join(root_dir, 'val') + test_path = os.path.join(root_dir, 'test') + + wnids_path = os.path.join(root_dir, 'wnids.txt') + words_path = os.path.join(root_dir, 'words.txt') + + self._make_paths(train_path, val_path, test_path, + wnids_path, words_path) + + def _make_paths(self, train_path, val_path, test_path, + wnids_path, words_path): + self.ids = [] + with open(wnids_path, 'r') as idf: + for nid in idf: + nid = nid.strip() + self.ids.append(nid) + self.nid_to_words = defaultdict(list) + with open(words_path, 'r') as wf: + for line in wf: + nid, labels = line.split('\t') + labels = list(map(lambda x: x.strip(), labels.split(','))) + self.nid_to_words[nid].extend(labels) + + self.paths = { + 'train': [], # [img_path, id, nid, box] + 'val': [], # [img_path, id, nid, box] + 'test': [] # img_path + } + + # Get the test paths + self.paths['test'] = list(map(lambda x: os.path.join(test_path, x), + os.listdir(test_path))) + # Get the validation paths and labels + with open(os.path.join(val_path, 'val_annotations.txt')) as valf: + for line in valf: + fname, nid, x0, y0, x1, y1 = line.split() + fname = os.path.join(val_path, 'images', fname) + bbox = int(x0), int(y0), int(x1), int(y1) + label_id = self.ids.index(nid) + self.paths['val'].append((fname, label_id, nid, bbox)) + + # Get the training paths + train_nids = os.listdir(train_path) + for nid in train_nids: + anno_path = os.path.join(train_path, nid, nid+'_boxes.txt') + imgs_path = os.path.join(train_path, nid, 'images') + label_id = self.ids.index(nid) + with open(anno_path, 'r') as annof: + for line in annof: + fname, x0, y0, x1, y1 = line.split() + fname = os.path.join(imgs_path, fname) + bbox = int(x0), int(y0), int(x1), int(y1) + self.paths['train'].append((fname, label_id, nid, bbox)) + +"""Datastructure for the tiny image dataset. + +Args: + root_dir: Root directory for the data + mode: One of "train", "test", or "val" + preload: Preload into memory + load_transform: Transformation to use at the preload time + transform: Transformation to use at the retrieval time + download: Download the dataset + +Members: + tinp: Instance of the TinyImageNetPaths + img_data: Image data + label_data: Label data +""" +class TinyImageNetDataset(Dataset): + def __init__(self, root_dir, train = True, transform=None, download=False, + preload=True, load_transform=None, max_samples=None): + tinp = TinyImageNetPaths(root_dir, download) + if train: + mode = 'train' + else: + mode = 'val' + self.mode = mode + self.label_idx = 1 # from [image, id, nid, box] + self.preload = preload + self.transform = transform + self.transform_results = dict() + + self.IMAGE_SHAPE = (64, 64, 3) + + self.img_data = [] + self.label_data = [] + + self.samples = tinp.paths[mode] + self.samples_num = len(self.samples) + + if self.preload: + load_desc = "Preloading {} data...".format(mode) + self.img_data = [] + self.label_data = [] + for idx in range(self.samples_num): + s = self.samples[idx] + img = Image.open(s[0]) + # Convert to RGB from L, values doesn't change + if img.mode == 'L': + img = img.convert('RGB') + + self.img_data.append(img) + self.label_data.append(s[self.label_idx]) + + if load_transform: + for lt in load_transform: + result = lt(self.img_data, self.label_data) + self.img_data, self.label_data = result[:2] + if len(result) > 2: + self.transform_results.update(result[2]) + + def __len__(self): + return self.samples_num + + def __getitem__(self, idx): + if self.preload: + img = self.img_data[idx] + lbl = self.label_data[idx] + + else: + s = self.samples[idx] + img = Image.open(s[0]) + # Convert to RGB from L, values doesn't change + if img.mode == 'L': + img = img.convert('RGB') + + lbl = (s[self.label_idx]) + + if self.transform: + img = self.transform(img) + + return img, lbl \ No newline at end of file diff --git a/utils/model_soups.py b/utils/model_soups.py new file mode 100644 index 0000000..9b2d638 --- /dev/null +++ b/utils/model_soups.py @@ -0,0 +1,80 @@ +import os +import sys +# Adding the parent directory to the sys path, fix so that this file can be run from utils dir. +script_dir = os.path.dirname(os.path.abspath(__file__)) +parent_dir = os.path.abspath(os.path.join(script_dir, '..')) +sys.path.insert(1, parent_dir) + +import argparse +import torch +import copy +from parse_config import ConfigParser +from utils import read_yaml, write_yaml +from datetime import datetime + +def model_fusion(dataset='CIFAR10'): + """ + This function is used to perform the fusion of several fine-tuned individual degradation models, + i.e., Step-3 of our proposed method. + + Example usage: python utils/model_soups.py --dataset CIFAR10 + It will generate a combined model in the saved/combined_deg/SLTrainer/ResNet56-56_CIFAR10_soups/train/ directory. + """ + # Load the configuration file + config_file = 'configs/deg_all/{}/ResNet56_soups.yaml'.format(dataset.lower()) + config = ConfigParser(read_yaml(config_file), dry_run = True) + + # Get the model from the configuration + model = config.get_class('model') + + # Extract the pretrained model paths from the configuration + model_paths = [] + for key, value in config['model'].items(): + if key.startswith('pretrained_path'): + model_paths.append(value) + + # Load the checkpoints of the pretrained individual degradation models + checkpoints = [torch.load(path) for path in model_paths] + + # Initialize the models and load their state + models_all = [copy.deepcopy(model) for _ in range(len(checkpoints))] + for i, model in enumerate(models_all): + model.load_state_dict(checkpoints[i]['state_dict']) + + # Combine the weights of the model + combined_model = None + global_count = 0 + for model in models_all: + if combined_model is None: + combined_model = copy.deepcopy(model) + else: + for param_q, param_k in zip(model.parameters(), combined_model.parameters()): + param_k.data = (param_k.data * global_count + param_q.data) / (1. + global_count) + global_count += 1 + + # Prepare the checkpoint directory and model state + run_id = datetime.now().strftime(r'%m%d_%H%M%S') + checkpoint_dir = 'saved/combined_deg/SLTrainer/ResNet56-56_{}_soups/train/{}/'.format(dataset, run_id) + model_name = type(combined_model).__name__ + config.config['name'] = config.config['name'] + '_soups' + state = { + 'model': model_name, + 'state_dict': combined_model.state_dict(), + 'config': config + } + + # Save the combined model and the configuration + model_path = checkpoint_dir + 'model_best.pth' + os.makedirs(checkpoint_dir, exist_ok=True) + write_yaml(config.config, checkpoint_dir + 'config.yaml') + torch.save(state, model_path) + print('saved combined model:', model_path) + +if __name__ == "__main__": + # Parse command line arguments + parser = argparse.ArgumentParser(description='Combine Models') + parser.add_argument('--dataset', type=str, default='CIFAR10', help='Dataset to use such as CIFAR100 or TinyImagenet') + args = parser.parse_args() + + # Call the model fusion function + model_fusion(args.dataset) diff --git a/utils/util.py b/utils/util.py new file mode 100644 index 0000000..d307eec --- /dev/null +++ b/utils/util.py @@ -0,0 +1,111 @@ +import json +import yaml +import io +import torch +import pandas as pd +from pathlib import Path +from itertools import repeat +from collections import OrderedDict +import numpy as np +import random + +def ensure_dir(dirname): + dirname = Path(dirname) + if not dirname.is_dir(): + dirname.mkdir(parents=True, exist_ok=False) + +def read_json(fname): + fname = Path(fname) + with fname.open('rt') as handle: + return json.load(handle, object_hook=OrderedDict) + +def write_json(content, fname): + fname = Path(fname) + with fname.open('wt') as handle: + json.dump(content, handle, indent=4, sort_keys=False) + +def read_yaml(fname): + fname = Path(fname) + with open(fname, 'r') as stream: + return yaml.safe_load(stream) + +def write_yaml(content, fname): + fname = Path(fname) + with io.open(fname, 'w', encoding='utf8') as outfile: + yaml.dump(content, outfile, default_flow_style=False, sort_keys=False, + allow_unicode=True, indent=2) + +def print_dict(content): + return yaml.dump(content, indent=2, sort_keys=False) + +def inf_loop(data_loader): + ''' wrapper function for endless data loader. ''' + for loader in repeat(data_loader): + yield from loader + +def import_class(name): + components = name.split('.') + mod = __import__(components[0]) # import return model + for comp in components[1:]: + mod = getattr(mod, comp) + return mod + +def prepare_device(n_gpu_use): + """ + setup GPU device if available. get gpu device indices which are used for DataParallel + """ + n_gpu = torch.cuda.device_count() + if n_gpu_use > 0 and n_gpu == 0: + print("Warning: There\'s no GPU available on this machine," + "training will be performed on CPU.") + n_gpu_use = 0 + if n_gpu_use > n_gpu: + print(f"Warning: The number of GPU\'s configured to use is {n_gpu_use}, but only {n_gpu} are " + "available on this machine.") + n_gpu_use = n_gpu + device = torch.device('cuda:0' if n_gpu_use > 0 else 'cpu') + list_ids = list(range(n_gpu_use)) + return device, list_ids + +def set_seeds(SEED = 123): + torch.manual_seed(SEED) + torch.cuda.manual_seed(SEED) # New here <-- + torch.backends.cudnn.deterministic = True + torch.backends.cudnn.benchmark = True + np.random.seed(SEED) + random.seed(SEED) + +def set_seeds_prev(SEED = 123): + torch.manual_seed(SEED) + torch.backends.cudnn.deterministic = True + torch.backends.cudnn.benchmark = False + np.random.seed(SEED) + random.seed(SEED) + +def seed_worker(worker_id): + worker_seed = torch.initial_seed() % 2**32 + np.random.seed(worker_seed) + random.seed(worker_seed) + +class MetricTracker: + def __init__(self, *keys, writer=None): + self.writer = writer + self._data = pd.DataFrame(index=keys, columns=['total', 'counts', 'average']) + self.reset() + + def reset(self): + for col in self._data.columns: + self._data[col].values[:] = 0 + + def update(self, key, value, n=1): + if self.writer is not None: + self.writer.add_scalar(key, value) + self._data.total[key] += value * n + self._data.counts[key] += n + self._data.average[key] = self._data.total[key] / self._data.counts[key] + + def avg(self, key): + return self._data.average[key] + + def result(self): + return dict(self._data.average)