From 6beea6adf180ba620033105f4cfac2b9d48d5410 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Galip=20=C3=9Cmit=20Yolcu?= Date: Tue, 6 Aug 2024 01:18:09 +0200 Subject: [PATCH 01/21] Use new import strategy. All leaf files are imported through the __init__ file of their directory. Exceptions: the files in quanda/utils/, also quanda/explainers/utils.py is imported as from quanda.explainers.utils import foo, bar. Finally: aggregators.py is now inside quanda.metrics --- .coveragerc | 16 +- Makefile | 2 +- README.md | 10 +- docs/Makefile | 2 +- src/__init__.py | 0 src/explainers/__init__.py | 0 src/explainers/aggregators.py | 62 --- src/explainers/base.py | 71 --- src/explainers/functional.py | 28 -- src/explainers/random.py | 66 --- src/explainers/utils.py | 63 --- src/explainers/wrappers/__init__.py | 0 src/explainers/wrappers/captum_influence.py | 458 ------------------ src/metrics/__init__.py | 0 src/metrics/aggr_strategies.py | 81 ---- src/metrics/base.py | 252 ---------- src/metrics/localization/__init__.py | 0 src/metrics/localization/class_detection.py | 60 --- .../localization/mislabeling_detection.py | 98 ---- .../localization/subclass_detection.py | 36 -- src/metrics/randomization/__init__.py | 0 .../randomization/model_randomization.py | 121 ----- src/metrics/unnamed/__init__.py | 0 src/metrics/unnamed/dataset_cleaning.py | 137 ------ src/metrics/unnamed/top_k_overlap.py | 40 -- src/toy_benchmarks/__init__.py | 0 src/toy_benchmarks/base.py | 61 --- src/toy_benchmarks/localization/__init__.py | 0 .../localization/class_detection.py | 126 ----- .../localization/mislabeling_detection.py | 260 ---------- .../localization/subclass_detection.py | 242 --------- src/toy_benchmarks/randomization/__init__.py | 0 .../randomization/model_randomization.py | 133 ----- src/toy_benchmarks/unnamed/__init__.py | 0 .../unnamed/dataset_cleaning.py | 150 ------ src/toy_benchmarks/unnamed/top_k_overlap.py | 127 ----- src/utils/__init__.py | 0 src/utils/cache.py | 220 --------- src/utils/common.py | 101 ---- src/utils/datasets/__init__.py | 0 src/utils/datasets/activation_dataset.py | 40 -- src/utils/datasets/indexed_subset.py | 18 - src/utils/datasets/transformed/__init__.py | 0 src/utils/datasets/transformed/base.py | 78 --- .../datasets/transformed/label_flipping.py | 55 --- .../datasets/transformed/label_grouping.py | 66 --- src/utils/datasets/transformed/sample.py | 33 -- src/utils/explanations.py | 134 ----- src/utils/functions/__init__.py | 0 src/utils/functions/correlations.py | 25 - src/utils/functions/similarities.py | 46 -- src/utils/training/__init__.py | 0 src/utils/training/base_pl_module.py | 56 --- src/utils/training/trainer.py | 95 ---- src/utils/transforms.py | 39 -- src/utils/validation.py | 40 -- tests/assets/mnist_checkpoints/checkpoint-00 | Bin 181452 -> 0 bytes tests/assets/mnist_checkpoints/checkpoint-01 | Bin 181452 -> 0 bytes tests/assets/mnist_checkpoints/checkpoint-02 | Bin 181452 -> 0 bytes tests/assets/mnist_checkpoints/checkpoint-03 | Bin 181452 -> 0 bytes tests/assets/mnist_checkpoints/checkpoint-04 | Bin 181452 -> 0 bytes tests/conftest.py | 6 +- tests/explainers/test_aggregators.py | 2 +- tests/explainers/test_base_explainer.py | 4 +- .../wrappers/test_captum_influence.py | 6 +- tests/metrics/test_aggr_strategies.py | 8 +- tests/metrics/test_localization_metrics.py | 14 +- tests/metrics/test_randomization_metrics.py | 8 +- tests/metrics/test_unnamed_metrics.py | 12 +- .../localization/test_class_detection.py | 6 +- .../test_mislabeling_detection.py | 12 +- .../localization/test_subclass_detection.py | 10 +- .../randomization/test_model_randomization.py | 6 +- .../unnamed/test_dataset_cleaning.py | 10 +- .../unnamed/test_top_k_overlap.py | 6 +- tests/utils/datasets/transformed/test_base.py | 2 +- .../transformed/test_label_flipping.py | 4 +- .../transformed/test_label_grouping.py | 4 +- tests/utils/test_common.py | 2 +- tests/utils/test_training.py | 4 +- tox.ini | 4 +- tutorials/usage_testing.py | 16 +- 82 files changed, 89 insertions(+), 3805 deletions(-) delete mode 100644 src/__init__.py delete mode 100644 src/explainers/__init__.py delete mode 100644 src/explainers/aggregators.py delete mode 100644 src/explainers/base.py delete mode 100644 src/explainers/functional.py delete mode 100644 src/explainers/random.py delete mode 100644 src/explainers/utils.py delete mode 100644 src/explainers/wrappers/__init__.py delete mode 100644 src/explainers/wrappers/captum_influence.py delete mode 100644 src/metrics/__init__.py delete mode 100644 src/metrics/aggr_strategies.py delete mode 100644 src/metrics/base.py delete mode 100644 src/metrics/localization/__init__.py delete mode 100644 src/metrics/localization/class_detection.py delete mode 100644 src/metrics/localization/mislabeling_detection.py delete mode 100644 src/metrics/localization/subclass_detection.py delete mode 100644 src/metrics/randomization/__init__.py delete mode 100644 src/metrics/randomization/model_randomization.py delete mode 100644 src/metrics/unnamed/__init__.py delete mode 100644 src/metrics/unnamed/dataset_cleaning.py delete mode 100644 src/metrics/unnamed/top_k_overlap.py delete mode 100644 src/toy_benchmarks/__init__.py delete mode 100644 src/toy_benchmarks/base.py delete mode 100644 src/toy_benchmarks/localization/__init__.py delete mode 100644 src/toy_benchmarks/localization/class_detection.py delete mode 100644 src/toy_benchmarks/localization/mislabeling_detection.py delete mode 100644 src/toy_benchmarks/localization/subclass_detection.py delete mode 100644 src/toy_benchmarks/randomization/__init__.py delete mode 100644 src/toy_benchmarks/randomization/model_randomization.py delete mode 100644 src/toy_benchmarks/unnamed/__init__.py delete mode 100644 src/toy_benchmarks/unnamed/dataset_cleaning.py delete mode 100644 src/toy_benchmarks/unnamed/top_k_overlap.py delete mode 100644 src/utils/__init__.py delete mode 100644 src/utils/cache.py delete mode 100644 src/utils/common.py delete mode 100644 src/utils/datasets/__init__.py delete mode 100644 src/utils/datasets/activation_dataset.py delete mode 100644 src/utils/datasets/indexed_subset.py delete mode 100644 src/utils/datasets/transformed/__init__.py delete mode 100644 src/utils/datasets/transformed/base.py delete mode 100644 src/utils/datasets/transformed/label_flipping.py delete mode 100644 src/utils/datasets/transformed/label_grouping.py delete mode 100644 src/utils/datasets/transformed/sample.py delete mode 100644 src/utils/explanations.py delete mode 100644 src/utils/functions/__init__.py delete mode 100644 src/utils/functions/correlations.py delete mode 100644 src/utils/functions/similarities.py delete mode 100644 src/utils/training/__init__.py delete mode 100644 src/utils/training/base_pl_module.py delete mode 100644 src/utils/training/trainer.py delete mode 100644 src/utils/transforms.py delete mode 100644 src/utils/validation.py delete mode 100644 tests/assets/mnist_checkpoints/checkpoint-00 delete mode 100644 tests/assets/mnist_checkpoints/checkpoint-01 delete mode 100644 tests/assets/mnist_checkpoints/checkpoint-02 delete mode 100644 tests/assets/mnist_checkpoints/checkpoint-03 delete mode 100644 tests/assets/mnist_checkpoints/checkpoint-04 diff --git a/.coveragerc b/.coveragerc index a3f969d1..67e57da7 100644 --- a/.coveragerc +++ b/.coveragerc @@ -1,13 +1,13 @@ [run] -source = src +source = quanda omit = /tests/* - src/utils/explanations.py - src/utils/transforms.py - src/utils/datasets/transformed/sample.py - src/utils/cache.py - src/utils/datasets/activation_dataset.py - src/utils/datasets/indexed_subset.py - src/explainers/functional.py + quanda/utils/explanations.py + quanda/utils/transforms.py + quanda/utils/datasets/transformed/sample.py + quanda/utils/cache.py + quanda/utils/datasets/activation_dataset.py + quanda/utils/datasets/indexed_subset.py + quanda/explainers/functional.py [report] ignore_errors = True diff --git a/Makefile b/Makefile index 3ae6aa8d..78666278 100644 --- a/Makefile +++ b/Makefile @@ -7,7 +7,7 @@ style: black . python -m flake8 . --pytest-parametrize-names-type=csv python -m isort . - python -m mypy src --check-untyped-defs + python -m mypy quanda --check-untyped-defs rm -f .coverage rm -f .coverage.* find . | grep -E "(__pycache__|\.pyc|\.pyo)" | xargs rm -rf diff --git a/README.md b/README.md index 1da1d2eb..ff604fad 100644 --- a/README.md +++ b/README.md @@ -32,12 +32,10 @@ Excerpts from `tutorials/usage_testing.py`: Step 1. Import library components ```python -from src.explainers.wrappers.captum_influence import captum_similarity_explain, CaptumSimilarity -from src.metrics.localization.class_detection import ClassDetectionMetric -from src.metrics.randomization.model_randomization import ( - ModelRandomizationMetric, -) -from src.metrics.unnamed.top_k_overlap import TopKOverlapMetric +from quanda.explainers.wrappers import captum_similarity_explain, CaptumSimilarity +from quanda.metrics.localization import ClassDetectionMetric +from quanda.metrics.randomization import ModelRandomizationMetric +from quanda.metrics.unnamed.top_k_overlap import TopKOverlapMetric ``` diff --git a/docs/Makefile b/docs/Makefile index 57dba049..9ef23a98 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -21,7 +21,7 @@ help: rst: - @sphinx-apidoc -o source/docs_api ../src --module-first --separate --force + @sphinx-apidoc -o source/docs_api ../quanda --module-first --separate --force clean: diff --git a/src/__init__.py b/src/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/src/explainers/__init__.py b/src/explainers/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/src/explainers/aggregators.py b/src/explainers/aggregators.py deleted file mode 100644 index 5d94f6c6..00000000 --- a/src/explainers/aggregators.py +++ /dev/null @@ -1,62 +0,0 @@ -from abc import ABC, abstractmethod -from typing import Optional - -import torch - - -class BaseAggregator(ABC): - def __init__(self): - self.scores: Optional[torch.Tensor] = None - - @abstractmethod - def update(self, explanations: torch.Tensor): - raise NotImplementedError - - def _validate_explanations(self, explanations: torch.Tensor): - if self.scores is None: - self.scores = torch.zeros(explanations.shape[1]) - - if explanations.shape[1] != self.scores.shape[0]: - raise ValueError(f"Explanations shape {explanations.shape} does not match the expected shape {self.scores.shape}") - - def reset(self, *args, **kwargs): - """ - Used to reset the aggregator state. - """ - self.scores = None - - def load_state_dict(self, state_dict: dict, *args, **kwargs): - """ - Used to load the aggregator state. - """ - self.scores = state_dict["scores"] - - @property - def state_dict(self, *args, **kwargs): - """ - Used to return the metric state. - """ - return {"scores": self.scores} - - def compute(self) -> torch.Tensor: - if self.scores is None: - raise ValueError("No scores to aggregate.") - return self.scores - - -class SumAggregator(BaseAggregator): - def update(self, explanations: torch.Tensor): - self._validate_explanations(explanations) - self.scores += explanations.sum(dim=0) - - -class AbsSumAggregator(BaseAggregator): - def update(self, explanations: torch.Tensor): - self._validate_explanations(explanations) - self.scores += explanations.abs().sum(dim=0) - - -aggr_types = { - "sum": SumAggregator, - "sum_abs": AbsSumAggregator, -} diff --git a/src/explainers/base.py b/src/explainers/base.py deleted file mode 100644 index 197986af..00000000 --- a/src/explainers/base.py +++ /dev/null @@ -1,71 +0,0 @@ -from abc import ABC, abstractmethod -from typing import Any, List, Optional, Sized, Union - -import torch - -from src.utils.common import cache_result -from src.utils.validation import validate_1d_tensor_or_int_list - - -class BaseExplainer(ABC): - def __init__( - self, - model: torch.nn.Module, - model_id: str, - cache_dir: Optional[str], - train_dataset: torch.utils.data.Dataset, - device: Union[str, torch.device], - **kwargs, - ): - self.model = model - self.model.to(device) - - self.model_id = model_id - self.cache_dir = cache_dir - self.train_dataset = train_dataset - self.device = torch.device(device) if isinstance(device, str) else device - - @abstractmethod - def explain(self, test: torch.Tensor, targets: Optional[Union[List[int], torch.Tensor]] = None) -> torch.Tensor: - raise NotImplementedError - - @property - def dataset_length(self) -> int: - """ - By default, the Dataset class does not always have a __len__ method. - :return: - """ - if isinstance(self.train_dataset, Sized): - return len(self.train_dataset) - dl = torch.utils.data.DataLoader(self.train_dataset, batch_size=1) - return len(dl) - - def _process_targets(self, targets: Optional[Union[List[int], torch.Tensor]]): - if targets is not None: - # TODO: move validation logic outside at a later point - validate_1d_tensor_or_int_list(targets) - if isinstance(targets, list): - targets = torch.tensor(targets) - targets = targets.to(self.device) - return targets - - @cache_result - def self_influence(self, **kwargs: Any) -> torch.Tensor: - """ - Base class implements computing self influences by explaining the train dataset one by one - - :param batch_size: - :param kwargs: - :return: - """ - batch_size = kwargs.get("batch_size", 32) - - # Pre-allcate memory for influences, because torch.cat is slow - influences = torch.empty((self.dataset_length,), device=self.device) - ldr = torch.utils.data.DataLoader(self.train_dataset, shuffle=False, batch_size=batch_size) - - for i, (x, y) in zip(range(0, self.dataset_length, batch_size), ldr): - explanations = self.explain(test=x.to(self.device), targets=y.to(self.device)) - influences[i : i + batch_size] = explanations.diag(diagonal=i) - - return influences diff --git a/src/explainers/functional.py b/src/explainers/functional.py deleted file mode 100644 index e00569de..00000000 --- a/src/explainers/functional.py +++ /dev/null @@ -1,28 +0,0 @@ -from typing import Any, List, Optional, Protocol, Union - -import torch - - -class ExplainFunc(Protocol): - def __call__( - self, - model: torch.nn.Module, - model_id: str, - cache_dir: Optional[str], - test_tensor: torch.Tensor, - train_dataset: torch.utils.data.Dataset, - device: Union[str, torch.device], - explanation_targets: Optional[Union[List[int], torch.Tensor]] = None, - **kwargs: Any, - ) -> torch.Tensor: - pass - - -class ExplainFuncMini(Protocol): - def __call__( - self, - test_tensor: torch.Tensor, - explanation_targets: Optional[Union[List[int], torch.Tensor]] = None, - **kwargs: Any, - ) -> torch.Tensor: - pass diff --git a/src/explainers/random.py b/src/explainers/random.py deleted file mode 100644 index afa65500..00000000 --- a/src/explainers/random.py +++ /dev/null @@ -1,66 +0,0 @@ -from typing import Any, List, Optional, Union - -import torch - -from src.explainers.base import BaseExplainer -from src.utils.common import cache_result - - -class RandomExplainer(BaseExplainer): - """ - The most basic version of a random explainer. - """ - - def __init__( - self, - model: torch.nn.Module, - model_id: str, - cache_dir: Optional[str], - train_dataset: torch.utils.data.Dataset, - seed: int = 27, - device: Union[str, torch.device] = "cpu", - **kwargs, - ): - super().__init__( - model=model, - model_id=model_id, - cache_dir=cache_dir, - train_dataset=train_dataset, - device=device, - ) - self.seed = seed - self.generator = torch.Generator(device=device) - self.generator.manual_seed(self.seed) - - def explain(self, test: torch.Tensor, targets: Optional[Union[List[int], torch.Tensor]] = None): - """ - Random explainer does not explain anything, just returns random values. - - TODO: shall the explainer always return the same values for the same test input? - - Parameters - ---------- - test - targets - - Returns - ------- - - """ - return torch.rand(test.size(0), self.dataset_length, generator=self.generator, device=self.device) - - @cache_result - def self_influence(self, batch_size: int = 32, **kwargs: Any) -> torch.Tensor: - """ - Random self-influence is just a vector of random values of the length of the dataset. - - Parameters - ---------- - batch_size - kwargs - - Returns - ------- - - """ - return torch.rand(self.dataset_length, generator=self.generator, device=self.device) diff --git a/src/explainers/utils.py b/src/explainers/utils.py deleted file mode 100644 index 384afc72..00000000 --- a/src/explainers/utils.py +++ /dev/null @@ -1,63 +0,0 @@ -from typing import Any, List, Optional, Union - -import torch - - -def _init_explainer(explainer_cls, model, model_id, cache_dir, train_dataset, device, **kwargs): - explainer = explainer_cls( - model=model, - model_id=model_id, - cache_dir=cache_dir, - train_dataset=train_dataset, - device=device, - **kwargs, - ) - return explainer - - -def explain_fn_from_explainer( - explainer_cls: type, - model: torch.nn.Module, - model_id: str, - cache_dir: Optional[str], - test_tensor: torch.Tensor, - train_dataset: torch.utils.data.Dataset, - device: Union[str, torch.device], - targets: Optional[Union[List[int], torch.Tensor]] = None, - **kwargs: Any, -) -> torch.Tensor: - explainer = _init_explainer( - explainer_cls=explainer_cls, - model=model, - model_id=model_id, - cache_dir=cache_dir, - train_dataset=train_dataset, - device=device, - **kwargs, - ) - - return explainer.explain(test=test_tensor, targets=targets) - - -def self_influence_fn_from_explainer( - explainer_cls: type, - model: torch.nn.Module, - model_id: str, - cache_dir: Optional[str], - train_dataset: torch.utils.data.Dataset, - device: Union[str, torch.device], - self_influence_kwargs: dict, - **kwargs: Any, -) -> torch.Tensor: - - explainer = _init_explainer( - explainer_cls=explainer_cls, - model=model, - model_id=model_id, - cache_dir=cache_dir, - train_dataset=train_dataset, - device=device, - **kwargs, - ) - - return explainer.self_influence(**self_influence_kwargs) diff --git a/src/explainers/wrappers/__init__.py b/src/explainers/wrappers/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/src/explainers/wrappers/captum_influence.py b/src/explainers/wrappers/captum_influence.py deleted file mode 100644 index 9575f547..00000000 --- a/src/explainers/wrappers/captum_influence.py +++ /dev/null @@ -1,458 +0,0 @@ -import copy -import warnings -from abc import ABC, abstractmethod -from typing import Any, Callable, Iterator, List, Optional, Tuple, Union - -import torch -from captum.influence import SimilarityInfluence, TracInCP # type: ignore - -# TODO Should be imported directly from captum.influence once available -from captum.influence._core.arnoldi_influence_function import ( # type: ignore - ArnoldiInfluenceFunction, -) - -from src.explainers.base import BaseExplainer -from src.explainers.utils import ( - explain_fn_from_explainer, - self_influence_fn_from_explainer, -) -from src.utils.common import get_load_state_dict_func -from src.utils.functions.similarities import cosine_similarity -from src.utils.validation import validate_checkpoints_load_func - - -class CaptumInfluence(BaseExplainer, ABC): - def __init__( - self, - model: torch.nn.Module, - model_id: str, - cache_dir: Optional[str], - train_dataset: torch.utils.data.Dataset, - device: Union[str, torch.device], - explainer_cls: type, - explain_kwargs: Any, - ): - super().__init__( - model=model, - model_id=model_id, - cache_dir=cache_dir, - train_dataset=train_dataset, - device=device, - ) - self.explainer_cls = explainer_cls - self.explain_kwargs = explain_kwargs - self._init_explainer(**explain_kwargs) - - def _init_explainer(self, **explain_kwargs: Any): - self.captum_explainer = self.explainer_cls(**explain_kwargs) - - @abstractmethod - def explain(self, test: torch.Tensor, targets: Optional[Union[List[int], torch.Tensor]] = None) -> torch.Tensor: - """Comment for Galip and Niklas: We are now expecting explicit declaration of - explain method keyword arguments in specific explainer class __init__ methods. - Right now the only such keyword argument is `top_k` for CaptumSimilarity, which we - anyway overwrite with the dataset length.""" - raise NotImplementedError - - -class CaptumSimilarity(CaptumInfluence): - # TODO: incorporate SimilarityInfluence kwargs into init_kwargs - """ - init_kwargs = signature(SimilarityInfluence.__init__).parameters.items() - init_kwargs.append("replace_nan") - explain_kwargs = signature(SimilarityInfluence.influence) - si_kwargs = signature(SimilarityInfluence.selinfluence) - """ - - def __init__( - self, - model: torch.nn.Module, - model_id: str, - cache_dir: str, - train_dataset: torch.utils.data.Dataset, - layers: Union[str, List[str]], - similarity_metric: Callable = cosine_similarity, - similarity_direction: str = "max", - batch_size: int = 1, - replace_nan: bool = False, - device: Union[str, torch.device] = "cpu", - **explainer_kwargs: Any, - ): - # extract and validate layer from kwargs - self._layer: Optional[Union[List[str], str]] = None - self.layer = layers - - if device != "cpu": - warnings.warn("CaptumSimilarity explainer only supports CPU devices. Setting device to 'cpu'.") - device = "cpu" - - model_passed = copy.deepcopy(model) # CaptumSimilarity only does cpu, - # we still want to keep the model on cuda for the metrics - # TODO: validate SimilarityInfluence kwargs - explainer_kwargs.update( - { - "module": model_passed, - "influence_src_dataset": train_dataset, - "activation_dir": cache_dir, - "model_id": model_id, - "layers": self.layer, - "similarity_direction": similarity_direction, - "similarity_metric": similarity_metric, - "batch_size": batch_size, - "replace_nan": replace_nan, - **explainer_kwargs, - } - ) - - super().__init__( - model=model_passed, - model_id=model_id, - cache_dir=cache_dir, - train_dataset=train_dataset, - device=device, - explainer_cls=SimilarityInfluence, - explain_kwargs=explainer_kwargs, - ) - - # explicitly specifying explain method kwargs as instance attributes - self.top_k = self.dataset_length - - if "top_k" in explainer_kwargs: - warnings.warn("top_k is not supported by CaptumSimilarity explainer. Ignoring the argument.") - - @property - def layer(self): - return self._layer - - @layer.setter - def layer(self, layers: Any): - """ - Our wrapper only allows a single layer to be passed, while the Captum implementation allows multiple layers. - Here, we validate if there is only a single layer passed. - """ - if isinstance(layers, str): - self._layer = layers - return - if len(layers) != 1: - raise ValueError("A single layer shall be passed to the CaptumSimilarity explainer.") - self._layer = layers[0] - - def explain(self, test: torch.Tensor, targets: Optional[Union[List[int], torch.Tensor]] = None): - test = test.to(self.device) - - if targets is not None: - self._process_targets(targets=targets) - warnings.warn("CaptumSimilarity explainer does not support target indices. Ignoring the argument.") - - topk_idx, topk_val = self.captum_explainer.influence(inputs=test, top_k=self.top_k)[self.layer] - _, inverted_idx = topk_idx.sort() - return torch.gather(topk_val, 1, inverted_idx) - - -def captum_similarity_explain( - model: torch.nn.Module, - model_id: str, - cache_dir: Optional[str], - test_tensor: torch.Tensor, - train_dataset: torch.utils.data.Dataset, - device: Union[str, torch.device], - explanation_targets: Optional[Union[List[int], torch.Tensor]] = None, - **kwargs: Any, -) -> torch.Tensor: - return explain_fn_from_explainer( - explainer_cls=CaptumSimilarity, - model=model, - model_id=model_id, - cache_dir=cache_dir, - test_tensor=test_tensor, - targets=explanation_targets, - train_dataset=train_dataset, - device=device, - **kwargs, - ) - - -def captum_similarity_self_influence( - model: torch.nn.Module, - model_id: str, - cache_dir: Optional[str], - train_dataset: torch.utils.data.Dataset, - device: Union[str, torch.device], - batch_size: Optional[int] = 32, - **kwargs: Any, -) -> torch.Tensor: - self_influence_kwargs = { - "batch_size": batch_size, - } - return self_influence_fn_from_explainer( - explainer_cls=CaptumSimilarity, - model=model, - model_id=model_id, - cache_dir=cache_dir, - train_dataset=train_dataset, - device=device, - self_influence_kwargs=self_influence_kwargs, - **kwargs, - ) - - -class CaptumArnoldi(CaptumInfluence): - def __init__( - self, - model: torch.nn.Module, - model_id: str, # TODO Make optional - train_dataset: torch.utils.data.Dataset, - checkpoint: str, - cache_dir: str, # TODO Make optional - loss_fn: Union[torch.nn.Module, Callable] = torch.nn.CrossEntropyLoss(), - checkpoints_load_func: Optional[Callable[..., Any]] = None, - layers: Optional[List[str]] = None, - batch_size: int = 1, - hessian_dataset: Optional[Union[torch.utils.data.Dataset, torch.utils.data.DataLoader]] = None, - test_loss_fn: Optional[Union[torch.nn.Module, Callable]] = None, - sample_wise_grads_per_batch: bool = False, - projection_dim: int = 50, - seed: int = 0, - arnoldi_dim: int = 200, - arnoldi_tol: float = 1e-1, - hessian_reg: float = 1e-3, - hessian_inverse_tol: float = 1e-4, - projection_on_cpu: bool = True, - show_progress: bool = False, - device: Union[str, torch.device] = "cpu", # TODO Check if gpu works - **explainer_kwargs: Any, - ): - if checkpoints_load_func is None: - checkpoints_load_func = get_load_state_dict_func(device) - else: - validate_checkpoints_load_func(checkpoints_load_func) - - unsupported_args = ["k", "proponents"] - for arg in unsupported_args: - if arg in explainer_kwargs: - explainer_kwargs.pop(arg) - warnings.warn(f"{arg} is not supported by CaptumArnoldi explainer. Ignoring the argument.") - - explainer_kwargs.update( - { - "model": model, - "train_dataset": train_dataset, - "checkpoint": checkpoint, - "checkpoints_load_func": checkpoints_load_func, - "layers": layers, - "loss_fn": loss_fn, - "batch_size": batch_size, - "hessian_dataset": hessian_dataset, - "test_loss_fn": test_loss_fn, - "sample_wise_grads_per_batch": sample_wise_grads_per_batch, - "projection_dim": projection_dim, - "seed": seed, - "arnoldi_dim": arnoldi_dim, - "arnoldi_tol": arnoldi_tol, - "hessian_reg": hessian_reg, - "hessian_inverse_tol": hessian_inverse_tol, - "projection_on_cpu": projection_on_cpu, - "show_progress": show_progress, - **explainer_kwargs, - } - ) - - super().__init__( - model=model, - model_id=model_id, - cache_dir=cache_dir, - train_dataset=train_dataset, - device=device, - explainer_cls=ArnoldiInfluenceFunction, - explain_kwargs=explainer_kwargs, - ) - - def explain(self, test: torch.Tensor, targets: Optional[Union[List[int], torch.Tensor]] = None): - test = test.to(self.device) - - if targets is not None: - if isinstance(targets, list): - targets = torch.tensor(targets).to(self.device) - else: - targets = targets.to(self.device) - - influence_scores = self.captum_explainer.influence(inputs=(test, targets)) - return influence_scores - - def self_influence(self, **kwargs: Any) -> torch.Tensor: - inputs_dataset = kwargs.get("inputs_dataset", None) - influence_scores = self.captum_explainer.self_influence(inputs_dataset=inputs_dataset) - return influence_scores - - -def captum_arnoldi_explain( - model: torch.nn.Module, - model_id: str, - cache_dir: str, - test_tensor: torch.Tensor, - train_dataset: torch.utils.data.Dataset, - loss_fn: Union[torch.nn.Module, Callable], - device: Union[str, torch.device], - explanation_targets: Optional[Union[List[int], torch.Tensor]] = None, - **kwargs: Any, -) -> torch.Tensor: - return explain_fn_from_explainer( - explainer_cls=CaptumArnoldi, - model=model, - model_id=model_id, - cache_dir=cache_dir, - test_tensor=test_tensor, - targets=explanation_targets, - train_dataset=train_dataset, - loss_fn=loss_fn, - device=device, - **kwargs, - ) - - -def captum_arnoldi_self_influence( - model: torch.nn.Module, - model_id: str, - cache_dir: str, - train_dataset: torch.utils.data.Dataset, - loss_fn: Union[torch.nn.Module, Callable], - device: Union[str, torch.device], - inputs_dataset: Optional[Union[Tuple[Any, ...], torch.utils.data.DataLoader]] = None, - **kwargs: Any, -) -> torch.Tensor: - self_influence_kwargs = { - "inputs_dataset": inputs_dataset, - } - return self_influence_fn_from_explainer( - explainer_cls=CaptumArnoldi, - model=model, - model_id=model_id, - cache_dir=cache_dir, - train_dataset=train_dataset, - loss_fn=loss_fn, - device=device, - self_influence_kwargs=self_influence_kwargs, - **kwargs, - ) - - -class CaptumTracInCP(CaptumInfluence): - def __init__( - self, - model: torch.nn.Module, - model_id: str, - train_dataset: torch.utils.data.Dataset, - checkpoints: Union[str, List[str], Iterator], - cache_dir: Optional[str], - checkpoints_load_func: Optional[Callable[..., Any]] = None, - loss_fn: Optional[Union[torch.nn.Module, Callable]] = None, - batch_size: int = 1, - test_loss_fn: Optional[Union[torch.nn.Module, Callable]] = None, - sample_wise_grads_per_batch: bool = False, - device: Union[str, torch.device] = "cpu", - **explainer_kwargs: Any, - ): - if checkpoints_load_func is None: - checkpoints_load_func = get_load_state_dict_func(device) - else: - validate_checkpoints_load_func(checkpoints_load_func) - - unsupported_args = ["k", "proponents", "aggregate"] - for arg in unsupported_args: - if arg in explainer_kwargs: - explainer_kwargs.pop(arg) - warnings.warn(f"{arg} is not supported by CaptumTraceInCP explainer. Ignoring the argument.") - - explainer_kwargs.update( - { - "model": model, - "train_dataset": train_dataset, - "checkpoints": checkpoints, - "checkpoints_load_func": checkpoints_load_func, - "loss_fn": loss_fn, - "batch_size": batch_size, - "test_loss_fn": test_loss_fn, - "sample_wise_grads_per_batch": sample_wise_grads_per_batch, - **explainer_kwargs, - } - ) - - super().__init__( - model=model, - model_id=model_id, - cache_dir=cache_dir, - train_dataset=train_dataset, - device=device, - explainer_cls=TracInCP, - explain_kwargs=explainer_kwargs, - ) - - def explain(self, test: torch.Tensor, targets: Optional[Union[List[int], torch.Tensor]] = None): - test = test.to(self.device) - - if targets is not None: - if isinstance(targets, list): - targets = torch.tensor(targets).to(self.device) - else: - targets = targets.to(self.device) - - influence_scores = self.captum_explainer.influence(inputs=(test, targets)) - return influence_scores - - def self_influence(self, **kwargs: Any) -> torch.Tensor: - inputs = kwargs.get("inputs", None) - outer_loop_by_checkpoints = kwargs.get("outer_loop_by_checkpoints", False) - influence_scores = self.captum_explainer.self_influence( - inputs=inputs, outer_loop_by_checkpoints=outer_loop_by_checkpoints - ) - return influence_scores - - -def captum_tracincp_explain( - model: torch.nn.Module, - model_id: str, - cache_dir: Optional[str], - test_tensor: torch.Tensor, - train_dataset: torch.utils.data.Dataset, - checkpoints: Union[str, List[str], Iterator], - device: Union[str, torch.device], - explanation_targets: Optional[Union[List[int], torch.Tensor]] = None, - **kwargs: Any, -) -> torch.Tensor: - return explain_fn_from_explainer( - explainer_cls=CaptumTracInCP, - model=model, - model_id=model_id, - cache_dir=cache_dir, - test_tensor=test_tensor, - targets=explanation_targets, - train_dataset=train_dataset, - checkpoints=checkpoints, - device=device, - **kwargs, - ) - - -def captum_tracincp_self_influence( - model: torch.nn.Module, - model_id: str, - cache_dir: Optional[str], - train_dataset: torch.utils.data.Dataset, - checkpoints: Union[str, List[str], Iterator], - device: Union[str, torch.device], - inputs: Optional[Union[Tuple[Any, ...], torch.utils.data.DataLoader]] = None, - outer_loop_by_checkpoints: bool = False, - **kwargs: Any, -) -> torch.Tensor: - self_influence_kwargs = {"inputs": inputs, "outer_loop_by_checkpoints": outer_loop_by_checkpoints} - return self_influence_fn_from_explainer( - explainer_cls=CaptumTracInCP, - model=model, - model_id=model_id, - cache_dir=cache_dir, - train_dataset=train_dataset, - checkpoints=checkpoints, - device=device, - self_influence_kwargs=self_influence_kwargs, - **kwargs, - ) diff --git a/src/metrics/__init__.py b/src/metrics/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/src/metrics/aggr_strategies.py b/src/metrics/aggr_strategies.py deleted file mode 100644 index ba12074a..00000000 --- a/src/metrics/aggr_strategies.py +++ /dev/null @@ -1,81 +0,0 @@ -import warnings -from functools import lru_cache -from typing import Optional - -import torch - -from src.explainers.aggregators import BaseAggregator -from src.explainers.base import BaseExplainer - - -class GlobalSelfInfluenceStrategy: - def __init__( - self, - explainer: Optional[BaseExplainer] = None, - ): - if explainer is None: - raise ValueError( - "An explainer of type BaseExplainer is required for a metric with global method 'self-influence'." - ) - self.explainer = explainer - - def get_self_influence(self): - return self.explainer.self_influence() - - @lru_cache(maxsize=1) - def get_global_rank(self): - return self.get_self_influence().argsort() - - @staticmethod - def _si_warning(method_name: str): - warnings.warn( - f"{method_name} method is not supported for a metric with global method " - "'self-influence'. Method call will be ignored. Call 'compute' method to get the final result." - ) - - def update( - self, - explanations: torch.Tensor, - **kwargs, - ): - self._si_warning("update") - - def reset(self, *args, **kwargs): - pass - - def load_state_dict(self, state_dict: dict, *args, **kwargs): - self._si_warning("load_state_dict") - - def state_dict(self, *args, **kwargs): - self._si_warning("state_dict") - - -class GlobalAggrStrategy: - def __init__( - self, - aggr_type: type, - ): - self.aggregator = aggr_type() - self.global_rank: torch.Tensor - - if not isinstance(self.aggregator, BaseAggregator): - raise ValueError(f"Aggregator type {aggr_type} is not supported.") - - def update( - self, - explanations: torch.Tensor, - **kwargs, - ): - self.aggregator.update(explanations) - - def get_global_rank(self, *args, **kwargs): - return self.aggregator.compute().argsort() - - def reset(self, *args, **kwargs): - self.aggregator.reset() - - def load_state_dict(self, state_dict: dict, *args, **kwargs): - self.aggregator.load_state_dict(state_dict) - - def state_dict(self, *args, **kwargs): - return self.aggregator.state_dict() diff --git a/src/metrics/base.py b/src/metrics/base.py deleted file mode 100644 index 6f4770c3..00000000 --- a/src/metrics/base.py +++ /dev/null @@ -1,252 +0,0 @@ -from abc import ABC, abstractmethod -from typing import Any, Optional, Sized, Union - -import torch - -from src.explainers.aggregators import aggr_types -from src.metrics.aggr_strategies import ( - GlobalAggrStrategy, - GlobalSelfInfluenceStrategy, -) - - -class Metric(ABC): - """ - Base class for metrics. - """ - - def __init__( - self, - model: torch.nn.Module, - train_dataset: torch.utils.data.Dataset, - device: str = "cpu", - *args: Any, - **kwargs: Any, - ): - """ - Base class for metrics. - - Parameters - ---------- - model: torch.nn.Module - A PyTorch model. - train_dataset: torch.utils.data.Dataset - A PyTorch dataset. - device: str - Device to use. - *args: Any - Additional arguments. - **kwargs: Any - Additional keyword arguments. - """ - - self.model: torch.nn.Module = model.to(device) - self.train_dataset: torch.utils.data.Dataset = train_dataset - self.device: str = device - - @abstractmethod - def update( - self, - *args: Any, - **kwargs: Any, - ): - """ - Used to update the metric with new data. - - Parameters - ---------- - *args: Any - Additional arguments. - **kwargs: Any - Additional keyword arguments. - - Returns - ------- - None - """ - raise NotImplementedError - - def explain_update( - self, - *args, - **kwargs, - ): - """ - Used to update the metric with new data. - - Parameters - ---------- - *args: Any - Additional arguments. - **kwargs: Any - Additional keyword arguments. - - Returns - ------- - None - """ - if hasattr(self, "explainer"): - raise NotImplementedError - raise RuntimeError("No explainer is supplied to the metric.") - - @abstractmethod - def compute(self, *args: Any, **kwargs: Any) -> Any: - """ - Used to compute the metric. - - Parameters - ---------- - *args: Any - Additional arguments. - **kwargs: Any - Additional keyword arguments. - - Returns - ------- - Any - The computed metric result dictionary. - """ - - raise NotImplementedError - - @abstractmethod - def reset(self, *args: Any, **kwargs: Any): - """ - Used to reset the metric. - - Parameters - ---------- - *args: Any - Additional arguments. - **kwargs: Any - Additional keyword arguments. - - Returns - ------- - None - """ - raise NotImplementedError - - @abstractmethod - def load_state_dict(self, state_dict: dict): - """ - Used to load the metric state. - - Parameters - ---------- - state_dict: dict - The metric state dictionary. - - Returns - ------- - None - """ - - raise NotImplementedError - - @abstractmethod - def state_dict(self, *args: Any, **kwargs: Any) -> dict: - """ - Used to get the metric state. - - Parameters - ---------- - *args: Any - Additional arguments. - **kwargs: Any - Additional keyword arguments. - - Returns - ------- - dict - The metric state dictionary. - """ - - raise NotImplementedError - - @property - def dataset_length(self) -> int: - """ - Get the length of the dataset. - - Returns - ------- - int - The length of the dataset. - """ - if isinstance(self.train_dataset, Sized): - return len(self.train_dataset) - dl = torch.utils.data.DataLoader(self.train_dataset, batch_size=1) - return len(dl) - - -class GlobalMetric(Metric, ABC): - """ - Base class for global metrics. - """ - - strategies = { - "self-influence": GlobalSelfInfluenceStrategy, - "aggr": GlobalAggrStrategy, - } - - def __init__( - self, - model: torch.nn.Module, - train_dataset: torch.utils.data.Dataset, - global_method: Union[str, type] = "self-influence", - explainer_cls: Optional[type] = None, - expl_kwargs: Optional[dict] = None, - device: str = "cpu", - *args, - **kwargs, - ): - """ - Base class for global metrics. - - Parameters - ---------- - model: torch.nn.Module - A PyTorch model. - train_dataset: torch.utils.data.Dataset - A PyTorch dataset. - global_method: Union[str, BaseAggregator] - The global method to use. It can be a string "sum", "sum_abs", "self-influence", or a custom aggregator. - explainer: Optional[BaseExplainer] - An explainer object. - expl_kwargs: Optional[dict] - Keyword arguments for the explainer. - device: str - Device to use. - *args: Any - Additional arguments. - **kwargs: Any - Additional keyword arguments. - """ - super().__init__(model, train_dataset, device) - self.expl_kwargs = expl_kwargs or {} - self.explainer = ( - None if explainer_cls is None else explainer_cls(model=model, train_dataset=train_dataset, **self.expl_kwargs) - ) - - if isinstance(global_method, str): - if global_method == "self-influence": - self.strategy = self.strategies[global_method](explainer=self.explainer) - - elif global_method in aggr_types: - aggr_type = aggr_types[global_method] - self.strategy = self.strategies["aggr"](aggr_type=aggr_type) - - else: - raise ValueError(f"Global method {global_method} is not supported.") - - elif isinstance(global_method, type): - self.strategy = self.strategies["aggr"]( - aggr_type=global_method, - ) - else: - raise ValueError( - f"Global method {global_method} is not supported. When passing a custom aggregator, " - "it should be a subclass of BaseAggregator. When passing a string, it should be one of " - f"{list(aggr_types.keys()+ 'self-influence')}." - ) diff --git a/src/metrics/localization/__init__.py b/src/metrics/localization/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/src/metrics/localization/class_detection.py b/src/metrics/localization/class_detection.py deleted file mode 100644 index e2a6206b..00000000 --- a/src/metrics/localization/class_detection.py +++ /dev/null @@ -1,60 +0,0 @@ -from typing import List - -import torch - -from src.metrics.base import Metric - - -class ClassDetectionMetric(Metric): - def __init__( - self, - model: torch.nn.Module, - train_dataset: torch.utils.data.Dataset, - device: str, - *args, - **kwargs, - ): - super().__init__(model=model, train_dataset=train_dataset, device=device) - self.scores: List[torch.Tensor] = [] - - def update(self, test_labels: torch.Tensor, explanations: torch.Tensor): - """ - Used to implement metric-specific logic. - """ - - assert ( - test_labels.shape[0] == explanations.shape[0] - ), f"Number of explanations ({explanations.shape[0]}) exceeds the number of test labels ({test_labels.shape[0]})." - - test_labels = test_labels.to(self.device) - explanations = explanations.to(self.device) - - top_one_xpl_indices = explanations.argmax(dim=1) - top_one_xpl_targets = torch.tensor([self.train_dataset[i][1] for i in top_one_xpl_indices]).to(self.device) - - scores = (test_labels == top_one_xpl_targets) * 1.0 - self.scores.append(scores) - - def compute(self): - """ - Used to aggregate current results and return a metric score. - """ - return torch.cat(self.scores).mean() - - def reset(self, *args, **kwargs): - """ - Used to reset the metric state. - """ - self.scores = [] - - def load_state_dict(self, state_dict: dict, *args, **kwargs): - """ - Used to load the metric state. - """ - self.scores = state_dict["scores"] - - def state_dict(self, *args, **kwargs): - """ - Used to return the metric state. - """ - return {"scores": self.scores} diff --git a/src/metrics/localization/mislabeling_detection.py b/src/metrics/localization/mislabeling_detection.py deleted file mode 100644 index d6533179..00000000 --- a/src/metrics/localization/mislabeling_detection.py +++ /dev/null @@ -1,98 +0,0 @@ -from typing import Any, List, Optional, Union - -import torch - -from src.metrics.base import GlobalMetric - - -class MislabelingDetectionMetric(GlobalMetric): - def __init__( - self, - model: torch.nn.Module, - train_dataset: torch.utils.data.Dataset, - poisoned_indices: List[int], - global_method: Union[str, type] = "self-influence", - explainer_cls: Optional[type] = None, - expl_kwargs: Optional[dict] = None, - device: str = "cpu", - *args: Any, - **kwargs: Any, - ): - super().__init__( - model=model, - train_dataset=train_dataset, - global_method=global_method, - explainer_cls=explainer_cls, - expl_kwargs=expl_kwargs, - model_id="test", - device=device, - ) - self.poisoned_indices = poisoned_indices - - @classmethod - def self_influence_based( - cls, - model: torch.nn.Module, - train_dataset: torch.utils.data.Dataset, - explainer_cls: type, - poisoned_indices: List[int], - expl_kwargs: Optional[dict] = None, - device: str = "cpu", - *args: Any, - **kwargs: Any, - ): - return cls( - model=model, - poisoned_indices=poisoned_indices, - train_dataset=train_dataset, - global_method="self-influence", - explainer_cls=explainer_cls, - expl_kwargs=expl_kwargs, - device=device, - ) - - @classmethod - def aggr_based( - cls, - model: torch.nn.Module, - train_dataset: torch.utils.data.Dataset, - poisoned_indices: List[int], - aggregator_cls: Union[str, type], - device: str = "cpu", - *args, - **kwargs, - ): - return cls( - model=model, - global_method=aggregator_cls, - poisoned_indices=poisoned_indices, - train_dataset=train_dataset, - device=device, - ) - - def update( - self, - explanations: torch.Tensor, - **kwargs, - ): - self.strategy.update(explanations, **kwargs) - - def reset(self, *args, **kwargs): - self.strategy.reset() - - def load_state_dict(self, state_dict: dict, *args, **kwargs): - self.strategy.load_state_dict(state_dict) - - def state_dict(self, *args, **kwargs): - return self.strategy.state_dict() - - def compute(self, *args, **kwargs): - global_ranking = self.strategy.get_global_rank() - success_arr = torch.tensor([elem in self.poisoned_indices for elem in global_ranking]) - normalized_curve = torch.cumsum(success_arr * 1.0, dim=0) / len(self.poisoned_indices) - score = torch.trapezoid(normalized_curve) / len(self.poisoned_indices) - return { - "success_arr": success_arr, - "score": score.item(), - "curve": normalized_curve / len(self.poisoned_indices), - } diff --git a/src/metrics/localization/subclass_detection.py b/src/metrics/localization/subclass_detection.py deleted file mode 100644 index 2c5cd768..00000000 --- a/src/metrics/localization/subclass_detection.py +++ /dev/null @@ -1,36 +0,0 @@ -import torch - -from src.metrics.localization.class_detection import ClassDetectionMetric - - -class SubclassDetectionMetric(ClassDetectionMetric): - def __init__( - self, - model: torch.nn.Module, - train_dataset: torch.utils.data.Dataset, - subclass_labels: torch.Tensor, - device, - *args, - **kwargs, - ): - super().__init__(model, train_dataset, device, *args, **kwargs) - assert len(subclass_labels) == self.dataset_length, ( - f"Number of subclass labels ({len(subclass_labels)}) " - f"does not match the number of train dataset samples ({self.dataset_length})." - ) - self.subclass_labels = subclass_labels - - def update(self, test_subclasses: torch.Tensor, explanations: torch.Tensor): - """ - Used to implement metric-specific logic. - """ - - assert ( - test_subclasses.shape[0] == explanations.shape[0] - ), f"Number of explanations ({explanations.shape[0]}) exceeds the number of test labels ({test_subclasses.shape[0]})." - - top_one_xpl_indices = explanations.argmax(dim=1) - top_one_xpl_targets = torch.stack([self.subclass_labels[i] for i in top_one_xpl_indices]) - - score = (test_subclasses == top_one_xpl_targets) * 1.0 - self.scores.append(score) diff --git a/src/metrics/randomization/__init__.py b/src/metrics/randomization/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/src/metrics/randomization/model_randomization.py b/src/metrics/randomization/model_randomization.py deleted file mode 100644 index 69177c85..00000000 --- a/src/metrics/randomization/model_randomization.py +++ /dev/null @@ -1,121 +0,0 @@ -import copy -from typing import Callable, Dict, List, Optional, Union - -import torch - -from src.metrics.base import Metric -from src.utils.common import get_parent_module_from_name -from src.utils.functions.correlations import ( - CorrelationFnLiterals, - correlation_functions, -) - - -class ModelRandomizationMetric(Metric): - """ - Metric to evaluate the effect of randomizing a model. TBD - """ - - def __init__( - self, - model: torch.nn.Module, - train_dataset: torch.utils.data.Dataset, - explainer_cls: type, - expl_kwargs: Optional[dict] = None, - correlation_fn: Union[Callable, CorrelationFnLiterals] = "spearman", - seed: int = 42, - model_id: str = "0", - cache_dir: str = "./cache", - device: str = "cpu", - *args, - **kwargs, - ): - super().__init__( - model=model, - train_dataset=train_dataset, - device=device, - ) - self.model = model - self.train_dataset = train_dataset - self.expl_kwargs = expl_kwargs or {} - self.explainer = explainer_cls( - model=self.model, train_dataset=train_dataset, model_id=model_id, cache_dir=cache_dir, **self.expl_kwargs - ) - self.seed = seed - self.model_id = model_id - self.cache_dir = cache_dir - self.device = device - - self.generator = torch.Generator(device=device) - self.generator.manual_seed(self.seed) - self.rand_model = self._randomize_model(model) - self.rand_explainer = explainer_cls( - model=self.rand_model, train_dataset=train_dataset, model_id=model_id, cache_dir=cache_dir, **self.expl_kwargs - ) - self.results: Dict[str, List] = {"scores": []} - - # TODO: create a validation utility function - if isinstance(correlation_fn, str) and correlation_fn in correlation_functions: - self.corr_measure = correlation_functions[correlation_fn] - elif callable(correlation_fn): - self.corr_measure = correlation_fn - else: - raise ValueError( - f"Invalid correlation function: expected one of {list(correlation_functions.keys())} or" - f"a Callable, but got {self.corr_measure}." - ) - - def update( - self, - test_data: torch.Tensor, - explanations: torch.Tensor, - explanation_targets: Optional[torch.Tensor] = None, - ): - explanations = explanations.to(self.device) - - rand_explanations = self.rand_explainer.explain(test=test_data, targets=explanation_targets).to(self.device) - - corrs = self.corr_measure(explanations, rand_explanations) - self.results["scores"].append(corrs) - - def explain_update( - self, - test_data: torch.Tensor, - explanation_targets: Optional[torch.Tensor] = None, - ): - # TODO: add a test - explanations = self.explainer.explain( - test=test_data, - targets=explanation_targets, - ) - self.update(test_data=test_data, explanations=explanations, explanation_targets=explanation_targets) - - def compute(self) -> float: - return torch.cat(self.results["scores"]).mean().item() - - def reset(self): - self.results = {"scores": []} - self.generator.manual_seed(self.seed) - self.rand_model = self._randomize_model(self.model) - - def state_dict(self) -> Dict: - state_dict = { - "results_dict": self.results, - "rnd_model": self.rand_model.state_dict(), - } - return state_dict - - def load_state_dict(self, state_dict: dict): - self.results = state_dict["results_dict"] - self.rand_model.load_state_dict(state_dict["rnd_model"]) - # self.seed = state_dict["seed"] - # self.explain_fn = state_dict["explain_fn"] - # self.generator.set_state(state_dict["generator_state"]) - - def _randomize_model(self, model: torch.nn.Module) -> torch.nn.Module: - rand_model = copy.deepcopy(model) - for name, param in list(rand_model.named_parameters()): - random_param_tensor = torch.empty_like(param).normal_(generator=self.generator) - parent = get_parent_module_from_name(rand_model, name) - parent.__setattr__(name.split(".")[-1], torch.nn.Parameter(random_param_tensor)) - return rand_model diff --git a/src/metrics/unnamed/__init__.py b/src/metrics/unnamed/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/src/metrics/unnamed/dataset_cleaning.py b/src/metrics/unnamed/dataset_cleaning.py deleted file mode 100644 index f4c7b453..00000000 --- a/src/metrics/unnamed/dataset_cleaning.py +++ /dev/null @@ -1,137 +0,0 @@ -from typing import Optional, Union - -import torch - -from src.metrics.base import GlobalMetric -from src.utils.common import class_accuracy -from src.utils.training.trainer import BaseTrainer - - -class DatasetCleaningMetric(GlobalMetric): - """ - Quote from https://proceedings.mlr.press/v89/khanna19a.html: - - 'Our goal in this experiment is to try to identify some such misleading training data points, - and remove them to see if it improves predictive accuracy. To illustrate the flexibility of - our approach, we focus only on the digits 4 and 9 in the test data which were misclassified - by our model, and then select the training data points responsible for those misclassifications.' - - """ - - def __init__( - self, - model: torch.nn.Module, - train_dataset: torch.utils.data.Dataset, - trainer: BaseTrainer, - trainer_fit_kwargs: Optional[dict] = None, - global_method: Union[str, type] = "self-influence", - top_k: int = 50, - explainer_cls: Optional[type] = None, - expl_kwargs: Optional[dict] = None, - model_id: str = "0", - cache_dir: str = "./cache", - device: str = "cpu", - *args, - **kwargs, - ): - expl_kwargs = expl_kwargs or {} - - super().__init__( - model=model, - train_dataset=train_dataset, - global_method=global_method, - explainer_cls=explainer_cls, - expl_kwargs={**expl_kwargs, "model_id": model_id, "cache_dir": cache_dir}, - device=device, - ) - self.top_k = min(top_k, self.dataset_length - 1) - self.trainer = trainer - self.trainer_fit_kwargs = trainer_fit_kwargs - - self.clean_model: torch.nn.Module - self.clean_accuracy: int - self.original_accuracy: int - - @classmethod - def self_influence_based( - cls, - model: torch.nn.Module, - train_dataset: torch.utils.data.Dataset, - explainer_cls: type, - trainer: BaseTrainer, - expl_kwargs: Optional[dict] = None, - top_k: int = 50, - trainer_fit_kwargs: Optional[dict] = None, - device: str = "cpu", - *args, - **kwargs, - ): - return cls( - model=model, - train_dataset=train_dataset, - trainer=trainer, - trainer_fit_kwargs=trainer_fit_kwargs, - global_method="self-influence", - top_k=top_k, - explainer_cls=explainer_cls, - expl_kwargs=expl_kwargs, - device=device, - ) - - @classmethod - def aggr_based( - cls, - model: torch.nn.Module, - train_dataset: torch.utils.data.Dataset, - trainer: BaseTrainer, - aggregator_cls: Union[str, type], - top_k: int = 50, - trainer_fit_kwargs: Optional[dict] = None, - device: str = "cpu", - *args, - **kwargs, - ): - return cls( - model=model, - train_dataset=train_dataset, - trainer=trainer, - trainer_fit_kwargs=trainer_fit_kwargs, - global_method=aggregator_cls, - top_k=top_k, - device=device, - ) - - def update( - self, - explanations: torch.Tensor, - **kwargs, - ): - self.strategy.update(explanations, **kwargs) - - def reset(self, *args, **kwargs): - self.strategy.reset() - - def load_state_dict(self, state_dict: dict, *args, **kwargs): - self.strategy.load_state_dict(state_dict) - - def state_dict(self, *args, **kwargs): - return self.strategy.state_dict() - - def compute(self, *args, **kwargs): - top_k_indices = torch.topk(self.strategy.get_global_rank(), self.top_k).indices - clean_indices = [i for i in range(self.dataset_length) if i not in top_k_indices] - clean_subset = torch.utils.data.Subset(self.train_dataset, clean_indices) - - train_dl = torch.utils.data.DataLoader(self.train_dataset, batch_size=32, shuffle=True) - self.original_accuracy = class_accuracy(self.model, train_dl, self.device) - - clean_dl = torch.utils.data.DataLoader(clean_subset, batch_size=32, shuffle=True) - - self.clean_model = self.trainer.fit( - train_loader=clean_dl, - trainer_fit_kwargs=self.trainer_fit_kwargs, - ) - - self.clean_accuracy = class_accuracy(self.model, clean_dl, self.device) - - return self.original_accuracy - self.clean_accuracy diff --git a/src/metrics/unnamed/top_k_overlap.py b/src/metrics/unnamed/top_k_overlap.py deleted file mode 100644 index 99b534f6..00000000 --- a/src/metrics/unnamed/top_k_overlap.py +++ /dev/null @@ -1,40 +0,0 @@ -import torch - -from src.metrics.base import Metric - - -class TopKOverlapMetric(Metric): - def __init__( - self, - model: torch.nn.Module, - train_dataset: torch.utils.data.Dataset, - top_k: int = 1, - device: str = "cpu", - *args, - **kwargs, - ): - super().__init__(model=model, train_dataset=train_dataset, device=device) - self.top_k = top_k - self.all_top_k_examples = torch.empty(0, top_k).to(device) - - def update( - self, - explanations: torch.Tensor, - **kwargs, - ): - explanations = explanations.to(self.device) - - top_k_indices = torch.topk(explanations, self.top_k).indices - self.all_top_k_examples = torch.concat((self.all_top_k_examples, top_k_indices), dim=0) - - def compute(self, *args, **kwargs): - return len(torch.unique(self.all_top_k_examples)) - - def reset(self, *args, **kwargs): - self.all_top_k_examples = torch.empty(0, self.top_k) - - def load_state_dict(self, state_dict: dict, *args, **kwargs): - self.all_top_k_examples = state_dict["all_top_k_examples"] - - def state_dict(self, *args, **kwargs): - return {"all_top_k_examples": self.all_top_k_examples} diff --git a/src/toy_benchmarks/__init__.py b/src/toy_benchmarks/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/src/toy_benchmarks/base.py b/src/toy_benchmarks/base.py deleted file mode 100644 index b3d7b530..00000000 --- a/src/toy_benchmarks/base.py +++ /dev/null @@ -1,61 +0,0 @@ -from abc import ABC, abstractmethod - - -class ToyBenchmark(ABC): - def __init__(self, device: str = "cpu", *args, **kwargs): - """ - I think here it would be nice to pass a general receipt for the downstream task construction. - For example, we could pass - - a dataset constructor that generates the dataset for training from the original - dataset (either by modifying the labels, the data, or removing some samples); - - a metric that generates the final score: it could be either a Metric object from our library, or maybe - accuracy comparison. - - :param device: - :param args: - :param kwargs: - """ - self.device = device - - @classmethod - @abstractmethod - def generate(cls, *args, **kwargs): - """ - This method should generate all the benchmark components and persist them in the instance. - """ - raise NotImplementedError - - @classmethod - @abstractmethod - def load(cls, path: str, *args, **kwargs): - """ - This method should load the benchmark components from a file and persist them in the instance. - """ - raise NotImplementedError - - @classmethod - @abstractmethod - def assemble(cls, *args, **kwargs): - """ - This method should assemble the benchmark components from arguments and persist them in the instance. - """ - raise NotImplementedError - - @abstractmethod - def save(self, *args, **kwargs): - """ - This method should save the benchmark components to a file/folder. - """ - raise NotImplementedError - - @abstractmethod - def evaluate( - self, - *args, - **kwargs, - ): - """ - Used to update the metric with new data. - """ - - raise NotImplementedError diff --git a/src/toy_benchmarks/localization/__init__.py b/src/toy_benchmarks/localization/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/src/toy_benchmarks/localization/class_detection.py b/src/toy_benchmarks/localization/class_detection.py deleted file mode 100644 index aa8df7a1..00000000 --- a/src/toy_benchmarks/localization/class_detection.py +++ /dev/null @@ -1,126 +0,0 @@ -from typing import Optional - -import torch -from tqdm import tqdm - -from src.metrics.localization.class_detection import ClassDetectionMetric -from src.toy_benchmarks.base import ToyBenchmark - - -class ClassDetection(ToyBenchmark): - def __init__( - self, - device: str = "cpu", - *args, - **kwargs, - ): - super().__init__(device=device) - - self.model: torch.nn.Module - self.train_dataset: torch.utils.data.Dataset - - @classmethod - def generate( - cls, - model: torch.nn.Module, - train_dataset: torch.utils.data.Dataset, - device: str = "cpu", - *args, - **kwargs, - ): - """ - This method should generate all the benchmark components and persist them in the instance. - """ - - obj = cls(device=device) - - obj.model = model.to(device) - obj.train_dataset = train_dataset - obj.device = device - return obj - - @property - def bench_state(self): - return { - "model": self.model, - "train_dataset": self.train_dataset, # ok this probably won't work, but that's the idea - } - - @classmethod - def load(cls, path: str, device: str = "cpu", batch_size: int = 8, *args, **kwargs): - """ - This method should load the benchmark components from a file and persist them in the instance. - """ - bench_state = torch.load(path) - - return cls.assemble(model=bench_state["model"], train_dataset=bench_state["train_dataset"], device=device) - - @classmethod - def assemble( - cls, - model: torch.nn.Module, - train_dataset: torch.utils.data.Dataset, - device: str = "cpu", - *args, - **kwargs, - ): - """ - This method should assemble the benchmark components from arguments and persist them in the instance. - """ - obj = cls(device=device) - obj.model = model - obj.train_dataset = train_dataset - obj.device = device - - return obj - - def save(self, path: str, *args, **kwargs): - """ - This method should save the benchmark components to a file/folder. - """ - torch.save(self.bench_state, path) - - def evaluate( - self, - expl_dataset: torch.utils.data.Dataset, - explainer_cls: type, - expl_kwargs: Optional[dict] = None, - use_predictions: bool = False, - cache_dir: str = "./cache", - model_id: str = "default_model_id", - batch_size: int = 8, - device: str = "cpu", - *args, - **kwargs, - ): - expl_kwargs = expl_kwargs or {} - explainer = explainer_cls( - model=self.model, train_dataset=self.train_dataset, model_id=model_id, cache_dir=cache_dir, **expl_kwargs - ) - - expl_dl = torch.utils.data.DataLoader(expl_dataset, batch_size=batch_size) - - metric = ClassDetectionMetric(model=self.model, train_dataset=self.train_dataset, device="cpu") - - pbar = tqdm(expl_dl) - n_batches = len(expl_dl) - - for i, (input, labels) in enumerate(pbar): - pbar.set_description("Metric evaluation, batch %d/%d" % (i + 1, n_batches)) - - input, labels = input.to(device), labels.to(device) - - if use_predictions: - with torch.no_grad(): - output = self.model(input) - targets = output.argmax(dim=-1) - else: - targets = labels - - explanations = explainer.explain( - test=input, - targets=targets, - ) - metric.update(labels, explanations) - - return metric.compute() diff --git a/src/toy_benchmarks/localization/mislabeling_detection.py b/src/toy_benchmarks/localization/mislabeling_detection.py deleted file mode 100644 index 5d0ed435..00000000 --- a/src/toy_benchmarks/localization/mislabeling_detection.py +++ /dev/null @@ -1,260 +0,0 @@ -from typing import Callable, Dict, List, Optional, Union - -import torch -from tqdm import tqdm - -from src.metrics.localization.mislabeling_detection import ( - MislabelingDetectionMetric, -) -from src.toy_benchmarks.base import ToyBenchmark -from src.utils.datasets.transformed.label_flipping import LabelFlippingDataset -from src.utils.training.trainer import BaseTrainer, Trainer - - -class MislabelingDetection(ToyBenchmark): - def __init__( - self, - device: str = "cpu", - *args, - **kwargs, - ): - super().__init__(device=device) - - self.trainer: Optional[BaseTrainer] = None - self.model: torch.nn.Module - self.train_dataset: torch.utils.data.Dataset - self.poisoned_dataset: LabelFlippingDataset - self.dataset_transform: Optional[Callable] - self.poisoned_indices: List[int] - self.poisoned_labels: Dict[int, int] - self.poisoned_train_dl: torch.utils.data.DataLoader - self.poisoned_val_dl: Optional[torch.utils.data.DataLoader] - self.original_train_dl: torch.utils.data.DataLoader - self.p: float - self.global_method: Union[str, type] = "self-influence" - self.n_classes: int - - @classmethod - def generate( - cls, - model: torch.nn.Module, - train_dataset: torch.utils.data.Dataset, - n_classes: int, - trainer: Trainer, - dataset_transform: Optional[Callable] = None, - val_dataset: Optional[torch.utils.data.Dataset] = None, - global_method: Union[str, type] = "self-influence", - p: float = 0.3, - trainer_fit_kwargs: Optional[dict] = None, - seed: int = 27, - batch_size: int = 8, - device: str = "cpu", - *args, - **kwargs, - ): - """ - This method should generate all the benchmark components and persist them in the instance. - """ - - obj = cls(device=device) - - obj.model = model.to(device) - obj.trainer = trainer - obj._generate( - train_dataset=train_dataset, - val_dataset=val_dataset, - p=p, - global_method=global_method, - dataset_transform=dataset_transform, - n_classes=n_classes, - trainer_fit_kwargs=trainer_fit_kwargs, - seed=seed, - batch_size=batch_size, - ) - return obj - - def _generate( - self, - train_dataset: torch.utils.data.Dataset, - n_classes: int, - dataset_transform: Optional[Callable], - poisoned_indices: Optional[List[int]] = None, - poisoned_labels: Optional[Dict[int, int]] = None, - val_dataset: Optional[torch.utils.data.Dataset] = None, - p: float = 0.3, - global_method: Union[str, type] = "self-influence", - trainer_fit_kwargs: Optional[dict] = None, - seed: int = 27, - batch_size: int = 8, - ): - if self.trainer is None: - raise ValueError( - "Trainer not initialized. Please initialize trainer using init_trainer_from_lightning_module or " - "init_trainer_from_train_arguments" - ) - - self.train_dataset = train_dataset - self.p = p - self.global_method = global_method - self.n_classes = n_classes - self.dataset_transform = dataset_transform - self.poisoned_dataset = LabelFlippingDataset( - dataset=train_dataset, - p=p, - transform_indices=poisoned_indices, - dataset_transform=dataset_transform, - poisoned_labels=poisoned_labels, - n_classes=n_classes, - seed=seed, - ) - self.poisoned_indices = self.poisoned_dataset.transform_indices - self.poisoned_labels = self.poisoned_dataset.poisoned_labels - self.poisoned_train_dl = torch.utils.data.DataLoader(self.poisoned_dataset, batch_size=batch_size) - self.original_train_dl = torch.utils.data.DataLoader(train_dataset, batch_size=batch_size) - if val_dataset: - poisoned_val_dataset = LabelFlippingDataset( - dataset=train_dataset, dataset_transform=self.dataset_transform, p=self.p, n_classes=self.n_classes - ) - self.poisoned_val_dl = torch.utils.data.DataLoader(poisoned_val_dataset, batch_size=batch_size) - else: - self.poisoned_val_dl = None - - self.model = self.trainer.fit( - train_loader=self.poisoned_train_dl, - val_loader=self.poisoned_val_dl, - trainer_fit_kwargs=trainer_fit_kwargs, - ) - - @property - def bench_state(self): - return { - "model": self.model, - "train_dataset": self.train_dataset, # ok this probably won't work, but that's the idea - "p": self.p, - "n_classes": self.n_classes, - "dataset_transform": self.dataset_transform, - "poisoned_indices": self.poisoned_indices, - "poisoned_labels": self.poisoned_labels, - "global_method": self.global_method, - } - - @classmethod - def load(cls, path: str, device: str = "cpu", batch_size: int = 8, *args, **kwargs): - """ - This method should load the benchmark components from a file and persist them in the instance. - """ - bench_state = torch.load(path) - - return cls.assemble( - model=bench_state["model"], - train_dataset=bench_state["train_dataset"], - n_classes=bench_state["n_classes"], - poisoned_indices=bench_state["poisoned_indices"], - poisoned_labels=bench_state["poisoned_labels"], - dataset_transform=bench_state["dataset_transform"], - p=bench_state["p"], - global_method=bench_state["global_method"], - batch_size=batch_size, - device=device, - ) - - @classmethod - def assemble( - cls, - model: torch.nn.Module, - train_dataset: torch.utils.data.Dataset, - n_classes: int, - poisoned_indices: Optional[List[int]] = None, - poisoned_labels: Optional[Dict[int, int]] = None, - dataset_transform: Optional[Callable] = None, - p: float = 0.3, # TODO: type specification - global_method: Union[str, type] = "self-influence", - batch_size: int = 8, - device: str = "cpu", - *args, - **kwargs, - ): - """ - This method should assemble the benchmark components from arguments and persist them in the instance. - """ - obj = cls(device=device) - obj.model = model - obj.train_dataset = train_dataset - obj.p = p - obj.dataset_transform = dataset_transform - obj.global_method = global_method - obj.n_classes = n_classes - - obj.poisoned_dataset = LabelFlippingDataset( - dataset=train_dataset, - p=p, - dataset_transform=dataset_transform, - n_classes=n_classes, - transform_indices=poisoned_indices, - poisoned_labels=poisoned_labels, - ) - obj.poisoned_indices = obj.poisoned_dataset.transform_indices - obj.poisoned_labels = obj.poisoned_dataset.poisoned_labels - - obj.poisoned_train_dl = torch.utils.data.DataLoader(obj.poisoned_dataset, batch_size=batch_size) - obj.original_train_dl = torch.utils.data.DataLoader(obj.train_dataset, batch_size=batch_size) - return obj - - def save(self, path: str, *args, **kwargs): - """ - This method should save the benchmark components to a file/folder. - """ - torch.save(self.bench_state, path) - - def evaluate( - self, - expl_dataset: torch.utils.data.Dataset, - explainer_cls: type, - expl_kwargs: Optional[dict] = None, - use_predictions: bool = False, - batch_size: int = 8, - device: str = "cpu", - *args, - **kwargs, - ): - expl_kwargs = expl_kwargs or {} - explainer = explainer_cls(model=self.model, train_dataset=self.train_dataset, device=device, **expl_kwargs) - - poisoned_expl_ds = LabelFlippingDataset( - dataset=expl_dataset, dataset_transform=self.dataset_transform, n_classes=self.n_classes, p=0.0 - ) - expl_dl = torch.utils.data.DataLoader(poisoned_expl_ds, batch_size=batch_size) - if self.global_method != "self-influence": - metric = MislabelingDetectionMetric.aggr_based( - model=self.model, - train_dataset=self.poisoned_dataset, - poisoned_indices=self.poisoned_indices, - device=device, - aggregator_cls=self.global_method, - ) - - pbar = tqdm(expl_dl) - n_batches = len(expl_dl) - - for i, (input, labels) in enumerate(pbar): - pbar.set_description("Metric evaluation, batch %d/%d" % (i + 1, n_batches)) - - input, labels = input.to(device), labels.to(device) - if use_predictions: - with torch.no_grad(): - targets = self.model(input).argmax(dim=-1) - else: - targets = labels - explanations = explainer.explain(test=input, targets=targets) - metric.update(explanations) - else: - metric = MislabelingDetectionMetric.self_influence_based( - model=self.model, - train_dataset=self.poisoned_dataset, - poisoned_indices=self.poisoned_indices, - device=device, - explainer_cls=explainer_cls, - expl_kwargs=expl_kwargs, - ) - - return metric.compute() diff --git a/src/toy_benchmarks/localization/subclass_detection.py b/src/toy_benchmarks/localization/subclass_detection.py deleted file mode 100644 index e8c5a2a1..00000000 --- a/src/toy_benchmarks/localization/subclass_detection.py +++ /dev/null @@ -1,242 +0,0 @@ -from typing import Callable, Dict, Optional, Union - -import torch -from tqdm import tqdm - -from src.metrics.localization.class_detection import ClassDetectionMetric -from src.toy_benchmarks.base import ToyBenchmark -from src.utils.datasets.transformed.label_grouping import ( - ClassToGroupLiterals, - LabelGroupingDataset, -) -from src.utils.training.trainer import BaseTrainer, Trainer - - -class SubclassDetection(ToyBenchmark): - def __init__( - self, - device: str = "cpu", - *args, - **kwargs, - ): - super().__init__(device=device) - - self.trainer: Optional[BaseTrainer] = None - self.group_model: torch.nn.Module - self.train_dataset: torch.utils.data.Dataset - self.dataset_transform: Optional[Callable] - self.grouped_train_dl: torch.utils.data.DataLoader - self.grouped_val_dl: Optional[torch.utils.data.DataLoader] - self.original_train_dl: torch.utils.data.DataLoader - self.class_to_group: Dict[int, int] - self.n_classes: int - self.n_groups: int - - @classmethod - def generate( - cls, - train_dataset: torch.utils.data.Dataset, - trainer: Trainer, - val_dataset: Optional[torch.utils.data.Dataset] = None, - dataset_transform: Optional[Callable] = None, - n_classes: int = 10, - n_groups: int = 2, - class_to_group: Union[ClassToGroupLiterals, Dict[int, int]] = "random", - trainer_fit_kwargs: Optional[dict] = None, - seed: int = 27, - batch_size: int = 8, - device: str = "cpu", - *args, - **kwargs, - ): - """ - This method should generate all the benchmark components and persist them in the instance. - """ - - obj = cls(device=device) - trainer_fit_kwargs = trainer_fit_kwargs or {"max_epochs": 5} - - obj.trainer = trainer - obj._generate( - train_dataset=train_dataset, - dataset_transform=dataset_transform, - val_dataset=val_dataset, - n_classes=n_classes, - n_groups=n_groups, - class_to_group=class_to_group, - trainer_fit_kwargs=trainer_fit_kwargs, - seed=seed, - batch_size=batch_size, - ) - return obj - - def _generate( - self, - train_dataset: torch.utils.data.Dataset, - val_dataset: Optional[torch.utils.data.Dataset] = None, - dataset_transform: Optional[Callable] = None, - n_classes: int = 10, - n_groups: int = 2, - class_to_group: Union[ClassToGroupLiterals, Dict[int, int]] = "random", - trainer_fit_kwargs: Optional[dict] = None, - seed: int = 27, - batch_size: int = 8, - *args, - **kwargs, - ): - if self.trainer is None: - raise ValueError( - "Trainer not initialized. Please initialize trainer using init_trainer_from_lightning_module or " - "init_trainer_from_train_arguments" - ) - - self.train_dataset = train_dataset - self.grouped_dataset = LabelGroupingDataset( - dataset=train_dataset, - dataset_transform=dataset_transform, - n_classes=n_classes, - n_groups=n_groups, - class_to_group=class_to_group, - seed=seed, - ) - - self.class_to_group = self.grouped_dataset.class_to_group - self.n_classes = n_classes - self.n_groups = n_groups - self.dataset_transform = dataset_transform - - self.grouped_train_dl = torch.utils.data.DataLoader(self.grouped_dataset, batch_size=batch_size) - self.original_train_dl = torch.utils.data.DataLoader(train_dataset, batch_size=batch_size) - - if val_dataset: - grouped_val_dataset = LabelGroupingDataset( - dataset=train_dataset, - dataset_transform=dataset_transform, - n_classes=n_classes, - class_to_group=self.class_to_group, - ) - self.grouped_val_dl = torch.utils.data.DataLoader(grouped_val_dataset, batch_size=batch_size) - else: - self.grouped_val_dl = None - - self.group_model = self.trainer.fit( - train_loader=self.grouped_train_dl, - val_loader=self.grouped_val_dl, - trainer_fit_kwargs=trainer_fit_kwargs, - ) - - @classmethod - def load(cls, path: str, device: str = "cpu", batch_size: int = 8, *args, **kwargs): - """ - This method should load the benchmark components from a file and persist them in the instance. - """ - bench_state = torch.load(path) - - return cls.assemble( - group_model=bench_state["group_model"], - train_dataset=bench_state["train_dataset"], - n_classes=bench_state["n_classes"], - n_groups=bench_state["n_groups"], - class_to_group=bench_state["class_to_group"], - dataset_transform=bench_state["dataset_transform"], - batch_size=batch_size, - device=device, - ) - - @classmethod - def assemble( - cls, - group_model: torch.nn.Module, - train_dataset: torch.utils.data.Dataset, - n_classes: int, - n_groups: int, - class_to_group: Dict[int, int], # TODO: type specification - dataset_transform: Optional[Callable] = None, - batch_size: int = 8, - device: str = "cpu", - *args, - **kwargs, - ): - """ - This method should assemble the benchmark components from arguments and persist them in the instance. - """ - obj = cls(device=device) - obj.group_model = group_model - obj.train_dataset = train_dataset - obj.class_to_group = class_to_group - obj.dataset_transform = dataset_transform - obj.n_classes = n_classes - obj.n_groups = n_groups - - obj.grouped_dataset = LabelGroupingDataset( - dataset=train_dataset, - dataset_transform=dataset_transform, - n_classes=obj.n_classes, - n_groups=obj.n_groups, - class_to_group=class_to_group, - ) - obj.grouped_train_dl = torch.utils.data.DataLoader(obj.grouped_dataset, batch_size=batch_size) - obj.original_train_dl = torch.utils.data.DataLoader(obj.train_dataset, batch_size=batch_size) - return obj - - def save(self, path: str, *args, **kwargs): - """ - This method should save the benchmark components to a file/folder. - """ - torch.save(self.bench_state, path) - - def evaluate( - self, - expl_dataset: torch.utils.data.Dataset, - explainer_cls: type, - expl_kwargs: Optional[dict] = None, - use_predictions: bool = False, - cache_dir: str = "./cache", - model_id: str = "default_model_id", - batch_size: int = 8, - device: str = "cpu", - *args, - **kwargs, - ): - expl_kwargs = expl_kwargs or {} - explainer = explainer_cls( - model=self.group_model, train_dataset=self.grouped_dataset, model_id=model_id, cache_dir=cache_dir, **expl_kwargs - ) - - expl_dl = torch.utils.data.DataLoader(expl_dataset, batch_size=batch_size) - - metric = ClassDetectionMetric(model=self.group_model, train_dataset=self.train_dataset, device=device) - - pbar = tqdm(expl_dl) - n_batches = len(expl_dl) - - for i, (input, labels) in enumerate(pbar): - pbar.set_description("Metric evaluation, batch %d/%d" % (i + 1, n_batches)) - - input, labels = input.to(device), labels.to(device) - grouped_labels = torch.tensor([self.class_to_group[i.item()] for i in labels], device=labels.device) - if use_predictions: - with torch.no_grad(): - output = self.group_model(input) - targets = output.argmax(dim=-1) - else: - targets = grouped_labels - explanations = explainer.explain( - test=input, - targets=targets, - ) - - metric.update(labels, explanations) - - return metric.compute() - - @property - def bench_state(self): - return { - "group_model": self.group_model, - "train_dataset": self.train_dataset, # ok this probably won't work, but that's the idea - "n_classes": self.n_classes, - "n_groups": self.n_groups, - "class_to_group": self.class_to_group, - "dataset_transform": self.dataset_transform, - } diff --git a/src/toy_benchmarks/randomization/__init__.py b/src/toy_benchmarks/randomization/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/src/toy_benchmarks/randomization/model_randomization.py b/src/toy_benchmarks/randomization/model_randomization.py deleted file mode 100644 index a449f3d2..00000000 --- a/src/toy_benchmarks/randomization/model_randomization.py +++ /dev/null @@ -1,133 +0,0 @@ -from typing import Callable, Optional, Union - -import torch -from tqdm import tqdm - -from src.metrics.randomization.model_randomization import ( - ModelRandomizationMetric, -) -from src.toy_benchmarks.base import ToyBenchmark -from src.utils.functions.correlations import CorrelationFnLiterals - - -class ModelRandomization(ToyBenchmark): - def __init__( - self, - device: str = "cpu", - *args, - **kwargs, - ): - super().__init__(device=device) - - self.model: torch.nn.Module - self.train_dataset: torch.utils.data.Dataset - - @classmethod - def generate( - cls, - model: torch.nn.Module, - train_dataset: torch.utils.data.Dataset, - device: str = "cpu", - *args, - **kwargs, - ): - """ - This method should generate all the benchmark components and persist them in the instance. - """ - - obj = cls(device=device) - - obj.model = model.to(device) - obj.train_dataset = train_dataset - obj.device = device - - return obj - - @property - def bench_state(self): - return { - "model": self.model, - "train_dataset": self.train_dataset, # ok this probably won't work, but that's the idea - } - - @classmethod - def load(cls, path: str, device: str = "cpu", batch_size: int = 8, *args, **kwargs): - """ - This method should load the benchmark components from a file and persist them in the instance. - """ - bench_state = torch.load(path) - - return cls.assemble(model=bench_state["model"], train_dataset=bench_state["train_dataset"], device=device) - - @classmethod - def assemble( - cls, - model: torch.nn.Module, - train_dataset: torch.utils.data.Dataset, - device: str = "cpu", - *args, - **kwargs, - ): - """ - This method should assemble the benchmark components from arguments and persist them in the instance. - """ - obj = cls(device=device) - obj.model = model - obj.train_dataset = train_dataset - obj.device = device - - return obj - - def save(self, path: str, *args, **kwargs): - """ - This method should save the benchmark components to a file/folder. - """ - torch.save(self.bench_state, path) - - def evaluate( - self, - expl_dataset: torch.utils.data.Dataset, - explainer_cls: type, - expl_kwargs: Optional[dict] = None, - use_predictions: bool = False, - correlation_fn: Union[Callable, CorrelationFnLiterals] = "spearman", - seed: int = 42, - cache_dir: str = "./cache", - model_id: str = "default_model_id", - batch_size: int = 8, - device: str = "cpu", - *args, - **kwargs, - ): - expl_kwargs = expl_kwargs or {} - expl_dl = torch.utils.data.DataLoader(expl_dataset, batch_size=batch_size) - - metric = ModelRandomizationMetric( - model=self.model, - train_dataset=self.train_dataset, - explainer_cls=explainer_cls, - expl_kwargs=expl_kwargs, - correlation_fn=correlation_fn, - seed=seed, - model_id=model_id, - cache_dir=cache_dir, - device=device, - ) - pbar = tqdm(expl_dl) - n_batches = len(expl_dl) - - for i, (input, labels) in enumerate(pbar): - pbar.set_description("Metric evaluation, batch %d/%d" % (i + 1, n_batches)) - - input, labels = input.to(device), labels.to(device) - - if use_predictions: - with torch.no_grad(): - output = self.model(input) - targets = output.argmax(dim=-1) - else: - targets = labels - - metric.explain_update(test_data=input, explanation_targets=targets) - - return metric.compute() diff --git a/src/toy_benchmarks/unnamed/__init__.py b/src/toy_benchmarks/unnamed/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/src/toy_benchmarks/unnamed/dataset_cleaning.py b/src/toy_benchmarks/unnamed/dataset_cleaning.py deleted file mode 100644 index 93643f29..00000000 --- a/src/toy_benchmarks/unnamed/dataset_cleaning.py +++ /dev/null @@ -1,150 +0,0 @@ -from typing import Optional, Union - -import torch -from tqdm import tqdm - -from src.metrics.unnamed.dataset_cleaning import DatasetCleaningMetric -from src.toy_benchmarks.base import ToyBenchmark -from src.utils.training.trainer import Trainer - - -class DatasetCleaning(ToyBenchmark): - def __init__( - self, - device: str = "cpu", - *args, - **kwargs, - ): - super().__init__(device=device) - - self.model: torch.nn.Module - self.train_dataset: torch.utils.data.Dataset - - @classmethod - def generate( - cls, - model: torch.nn.Module, - train_dataset: torch.utils.data.Dataset, - device: str = "cpu", - *args, - **kwargs, - ): - """ - This method should generate all the benchmark components and persist them in the instance. - """ - - obj = cls(device=device) - - obj.model = model.to(device) - obj.train_dataset = train_dataset - obj.device = device - - return obj - - @property - def bench_state(self): - return { - "model": self.model, - "train_dataset": self.train_dataset, # ok this probably won't work, but that's the idea - } - - @classmethod - def load(cls, path: str, device: str = "cpu", batch_size: int = 8, *args, **kwargs): - """ - This method should load the benchmark components from a file and persist them in the instance. - """ - bench_state = torch.load(path) - return cls.assemble(model=bench_state["model"], train_dataset=bench_state["train_dataset"], device=device) - - @classmethod - def assemble( - cls, - model: torch.nn.Module, - train_dataset: torch.utils.data.Dataset, - device: str = "cpu", - *args, - **kwargs, - ): - """ - This method should assemble the benchmark components from arguments and persist them in the instance. - """ - obj = cls(device=device) - obj.model = model - obj.train_dataset = train_dataset - obj.device = device - - return obj - - def save(self, path: str, *args, **kwargs): - """ - This method should save the benchmark components to a file/folder. - """ - torch.save(self.bench_state, path) - - def evaluate( - self, - expl_dataset: torch.utils.data.Dataset, - explainer_cls: type, - trainer: Trainer, - use_predictions: bool = False, - expl_kwargs: Optional[dict] = None, - trainer_fit_kwargs: Optional[dict] = None, - cache_dir: str = "./cache", - model_id: str = "default_model_id", - batch_size: int = 8, - device: str = "cpu", - global_method: Union[str, type] = "self-influence", - top_k: int = 50, - *args, - **kwargs, - ): - expl_kwargs = expl_kwargs or {} - explainer = explainer_cls( - model=self.model, train_dataset=self.train_dataset, model_id=model_id, cache_dir=cache_dir, **expl_kwargs - ) - expl_dl = torch.utils.data.DataLoader(expl_dataset, batch_size=batch_size) - - if global_method != "self-influence": - metric = DatasetCleaningMetric.aggr_based( - model=self.model, - train_dataset=self.train_dataset, - aggregator_cls=global_method, - trainer=trainer, - trainer_fit_kwargs=trainer_fit_kwargs, - top_k=top_k, - device=device, - ) - pbar = tqdm(expl_dl) - n_batches = len(expl_dl) - - for i, (input, labels) in enumerate(pbar): - pbar.set_description("Metric evaluation, batch %d/%d" % (i + 1, n_batches)) - - input, labels = input.to(device), labels.to(device) - - if use_predictions: - with torch.no_grad(): - output = self.model(input) - targets = output.argmax(dim=-1) - else: - targets = labels - - explanations = explainer.explain( - test=input, - targets=targets, - ) - metric.update(explanations) - - else: - metric = DatasetCleaningMetric.self_influence_based( - model=self.model, - train_dataset=self.train_dataset, - trainer=trainer, - trainer_fit_kwargs=trainer_fit_kwargs, - explainer_cls=explainer_cls, - expl_kwargs=expl_kwargs, - top_k=top_k, - device=device, - ) - - return metric.compute() diff --git a/src/toy_benchmarks/unnamed/top_k_overlap.py b/src/toy_benchmarks/unnamed/top_k_overlap.py deleted file mode 100644 index 28fc6fe4..00000000 --- a/src/toy_benchmarks/unnamed/top_k_overlap.py +++ /dev/null @@ -1,127 +0,0 @@ -from typing import Optional - -import torch -from tqdm import tqdm - -from src.metrics.unnamed.top_k_overlap import TopKOverlapMetric -from src.toy_benchmarks.base import ToyBenchmark - - -class TopKOverlap(ToyBenchmark): - def __init__( - self, - device: str = "cpu", - *args, - **kwargs, - ): - super().__init__(device=device) - - self.model: torch.nn.Module - self.train_dataset: torch.utils.data.Dataset - - @classmethod - def generate( - cls, - model: torch.nn.Module, - train_dataset: torch.utils.data.Dataset, - device: str = "cpu", - *args, - **kwargs, - ): - """ - This method should generate all the benchmark components and persist them in the instance. - """ - - obj = cls(device=device) - - obj.model = model.to(device) - obj.train_dataset = train_dataset - obj.device = device - - return obj - - @property - def bench_state(self): - return { - "model": self.model, - "train_dataset": self.train_dataset, # ok this probably won't work, but that's the idea - } - - @classmethod - def load(cls, path: str, device: str = "cpu", batch_size: int = 8, *args, **kwargs): - """ - This method should load the benchmark components from a file and persist them in the instance. - """ - bench_state = torch.load(path) - return cls.assemble(model=bench_state["model"], train_dataset=bench_state["train_dataset"], device=device) - - @classmethod - def assemble( - cls, - model: torch.nn.Module, - train_dataset: torch.utils.data.Dataset, - device: str = "cpu", - *args, - **kwargs, - ): - """ - This method should assemble the benchmark components from arguments and persist them in the instance. - """ - obj = cls(device=device) - obj.model = model - obj.train_dataset = train_dataset - obj.device = device - - return obj - - def save(self, path: str, *args, **kwargs): - """ - This method should save the benchmark components to a file/folder. - """ - torch.save(self.bench_state, path) - - def evaluate( - self, - expl_dataset: torch.utils.data.Dataset, - explainer_cls: type, - expl_kwargs: Optional[dict] = None, - use_predictions: bool = False, - cache_dir: str = "./cache", - model_id: str = "default_model_id", - batch_size: int = 8, - top_k: int = 1, - device: str = "cpu", - *args, - **kwargs, - ): - expl_kwargs = expl_kwargs or {} - explainer = explainer_cls( - model=self.model, train_dataset=self.train_dataset, model_id=model_id, cache_dir=cache_dir, **expl_kwargs - ) - - expl_dl = torch.utils.data.DataLoader(expl_dataset, batch_size=batch_size) - - metric = TopKOverlapMetric(model=self.model, train_dataset=self.train_dataset, top_k=top_k, device=device) - - pbar = tqdm(expl_dl) - n_batches = len(expl_dl) - - for i, (input, labels) in enumerate(pbar): - pbar.set_description("Metric evaluation, batch %d/%d" % (i + 1, n_batches)) - - input, labels = input.to(device), labels.to(device) - - if use_predictions: - with torch.no_grad(): - output = self.model(input) - targets = output.argmax(dim=-1) - else: - targets = labels - - explanations = explainer.explain( - test=input, - targets=targets, - ) - metric.update(explanations) - - return metric.compute() diff --git a/src/utils/__init__.py b/src/utils/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/src/utils/cache.py b/src/utils/cache.py deleted file mode 100644 index 3054c8cf..00000000 --- a/src/utils/cache.py +++ /dev/null @@ -1,220 +0,0 @@ -import glob -import os -import warnings -from typing import Any, List, Optional, Tuple, Union - -import torch -from captum.attr import LayerActivation # type: ignore -from torch import Tensor -from torch.utils.data import DataLoader - -from src.utils.common import _get_module_from_name -from src.utils.datasets.activation_dataset import ActivationDataset -from src.utils.explanations import BatchedCachedExplanations - - -class Cache: - """ - Abstract class for caching. - """ - - def __init__(self): - pass - - @staticmethod - def save(*args, **kwargs) -> None: - raise NotImplementedError - - @staticmethod - def load(*args, **kwargs) -> Any: - raise NotImplementedError - - @staticmethod - def exists(*args, **kwargs) -> bool: - raise NotImplementedError - - -class TensorCache(Cache): - def __init__(self): - super().__init__() - - @staticmethod - def save(path: str, file_id: str, indices: Tensor) -> None: - file_path = os.path.join(path, file_id) - return torch.save(indices, file_path) - - @staticmethod - def load(path: str, file_id: str, device: str = "cpu") -> Tensor: - file_path = os.path.join(path, file_id) - return torch.load(file_path, map_location=device) - - @staticmethod - def exists(path: str, file_id: str) -> bool: - file_path = os.path.join(path, file_id) - return os.path.isfile(file_path) - - -class ExplanationsCache(Cache): - def __init__(self): - super().__init__() - - @staticmethod - def exists( - path: str, - num_id: Optional[Union[str, int]] = None, - ) -> bool: - av_filesearch = os.path.join(path, "*.pt" if num_id is None else f"{num_id}.pt") - return os.path.exists(path) and len(glob.glob(av_filesearch)) > 0 - - @staticmethod - def save( - path: str, - exp_tensors: List[Tensor], - num_id: Union[str, int], - ) -> None: - av_save_fl_path = os.path.join(path, f"{num_id}.pt") - torch.save(exp_tensors, av_save_fl_path) - - @staticmethod - def load( - path: str, - device: str = "cpu", - ) -> BatchedCachedExplanations: - if os.path.exists(path): - xpl_dataset = BatchedCachedExplanations(cache_dir=path, device=device) - return xpl_dataset - else: - raise RuntimeError(f"Activation vectors were not found at path {path}") - - -class ActivationsCache(Cache): - """ - Inspired by https://github.com/pytorch/captum/blob/master/captum/_utils/av.py. - """ - - def __init__(self) -> None: - super().__init__() - - @staticmethod - def exists( - path: str, - layer: str, - num_id: Optional[Union[str, int]] = None, - ) -> bool: - av_dir = os.path.join(path, layer) - av_filesearch = os.path.join(av_dir, "*.pt" if num_id is None else f"{num_id}.pt") - return os.path.exists(av_dir) and len(glob.glob(av_filesearch)) > 0 - - @staticmethod - def save( - path: str, - layers: str | List[str], - act_tensors: List[Tensor], - labels: Tensor, - num_id: Union[str, int], - ) -> None: - if len(layers) != len(act_tensors): - raise ValueError("The dimension of `layers` and `act_tensors` must match!") - - for i, layer in enumerate(layers): - layer_dir = os.path.join(path, layer) - - av_save_fl_path = os.path.join(layer_dir, f"{num_id}.pt") - - if not os.path.exists(layer_dir): - os.makedirs(layer_dir) - torch.save((act_tensors[i], labels), av_save_fl_path) - - @staticmethod - def load( - path: str, - layer: str, - device: str = "cpu", - **kwargs, - ) -> ActivationDataset: - layer_dir = os.path.join(path, layer) - - if os.path.exists(layer_dir): - av_dataset = ActivationDataset(layer_dir, device) - return av_dataset - else: - raise RuntimeError(f"Activation vectors were not found at path {path}") - - @staticmethod - def _manage_loading_layers( - path: str, - layers: Union[str, List[str]], - load_from_disk: bool = True, - num_id: Optional[Union[str, int]] = None, - ) -> str | List[str]: - unsaved_layers: List[str] = [] - - if load_from_disk: - for layer in layers: - if not ActivationsCache.exists(path, layer, num_id): - unsaved_layers.append(layer) - else: - unsaved_layers = [layers] if isinstance(layers, str) else layers - warnings.warn( - "Overwriting activations: load_from_disk is set to False. Removing all " - f"activations matching specified parameters {{path: {path}, " - f"layers: {layers}}} " - "before generating new activations." - ) - for layer in layers: - files = glob.glob(os.path.join(path, layer)) - for filename in files: - os.remove(filename) - - return unsaved_layers - - @staticmethod - def _compute_and_save_activations( - path: str, - model: torch.nn.Module, - layers: Union[str, List[str]], - data: Tuple[Tensor, Tensor], - num_id: Union[str, int], - additional_forward_args: Any = None, - load_from_disk: bool = True, - ) -> None: - inputs, labels = data - unsaved_layers = ActivationsCache._manage_loading_layers( - path, - layers, - load_from_disk, - num_id, - ) - layer_modules = [_get_module_from_name(model, layer) for layer in unsaved_layers] - if len(unsaved_layers) > 0: - layer_act = LayerActivation(model, layer_modules) # TODO: replace LayerActivation with generic LayerAttibution - new_activations = layer_act.attribute.__wrapped__(layer_act, inputs, additional_forward_args) # type: ignore - ActivationsCache.save(path, unsaved_layers, new_activations, labels, num_id) - - @staticmethod - def generate_dataset_activations( - path: str, - model: torch.nn.Module, - layers: List[str], - dataloader: DataLoader, - load_from_disk: bool = True, - return_activations: bool = False, - ) -> Optional[Union[ActivationDataset, List[ActivationDataset]]]: - unsaved_layers = ActivationsCache._manage_loading_layers( - path, - layers, - load_from_disk, - ) - if len(unsaved_layers) > 0: - for i, data in enumerate(dataloader): - ActivationsCache._compute_and_save_activations( - path, - model, - layers, - data, - str(i), - ) - - if not return_activations: - return None - return [ActivationsCache.load(path, layer) for layer in layers] diff --git a/src/utils/common.py b/src/utils/common.py deleted file mode 100644 index ef96aacc..00000000 --- a/src/utils/common.py +++ /dev/null @@ -1,101 +0,0 @@ -import functools -from functools import reduce -from typing import Any, Callable, Mapping, Optional, Union - -import torch.utils -import torch.utils.data - - -def _get_module_from_name(model: torch.nn.Module, layer_name: str) -> Any: - return reduce(getattr, layer_name.split("."), model) - - -def get_parent_module_from_name(model: torch.nn.Module, layer_name: str) -> Any: - return reduce(getattr, layer_name.split(".")[:-1], model) - - -def make_func(func: Callable, func_kwargs: Optional[Mapping[str, Any]] = None, **kwargs) -> functools.partial: - """A function for creating a partial function with the given arguments.""" - if func_kwargs is not None: - _func_kwargs = kwargs.copy() - _func_kwargs.update(func_kwargs) - else: - _func_kwargs = kwargs - - return functools.partial(func, **_func_kwargs) - - -def cache_result(method): - cache_attr = f"_{method.__name__}_cache" - - @functools.wraps(method) - def wrapper(self, *args, **kwargs): - if cache_attr not in self.__dict__: - self.__dict__[cache_attr] = method(self, *args, **kwargs) - return self.__dict__[cache_attr] - - return wrapper - - -def class_accuracy(net: torch.nn.Module, loader: torch.utils.data.DataLoader, device: str = "cpu"): - """Return accuracy on a dataset given by the data loader.""" - correct = 0 - total = 0 - for inputs, targets in loader: - inputs, targets = inputs.to(device), targets.to(device) - outputs = net(inputs) - _, predicted = outputs.max(1) - total += targets.size(0) - correct += predicted.eq(targets).sum().item() - return correct / total - - -# Taken directly from Captum with minor changes -# (required because Captum's Arnoldi Influence Function does not allow to specify device) -def _load_flexible_state_dict(model: torch.nn.Module, path: str, device: Union[str, torch.device]) -> float: - r""" - Helper to load pytorch models. This function attempts to find compatibility for - loading models that were trained on different devices / with DataParallel but are - being loaded in a different environment. - - Assumes that the model has been saved as a state_dict in some capacity. This can - either be a single state dict, or a nesting dictionary which contains the model - state_dict and other information. - - Args: - - model (torch.nn.Module): The model for which to load a checkpoint - path (str): The filepath to the checkpoint - - The module state_dict is modified in-place, and the learning rate is returned. - """ - if isinstance(device, str): - device = torch.device(device) - - checkpoint = torch.load(path, map_location=device) - - learning_rate = checkpoint.get("learning_rate", 1.0) - - if "module." in next(iter(checkpoint)): - if isinstance(model, torch.nn.DataParallel): - model.load_state_dict(checkpoint) - else: - model = torch.nn.DataParallel(model) - model.load_state_dict(checkpoint) - model = model.module - else: - if isinstance(model, torch.nn.DataParallel): - model = model.module - model.load_state_dict(checkpoint) - model = torch.nn.DataParallel(model) - else: - model.load_state_dict(checkpoint) - - return learning_rate - - -def get_load_state_dict_func(device: Union[str, torch.device]): - def load_state_dict(model: torch.nn.Module, path: str) -> float: - return _load_flexible_state_dict(model, path, device) - - return load_state_dict diff --git a/src/utils/datasets/__init__.py b/src/utils/datasets/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/src/utils/datasets/activation_dataset.py b/src/utils/datasets/activation_dataset.py deleted file mode 100644 index 9d48f1f5..00000000 --- a/src/utils/datasets/activation_dataset.py +++ /dev/null @@ -1,40 +0,0 @@ -import glob -import os -import warnings -from typing import Tuple, Union - -import torch -from torch import Tensor -from torch.utils.data.dataset import Dataset - - -class ActivationDataset(Dataset): - def __init__(self, cache_dir, device="cpu"): - self.device = device - self.av_filesearch = os.path.join(cache_dir, "*.pt") - - self.files = glob.glob(self.av_filesearch) - - def __getitem__(self, idx: int) -> Union[Tensor, Tuple[Tensor, ...]]: - assert idx < len(self.files), "Layer index is out of bounds!" - fl = self.files[idx] - av = torch.load(fl, map_location=self.device) - return av - - def __len__(self) -> int: - return len(self.files) - - @property - def samples_and_labels(self) -> Tuple[Tensor, Tensor]: - warnings.warn( - "This method is only a good idea for small datasets and small architectures. Otherwise, this will consume " - "a lot of memory." - ) - samples = [] - labels = [] - - for sample, label in self: # type: ignore - samples.append(sample) - labels.append(label) - - return torch.cat(samples).to(self.device), torch.cat(labels).to(self.device) diff --git a/src/utils/datasets/indexed_subset.py b/src/utils/datasets/indexed_subset.py deleted file mode 100644 index 37634972..00000000 --- a/src/utils/datasets/indexed_subset.py +++ /dev/null @@ -1,18 +0,0 @@ -import torch -from torch.utils.data.dataset import Dataset - - -class IndexedSubset(Dataset): - def __init__(self, dataset: torch.utils.data.Dataset, indices, return_indices=False): - self.dataset = dataset - self.indices = indices - self.return_indices = return_indices - - def __len__(self): - return len(self.indices) - - def __getitem__(self, item): - d = self.dataset[self.indices[item]] - if self.return_indices: - return d, self.indices[item] - return d diff --git a/src/utils/datasets/transformed/__init__.py b/src/utils/datasets/transformed/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/src/utils/datasets/transformed/base.py b/src/utils/datasets/transformed/base.py deleted file mode 100644 index 7c49d7ab..00000000 --- a/src/utils/datasets/transformed/base.py +++ /dev/null @@ -1,78 +0,0 @@ -import random -from typing import Any, Callable, List, Optional - -import torch -from torch.utils.data.dataset import Dataset - - -class TransformedDataset(Dataset): - def __init__( - self, - dataset: torch.utils.data.Dataset, - n_classes: int, - dataset_transform: Optional[Callable] = None, - transform_indices: Optional[List] = None, - cache_path: str = "./cache", - cls_idx: Optional[int] = None, - p: float = 1.0, - seed: int = 42, - device: str = "cpu", - sample_fn: Optional[Callable] = None, - label_fn: Optional[Callable] = None, - ): - super().__init__() - self.dataset = dataset - self.n_classes = n_classes - self.cls_idx = cls_idx - self.cache_path = cache_path - self.p = p - self.device = device - - if dataset_transform is not None: - self.dataset_transform = dataset_transform - else: - self.dataset_transform = self._identity - - if sample_fn is not None: - self.sample_fn = sample_fn - else: - self.sample_fn = self._identity - - if label_fn is not None: - self.label_fn = label_fn - else: - self.label_fn = self._identity - - self.seed = seed - self.rng = random.Random(seed) - self.torch_rng = torch.Generator() - self.torch_rng.manual_seed(seed) - - if transform_indices is None: - trans_idx = torch.rand(len(self), generator=self.torch_rng) <= self.p - if self.cls_idx is not None: - trans_idx *= torch.tensor([self.dataset[s][1] == self.cls_idx for s in range(len(self))], dtype=torch.bool) - self.transform_indices = torch.where(trans_idx)[0].tolist() - else: - self.transform_indices = transform_indices - - def __getitem__(self, index) -> Any: - x, y = self.dataset[index] - xx = self.sample_fn(x) - yy = self.label_fn(y) - - return (self.dataset_transform(xx), yy) if index in self.transform_indices else (self.dataset_transform(x), y) - - def _get_original_label(self, index) -> int: - _, y = self.dataset[index] - return y - - def __len__(self): - if not hasattr(self.dataset, "__len__"): - raise ValueError("Dataset needs to implement __len__ to use the TransformedDataset class.") - else: - return len(self.dataset) - - @staticmethod - def _identity(x: Any) -> Any: - return x diff --git a/src/utils/datasets/transformed/label_flipping.py b/src/utils/datasets/transformed/label_flipping.py deleted file mode 100644 index 1a68c202..00000000 --- a/src/utils/datasets/transformed/label_flipping.py +++ /dev/null @@ -1,55 +0,0 @@ -from typing import Callable, Dict, List, Optional - -import torch - -from src.utils.datasets.transformed.base import TransformedDataset - - -class LabelFlippingDataset(TransformedDataset): - def __init__( - self, - dataset: torch.utils.data.Dataset, - n_classes: int, - dataset_transform: Optional[Callable] = None, - transform_indices: Optional[List] = None, - poisoned_labels: Optional[Dict[int, int]] = None, - cls_idx: Optional[int] = None, - p: float = 1.0, # TODO: decide on default value vis-à-vis subset_idx - seed: int = 42, - device: str = "cpu", - ): - super().__init__( - dataset=dataset, - n_classes=n_classes, - dataset_transform=dataset_transform, - transform_indices=transform_indices, - seed=seed, - device=device, - p=p, - cls_idx=cls_idx, - ) - if poisoned_labels is not None: - self._validate_poisoned_labels(poisoned_labels) - self.transform_indices = list(poisoned_labels.keys()) - self.poisoned_labels = poisoned_labels - else: - self.poisoned_labels = { - i: self._poison(self.dataset[i][1]) for i in range(len(self)) if i in self.transform_indices - } - - def _poison(self, original_label): - label_arr = [i for i in range(self.n_classes) if original_label != i] - label_idx = self.rng.randint(0, len(label_arr)) - return label_arr[label_idx] - - def _validate_poisoned_labels(self, poisoned_labels: Dict[int, int]): - if not isinstance(poisoned_labels, dict): - raise ValueError( - f"poisoned_labels should be a dictionary of integer keys and values, received {type(poisoned_labels)}" - ) - - def __getitem__(self, index): - x, y = self.dataset[index] - if index in self.transform_indices: - y = self.poisoned_labels[index] - return self.dataset_transform(x), y diff --git a/src/utils/datasets/transformed/label_grouping.py b/src/utils/datasets/transformed/label_grouping.py deleted file mode 100644 index 539a2ac6..00000000 --- a/src/utils/datasets/transformed/label_grouping.py +++ /dev/null @@ -1,66 +0,0 @@ -import warnings -from typing import Callable, Dict, List, Literal, Optional, Union - -import torch - -from src.utils.datasets.transformed.base import TransformedDataset - -ClassToGroupLiterals = Literal["random"] - - -class LabelGroupingDataset(TransformedDataset): - def __init__( - self, - dataset: torch.utils.data.Dataset, - n_classes: int, - dataset_transform: Optional[Callable] = None, - transform_indices: Optional[List] = None, - seed: int = 42, - device: str = "cpu", - n_groups: Optional[int] = None, - class_to_group: Union[ClassToGroupLiterals, Dict[int, int]] = "random", - ): - super().__init__( - dataset=dataset, - n_classes=n_classes, - dataset_transform=dataset_transform, - transform_indices=transform_indices, - seed=seed, - device=device, - p=1.0, - cls_idx=None, - ) - - if class_to_group == "random": - if n_groups is None: - raise ValueError("n_classes and n_groups must be specified when class_to_group is 'random'") - - self.n_classes = n_classes - self.n_groups = n_groups - - self.class_to_group = {i: self.rng.randrange(self.n_groups) for i in range(self.n_classes)} - - elif isinstance(class_to_group, dict): - if n_groups is not None: - warnings.warn("Class-to-group assignment is used. n_groups parameter is ignored.") - - self.class_to_group = class_to_group - self.n_classes = len(self.class_to_group) - self.n_groups = len(set(self.class_to_group)) - - else: - raise ValueError(f"Invalid class_to_group value: {class_to_group}") - - self.classes = list(range(self.n_classes)) - self.groups = list(range(self.n_groups)) - self._validate_class_to_group() - self.label_fn = lambda x: self.class_to_group[x] - - def _validate_class_to_group(self): - if not len(self.class_to_group) == self.n_classes: - raise ValueError( - f"Length of class_to_group dictionary ({len(self.class_to_group)}) " - f"does not match number of classes ({self.n_classes})" - ) - if not all([g in self.groups for g in self.class_to_group.values()]): - raise ValueError(f"Invalid group assignment in class_to_group: {self.class_to_group.values()}") diff --git a/src/utils/datasets/transformed/sample.py b/src/utils/datasets/transformed/sample.py deleted file mode 100644 index 33360b3a..00000000 --- a/src/utils/datasets/transformed/sample.py +++ /dev/null @@ -1,33 +0,0 @@ -from typing import Callable, List, Literal, Optional - -import torch - -from src.utils.datasets.transformed.base import TransformedDataset - -ClassToGroupLiterals = Literal["random"] - - -class SampleTransformationDataset(TransformedDataset): - def __init__( - self, - dataset: torch.utils.data.Dataset, - n_classes: int, - dataset_transform: Optional[Callable] = None, - transform_indices: Optional[List[int]] = None, - cls_idx: Optional[int] = None, - p: float = 1.0, - seed: int = 42, - device: str = "cpu", - sample_fn: Optional[Callable] = None, - ): - super().__init__( - dataset=dataset, - n_classes=n_classes, - dataset_transform=dataset_transform, - transform_indices=transform_indices, - seed=seed, - device=device, - p=p, - cls_idx=cls_idx, - sample_fn=sample_fn, - ) diff --git a/src/utils/explanations.py b/src/utils/explanations.py deleted file mode 100644 index cb11fde6..00000000 --- a/src/utils/explanations.py +++ /dev/null @@ -1,134 +0,0 @@ -import glob -import os - -import torch - - -class Explanations: - def __init__( - self, - *args, - **kwargs, - ): - """ - - Exaplanations interface class. Used to define the interface for the Explanations classes. - Each explanation class implements __getitem__, __setitem__, and __len__ methods, whereby an "item" is a - explanation tensor batch. - :param args: - :param kwargs: - """ - pass - - def __getitem__(self, index: int) -> torch.Tensor: - raise NotImplementedError - - def __setitem__(self, index: int, val: torch.Tensor): - raise NotImplementedError - - def __len__(self) -> int: - raise NotImplementedError - - -class TensorExplanations(Explanations): - def __init__( - self, - tensor: torch.Tensor, - batch_size: int = 8, - device: str = "cpu", - ): - """ - Returns explanations from cache saved as tensors. __getitem__ and __setitem__ methods are used to access the - explanations on a batch basis. - - :param dataset_id: - :param top_k: - :param cache_dir: - """ - super().__init__() - self.device = device - self.xpl = tensor.to(self.device) - self.batch_size = batch_size - - # assert the number of explanation dimensions is 2 and insert extra dimension to emulate batching - assert len(self.xpl.shape) == 2, "Explanations object has more than 2 dimensions." - - def __getitem__(self, idx: int) -> torch.Tensor: - """ - - :param idx: - :return: - """ - return self.xpl[idx * self.batch_size : min((idx + 1) * self.batch_size, self.xpl.shape[0])] - - def __setitem__(self, idx: int, val: torch.Tensor): - """ - - :param idx: - :param val: - :return: - """ - - self.xpl[idx * self.batch_size : (idx + 1) * self.batch_size] = val - return val - - def __len__(self) -> int: - return int(self.xpl.shape[0] // self.batch_size) + 1 - - -class BatchedCachedExplanations(Explanations): - def __init__( - self, - cache_dir: str = "./batch_wise_cached_explanations", - device: str = "cpu", - ): - """ - Returns batched explanations from cache. __getitem__ and __setitem__ methods are used to access the explanations - on per-batch basis. - - :param dataset_id: - :param top_k: - :param cache_dir: - """ - super().__init__() - self.cache_dir = cache_dir - self.device = device - - self.av_filesearch = os.path.join(cache_dir, "*.pt") - self.files = glob.glob(self.av_filesearch) - self.batch_size = self[0].shape[0] - - def __getitem__(self, idx: int) -> torch.Tensor: - """ - TODO: add idx type slice - - :param idx: - :return: - """ - - assert idx < len(self.files), "Layer index is out of bounds!" - fl = self.files[idx] - xpl = torch.load(fl, map_location=self.device) - - # assert the value's batch size matches the batch size of the class instance - assert xpl.shape[0] == self.batch_size, "Batch size of the value does not match the batch size of the class instance." - - return xpl - - def __setitem__(self, idx: int, val: torch.Tensor): - """ - - :param idx: - :param val: - :return: - """ - - # assert the value's batch size matches the batch size of the class instance - assert val.shape[0] == self.batch_size, "Batch size of the value does not match the batch size of the class instance." - - fl = self.files[idx] - torch.save(val, fl) - return val - - def __len__(self) -> int: - return len(self.files) diff --git a/src/utils/functions/__init__.py b/src/utils/functions/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/src/utils/functions/correlations.py b/src/utils/functions/correlations.py deleted file mode 100644 index 588c1df0..00000000 --- a/src/utils/functions/correlations.py +++ /dev/null @@ -1,25 +0,0 @@ -from typing import Literal - -from torchmetrics.functional.regression import ( - kendall_rank_corrcoef, - spearman_corrcoef, -) - - -# torchmetrics wants the independent realizations to be the final dimension -# we transpose inputs before passing so that it is straightforward to pass explanations -# and use these funcitons in evaluation metrics -def kendall_rank_corr(tensor1, tensor2): - return kendall_rank_corrcoef(tensor1.T, tensor2.T) - - -def spearman_rank_corr(tensor1, tensor2): - return spearman_corrcoef(tensor1.T, tensor2.T) - - -CorrelationFnLiterals = Literal["kendall", "spearman"] - -correlation_functions = { - "kendall": kendall_rank_corr, - "spearman": spearman_rank_corr, -} diff --git a/src/utils/functions/similarities.py b/src/utils/functions/similarities.py deleted file mode 100644 index de781d23..00000000 --- a/src/utils/functions/similarities.py +++ /dev/null @@ -1,46 +0,0 @@ -import torch -from torch import Tensor - - -def cosine_similarity(test, train, replace_nan=0) -> Tensor: - """ - Compute cosine similarity between test and train activations. - - :param test: - :param train: - :param replace_nan: - :return: - """ - # TODO: I don't know why Captum return test activations as a list - if isinstance(test, list): - test = torch.cat(test) - test = test.view(test.shape[0], -1) - train = train.view(train.shape[0], -1) - - test_norm = torch.linalg.norm(test, ord=2, dim=1, keepdim=True) - train_norm = torch.linalg.norm(train, ord=2, dim=1, keepdim=True) - - test = torch.where(test_norm != 0.0, test / test_norm, Tensor([replace_nan])) - train = torch.where(train_norm != 0.0, train / train_norm, Tensor([replace_nan])).T - - similarity = torch.mm(test, train) - return similarity - - -def dot_product_similarity(test, train, replace_nan=0) -> Tensor: - """ - Compute cosine similarity between test and train activations. - - :param test: - :param train: - :param replace_nan: - :return: - """ - # TODO: I don't know why Captum return test activations as a list - if isinstance(test, list): - test = torch.cat(test) - test = test.view(test.shape[0], -1) - train = train.view(train.shape[0], -1) - - similarity = torch.mm(test, train.T) - return similarity diff --git a/src/utils/training/__init__.py b/src/utils/training/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/src/utils/training/base_pl_module.py b/src/utils/training/base_pl_module.py deleted file mode 100644 index 048a3986..00000000 --- a/src/utils/training/base_pl_module.py +++ /dev/null @@ -1,56 +0,0 @@ -from typing import Callable, Optional - -import lightning as L -import torch - - -class BasicLightningModule(L.LightningModule): - def __init__( - self, - model: torch.nn.Module, - optimizer: Callable, - lr: float, - criterion: torch.nn.modules.loss._Loss, - scheduler: Optional[Callable] = None, - optimizer_kwargs: Optional[dict] = None, - scheduler_kwargs: Optional[dict] = None, - *args, - **kwargs, - ): - # TODO: include lr scheduler and grad clipping - super().__init__() - self.model = model - self.optimizer = optimizer - self.lr = lr - self.optimizer_kwargs = optimizer_kwargs if optimizer_kwargs is not None else {} - self.criterion = criterion - self.scheduler = scheduler - self.scheduler_kwargs = scheduler_kwargs if scheduler_kwargs is not None else {} - - def forward(self, inputs): - return self.model(inputs) - - def training_step(self, batch, batch_idx): - inputs, target = batch - inputs, target = inputs.to(self.device), target.to(self.device) - output = self(inputs) - loss = self.criterion(output, target) - return loss - - def validation_step(self, batch, batch_idx): - inputs, target = batch - inputs, target = inputs.to(self.device), target.to(self.device) - output = self(inputs) - loss = self.criterion(output, target) - return loss - - def configure_optimizers(self): - optimizer = self.optimizer(self.model.parameters(), lr=self.lr, **self.optimizer_kwargs) - if not isinstance(optimizer, torch.optim.Optimizer): - raise ValueError("optimizer must be an instance of torch.optim.Optimizer") - if self.scheduler is not None: - scheduler = self.scheduler(optimizer, **self.scheduler_kwargs) - if not isinstance(scheduler, torch.optim.lr_scheduler.LRScheduler): - raise ValueError("scheduler must be an instance of torch.optim.lr_scheduler.LRScheduler") - return {"optimizer": optimizer, "lr_scheduler": scheduler} - return optimizer diff --git a/src/utils/training/trainer.py b/src/utils/training/trainer.py deleted file mode 100644 index 375efb75..00000000 --- a/src/utils/training/trainer.py +++ /dev/null @@ -1,95 +0,0 @@ -import abc -from abc import abstractmethod -from typing import Callable, Optional - -import lightning as L -import torch - -from src.utils.training.base_pl_module import BasicLightningModule - - -class BaseTrainer(metaclass=abc.ABCMeta): - @abstractmethod - def fit( - self, - train_loader: torch.utils.data.dataloader.DataLoader, - val_loader: Optional[torch.utils.data.dataloader.DataLoader] = None, - trainer_fit_kwargs: Optional[dict] = None, - *args, - **kwargs, - ) -> torch.nn.Module: - raise NotImplementedError - - def get_model(self) -> torch.nn.Module: - raise NotImplementedError - - -class Trainer(BaseTrainer): - def __init__(self): - self.model: torch.nn.Module - self.module: Optional[L.LightningModule] = None - - @classmethod - def from_arguments( - cls, - model: torch.nn.Module, - optimizer: Callable, - lr: float, - criterion: torch.nn.modules.loss._Loss, - scheduler: Optional[Callable] = None, - optimizer_kwargs: Optional[dict] = None, - scheduler_kwargs: Optional[dict] = None, - ): - obj = cls.__new__(cls) - super(Trainer, obj).__init__() - obj.model = model - if optimizer_kwargs is None: - optimizer_kwargs = {} - obj.module = BasicLightningModule( - model=model, - optimizer=optimizer, - lr=lr, - criterion=criterion, - optimizer_kwargs=optimizer_kwargs, - scheduler=scheduler, - scheduler_kwargs=scheduler_kwargs, - ) - return obj - - @classmethod - def from_lightning_module( - cls, - model: torch.nn.Module, - pl_module: L.LightningModule, - ): - obj = cls.__new__(cls) - super(Trainer, obj).__init__() - obj.model = model - obj.module = pl_module - return obj - - def fit( - self, - train_loader: torch.utils.data.dataloader.DataLoader, - val_loader: Optional[torch.utils.data.dataloader.DataLoader] = None, - trainer_fit_kwargs: Optional[dict] = None, - *args, - **kwargs, - ): - if self.model is None: - raise ValueError( - "Lightning module not initialized. Please initialize using from_arguments or from_lightning_module" - ) - if self.module is None: - raise ValueError("Model not initialized. Please initialize using from_arguments or from_lightning_module") - - if trainer_fit_kwargs is None: - trainer_fit_kwargs = {} - trainer = L.Trainer(**trainer_fit_kwargs) - trainer.fit(self.module, train_loader, val_loader) - - self.model.load_state_dict(self.module.model.state_dict()) - return self.model - - def get_model(self) -> torch.nn.Module: - return self.model diff --git a/src/utils/transforms.py b/src/utils/transforms.py deleted file mode 100644 index 0f308ab2..00000000 --- a/src/utils/transforms.py +++ /dev/null @@ -1,39 +0,0 @@ -import torch - - -def mark_image_contour_and_square(x): - mask = torch.zeros_like(x[0]) - mid = int(x.shape[-1] / 2) - mask[mid - 3 : mid + 3, mid - 3 : mid + 3] = 1.0 - mask[:2, :] = 1.0 - mask[-2:, :] = 1.0 - mask[:, -2:] = 1.0 - mask[:, :2] = 1.0 - x[0] = torch.ones_like(x[0]) * mask + x[0] * (1 - mask) - if x.shape[0] > 1: - x[1:] = torch.zeros_like(x[1:]) * mask + x[1:] * (1 - mask) - return x.numpy().transpose(1, 2, 0) - - -def mark_image_middle_square(x): - mask = torch.zeros_like(x[0]) - mid = int(x.shape[-1] / 2) - mask[(mid - 4) : (mid + 4), (mid - 4) : (mid + 4)] = 1.0 - x[0] = torch.ones_like(x[0]) * mask + x[0] * (1 - mask) - if x.shape[0] > 1: - x[1:] = torch.zeros_like(x[1:]) * mask + x[1:] * (1 - mask) - return x.numpy().transpose(1, 2, 0) - - -def mark_image_contour(x): - # TODO: make controur, middle square and combined masks a constant somewhere else - mask = torch.zeros_like(x[0]) - mask[:2, :] = 1.0 - mask[-2:, :] = 1.0 - mask[:, -2:] = 1.0 - mask[:, :2] = 1.0 - x[0] = torch.ones_like(x[0]) * mask + x[0] * (1 - mask) - if x.shape[0] > 1: - x[1:] = torch.zeros_like(x[1:]) * mask + x[1:] * (1 - mask) - - return x.numpy().transpose(1, 2, 0) diff --git a/src/utils/validation.py b/src/utils/validation.py deleted file mode 100644 index 8a228556..00000000 --- a/src/utils/validation.py +++ /dev/null @@ -1,40 +0,0 @@ -import inspect -from typing import Any, Callable - -import torch - -""" -This module contains utility functions for validation. The plan is to -move the validation logic into a validation decorator at a later point. -""" - - -def validate_1d_tensor_or_int_list(targets): - if isinstance(targets, torch.Tensor): - if len(targets.shape) != 1: - raise ValueError(f"targets should be a 1D tensor. Got shape {targets.shape} instead.") - elif isinstance(targets, list): - if not all(isinstance(x, int) for x in targets): - raise ValueError(f"targets should be a list of integers. Got {targets} instead.") - else: - raise TypeError(f"targets should be of type List or torch.Tensor. Got {type(targets)} instead.") - - -def validate_checkpoints_load_func(checkpoints_load_func: Callable[..., Any]) -> None: - signature = inspect.signature(checkpoints_load_func) - parameters = list(signature.parameters.values()) - - if len(parameters) < 2: - raise ValueError(f"checkpoints_load_func must have at least 2 required parameters. Got {len(parameters)}.") - - first_param, second_param = parameters[0], parameters[1] - - if first_param.annotation is not torch.nn.Module: - raise TypeError( - f"The first parameter of checkpoints_load_func must be of type 'torch.nn.Module'. Got '{first_param.annotation}'." - ) - - if second_param.annotation is not str: - raise TypeError( - f"The second parameter of checkpoints_load_func must be of type 'str'. Got '{second_param.annotation}'." - ) diff --git a/tests/assets/mnist_checkpoints/checkpoint-00 b/tests/assets/mnist_checkpoints/checkpoint-00 deleted file mode 100644 index 95b21f5bc60af38d271a80316e67128ff7be875c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 181452 zcmbq)2{=~W+pj4@DMLa+${fi|_PQTJ2$i8^p67(8kQA9`LP(NXR4Pf6y>8JwPZ~69 zo=fwr^Yp&w|NYPVo%5aRJJ)$!>)Dret^HfSz4lt`zSr-*9~UP6B8Da5EU1@V(h}@p<&Cz zLT#f$62@}*wB5M;TAt&1&>?ZLNdX3WE5o89A``d*AqjEILn8G85)-0gR*Vf;9u}M! z6%!he5Ei>4Zh1hG;aIMqmX@ao@5U9pmO&9=T%o^j8EY347nI=scjZ{_7*Bp)8-1>@ zry%dTEPe%7#Hl)gE9&aRr{yH<#P2l5X-ooFOv`C9?{AC~e*$-GLF6A=;}W>yZrt&n z%zkv<75|JWK!U(>bh}fdW!MJ=r5$dsObFz$AmkJM}-HY{})US*WeEo!@mKH z61c{0T$6uM`H%52{Rf08*X+;uXeMyY|6nX~O3vlZc1r$3#NuxpCV@-bxbQC`|8q<@ z|3ES0TJnf2O5j@k1(L&^^M{D_-vBlVTw6Ep+q@CRe8 z)1qANJRTn&5y!uAoD#UsZru6*B4YIS%USRbl-b;cJR)NgxGsNzz~RE_;=;Mz@?VI(`QFIoPYfU-FhQ{<=aaHYWuoVIoU*O!DJ^)U2(P%mF1|B{<4&H)h@Gf44 zW9D@N)CV@<=5U4+{_Y`d{Lz6rvvvEne0T;YP8Q(Y#ky!o_4@=T$oB0zW8JrOzZpkL zdlUH;FqxBPvIXb3b&$jZd+1M)r?;k>b2j}>#Ibe35LZ$Mb<@uS@y`IQzAid%>12F1 z-kvi?djaxKy4PFYUW@aR%sH}OQ?TiYDksl;BB?B}>pQ_$OsDi60EHMej{oL8xNL}n z1#u>Q$wzOnzL!if-1aJYbwZQlFTMaieVxj=mTK5n=e&a+Tl52pRRlS2=6of^QC1w! zJ=;+vN~iBFsP^6H5%0UrctPgiB&wd&1=UHzAYZ25=g}^My{1;2i8Bj`Zv*ccXIY`i z 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

|!Sc!|Sfv_)&7OJ8r;x(d!gqN4l8<40)=o%H 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 HbKn05UBmnW diff --git a/tests/assets/mnist_checkpoints/checkpoint-01 b/tests/assets/mnist_checkpoints/checkpoint-01 deleted file mode 100644 index e71956ca7e8b42a75a3bba7355efd2447bca0a3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 181452 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 z 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

Ynb3(0KH&he>%*mVcFntdDblt>o_ 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 diff --git a/tests/assets/mnist_checkpoints/checkpoint-02 b/tests/assets/mnist_checkpoints/checkpoint-02 deleted file mode 100644 index c048d9646799c74ca2e60ee3632e7b2e52804172..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 181452 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 diff --git a/tests/assets/mnist_checkpoints/checkpoint-03 b/tests/assets/mnist_checkpoints/checkpoint-03 deleted file mode 100644 index d962f5abaf2dcc5e72cfe77afda287d4ace89e46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 181452 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 diff --git a/tests/assets/mnist_checkpoints/checkpoint-04 b/tests/assets/mnist_checkpoints/checkpoint-04 deleted file mode 100644 index d46ad1500d5319a9872697e1d301613719910884..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 181452 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 DaKt!A diff --git a/tests/conftest.py b/tests/conftest.py index c86ad489..e8ce5d6b 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -6,8 +6,10 @@ import torch from torch.utils.data import TensorDataset -from src.utils.datasets.transformed.label_flipping import LabelFlippingDataset -from src.utils.datasets.transformed.label_grouping import LabelGroupingDataset +from quanda.utils.datasets.transformed import ( + LabelFlippingDataset, + LabelGroupingDataset, +) from tests.models import LeNet MNIST_IMAGE_SIZE = 28 diff --git a/tests/explainers/test_aggregators.py b/tests/explainers/test_aggregators.py index a83f6432..d76e9479 100644 --- a/tests/explainers/test_aggregators.py +++ b/tests/explainers/test_aggregators.py @@ -1,7 +1,7 @@ import pytest import torch -from src.explainers.aggregators import AbsSumAggregator, SumAggregator +from quanda.metrics.aggregators import AbsSumAggregator, SumAggregator @pytest.mark.aggregators diff --git a/tests/explainers/test_base_explainer.py b/tests/explainers/test_base_explainer.py index 45701285..abd9287e 100644 --- a/tests/explainers/test_base_explainer.py +++ b/tests/explainers/test_base_explainer.py @@ -4,8 +4,8 @@ import pytest import torch -from src.explainers.base import BaseExplainer -from src.utils.functions.similarities import cosine_similarity +from quanda.explainers.base import BaseExplainer +from quanda.utils.functions.similarities import cosine_similarity @pytest.mark.explainers diff --git a/tests/explainers/wrappers/test_captum_influence.py b/tests/explainers/wrappers/test_captum_influence.py index e3c8b6a2..d1da5c93 100644 --- a/tests/explainers/wrappers/test_captum_influence.py +++ b/tests/explainers/wrappers/test_captum_influence.py @@ -10,7 +10,7 @@ ) from torch.utils.data import TensorDataset -from src.explainers.wrappers.captum_influence import ( +from quanda.explainers.wrappers.captum_influence import ( CaptumArnoldi, CaptumSimilarity, CaptumTracInCP, @@ -21,8 +21,8 @@ captum_tracincp_explain, captum_tracincp_self_influence, ) -from src.utils.common import get_load_state_dict_func -from src.utils.functions.similarities import ( +from quanda.utils.common import get_load_state_dict_func +from quanda.utils.functions.similarities import ( cosine_similarity, dot_product_similarity, ) diff --git a/tests/metrics/test_aggr_strategies.py b/tests/metrics/test_aggr_strategies.py index b7518bf0..f87548ba 100644 --- a/tests/metrics/test_aggr_strategies.py +++ b/tests/metrics/test_aggr_strategies.py @@ -1,13 +1,13 @@ import pytest import torch -from src.explainers.aggregators import AbsSumAggregator -from src.explainers.wrappers.captum_influence import CaptumSimilarity -from src.metrics.aggr_strategies import ( +from quanda.explainers.wrappers.captum_influence import CaptumSimilarity +from quanda.metrics.aggr_strategies import ( GlobalAggrStrategy, GlobalSelfInfluenceStrategy, ) -from src.utils.functions.similarities import cosine_similarity +from quanda.metrics.aggregators import AbsSumAggregator +from quanda.utils.functions.similarities import cosine_similarity @pytest.mark.aggr_strategies diff --git a/tests/metrics/test_localization_metrics.py b/tests/metrics/test_localization_metrics.py index 0dd0515c..885ed89d 100644 --- a/tests/metrics/test_localization_metrics.py +++ b/tests/metrics/test_localization_metrics.py @@ -1,13 +1,15 @@ import pytest -from src.explainers.aggregators import SumAggregator -from src.explainers.wrappers.captum_influence import CaptumSimilarity -from src.metrics.localization.class_detection import ClassDetectionMetric -from src.metrics.localization.mislabeling_detection import ( +from quanda.explainers.wrappers.captum_influence import CaptumSimilarity +from quanda.metrics.aggregators import SumAggregator +from quanda.metrics.localization.class_detection import ClassDetectionMetric +from quanda.metrics.localization.mislabeling_detection import ( MislabelingDetectionMetric, ) -from src.metrics.localization.subclass_detection import SubclassDetectionMetric -from src.utils.functions.similarities import cosine_similarity +from quanda.metrics.localization.subclass_detection import ( + SubclassDetectionMetric, +) +from quanda.utils.functions.similarities import cosine_similarity @pytest.mark.localization_metrics diff --git a/tests/metrics/test_randomization_metrics.py b/tests/metrics/test_randomization_metrics.py index 690a0982..7a876f59 100644 --- a/tests/metrics/test_randomization_metrics.py +++ b/tests/metrics/test_randomization_metrics.py @@ -1,12 +1,12 @@ import pytest import torch -from src.explainers.wrappers.captum_influence import CaptumSimilarity -from src.metrics.randomization.model_randomization import ( +from quanda.explainers.wrappers.captum_influence import CaptumSimilarity +from quanda.metrics.randomization.model_randomization import ( ModelRandomizationMetric, ) -from src.utils.functions.correlations import correlation_functions -from src.utils.functions.similarities import cosine_similarity +from quanda.utils.functions.correlations import correlation_functions +from quanda.utils.functions.similarities import cosine_similarity @pytest.mark.randomization_metrics diff --git a/tests/metrics/test_unnamed_metrics.py b/tests/metrics/test_unnamed_metrics.py index b439c303..8cecb812 100644 --- a/tests/metrics/test_unnamed_metrics.py +++ b/tests/metrics/test_unnamed_metrics.py @@ -1,11 +1,11 @@ import pytest -from src.explainers.wrappers.captum_influence import CaptumSimilarity -from src.metrics.unnamed.dataset_cleaning import DatasetCleaningMetric -from src.metrics.unnamed.top_k_overlap import TopKOverlapMetric -from src.utils.functions.similarities import cosine_similarity -from src.utils.training.base_pl_module import BasicLightningModule -from src.utils.training.trainer import Trainer +from quanda.explainers.wrappers.captum_influence import CaptumSimilarity +from quanda.metrics.unnamed.dataset_cleaning import DatasetCleaningMetric +from quanda.metrics.unnamed.top_k_overlap import TopKOverlapMetric +from quanda.utils.functions.similarities import cosine_similarity +from quanda.utils.training.base_pl_module import BasicLightningModule +from quanda.utils.training.trainer import Trainer @pytest.mark.unnamed_metrics diff --git a/tests/toy_benchmarks/localization/test_class_detection.py b/tests/toy_benchmarks/localization/test_class_detection.py index a44868db..8bf986f2 100644 --- a/tests/toy_benchmarks/localization/test_class_detection.py +++ b/tests/toy_benchmarks/localization/test_class_detection.py @@ -1,8 +1,8 @@ import pytest -from src.explainers.wrappers.captum_influence import CaptumSimilarity -from src.toy_benchmarks.localization.class_detection import ClassDetection -from src.utils.functions.similarities import cosine_similarity +from quanda.explainers.wrappers.captum_influence import CaptumSimilarity +from quanda.toy_benchmarks.localization.class_detection import ClassDetection +from quanda.utils.functions.similarities import cosine_similarity @pytest.mark.toy_benchmarks diff --git a/tests/toy_benchmarks/localization/test_mislabeling_detection.py b/tests/toy_benchmarks/localization/test_mislabeling_detection.py index 67c6c0c3..a76caed0 100644 --- a/tests/toy_benchmarks/localization/test_mislabeling_detection.py +++ b/tests/toy_benchmarks/localization/test_mislabeling_detection.py @@ -1,13 +1,13 @@ import pytest -from src.explainers.aggregators import SumAggregator -from src.explainers.wrappers.captum_influence import CaptumSimilarity -from src.toy_benchmarks.localization.mislabeling_detection import ( +from quanda.explainers.wrappers.captum_influence import CaptumSimilarity +from quanda.metrics.aggregators import SumAggregator +from quanda.toy_benchmarks.localization.mislabeling_detection import ( MislabelingDetection, ) -from src.utils.functions.similarities import cosine_similarity -from src.utils.training.base_pl_module import BasicLightningModule -from src.utils.training.trainer import Trainer +from quanda.utils.functions.similarities import cosine_similarity +from quanda.utils.training.base_pl_module import BasicLightningModule +from quanda.utils.training.trainer import Trainer @pytest.mark.toy_benchmarks diff --git a/tests/toy_benchmarks/localization/test_subclass_detection.py b/tests/toy_benchmarks/localization/test_subclass_detection.py index 6de47fee..8f02f75c 100644 --- a/tests/toy_benchmarks/localization/test_subclass_detection.py +++ b/tests/toy_benchmarks/localization/test_subclass_detection.py @@ -1,12 +1,12 @@ import pytest -from src.explainers.wrappers.captum_influence import CaptumSimilarity -from src.toy_benchmarks.localization.subclass_detection import ( +from quanda.explainers.wrappers.captum_influence import CaptumSimilarity +from quanda.toy_benchmarks.localization.subclass_detection import ( SubclassDetection, ) -from src.utils.functions.similarities import cosine_similarity -from src.utils.training.base_pl_module import BasicLightningModule -from src.utils.training.trainer import Trainer +from quanda.utils.functions.similarities import cosine_similarity +from quanda.utils.training.base_pl_module import BasicLightningModule +from quanda.utils.training.trainer import Trainer @pytest.mark.toy_benchmarks diff --git a/tests/toy_benchmarks/randomization/test_model_randomization.py b/tests/toy_benchmarks/randomization/test_model_randomization.py index 01ee1959..f3de7583 100644 --- a/tests/toy_benchmarks/randomization/test_model_randomization.py +++ b/tests/toy_benchmarks/randomization/test_model_randomization.py @@ -1,10 +1,10 @@ import pytest -from src.explainers.wrappers.captum_influence import CaptumSimilarity -from src.toy_benchmarks.randomization.model_randomization import ( +from quanda.explainers.wrappers.captum_influence import CaptumSimilarity +from quanda.toy_benchmarks.randomization.model_randomization import ( ModelRandomization, ) -from src.utils.functions.similarities import cosine_similarity +from quanda.utils.functions.similarities import cosine_similarity @pytest.mark.toy_benchmarks diff --git a/tests/toy_benchmarks/unnamed/test_dataset_cleaning.py b/tests/toy_benchmarks/unnamed/test_dataset_cleaning.py index d3b27c47..c18ab9a2 100644 --- a/tests/toy_benchmarks/unnamed/test_dataset_cleaning.py +++ b/tests/toy_benchmarks/unnamed/test_dataset_cleaning.py @@ -1,10 +1,10 @@ import pytest -from src.explainers.wrappers.captum_influence import CaptumSimilarity -from src.toy_benchmarks.unnamed.dataset_cleaning import DatasetCleaning -from src.utils.functions.similarities import cosine_similarity -from src.utils.training.base_pl_module import BasicLightningModule -from src.utils.training.trainer import Trainer +from quanda.explainers.wrappers.captum_influence import CaptumSimilarity +from quanda.toy_benchmarks.unnamed.dataset_cleaning import DatasetCleaning +from quanda.utils.functions.similarities import cosine_similarity +from quanda.utils.training.base_pl_module import BasicLightningModule +from quanda.utils.training.trainer import Trainer @pytest.mark.toy_benchmarks diff --git a/tests/toy_benchmarks/unnamed/test_top_k_overlap.py b/tests/toy_benchmarks/unnamed/test_top_k_overlap.py index 1462342a..f8e6ff91 100644 --- a/tests/toy_benchmarks/unnamed/test_top_k_overlap.py +++ b/tests/toy_benchmarks/unnamed/test_top_k_overlap.py @@ -1,8 +1,8 @@ import pytest -from src.explainers.wrappers.captum_influence import CaptumSimilarity -from src.toy_benchmarks.unnamed.top_k_overlap import TopKOverlap -from src.utils.functions.similarities import cosine_similarity +from quanda.explainers.wrappers.captum_influence import CaptumSimilarity +from quanda.toy_benchmarks.unnamed.top_k_overlap import TopKOverlap +from quanda.utils.functions.similarities import cosine_similarity @pytest.mark.toy_benchmarks diff --git a/tests/utils/datasets/transformed/test_base.py b/tests/utils/datasets/transformed/test_base.py index 0930c13d..6d323792 100644 --- a/tests/utils/datasets/transformed/test_base.py +++ b/tests/utils/datasets/transformed/test_base.py @@ -2,7 +2,7 @@ import torch from torch.utils.data import Dataset, TensorDataset -from src.utils.datasets.transformed.base import TransformedDataset +from quanda.utils.datasets.transformed.base import TransformedDataset class UnsizedTensorDataset(Dataset): diff --git a/tests/utils/datasets/transformed/test_label_flipping.py b/tests/utils/datasets/transformed/test_label_flipping.py index 9a62eb42..83eccfa8 100644 --- a/tests/utils/datasets/transformed/test_label_flipping.py +++ b/tests/utils/datasets/transformed/test_label_flipping.py @@ -1,6 +1,8 @@ import pytest -from src.utils.datasets.transformed.label_flipping import LabelFlippingDataset +from quanda.utils.datasets.transformed.label_flipping import ( + LabelFlippingDataset, +) @pytest.mark.utils diff --git a/tests/utils/datasets/transformed/test_label_grouping.py b/tests/utils/datasets/transformed/test_label_grouping.py index 13ccb874..68b72398 100644 --- a/tests/utils/datasets/transformed/test_label_grouping.py +++ b/tests/utils/datasets/transformed/test_label_grouping.py @@ -1,6 +1,8 @@ import pytest -from src.utils.datasets.transformed.label_grouping import LabelGroupingDataset +from quanda.utils.datasets.transformed.label_grouping import ( + LabelGroupingDataset, +) @pytest.mark.utils diff --git a/tests/utils/test_common.py b/tests/utils/test_common.py index dfe37a5b..a19863c5 100644 --- a/tests/utils/test_common.py +++ b/tests/utils/test_common.py @@ -1,6 +1,6 @@ import pytest -from src.utils.common import make_func +from quanda.utils.common import make_func @pytest.mark.utils diff --git a/tests/utils/test_training.py b/tests/utils/test_training.py index 884c3feb..49451c86 100644 --- a/tests/utils/test_training.py +++ b/tests/utils/test_training.py @@ -3,8 +3,8 @@ import pytest import torch -from src.utils.training.base_pl_module import BasicLightningModule -from src.utils.training.trainer import Trainer +from quanda.utils.training.base_pl_module import BasicLightningModule +from quanda.utils.training.trainer import Trainer @pytest.mark.utils diff --git a/tox.ini b/tox.ini index 4626a96a..9fe29164 100644 --- a/tox.ini +++ b/tox.ini @@ -24,7 +24,7 @@ deps = coverage pytest_cov commands = - python3 -m pytest --cov=src --cov-report=term-missing --cov-fail-under 57 --cov-report html:htmlcov --cov-report xml {posargs} + python3 -m pytest --cov=quanda --cov-report=term-missing --cov-fail-under 57 --cov-report html:htmlcov --cov-report xml {posargs} [testenv:lint] @@ -41,7 +41,7 @@ deps = {[testenv]deps} mypy==1.9.0 commands = - python3 -m mypy src --check-untyped-defs + python3 -m mypy quanda --check-untyped-defs [flake8] max-line-length = 127 diff --git a/tutorials/usage_testing.py b/tutorials/usage_testing.py index d3fa4c26..2925cf05 100644 --- a/tutorials/usage_testing.py +++ b/tutorials/usage_testing.py @@ -16,19 +16,15 @@ from torchvision.utils import make_grid from tqdm import tqdm -from src.explainers.wrappers.captum_influence import ( +from quanda.explainers.wrappers import ( CaptumSimilarity, captum_similarity_explain, ) -from src.metrics.localization.class_detection import ClassDetectionMetric -from src.metrics.randomization.model_randomization import ( - ModelRandomizationMetric, -) -from src.metrics.unnamed.dataset_cleaning import DatasetCleaningMetric -from src.metrics.unnamed.top_k_overlap import TopKOverlapMetric -from src.toy_benchmarks.subclass_detection import SubclassDetection -from src.utils.training.base_pl_module import BasicLightningModule -from src.utils.training.trainer import Trainer +from quanda.metrics.localization import ClassDetectionMetric +from quanda.metrics.randomization import ModelRandomizationMetric +from quanda.metrics.unnamed import DatasetCleaningMetric, TopKOverlapMetric +from quanda.toy_benchmarks import SubclassDetection +from quanda.utils.training import BasicLightningModule, Trainer DEVICE = "cuda:0" # "cuda" if torch.cuda.is_available() else "cpu" torch.set_float32_matmul_precision("medium") From b5c30a39109ac4baaac6568fa20ef5279e619c91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Galip=20=C3=9Cmit=20Yolcu?= Date: Tue, 6 Aug 2024 01:26:44 +0200 Subject: [PATCH 02/21] Makefile deletes mnist checkpoint assets. fixed issue --- Makefile | 1 - tests/assets/mnist_checkpoints/checkpoint-00 | Bin 0 -> 181452 bytes tests/assets/mnist_checkpoints/checkpoint-01 | Bin 0 -> 181452 bytes tests/assets/mnist_checkpoints/checkpoint-02 | Bin 0 -> 181452 bytes tests/assets/mnist_checkpoints/checkpoint-03 | Bin 0 -> 181452 bytes tests/assets/mnist_checkpoints/checkpoint-04 | Bin 0 -> 181452 bytes 6 files changed, 1 deletion(-) create mode 100644 tests/assets/mnist_checkpoints/checkpoint-00 create mode 100644 tests/assets/mnist_checkpoints/checkpoint-01 create mode 100644 tests/assets/mnist_checkpoints/checkpoint-02 create mode 100644 tests/assets/mnist_checkpoints/checkpoint-03 create mode 100644 tests/assets/mnist_checkpoints/checkpoint-04 diff --git a/Makefile b/Makefile index 78666278..3c56de51 100644 --- a/Makefile +++ b/Makefile @@ -13,7 +13,6 @@ style: find . | grep -E "(__pycache__|\.pyc|\.pyo)" | xargs rm -rf find . | grep -E ".pytest_cache" | xargs rm -rf find . | grep -E ".mypy_cache" | xargs rm -rf - find . | grep -E ".checkpoints" | xargs rm -rf find . | grep -E "*eff-info" | xargs rm -rf find . | grep -E ".build" | xargs rm -rf find . | grep -E ".htmlcov" | xargs rm -rf diff --git a/tests/assets/mnist_checkpoints/checkpoint-00 b/tests/assets/mnist_checkpoints/checkpoint-00 new file mode 100644 index 0000000000000000000000000000000000000000..95b21f5bc60af38d271a80316e67128ff7be875c GIT binary patch literal 181452 zcmbq)2{=~W+pj4@DMLa+${fi|_PQTJ2$i8^p67(8kQA9`LP(NXR4Pf6y>8JwPZ~69 zo=fwr^Yp&w|NYPVo%5aRJJ)$!>)Dret^HfSz4lt`zSr-*9~UP6B8Da5EU1@V(h}@p<&Cz zLT#f$62@}*wB5M;TAt&1&>?ZLNdX3WE5o89A``d*AqjEILn8G85)-0gR*Vf;9u}M! z6%!he5Ei>4Zh1hG;aIMqmX@ao@5U9pmO&9=T%o^j8EY347nI=scjZ{_7*Bp)8-1>@ zry%dTEPe%7#Hl)gE9&aRr{yH<#P2l5X-ooFOv`C9?{AC~e*$-GLF6A=;}W>yZrt&n z%zkv<75|JWK!U(>bh}fdW!MJ=r5$dsObFz$AmkJM}-HY{})US*WeEo!@mKH z61c{0T$6uM`H%52{Rf08*X+;uXeMyY|6nX~O3vlZc1r$3#NuxpCV@-bxbQC`|8q<@ z|3ES0TJnf2O5j@k1(L&^^M{D_-vBlVTw6Ep+q@CRe8 z)1qANJRTn&5y!uAoD#UsZru6*B4YIS%USRbl-b;cJR)NgxGsNzz~RE_;=;Mz@?VI(`QFIoPYfU-FhQ{<=aaHYWuoVIoU*O!DJ^)U2(P%mF1|B{<4&H)h@Gf44 zW9D@N)CV@<=5U4+{_Y`d{Lz6rvvvEne0T;YP8Q(Y#ky!o_4@=T$oB0zW8JrOzZpkL zdlUH;FqxBPvIXb3b&$jZd+1M)r?;k>b2j}>#Ibe35LZ$Mb<@uS@y`IQzAid%>12F1 z-kvi?djaxKy4PFYUW@aR%sH}OQ?TiYDksl;BB?B}>pQ_$OsDi60EHMej{oL8xNL}n z1#u>Q$wzOnzL!if-1aJYbwZQlFTMaieVxj=mTK5n=e&a+Tl52pRRlS2=6of^QC1w! zJ=;+vN~iBFsP^6H5%0UrctPgiB&wd&1=UHzAYZ25=g}^My{1;2i8Bj`Zv*ccXIY`i z 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

|!Sc!|Sfv_)&7OJ8r;x(d!gqN4l8<40)=o%H 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 HbKn05UBmnW literal 0 HcmV?d00001 diff --git a/tests/assets/mnist_checkpoints/checkpoint-01 b/tests/assets/mnist_checkpoints/checkpoint-01 new file mode 100644 index 0000000000000000000000000000000000000000..e71956ca7e8b42a75a3bba7355efd2447bca0a3c GIT binary patch literal 181452 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 z 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

Ynb3(0KH&he>%*mVcFntdDblt>o_ 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 literal 0 HcmV?d00001 diff --git a/tests/assets/mnist_checkpoints/checkpoint-02 b/tests/assets/mnist_checkpoints/checkpoint-02 new file mode 100644 index 0000000000000000000000000000000000000000..c048d9646799c74ca2e60ee3632e7b2e52804172 GIT binary patch literal 181452 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 literal 0 HcmV?d00001 diff --git a/tests/assets/mnist_checkpoints/checkpoint-03 b/tests/assets/mnist_checkpoints/checkpoint-03 new file mode 100644 index 0000000000000000000000000000000000000000..d962f5abaf2dcc5e72cfe77afda287d4ace89e46 GIT binary patch literal 181452 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 literal 0 HcmV?d00001 diff --git a/tests/assets/mnist_checkpoints/checkpoint-04 b/tests/assets/mnist_checkpoints/checkpoint-04 new file mode 100644 index 0000000000000000000000000000000000000000..d46ad1500d5319a9872697e1d301613719910884 GIT binary patch literal 181452 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 DaKt!A literal 0 HcmV?d00001 From eb68ffecac928922ed9d695de78f7cb17b7b41c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Galip=20=C3=9Cmit=20Yolcu?= Date: Tue, 6 Aug 2024 01:49:10 +0200 Subject: [PATCH 03/21] actually include new files --- quanda/__init__.py | 3 + quanda/explainers/__init__.py | 6 + quanda/explainers/base.py | 71 +++ quanda/explainers/functional.py | 28 ++ quanda/explainers/random.py | 66 +++ quanda/explainers/utils.py | 66 +++ quanda/explainers/wrappers/__init__.py | 25 + .../explainers/wrappers/captum_influence.py | 458 ++++++++++++++++++ quanda/metrics/__init__.py | 23 + quanda/metrics/aggr_strategies.py | 81 ++++ quanda/metrics/aggregators.py | 62 +++ quanda/metrics/base.py | 252 ++++++++++ quanda/metrics/localization/__init__.py | 5 + .../metrics/localization/class_detection.py | 60 +++ .../localization/mislabeling_detection.py | 98 ++++ .../localization/subclass_detection.py | 36 ++ quanda/metrics/randomization/__init__.py | 3 + .../randomization/model_randomization.py | 118 +++++ quanda/metrics/unnamed/__init__.py | 4 + quanda/metrics/unnamed/dataset_cleaning.py | 137 ++++++ quanda/metrics/unnamed/top_k_overlap.py | 40 ++ quanda/toy_benchmarks/__init__.py | 4 + quanda/toy_benchmarks/base.py | 61 +++ .../toy_benchmarks/localization/__init__.py | 5 + .../localization/class_detection.py | 126 +++++ .../localization/mislabeling_detection.py | 260 ++++++++++ .../localization/subclass_detection.py | 242 +++++++++ .../toy_benchmarks/randomization/__init__.py | 3 + .../randomization/model_randomization.py | 133 +++++ quanda/toy_benchmarks/unnamed/__init__.py | 4 + .../unnamed/dataset_cleaning.py | 150 ++++++ .../toy_benchmarks/unnamed/top_k_overlap.py | 127 +++++ quanda/utils/__init__.py | 3 + quanda/utils/cache.py | 220 +++++++++ quanda/utils/common.py | 111 +++++ quanda/utils/datasets/__init__.py | 4 + quanda/utils/datasets/activation_dataset.py | 40 ++ quanda/utils/datasets/indexed_subset.py | 18 + quanda/utils/datasets/transformed/__init__.py | 12 + quanda/utils/datasets/transformed/base.py | 78 +++ .../datasets/transformed/label_flipping.py | 55 +++ .../datasets/transformed/label_grouping.py | 66 +++ quanda/utils/datasets/transformed/sample.py | 33 ++ quanda/utils/explanations.py | 134 +++++ quanda/utils/functions/__init__.py | 16 + quanda/utils/functions/correlations.py | 25 + quanda/utils/functions/similarities.py | 46 ++ quanda/utils/training/__init__.py | 4 + quanda/utils/training/base_pl_module.py | 56 +++ quanda/utils/training/trainer.py | 95 ++++ quanda/utils/transforms.py | 39 ++ quanda/utils/validation.py | 43 ++ 52 files changed, 3855 insertions(+) create mode 100644 quanda/__init__.py create mode 100644 quanda/explainers/__init__.py create mode 100644 quanda/explainers/base.py create mode 100644 quanda/explainers/functional.py create mode 100644 quanda/explainers/random.py create mode 100644 quanda/explainers/utils.py create mode 100644 quanda/explainers/wrappers/__init__.py create mode 100644 quanda/explainers/wrappers/captum_influence.py create mode 100644 quanda/metrics/__init__.py create mode 100644 quanda/metrics/aggr_strategies.py create mode 100644 quanda/metrics/aggregators.py create mode 100644 quanda/metrics/base.py create mode 100644 quanda/metrics/localization/__init__.py create mode 100644 quanda/metrics/localization/class_detection.py create mode 100644 quanda/metrics/localization/mislabeling_detection.py create mode 100644 quanda/metrics/localization/subclass_detection.py create mode 100644 quanda/metrics/randomization/__init__.py create mode 100644 quanda/metrics/randomization/model_randomization.py create mode 100644 quanda/metrics/unnamed/__init__.py create mode 100644 quanda/metrics/unnamed/dataset_cleaning.py create mode 100644 quanda/metrics/unnamed/top_k_overlap.py create mode 100644 quanda/toy_benchmarks/__init__.py create mode 100644 quanda/toy_benchmarks/base.py create mode 100644 quanda/toy_benchmarks/localization/__init__.py create mode 100644 quanda/toy_benchmarks/localization/class_detection.py create mode 100644 quanda/toy_benchmarks/localization/mislabeling_detection.py create mode 100644 quanda/toy_benchmarks/localization/subclass_detection.py create mode 100644 quanda/toy_benchmarks/randomization/__init__.py create mode 100644 quanda/toy_benchmarks/randomization/model_randomization.py create mode 100644 quanda/toy_benchmarks/unnamed/__init__.py create mode 100644 quanda/toy_benchmarks/unnamed/dataset_cleaning.py create mode 100644 quanda/toy_benchmarks/unnamed/top_k_overlap.py create mode 100644 quanda/utils/__init__.py create mode 100644 quanda/utils/cache.py create mode 100644 quanda/utils/common.py create mode 100644 quanda/utils/datasets/__init__.py create mode 100644 quanda/utils/datasets/activation_dataset.py create mode 100644 quanda/utils/datasets/indexed_subset.py create mode 100644 quanda/utils/datasets/transformed/__init__.py create mode 100644 quanda/utils/datasets/transformed/base.py create mode 100644 quanda/utils/datasets/transformed/label_flipping.py create mode 100644 quanda/utils/datasets/transformed/label_grouping.py create mode 100644 quanda/utils/datasets/transformed/sample.py create mode 100644 quanda/utils/explanations.py create mode 100644 quanda/utils/functions/__init__.py create mode 100644 quanda/utils/functions/correlations.py create mode 100644 quanda/utils/functions/similarities.py create mode 100644 quanda/utils/training/__init__.py create mode 100644 quanda/utils/training/base_pl_module.py create mode 100644 quanda/utils/training/trainer.py create mode 100644 quanda/utils/transforms.py create mode 100644 quanda/utils/validation.py diff --git a/quanda/__init__.py b/quanda/__init__.py new file mode 100644 index 00000000..6dc42516 --- /dev/null +++ b/quanda/__init__.py @@ -0,0 +1,3 @@ +from . import explainers, metrics, toy_benchmarks, utils + +__all__ = ["explainers", "metrics", "toy_benchmarks", "utils"] diff --git a/quanda/explainers/__init__.py b/quanda/explainers/__init__.py new file mode 100644 index 00000000..4b9ad498 --- /dev/null +++ b/quanda/explainers/__init__.py @@ -0,0 +1,6 @@ +from . import utils, wrappers +from .base import BaseExplainer +from .functional import ExplainFunc, ExplainFuncMini +from .random import RandomExplainer + +__all__ = ["BaseExplainer", "RandomExplainer", "ExplainFunc", "ExplainFuncMini", "utils", "wrappers"] diff --git a/quanda/explainers/base.py b/quanda/explainers/base.py new file mode 100644 index 00000000..ddc3c888 --- /dev/null +++ b/quanda/explainers/base.py @@ -0,0 +1,71 @@ +from abc import ABC, abstractmethod +from typing import Any, List, Optional, Sized, Union + +import torch + +from quanda.utils.common import cache_result +from quanda.utils.validation import validate_1d_tensor_or_int_list + + +class BaseExplainer(ABC): + def __init__( + self, + model: torch.nn.Module, + model_id: str, + cache_dir: Optional[str], + train_dataset: torch.utils.data.Dataset, + device: Union[str, torch.device], + **kwargs, + ): + self.model = model + self.model.to(device) + + self.model_id = model_id + self.cache_dir = cache_dir + self.train_dataset = train_dataset + self.device = torch.device(device) if isinstance(device, str) else device + + @abstractmethod + def explain(self, test: torch.Tensor, targets: Optional[Union[List[int], torch.Tensor]] = None) -> torch.Tensor: + raise NotImplementedError + + @property + def dataset_length(self) -> int: + """ + By default, the Dataset class does not always have a __len__ method. + :return: + """ + if isinstance(self.train_dataset, Sized): + return len(self.train_dataset) + dl = torch.utils.data.DataLoader(self.train_dataset, batch_size=1) + return len(dl) + + def _process_targets(self, targets: Optional[Union[List[int], torch.Tensor]]): + if targets is not None: + # TODO: move validation logic outside at a later point + validate_1d_tensor_or_int_list(targets) + if isinstance(targets, list): + targets = torch.tensor(targets) + targets = targets.to(self.device) + return targets + + @cache_result + def self_influence(self, **kwargs: Any) -> torch.Tensor: + """ + Base class implements computing self influences by explaining the train dataset one by one + + :param batch_size: + :param kwargs: + :return: + """ + batch_size = kwargs.get("batch_size", 32) + + # Pre-allcate memory for influences, because torch.cat is slow + influences = torch.empty((self.dataset_length,), device=self.device) + ldr = torch.utils.data.DataLoader(self.train_dataset, shuffle=False, batch_size=batch_size) + + for i, (x, y) in zip(range(0, self.dataset_length, batch_size), ldr): + explanations = self.explain(test=x.to(self.device), targets=y.to(self.device)) + influences[i : i + batch_size] = explanations.diag(diagonal=i) + + return influences diff --git a/quanda/explainers/functional.py b/quanda/explainers/functional.py new file mode 100644 index 00000000..e00569de --- /dev/null +++ b/quanda/explainers/functional.py @@ -0,0 +1,28 @@ +from typing import Any, List, Optional, Protocol, Union + +import torch + + +class ExplainFunc(Protocol): + def __call__( + self, + model: torch.nn.Module, + model_id: str, + cache_dir: Optional[str], + test_tensor: torch.Tensor, + train_dataset: torch.utils.data.Dataset, + device: Union[str, torch.device], + explanation_targets: Optional[Union[List[int], torch.Tensor]] = None, + **kwargs: Any, + ) -> torch.Tensor: + pass + + +class ExplainFuncMini(Protocol): + def __call__( + self, + test_tensor: torch.Tensor, + explanation_targets: Optional[Union[List[int], torch.Tensor]] = None, + **kwargs: Any, + ) -> torch.Tensor: + pass diff --git a/quanda/explainers/random.py b/quanda/explainers/random.py new file mode 100644 index 00000000..f4470daf --- /dev/null +++ b/quanda/explainers/random.py @@ -0,0 +1,66 @@ +from typing import Any, List, Optional, Union + +import torch + +from quanda.explainers import BaseExplainer +from quanda.utils.common import cache_result + + +class RandomExplainer(BaseExplainer): + """ + The most basic version of a random explainer. + """ + + def __init__( + self, + model: torch.nn.Module, + model_id: str, + cache_dir: Optional[str], + train_dataset: torch.utils.data.Dataset, + seed: int = 27, + device: Union[str, torch.device] = "cpu", + **kwargs, + ): + super().__init__( + model=model, + model_id=model_id, + cache_dir=cache_dir, + train_dataset=train_dataset, + device=device, + ) + self.seed = seed + self.generator = torch.Generator(device=device) + self.generator.manual_seed(self.seed) + + def explain(self, test: torch.Tensor, targets: Optional[Union[List[int], torch.Tensor]] = None): + """ + Random explainer does not explain anything, just returns random values. + + TODO: shall the explainer always return the same values for the same test input? + + Parameters + ---------- + test + targets + + Returns + ------- + + """ + return torch.rand(test.size(0), self.dataset_length, generator=self.generator, device=self.device) + + @cache_result + def self_influence(self, batch_size: int = 32, **kwargs: Any) -> torch.Tensor: + """ + Random self-influence is just a vector of random values of the length of the dataset. + + Parameters + ---------- + batch_size + kwargs + + Returns + ------- + + """ + return torch.rand(self.dataset_length, generator=self.generator, device=self.device) diff --git a/quanda/explainers/utils.py b/quanda/explainers/utils.py new file mode 100644 index 00000000..c78fba7f --- /dev/null +++ b/quanda/explainers/utils.py @@ -0,0 +1,66 @@ +from typing import Any, List, Optional, Union + +import torch + + +def _init_explainer(explainer_cls, model, model_id, cache_dir, train_dataset, device, **kwargs): + explainer = explainer_cls( + model=model, + model_id=model_id, + cache_dir=cache_dir, + train_dataset=train_dataset, + device=device, + **kwargs, + ) + return explainer + + +def explain_fn_from_explainer( + explainer_cls: type, + model: torch.nn.Module, + model_id: str, + cache_dir: Optional[str], + test_tensor: torch.Tensor, + train_dataset: torch.utils.data.Dataset, + device: Union[str, torch.device], + targets: Optional[Union[List[int], torch.Tensor]] = None, + **kwargs: Any, +) -> torch.Tensor: + explainer = _init_explainer( + explainer_cls=explainer_cls, + model=model, + model_id=model_id, + cache_dir=cache_dir, + train_dataset=train_dataset, + device=device, + **kwargs, + ) + + return explainer.explain(test=test_tensor, targets=targets) + + +def self_influence_fn_from_explainer( + explainer_cls: type, + model: torch.nn.Module, + model_id: str, + cache_dir: Optional[str], + train_dataset: torch.utils.data.Dataset, + device: Union[str, torch.device], + self_influence_kwargs: dict, + **kwargs: Any, +) -> torch.Tensor: + + explainer = _init_explainer( + explainer_cls=explainer_cls, + model=model, + model_id=model_id, + cache_dir=cache_dir, + train_dataset=train_dataset, + device=device, + **kwargs, + ) + + return explainer.self_influence(**self_influence_kwargs) + + +__all__ = ["_init_explainer", "explain_fn_from_explainer", "self_influence_fn_from_explainer"] diff --git a/quanda/explainers/wrappers/__init__.py b/quanda/explainers/wrappers/__init__.py new file mode 100644 index 00000000..b3fff010 --- /dev/null +++ b/quanda/explainers/wrappers/__init__.py @@ -0,0 +1,25 @@ +from .captum_influence import ( + CaptumArnoldi, + CaptumInfluence, + CaptumSimilarity, + CaptumTracInCP, + captum_arnoldi_explain, + captum_arnoldi_self_influence, + captum_similarity_explain, + captum_similarity_self_influence, + captum_tracincp_explain, + captum_tracincp_self_influence, +) + +__all__ = [ + "CaptumInfluence", + "CaptumSimilarity", + "captum_similarity_explain", + "captum_similarity_self_influence", + "CaptumArnoldi", + "captum_arnoldi_explain", + "captum_arnoldi_self_influence", + "CaptumTracInCP", + "captum_tracincp_explain", + "captum_tracincp_self_influence", +] diff --git a/quanda/explainers/wrappers/captum_influence.py b/quanda/explainers/wrappers/captum_influence.py new file mode 100644 index 00000000..7c52d486 --- /dev/null +++ b/quanda/explainers/wrappers/captum_influence.py @@ -0,0 +1,458 @@ +import copy +import warnings +from abc import ABC, abstractmethod +from typing import Any, Callable, Iterator, List, Optional, Tuple, Union + +import torch +from captum.influence import SimilarityInfluence, TracInCP # type: ignore + +# TODO Should be imported directly from captum.influence once available +from captum.influence._core.arnoldi_influence_function import ( # type: ignore + ArnoldiInfluenceFunction, +) + +from quanda.explainers import BaseExplainer +from quanda.explainers.utils import ( + explain_fn_from_explainer, + self_influence_fn_from_explainer, +) +from quanda.utils.common import get_load_state_dict_func +from quanda.utils.functions import cosine_similarity +from quanda.utils.validation import validate_checkpoints_load_func + + +class CaptumInfluence(BaseExplainer, ABC): + def __init__( + self, + model: torch.nn.Module, + model_id: str, + cache_dir: Optional[str], + train_dataset: torch.utils.data.Dataset, + device: Union[str, torch.device], + explainer_cls: type, + explain_kwargs: Any, + ): + super().__init__( + model=model, + model_id=model_id, + cache_dir=cache_dir, + train_dataset=train_dataset, + device=device, + ) + self.explainer_cls = explainer_cls + self.explain_kwargs = explain_kwargs + self._init_explainer(**explain_kwargs) + + def _init_explainer(self, **explain_kwargs: Any): + self.captum_explainer = self.explainer_cls(**explain_kwargs) + + @abstractmethod + def explain(self, test: torch.Tensor, targets: Optional[Union[List[int], torch.Tensor]] = None) -> torch.Tensor: + """Comment for Galip and Niklas: We are now expecting explicit declaration of + explain method keyword arguments in specific explainer class __init__ methods. + Right now the only such keyword argument is `top_k` for CaptumSimilarity, which we + anyway overwrite with the dataset length.""" + raise NotImplementedError + + +class CaptumSimilarity(CaptumInfluence): + # TODO: incorporate SimilarityInfluence kwargs into init_kwargs + """ + init_kwargs = signature(SimilarityInfluence.__init__).parameters.items() + init_kwargs.append("replace_nan") + explain_kwargs = signature(SimilarityInfluence.influence) + si_kwargs = signature(SimilarityInfluence.selinfluence) + """ + + def __init__( + self, + model: torch.nn.Module, + model_id: str, + cache_dir: str, + train_dataset: torch.utils.data.Dataset, + layers: Union[str, List[str]], + similarity_metric: Callable = cosine_similarity, + similarity_direction: str = "max", + batch_size: int = 1, + replace_nan: bool = False, + device: Union[str, torch.device] = "cpu", + **explainer_kwargs: Any, + ): + # extract and validate layer from kwargs + self._layer: Optional[Union[List[str], str]] = None + self.layer = layers + + if device != "cpu": + warnings.warn("CaptumSimilarity explainer only supports CPU devices. Setting device to 'cpu'.") + device = "cpu" + + model_passed = copy.deepcopy(model) # CaptumSimilarity only does cpu, + # we still want to keep the model on cuda for the metrics + # TODO: validate SimilarityInfluence kwargs + explainer_kwargs.update( + { + "module": model_passed, + "influence_src_dataset": train_dataset, + "activation_dir": cache_dir, + "model_id": model_id, + "layers": self.layer, + "similarity_direction": similarity_direction, + "similarity_metric": similarity_metric, + "batch_size": batch_size, + "replace_nan": replace_nan, + **explainer_kwargs, + } + ) + + super().__init__( + model=model_passed, + model_id=model_id, + cache_dir=cache_dir, + train_dataset=train_dataset, + device=device, + explainer_cls=SimilarityInfluence, + explain_kwargs=explainer_kwargs, + ) + + # explicitly specifying explain method kwargs as instance attributes + self.top_k = self.dataset_length + + if "top_k" in explainer_kwargs: + warnings.warn("top_k is not supported by CaptumSimilarity explainer. Ignoring the argument.") + + @property + def layer(self): + return self._layer + + @layer.setter + def layer(self, layers: Any): + """ + Our wrapper only allows a single layer to be passed, while the Captum implementation allows multiple layers. + Here, we validate if there is only a single layer passed. + """ + if isinstance(layers, str): + self._layer = layers + return + if len(layers) != 1: + raise ValueError("A single layer shall be passed to the CaptumSimilarity explainer.") + self._layer = layers[0] + + def explain(self, test: torch.Tensor, targets: Optional[Union[List[int], torch.Tensor]] = None): + test = test.to(self.device) + + if targets is not None: + self._process_targets(targets=targets) + warnings.warn("CaptumSimilarity explainer does not support target indices. Ignoring the argument.") + + topk_idx, topk_val = self.captum_explainer.influence(inputs=test, top_k=self.top_k)[self.layer] + _, inverted_idx = topk_idx.sort() + return torch.gather(topk_val, 1, inverted_idx) + + +def captum_similarity_explain( + model: torch.nn.Module, + model_id: str, + cache_dir: Optional[str], + test_tensor: torch.Tensor, + train_dataset: torch.utils.data.Dataset, + device: Union[str, torch.device], + explanation_targets: Optional[Union[List[int], torch.Tensor]] = None, + **kwargs: Any, +) -> torch.Tensor: + return explain_fn_from_explainer( + explainer_cls=CaptumSimilarity, + model=model, + model_id=model_id, + cache_dir=cache_dir, + test_tensor=test_tensor, + targets=explanation_targets, + train_dataset=train_dataset, + device=device, + **kwargs, + ) + + +def captum_similarity_self_influence( + model: torch.nn.Module, + model_id: str, + cache_dir: Optional[str], + train_dataset: torch.utils.data.Dataset, + device: Union[str, torch.device], + batch_size: Optional[int] = 32, + **kwargs: Any, +) -> torch.Tensor: + self_influence_kwargs = { + "batch_size": batch_size, + } + return self_influence_fn_from_explainer( + explainer_cls=CaptumSimilarity, + model=model, + model_id=model_id, + cache_dir=cache_dir, + train_dataset=train_dataset, + device=device, + self_influence_kwargs=self_influence_kwargs, + **kwargs, + ) + + +class CaptumArnoldi(CaptumInfluence): + def __init__( + self, + model: torch.nn.Module, + model_id: str, # TODO Make optional + train_dataset: torch.utils.data.Dataset, + checkpoint: str, + cache_dir: str, # TODO Make optional + loss_fn: Union[torch.nn.Module, Callable] = torch.nn.CrossEntropyLoss(), + checkpoints_load_func: Optional[Callable[..., Any]] = None, + layers: Optional[List[str]] = None, + batch_size: int = 1, + hessian_dataset: Optional[Union[torch.utils.data.Dataset, torch.utils.data.DataLoader]] = None, + test_loss_fn: Optional[Union[torch.nn.Module, Callable]] = None, + sample_wise_grads_per_batch: bool = False, + projection_dim: int = 50, + seed: int = 0, + arnoldi_dim: int = 200, + arnoldi_tol: float = 1e-1, + hessian_reg: float = 1e-3, + hessian_inverse_tol: float = 1e-4, + projection_on_cpu: bool = True, + show_progress: bool = False, + device: Union[str, torch.device] = "cpu", # TODO Check if gpu works + **explainer_kwargs: Any, + ): + if checkpoints_load_func is None: + checkpoints_load_func = get_load_state_dict_func(device) + else: + validate_checkpoints_load_func(checkpoints_load_func) + + unsupported_args = ["k", "proponents"] + for arg in unsupported_args: + if arg in explainer_kwargs: + explainer_kwargs.pop(arg) + warnings.warn(f"{arg} is not supported by CaptumArnoldi explainer. Ignoring the argument.") + + explainer_kwargs.update( + { + "model": model, + "train_dataset": train_dataset, + "checkpoint": checkpoint, + "checkpoints_load_func": checkpoints_load_func, + "layers": layers, + "loss_fn": loss_fn, + "batch_size": batch_size, + "hessian_dataset": hessian_dataset, + "test_loss_fn": test_loss_fn, + "sample_wise_grads_per_batch": sample_wise_grads_per_batch, + "projection_dim": projection_dim, + "seed": seed, + "arnoldi_dim": arnoldi_dim, + "arnoldi_tol": arnoldi_tol, + "hessian_reg": hessian_reg, + "hessian_inverse_tol": hessian_inverse_tol, + "projection_on_cpu": projection_on_cpu, + "show_progress": show_progress, + **explainer_kwargs, + } + ) + + super().__init__( + model=model, + model_id=model_id, + cache_dir=cache_dir, + train_dataset=train_dataset, + device=device, + explainer_cls=ArnoldiInfluenceFunction, + explain_kwargs=explainer_kwargs, + ) + + def explain(self, test: torch.Tensor, targets: Optional[Union[List[int], torch.Tensor]] = None): + test = test.to(self.device) + + if targets is not None: + if isinstance(targets, list): + targets = torch.tensor(targets).to(self.device) + else: + targets = targets.to(self.device) + + influence_scores = self.captum_explainer.influence(inputs=(test, targets)) + return influence_scores + + def self_influence(self, **kwargs: Any) -> torch.Tensor: + inputs_dataset = kwargs.get("inputs_dataset", None) + influence_scores = self.captum_explainer.self_influence(inputs_dataset=inputs_dataset) + return influence_scores + + +def captum_arnoldi_explain( + model: torch.nn.Module, + model_id: str, + cache_dir: str, + test_tensor: torch.Tensor, + train_dataset: torch.utils.data.Dataset, + loss_fn: Union[torch.nn.Module, Callable], + device: Union[str, torch.device], + explanation_targets: Optional[Union[List[int], torch.Tensor]] = None, + **kwargs: Any, +) -> torch.Tensor: + return explain_fn_from_explainer( + explainer_cls=CaptumArnoldi, + model=model, + model_id=model_id, + cache_dir=cache_dir, + test_tensor=test_tensor, + targets=explanation_targets, + train_dataset=train_dataset, + loss_fn=loss_fn, + device=device, + **kwargs, + ) + + +def captum_arnoldi_self_influence( + model: torch.nn.Module, + model_id: str, + cache_dir: str, + train_dataset: torch.utils.data.Dataset, + loss_fn: Union[torch.nn.Module, Callable], + device: Union[str, torch.device], + inputs_dataset: Optional[Union[Tuple[Any, ...], torch.utils.data.DataLoader]] = None, + **kwargs: Any, +) -> torch.Tensor: + self_influence_kwargs = { + "inputs_dataset": inputs_dataset, + } + return self_influence_fn_from_explainer( + explainer_cls=CaptumArnoldi, + model=model, + model_id=model_id, + cache_dir=cache_dir, + train_dataset=train_dataset, + loss_fn=loss_fn, + device=device, + self_influence_kwargs=self_influence_kwargs, + **kwargs, + ) + + +class CaptumTracInCP(CaptumInfluence): + def __init__( + self, + model: torch.nn.Module, + model_id: str, + train_dataset: torch.utils.data.Dataset, + checkpoints: Union[str, List[str], Iterator], + cache_dir: Optional[str], + checkpoints_load_func: Optional[Callable[..., Any]] = None, + loss_fn: Optional[Union[torch.nn.Module, Callable]] = None, + batch_size: int = 1, + test_loss_fn: Optional[Union[torch.nn.Module, Callable]] = None, + sample_wise_grads_per_batch: bool = False, + device: Union[str, torch.device] = "cpu", + **explainer_kwargs: Any, + ): + if checkpoints_load_func is None: + checkpoints_load_func = get_load_state_dict_func(device) + else: + validate_checkpoints_load_func(checkpoints_load_func) + + unsupported_args = ["k", "proponents", "aggregate"] + for arg in unsupported_args: + if arg in explainer_kwargs: + explainer_kwargs.pop(arg) + warnings.warn(f"{arg} is not supported by CaptumTraceInCP explainer. Ignoring the argument.") + + explainer_kwargs.update( + { + "model": model, + "train_dataset": train_dataset, + "checkpoints": checkpoints, + "checkpoints_load_func": checkpoints_load_func, + "loss_fn": loss_fn, + "batch_size": batch_size, + "test_loss_fn": test_loss_fn, + "sample_wise_grads_per_batch": sample_wise_grads_per_batch, + **explainer_kwargs, + } + ) + + super().__init__( + model=model, + model_id=model_id, + cache_dir=cache_dir, + train_dataset=train_dataset, + device=device, + explainer_cls=TracInCP, + explain_kwargs=explainer_kwargs, + ) + + def explain(self, test: torch.Tensor, targets: Optional[Union[List[int], torch.Tensor]] = None): + test = test.to(self.device) + + if targets is not None: + if isinstance(targets, list): + targets = torch.tensor(targets).to(self.device) + else: + targets = targets.to(self.device) + + influence_scores = self.captum_explainer.influence(inputs=(test, targets)) + return influence_scores + + def self_influence(self, **kwargs: Any) -> torch.Tensor: + inputs = kwargs.get("inputs", None) + outer_loop_by_checkpoints = kwargs.get("outer_loop_by_checkpoints", False) + influence_scores = self.captum_explainer.self_influence( + inputs=inputs, outer_loop_by_checkpoints=outer_loop_by_checkpoints + ) + return influence_scores + + +def captum_tracincp_explain( + model: torch.nn.Module, + model_id: str, + cache_dir: Optional[str], + test_tensor: torch.Tensor, + train_dataset: torch.utils.data.Dataset, + checkpoints: Union[str, List[str], Iterator], + device: Union[str, torch.device], + explanation_targets: Optional[Union[List[int], torch.Tensor]] = None, + **kwargs: Any, +) -> torch.Tensor: + return explain_fn_from_explainer( + explainer_cls=CaptumTracInCP, + model=model, + model_id=model_id, + cache_dir=cache_dir, + test_tensor=test_tensor, + targets=explanation_targets, + train_dataset=train_dataset, + checkpoints=checkpoints, + device=device, + **kwargs, + ) + + +def captum_tracincp_self_influence( + model: torch.nn.Module, + model_id: str, + cache_dir: Optional[str], + train_dataset: torch.utils.data.Dataset, + checkpoints: Union[str, List[str], Iterator], + device: Union[str, torch.device], + inputs: Optional[Union[Tuple[Any, ...], torch.utils.data.DataLoader]] = None, + outer_loop_by_checkpoints: bool = False, + **kwargs: Any, +) -> torch.Tensor: + self_influence_kwargs = {"inputs": inputs, "outer_loop_by_checkpoints": outer_loop_by_checkpoints} + return self_influence_fn_from_explainer( + explainer_cls=CaptumTracInCP, + model=model, + model_id=model_id, + cache_dir=cache_dir, + train_dataset=train_dataset, + checkpoints=checkpoints, + device=device, + self_influence_kwargs=self_influence_kwargs, + **kwargs, + ) diff --git a/quanda/metrics/__init__.py b/quanda/metrics/__init__.py new file mode 100644 index 00000000..2e201e6f --- /dev/null +++ b/quanda/metrics/__init__.py @@ -0,0 +1,23 @@ +from . import localization, randomization, unnamed +from .aggr_strategies import GlobalAggrStrategy, GlobalSelfInfluenceStrategy +from .aggregators import ( + AbsSumAggregator, + BaseAggregator, + SumAggregator, + aggr_types, +) +from .base import GlobalMetric, Metric + +__all__ = [ + "Metric", + "GlobalMetric", + "GlobalAggrStrategy", + "GlobalSelfInfluenceStrategy", + "BaseAggregator", + "SumAggregator", + "AbsSumAggregator", + "aggr_types", + "randomization", + "localization", + "unnamed", +] diff --git a/quanda/metrics/aggr_strategies.py b/quanda/metrics/aggr_strategies.py new file mode 100644 index 00000000..ece1ead1 --- /dev/null +++ b/quanda/metrics/aggr_strategies.py @@ -0,0 +1,81 @@ +import warnings +from functools import lru_cache +from typing import Optional + +import torch + +from quanda.explainers import BaseExplainer +from quanda.metrics.aggregators import BaseAggregator + + +class GlobalSelfInfluenceStrategy: + def __init__( + self, + explainer: Optional[BaseExplainer] = None, + ): + if explainer is None: + raise ValueError( + "An explainer of type BaseExplainer is required for a metric with global method 'self-influence'." + ) + self.explainer = explainer + + def get_self_influence(self): + return self.explainer.self_influence() + + @lru_cache(maxsize=1) + def get_global_rank(self): + return self.get_self_influence().argsort() + + @staticmethod + def _si_warning(method_name: str): + warnings.warn( + f"{method_name} method is not supported for a metric with global method " + "'self-influence'. Method call will be ignored. Call 'compute' method to get the final result." + ) + + def update( + self, + explanations: torch.Tensor, + **kwargs, + ): + self._si_warning("update") + + def reset(self, *args, **kwargs): + pass + + def load_state_dict(self, state_dict: dict, *args, **kwargs): + self._si_warning("load_state_dict") + + def state_dict(self, *args, **kwargs): + self._si_warning("state_dict") + + +class GlobalAggrStrategy: + def __init__( + self, + aggr_type: type, + ): + self.aggregator = aggr_type() + self.global_rank: torch.Tensor + + if not isinstance(self.aggregator, BaseAggregator): + raise ValueError(f"Aggregator type {aggr_type} is not supported.") + + def update( + self, + explanations: torch.Tensor, + **kwargs, + ): + self.aggregator.update(explanations) + + def get_global_rank(self, *args, **kwargs): + return self.aggregator.compute().argsort() + + def reset(self, *args, **kwargs): + self.aggregator.reset() + + def load_state_dict(self, state_dict: dict, *args, **kwargs): + self.aggregator.load_state_dict(state_dict) + + def state_dict(self, *args, **kwargs): + return self.aggregator.state_dict() diff --git a/quanda/metrics/aggregators.py b/quanda/metrics/aggregators.py new file mode 100644 index 00000000..5d94f6c6 --- /dev/null +++ b/quanda/metrics/aggregators.py @@ -0,0 +1,62 @@ +from abc import ABC, abstractmethod +from typing import Optional + +import torch + + +class BaseAggregator(ABC): + def __init__(self): + self.scores: Optional[torch.Tensor] = None + + @abstractmethod + def update(self, explanations: torch.Tensor): + raise NotImplementedError + + def _validate_explanations(self, explanations: torch.Tensor): + if self.scores is None: + self.scores = torch.zeros(explanations.shape[1]) + + if explanations.shape[1] != self.scores.shape[0]: + raise ValueError(f"Explanations shape {explanations.shape} does not match the expected shape {self.scores.shape}") + + def reset(self, *args, **kwargs): + """ + Used to reset the aggregator state. + """ + self.scores = None + + def load_state_dict(self, state_dict: dict, *args, **kwargs): + """ + Used to load the aggregator state. + """ + self.scores = state_dict["scores"] + + @property + def state_dict(self, *args, **kwargs): + """ + Used to return the metric state. + """ + return {"scores": self.scores} + + def compute(self) -> torch.Tensor: + if self.scores is None: + raise ValueError("No scores to aggregate.") + return self.scores + + +class SumAggregator(BaseAggregator): + def update(self, explanations: torch.Tensor): + self._validate_explanations(explanations) + self.scores += explanations.sum(dim=0) + + +class AbsSumAggregator(BaseAggregator): + def update(self, explanations: torch.Tensor): + self._validate_explanations(explanations) + self.scores += explanations.abs().sum(dim=0) + + +aggr_types = { + "sum": SumAggregator, + "sum_abs": AbsSumAggregator, +} diff --git a/quanda/metrics/base.py b/quanda/metrics/base.py new file mode 100644 index 00000000..58c3ab12 --- /dev/null +++ b/quanda/metrics/base.py @@ -0,0 +1,252 @@ +from abc import ABC, abstractmethod +from typing import Any, Optional, Sized, Union + +import torch + +from quanda.metrics.aggr_strategies import ( + GlobalAggrStrategy, + GlobalSelfInfluenceStrategy, +) +from quanda.metrics.aggregators import aggr_types + + +class Metric(ABC): + """ + Base class for metrics. + """ + + def __init__( + self, + model: torch.nn.Module, + train_dataset: torch.utils.data.Dataset, + device: str = "cpu", + *args: Any, + **kwargs: Any, + ): + """ + Base class for metrics. + + Parameters + ---------- + model: torch.nn.Module + A PyTorch model. + train_dataset: torch.utils.data.Dataset + A PyTorch dataset. + device: str + Device to use. + *args: Any + Additional arguments. + **kwargs: Any + Additional keyword arguments. + """ + + self.model: torch.nn.Module = model.to(device) + self.train_dataset: torch.utils.data.Dataset = train_dataset + self.device: str = device + + @abstractmethod + def update( + self, + *args: Any, + **kwargs: Any, + ): + """ + Used to update the metric with new data. + + Parameters + ---------- + *args: Any + Additional arguments. + **kwargs: Any + Additional keyword arguments. + + Returns + ------- + None + """ + raise NotImplementedError + + def explain_update( + self, + *args, + **kwargs, + ): + """ + Used to update the metric with new data. + + Parameters + ---------- + *args: Any + Additional arguments. + **kwargs: Any + Additional keyword arguments. + + Returns + ------- + None + """ + if hasattr(self, "explainer"): + raise NotImplementedError + raise RuntimeError("No explainer is supplied to the metric.") + + @abstractmethod + def compute(self, *args: Any, **kwargs: Any) -> Any: + """ + Used to compute the metric. + + Parameters + ---------- + *args: Any + Additional arguments. + **kwargs: Any + Additional keyword arguments. + + Returns + ------- + Any + The computed metric result dictionary. + """ + + raise NotImplementedError + + @abstractmethod + def reset(self, *args: Any, **kwargs: Any): + """ + Used to reset the metric. + + Parameters + ---------- + *args: Any + Additional arguments. + **kwargs: Any + Additional keyword arguments. + + Returns + ------- + None + """ + raise NotImplementedError + + @abstractmethod + def load_state_dict(self, state_dict: dict): + """ + Used to load the metric state. + + Parameters + ---------- + state_dict: dict + The metric state dictionary. + + Returns + ------- + None + """ + + raise NotImplementedError + + @abstractmethod + def state_dict(self, *args: Any, **kwargs: Any) -> dict: + """ + Used to get the metric state. + + Parameters + ---------- + *args: Any + Additional arguments. + **kwargs: Any + Additional keyword arguments. + + Returns + ------- + dict + The metric state dictionary. + """ + + raise NotImplementedError + + @property + def dataset_length(self) -> int: + """ + Get the length of the dataset. + + Returns + ------- + int + The length of the dataset. + """ + if isinstance(self.train_dataset, Sized): + return len(self.train_dataset) + dl = torch.utils.data.DataLoader(self.train_dataset, batch_size=1) + return len(dl) + + +class GlobalMetric(Metric, ABC): + """ + Base class for global metrics. + """ + + strategies = { + "self-influence": GlobalSelfInfluenceStrategy, + "aggr": GlobalAggrStrategy, + } + + def __init__( + self, + model: torch.nn.Module, + train_dataset: torch.utils.data.Dataset, + global_method: Union[str, type] = "self-influence", + explainer_cls: Optional[type] = None, + expl_kwargs: Optional[dict] = None, + device: str = "cpu", + *args, + **kwargs, + ): + """ + Base class for global metrics. + + Parameters + ---------- + model: torch.nn.Module + A PyTorch model. + train_dataset: torch.utils.data.Dataset + A PyTorch dataset. + global_method: Union[str, BaseAggregator] + The global method to use. It can be a string "sum", "sum_abs", "self-influence", or a custom aggregator. + explainer: Optional[BaseExplainer] + An explainer object. + expl_kwargs: Optional[dict] + Keyword arguments for the explainer. + device: str + Device to use. + *args: Any + Additional arguments. + **kwargs: Any + Additional keyword arguments. + """ + super().__init__(model, train_dataset, device) + self.expl_kwargs = expl_kwargs or {} + self.explainer = ( + None if explainer_cls is None else explainer_cls(model=model, train_dataset=train_dataset, **self.expl_kwargs) + ) + + if isinstance(global_method, str): + if global_method == "self-influence": + self.strategy = self.strategies[global_method](explainer=self.explainer) + + elif global_method in aggr_types: + aggr_type = aggr_types[global_method] + self.strategy = self.strategies["aggr"](aggr_type=aggr_type) + + else: + raise ValueError(f"Global method {global_method} is not supported.") + + elif isinstance(global_method, type): + self.strategy = self.strategies["aggr"]( + aggr_type=global_method, + ) + else: + raise ValueError( + f"Global method {global_method} is not supported. When passing a custom aggregator, " + "it should be a subclass of BaseAggregator. When passing a string, it should be one of " + f"{list(aggr_types.keys()+ 'self-influence')}." + ) diff --git a/quanda/metrics/localization/__init__.py b/quanda/metrics/localization/__init__.py new file mode 100644 index 00000000..e7b68fb6 --- /dev/null +++ b/quanda/metrics/localization/__init__.py @@ -0,0 +1,5 @@ +from .class_detection import ClassDetectionMetric +from .mislabeling_detection import MislabelingDetectionMetric +from .subclass_detection import SubclassDetectionMetric + +__all__ = ["ClassDetectionMetric", "SubclassDetectionMetric", "MislabelingDetectionMetric"] diff --git a/quanda/metrics/localization/class_detection.py b/quanda/metrics/localization/class_detection.py new file mode 100644 index 00000000..a3234e80 --- /dev/null +++ b/quanda/metrics/localization/class_detection.py @@ -0,0 +1,60 @@ +from typing import List + +import torch + +from quanda.metrics import Metric + + +class ClassDetectionMetric(Metric): + def __init__( + self, + model: torch.nn.Module, + train_dataset: torch.utils.data.Dataset, + device: str, + *args, + **kwargs, + ): + super().__init__(model=model, train_dataset=train_dataset, device=device) + self.scores: List[torch.Tensor] = [] + + def update(self, test_labels: torch.Tensor, explanations: torch.Tensor): + """ + Used to implement metric-specific logic. + """ + + assert ( + test_labels.shape[0] == explanations.shape[0] + ), f"Number of explanations ({explanations.shape[0]}) exceeds the number of test labels ({test_labels.shape[0]})." + + test_labels = test_labels.to(self.device) + explanations = explanations.to(self.device) + + top_one_xpl_indices = explanations.argmax(dim=1) + top_one_xpl_targets = torch.tensor([self.train_dataset[i][1] for i in top_one_xpl_indices]).to(self.device) + + scores = (test_labels == top_one_xpl_targets) * 1.0 + self.scores.append(scores) + + def compute(self): + """ + Used to aggregate current results and return a metric score. + """ + return torch.cat(self.scores).mean() + + def reset(self, *args, **kwargs): + """ + Used to reset the metric state. + """ + self.scores = [] + + def load_state_dict(self, state_dict: dict, *args, **kwargs): + """ + Used to load the metric state. + """ + self.scores = state_dict["scores"] + + def state_dict(self, *args, **kwargs): + """ + Used to return the metric state. + """ + return {"scores": self.scores} diff --git a/quanda/metrics/localization/mislabeling_detection.py b/quanda/metrics/localization/mislabeling_detection.py new file mode 100644 index 00000000..9266ed73 --- /dev/null +++ b/quanda/metrics/localization/mislabeling_detection.py @@ -0,0 +1,98 @@ +from typing import Any, List, Optional, Union + +import torch + +from quanda.metrics import GlobalMetric + + +class MislabelingDetectionMetric(GlobalMetric): + def __init__( + self, + model: torch.nn.Module, + train_dataset: torch.utils.data.Dataset, + poisoned_indices: List[int], + global_method: Union[str, type] = "self-influence", + explainer_cls: Optional[type] = None, + expl_kwargs: Optional[dict] = None, + device: str = "cpu", + *args: Any, + **kwargs: Any, + ): + super().__init__( + model=model, + train_dataset=train_dataset, + global_method=global_method, + explainer_cls=explainer_cls, + expl_kwargs=expl_kwargs, + model_id="test", + device=device, + ) + self.poisoned_indices = poisoned_indices + + @classmethod + def self_influence_based( + cls, + model: torch.nn.Module, + train_dataset: torch.utils.data.Dataset, + explainer_cls: type, + poisoned_indices: List[int], + expl_kwargs: Optional[dict] = None, + device: str = "cpu", + *args: Any, + **kwargs: Any, + ): + return cls( + model=model, + poisoned_indices=poisoned_indices, + train_dataset=train_dataset, + global_method="self-influence", + explainer_cls=explainer_cls, + expl_kwargs=expl_kwargs, + device=device, + ) + + @classmethod + def aggr_based( + cls, + model: torch.nn.Module, + train_dataset: torch.utils.data.Dataset, + poisoned_indices: List[int], + aggregator_cls: Union[str, type], + device: str = "cpu", + *args, + **kwargs, + ): + return cls( + model=model, + global_method=aggregator_cls, + poisoned_indices=poisoned_indices, + train_dataset=train_dataset, + device=device, + ) + + def update( + self, + explanations: torch.Tensor, + **kwargs, + ): + self.strategy.update(explanations, **kwargs) + + def reset(self, *args, **kwargs): + self.strategy.reset() + + def load_state_dict(self, state_dict: dict, *args, **kwargs): + self.strategy.load_state_dict(state_dict) + + def state_dict(self, *args, **kwargs): + return self.strategy.state_dict() + + def compute(self, *args, **kwargs): + global_ranking = self.strategy.get_global_rank() + success_arr = torch.tensor([elem in self.poisoned_indices for elem in global_ranking]) + normalized_curve = torch.cumsum(success_arr * 1.0, dim=0) / len(self.poisoned_indices) + score = torch.trapezoid(normalized_curve) / len(self.poisoned_indices) + return { + "success_arr": success_arr, + "score": score.item(), + "curve": normalized_curve / len(self.poisoned_indices), + } diff --git a/quanda/metrics/localization/subclass_detection.py b/quanda/metrics/localization/subclass_detection.py new file mode 100644 index 00000000..bc79c84b --- /dev/null +++ b/quanda/metrics/localization/subclass_detection.py @@ -0,0 +1,36 @@ +import torch + +from quanda.metrics.localization import ClassDetectionMetric + + +class SubclassDetectionMetric(ClassDetectionMetric): + def __init__( + self, + model: torch.nn.Module, + train_dataset: torch.utils.data.Dataset, + subclass_labels: torch.Tensor, + device, + *args, + **kwargs, + ): + super().__init__(model, train_dataset, device, *args, **kwargs) + assert len(subclass_labels) == self.dataset_length, ( + f"Number of subclass labels ({len(subclass_labels)}) " + f"does not match the number of train dataset samples ({self.dataset_length})." + ) + self.subclass_labels = subclass_labels + + def update(self, test_subclasses: torch.Tensor, explanations: torch.Tensor): + """ + Used to implement metric-specific logic. + """ + + assert ( + test_subclasses.shape[0] == explanations.shape[0] + ), f"Number of explanations ({explanations.shape[0]}) exceeds the number of test labels ({test_subclasses.shape[0]})." + + top_one_xpl_indices = explanations.argmax(dim=1) + top_one_xpl_targets = torch.stack([self.subclass_labels[i] for i in top_one_xpl_indices]) + + score = (test_subclasses == top_one_xpl_targets) * 1.0 + self.scores.append(score) diff --git a/quanda/metrics/randomization/__init__.py b/quanda/metrics/randomization/__init__.py new file mode 100644 index 00000000..3c3d37a6 --- /dev/null +++ b/quanda/metrics/randomization/__init__.py @@ -0,0 +1,3 @@ +from .model_randomization import ModelRandomizationMetric + +__all__ = ["ModelRandomizationMetric"] diff --git a/quanda/metrics/randomization/model_randomization.py b/quanda/metrics/randomization/model_randomization.py new file mode 100644 index 00000000..97e5616f --- /dev/null +++ b/quanda/metrics/randomization/model_randomization.py @@ -0,0 +1,118 @@ +import copy +from typing import Callable, Dict, List, Optional, Union + +import torch + +from quanda.metrics import Metric +from quanda.utils.common import get_parent_module_from_name +from quanda.utils.functions import CorrelationFnLiterals, correlation_functions + + +class ModelRandomizationMetric(Metric): + """ + Metric to evaluate the effect of randomizing a model. TBD + """ + + def __init__( + self, + model: torch.nn.Module, + train_dataset: torch.utils.data.Dataset, + explainer_cls: type, + expl_kwargs: Optional[dict] = None, + correlation_fn: Union[Callable, CorrelationFnLiterals] = "spearman", + seed: int = 42, + model_id: str = "0", + cache_dir: str = "./cache", + device: str = "cpu", + *args, + **kwargs, + ): + super().__init__( + model=model, + train_dataset=train_dataset, + device=device, + ) + self.model = model + self.train_dataset = train_dataset + self.expl_kwargs = expl_kwargs or {} + self.explainer = explainer_cls( + model=self.model, train_dataset=train_dataset, model_id=model_id, cache_dir=cache_dir, **self.expl_kwargs + ) + self.seed = seed + self.model_id = model_id + self.cache_dir = cache_dir + self.device = device + + self.generator = torch.Generator(device=device) + self.generator.manual_seed(self.seed) + self.rand_model = self._randomize_model(model) + self.rand_explainer = explainer_cls( + model=self.rand_model, train_dataset=train_dataset, model_id=model_id, cache_dir=cache_dir, **self.expl_kwargs + ) + self.results: Dict[str, List] = {"scores": []} + + # TODO: create a validation utility function + if isinstance(correlation_fn, str) and correlation_fn in correlation_functions: + self.corr_measure = correlation_functions[correlation_fn] + elif callable(correlation_fn): + self.corr_measure = correlation_fn + else: + raise ValueError( + f"Invalid correlation function: expected one of {list(correlation_functions.keys())} or" + f"a Callable, but got {self.corr_measure}." + ) + + def update( + self, + test_data: torch.Tensor, + explanations: torch.Tensor, + explanation_targets: Optional[torch.Tensor] = None, + ): + explanations = explanations.to(self.device) + + rand_explanations = self.rand_explainer.explain(test=test_data, targets=explanation_targets).to(self.device) + + corrs = self.corr_measure(explanations, rand_explanations) + self.results["scores"].append(corrs) + + def explain_update( + self, + test_data: torch.Tensor, + explanation_targets: Optional[torch.Tensor] = None, + ): + # TODO: add a test + explanations = self.explainer.explain( + test=test_data, + targets=explanation_targets, + ) + self.update(test_data=test_data, explanations=explanations, explanation_targets=explanation_targets) + + def compute(self) -> float: + return torch.cat(self.results["scores"]).mean().item() + + def reset(self): + self.results = {"scores": []} + self.generator.manual_seed(self.seed) + self.rand_model = self._randomize_model(self.model) + + def state_dict(self) -> Dict: + state_dict = { + "results_dict": self.results, + "rnd_model": self.rand_model.state_dict(), + } + return state_dict + + def load_state_dict(self, state_dict: dict): + self.results = state_dict["results_dict"] + self.rand_model.load_state_dict(state_dict["rnd_model"]) + # self.seed = state_dict["seed"] + # self.explain_fn = state_dict["explain_fn"] + # self.generator.set_state(state_dict["generator_state"]) + + def _randomize_model(self, model: torch.nn.Module) -> torch.nn.Module: + rand_model = copy.deepcopy(model) + for name, param in list(rand_model.named_parameters()): + random_param_tensor = torch.empty_like(param).normal_(generator=self.generator) + parent = get_parent_module_from_name(rand_model, name) + parent.__setattr__(name.split(".")[-1], torch.nn.Parameter(random_param_tensor)) + return rand_model diff --git a/quanda/metrics/unnamed/__init__.py b/quanda/metrics/unnamed/__init__.py new file mode 100644 index 00000000..d4b11cba --- /dev/null +++ b/quanda/metrics/unnamed/__init__.py @@ -0,0 +1,4 @@ +from .dataset_cleaning import DatasetCleaningMetric +from .top_k_overlap import TopKOverlapMetric + +__all__ = ["DatasetCleaningMetric", "TopKOverlapMetric"] diff --git a/quanda/metrics/unnamed/dataset_cleaning.py b/quanda/metrics/unnamed/dataset_cleaning.py new file mode 100644 index 00000000..d8cb814a --- /dev/null +++ b/quanda/metrics/unnamed/dataset_cleaning.py @@ -0,0 +1,137 @@ +from typing import Optional, Union + +import torch + +from quanda.metrics import GlobalMetric +from quanda.utils.common import class_accuracy +from quanda.utils.training import BaseTrainer + + +class DatasetCleaningMetric(GlobalMetric): + """ + Quote from https://proceedings.mlr.press/v89/khanna19a.html: + + 'Our goal in this experiment is to try to identify some such misleading training data points, + and remove them to see if it improves predictive accuracy. To illustrate the flexibility of + our approach, we focus only on the digits 4 and 9 in the test data which were misclassified + by our model, and then select the training data points responsible for those misclassifications.' + + """ + + def __init__( + self, + model: torch.nn.Module, + train_dataset: torch.utils.data.Dataset, + trainer: BaseTrainer, + trainer_fit_kwargs: Optional[dict] = None, + global_method: Union[str, type] = "self-influence", + top_k: int = 50, + explainer_cls: Optional[type] = None, + expl_kwargs: Optional[dict] = None, + model_id: str = "0", + cache_dir: str = "./cache", + device: str = "cpu", + *args, + **kwargs, + ): + expl_kwargs = expl_kwargs or {} + + super().__init__( + model=model, + train_dataset=train_dataset, + global_method=global_method, + explainer_cls=explainer_cls, + expl_kwargs={**expl_kwargs, "model_id": model_id, "cache_dir": cache_dir}, + device=device, + ) + self.top_k = min(top_k, self.dataset_length - 1) + self.trainer = trainer + self.trainer_fit_kwargs = trainer_fit_kwargs + + self.clean_model: torch.nn.Module + self.clean_accuracy: int + self.original_accuracy: int + + @classmethod + def self_influence_based( + cls, + model: torch.nn.Module, + train_dataset: torch.utils.data.Dataset, + explainer_cls: type, + trainer: BaseTrainer, + expl_kwargs: Optional[dict] = None, + top_k: int = 50, + trainer_fit_kwargs: Optional[dict] = None, + device: str = "cpu", + *args, + **kwargs, + ): + return cls( + model=model, + train_dataset=train_dataset, + trainer=trainer, + trainer_fit_kwargs=trainer_fit_kwargs, + global_method="self-influence", + top_k=top_k, + explainer_cls=explainer_cls, + expl_kwargs=expl_kwargs, + device=device, + ) + + @classmethod + def aggr_based( + cls, + model: torch.nn.Module, + train_dataset: torch.utils.data.Dataset, + trainer: BaseTrainer, + aggregator_cls: Union[str, type], + top_k: int = 50, + trainer_fit_kwargs: Optional[dict] = None, + device: str = "cpu", + *args, + **kwargs, + ): + return cls( + model=model, + train_dataset=train_dataset, + trainer=trainer, + trainer_fit_kwargs=trainer_fit_kwargs, + global_method=aggregator_cls, + top_k=top_k, + device=device, + ) + + def update( + self, + explanations: torch.Tensor, + **kwargs, + ): + self.strategy.update(explanations, **kwargs) + + def reset(self, *args, **kwargs): + self.strategy.reset() + + def load_state_dict(self, state_dict: dict, *args, **kwargs): + self.strategy.load_state_dict(state_dict) + + def state_dict(self, *args, **kwargs): + return self.strategy.state_dict() + + def compute(self, *args, **kwargs): + top_k_indices = torch.topk(self.strategy.get_global_rank(), self.top_k).indices + clean_indices = [i for i in range(self.dataset_length) if i not in top_k_indices] + clean_subset = torch.utils.data.Subset(self.train_dataset, clean_indices) + + train_dl = torch.utils.data.DataLoader(self.train_dataset, batch_size=32, shuffle=True) + self.original_accuracy = class_accuracy(self.model, train_dl, self.device) + + clean_dl = torch.utils.data.DataLoader(clean_subset, batch_size=32, shuffle=True) + + self.clean_model = self.trainer.fit( + train_loader=clean_dl, + trainer_fit_kwargs=self.trainer_fit_kwargs, + ) + + self.clean_accuracy = class_accuracy(self.model, clean_dl, self.device) + + return self.original_accuracy - self.clean_accuracy diff --git a/quanda/metrics/unnamed/top_k_overlap.py b/quanda/metrics/unnamed/top_k_overlap.py new file mode 100644 index 00000000..b86353dc --- /dev/null +++ b/quanda/metrics/unnamed/top_k_overlap.py @@ -0,0 +1,40 @@ +import torch + +from quanda.metrics import Metric + + +class TopKOverlapMetric(Metric): + def __init__( + self, + model: torch.nn.Module, + train_dataset: torch.utils.data.Dataset, + top_k: int = 1, + device: str = "cpu", + *args, + **kwargs, + ): + super().__init__(model=model, train_dataset=train_dataset, device=device) + self.top_k = top_k + self.all_top_k_examples = torch.empty(0, top_k).to(device) + + def update( + self, + explanations: torch.Tensor, + **kwargs, + ): + explanations = explanations.to(self.device) + + top_k_indices = torch.topk(explanations, self.top_k).indices + self.all_top_k_examples = torch.concat((self.all_top_k_examples, top_k_indices), dim=0) + + def compute(self, *args, **kwargs): + return len(torch.unique(self.all_top_k_examples)) + + def reset(self, *args, **kwargs): + self.all_top_k_examples = torch.empty(0, self.top_k) + + def load_state_dict(self, state_dict: dict, *args, **kwargs): + self.all_top_k_examples = state_dict["all_top_k_examples"] + + def state_dict(self, *args, **kwargs): + return {"all_top_k_examples": self.all_top_k_examples} diff --git a/quanda/toy_benchmarks/__init__.py b/quanda/toy_benchmarks/__init__.py new file mode 100644 index 00000000..ec7f211b --- /dev/null +++ b/quanda/toy_benchmarks/__init__.py @@ -0,0 +1,4 @@ +from . import localization, randomization, unnamed +from .base import ToyBenchmark + +__all__ = ["ToyBenchmark", "randomization", "localization", "unnamed"] diff --git a/quanda/toy_benchmarks/base.py b/quanda/toy_benchmarks/base.py new file mode 100644 index 00000000..b3d7b530 --- /dev/null +++ b/quanda/toy_benchmarks/base.py @@ -0,0 +1,61 @@ +from abc import ABC, abstractmethod + + +class ToyBenchmark(ABC): + def __init__(self, device: str = "cpu", *args, **kwargs): + """ + I think here it would be nice to pass a general receipt for the downstream task construction. + For example, we could pass + - a dataset constructor that generates the dataset for training from the original + dataset (either by modifying the labels, the data, or removing some samples); + - a metric that generates the final score: it could be either a Metric object from our library, or maybe + accuracy comparison. + + :param device: + :param args: + :param kwargs: + """ + self.device = device + + @classmethod + @abstractmethod + def generate(cls, *args, **kwargs): + """ + This method should generate all the benchmark components and persist them in the instance. + """ + raise NotImplementedError + + @classmethod + @abstractmethod + def load(cls, path: str, *args, **kwargs): + """ + This method should load the benchmark components from a file and persist them in the instance. + """ + raise NotImplementedError + + @classmethod + @abstractmethod + def assemble(cls, *args, **kwargs): + """ + This method should assemble the benchmark components from arguments and persist them in the instance. + """ + raise NotImplementedError + + @abstractmethod + def save(self, *args, **kwargs): + """ + This method should save the benchmark components to a file/folder. + """ + raise NotImplementedError + + @abstractmethod + def evaluate( + self, + *args, + **kwargs, + ): + """ + Used to update the metric with new data. + """ + + raise NotImplementedError diff --git a/quanda/toy_benchmarks/localization/__init__.py b/quanda/toy_benchmarks/localization/__init__.py new file mode 100644 index 00000000..9fe9e3d7 --- /dev/null +++ b/quanda/toy_benchmarks/localization/__init__.py @@ -0,0 +1,5 @@ +from .class_detection import ClassDetection +from .mislabeling_detection import MislabelingDetection +from .subclass_detection import SubclassDetection + +__all__ = ["ClassDetection", "SubclassDetection", "MislabelingDetection"] diff --git a/quanda/toy_benchmarks/localization/class_detection.py b/quanda/toy_benchmarks/localization/class_detection.py new file mode 100644 index 00000000..3e2d843d --- /dev/null +++ b/quanda/toy_benchmarks/localization/class_detection.py @@ -0,0 +1,126 @@ +from typing import Optional + +import torch +from tqdm import tqdm + +from quanda.metrics.localization import ClassDetectionMetric +from quanda.toy_benchmarks import ToyBenchmark + + +class ClassDetection(ToyBenchmark): + def __init__( + self, + device: str = "cpu", + *args, + **kwargs, + ): + super().__init__(device=device) + + self.model: torch.nn.Module + self.train_dataset: torch.utils.data.Dataset + + @classmethod + def generate( + cls, + model: torch.nn.Module, + train_dataset: torch.utils.data.Dataset, + device: str = "cpu", + *args, + **kwargs, + ): + """ + This method should generate all the benchmark components and persist them in the instance. + """ + + obj = cls(device=device) + + obj.model = model.to(device) + obj.train_dataset = train_dataset + obj.device = device + return obj + + @property + def bench_state(self): + return { + "model": self.model, + "train_dataset": self.train_dataset, # ok this probably won't work, but that's the idea + } + + @classmethod + def load(cls, path: str, device: str = "cpu", batch_size: int = 8, *args, **kwargs): + """ + This method should load the benchmark components from a file and persist them in the instance. + """ + bench_state = torch.load(path) + + return cls.assemble(model=bench_state["model"], train_dataset=bench_state["train_dataset"], device=device) + + @classmethod + def assemble( + cls, + model: torch.nn.Module, + train_dataset: torch.utils.data.Dataset, + device: str = "cpu", + *args, + **kwargs, + ): + """ + This method should assemble the benchmark components from arguments and persist them in the instance. + """ + obj = cls(device=device) + obj.model = model + obj.train_dataset = train_dataset + obj.device = device + + return obj + + def save(self, path: str, *args, **kwargs): + """ + This method should save the benchmark components to a file/folder. + """ + torch.save(self.bench_state, path) + + def evaluate( + self, + expl_dataset: torch.utils.data.Dataset, + explainer_cls: type, + expl_kwargs: Optional[dict] = None, + use_predictions: bool = False, + cache_dir: str = "./cache", + model_id: str = "default_model_id", + batch_size: int = 8, + device: str = "cpu", + *args, + **kwargs, + ): + expl_kwargs = expl_kwargs or {} + explainer = explainer_cls( + model=self.model, train_dataset=self.train_dataset, model_id=model_id, cache_dir=cache_dir, **expl_kwargs + ) + + expl_dl = torch.utils.data.DataLoader(expl_dataset, batch_size=batch_size) + + metric = ClassDetectionMetric(model=self.model, train_dataset=self.train_dataset, device="cpu") + + pbar = tqdm(expl_dl) + n_batches = len(expl_dl) + + for i, (input, labels) in enumerate(pbar): + pbar.set_description("Metric evaluation, batch %d/%d" % (i + 1, n_batches)) + + input, labels = input.to(device), labels.to(device) + + if use_predictions: + with torch.no_grad(): + output = self.model(input) + targets = output.argmax(dim=-1) + else: + targets = labels + + explanations = explainer.explain( + test=input, + targets=targets, + ) + metric.update(labels, explanations) + + return metric.compute() diff --git a/quanda/toy_benchmarks/localization/mislabeling_detection.py b/quanda/toy_benchmarks/localization/mislabeling_detection.py new file mode 100644 index 00000000..1aeb9987 --- /dev/null +++ b/quanda/toy_benchmarks/localization/mislabeling_detection.py @@ -0,0 +1,260 @@ +from typing import Callable, Dict, List, Optional, Union + +import torch +from tqdm import tqdm + +from quanda.metrics.localization.mislabeling_detection import ( + MislabelingDetectionMetric, +) +from quanda.toy_benchmarks import ToyBenchmark +from quanda.utils.datasets.transformed import LabelFlippingDataset +from quanda.utils.training import BaseTrainer, Trainer + + +class MislabelingDetection(ToyBenchmark): + def __init__( + self, + device: str = "cpu", + *args, + **kwargs, + ): + super().__init__(device=device) + + self.trainer: Optional[BaseTrainer] = None + self.model: torch.nn.Module + self.train_dataset: torch.utils.data.Dataset + self.poisoned_dataset: LabelFlippingDataset + self.dataset_transform: Optional[Callable] + self.poisoned_indices: List[int] + self.poisoned_labels: Dict[int, int] + self.poisoned_train_dl: torch.utils.data.DataLoader + self.poisoned_val_dl: Optional[torch.utils.data.DataLoader] + self.original_train_dl: torch.utils.data.DataLoader + self.p: float + self.global_method: Union[str, type] = "self-influence" + self.n_classes: int + + @classmethod + def generate( + cls, + model: torch.nn.Module, + train_dataset: torch.utils.data.Dataset, + n_classes: int, + trainer: Trainer, + dataset_transform: Optional[Callable] = None, + val_dataset: Optional[torch.utils.data.Dataset] = None, + global_method: Union[str, type] = "self-influence", + p: float = 0.3, + trainer_fit_kwargs: Optional[dict] = None, + seed: int = 27, + batch_size: int = 8, + device: str = "cpu", + *args, + **kwargs, + ): + """ + This method should generate all the benchmark components and persist them in the instance. + """ + + obj = cls(device=device) + + obj.model = model.to(device) + obj.trainer = trainer + obj._generate( + train_dataset=train_dataset, + val_dataset=val_dataset, + p=p, + global_method=global_method, + dataset_transform=dataset_transform, + n_classes=n_classes, + trainer_fit_kwargs=trainer_fit_kwargs, + seed=seed, + batch_size=batch_size, + ) + return obj + + def _generate( + self, + train_dataset: torch.utils.data.Dataset, + n_classes: int, + dataset_transform: Optional[Callable], + poisoned_indices: Optional[List[int]] = None, + poisoned_labels: Optional[Dict[int, int]] = None, + val_dataset: Optional[torch.utils.data.Dataset] = None, + p: float = 0.3, + global_method: Union[str, type] = "self-influence", + trainer_fit_kwargs: Optional[dict] = None, + seed: int = 27, + batch_size: int = 8, + ): + if self.trainer is None: + raise ValueError( + "Trainer not initialized. Please initialize trainer using init_trainer_from_lightning_module or " + "init_trainer_from_train_arguments" + ) + + self.train_dataset = train_dataset + self.p = p + self.global_method = global_method + self.n_classes = n_classes + self.dataset_transform = dataset_transform + self.poisoned_dataset = LabelFlippingDataset( + dataset=train_dataset, + p=p, + transform_indices=poisoned_indices, + dataset_transform=dataset_transform, + poisoned_labels=poisoned_labels, + n_classes=n_classes, + seed=seed, + ) + self.poisoned_indices = self.poisoned_dataset.transform_indices + self.poisoned_labels = self.poisoned_dataset.poisoned_labels + self.poisoned_train_dl = torch.utils.data.DataLoader(self.poisoned_dataset, batch_size=batch_size) + self.original_train_dl = torch.utils.data.DataLoader(train_dataset, batch_size=batch_size) + if val_dataset: + poisoned_val_dataset = LabelFlippingDataset( + dataset=train_dataset, dataset_transform=self.dataset_transform, p=self.p, n_classes=self.n_classes + ) + self.poisoned_val_dl = torch.utils.data.DataLoader(poisoned_val_dataset, batch_size=batch_size) + else: + self.poisoned_val_dl = None + + self.model = self.trainer.fit( + train_loader=self.poisoned_train_dl, + val_loader=self.poisoned_val_dl, + trainer_fit_kwargs=trainer_fit_kwargs, + ) + + @property + def bench_state(self): + return { + "model": self.model, + "train_dataset": self.train_dataset, # ok this probably won't work, but that's the idea + "p": self.p, + "n_classes": self.n_classes, + "dataset_transform": self.dataset_transform, + "poisoned_indices": self.poisoned_indices, + "poisoned_labels": self.poisoned_labels, + "global_method": self.global_method, + } + + @classmethod + def load(cls, path: str, device: str = "cpu", batch_size: int = 8, *args, **kwargs): + """ + This method should load the benchmark components from a file and persist them in the instance. + """ + bench_state = torch.load(path) + + return cls.assemble( + model=bench_state["model"], + train_dataset=bench_state["train_dataset"], + n_classes=bench_state["n_classes"], + poisoned_indices=bench_state["poisoned_indices"], + poisoned_labels=bench_state["poisoned_labels"], + dataset_transform=bench_state["dataset_transform"], + p=bench_state["p"], + global_method=bench_state["global_method"], + batch_size=batch_size, + device=device, + ) + + @classmethod + def assemble( + cls, + model: torch.nn.Module, + train_dataset: torch.utils.data.Dataset, + n_classes: int, + poisoned_indices: Optional[List[int]] = None, + poisoned_labels: Optional[Dict[int, int]] = None, + dataset_transform: Optional[Callable] = None, + p: float = 0.3, # TODO: type specification + global_method: Union[str, type] = "self-influence", + batch_size: int = 8, + device: str = "cpu", + *args, + **kwargs, + ): + """ + This method should assemble the benchmark components from arguments and persist them in the instance. + """ + obj = cls(device=device) + obj.model = model + obj.train_dataset = train_dataset + obj.p = p + obj.dataset_transform = dataset_transform + obj.global_method = global_method + obj.n_classes = n_classes + + obj.poisoned_dataset = LabelFlippingDataset( + dataset=train_dataset, + p=p, + dataset_transform=dataset_transform, + n_classes=n_classes, + transform_indices=poisoned_indices, + poisoned_labels=poisoned_labels, + ) + obj.poisoned_indices = obj.poisoned_dataset.transform_indices + obj.poisoned_labels = obj.poisoned_dataset.poisoned_labels + + obj.poisoned_train_dl = torch.utils.data.DataLoader(obj.poisoned_dataset, batch_size=batch_size) + obj.original_train_dl = torch.utils.data.DataLoader(obj.train_dataset, batch_size=batch_size) + return obj + + def save(self, path: str, *args, **kwargs): + """ + This method should save the benchmark components to a file/folder. + """ + torch.save(self.bench_state, path) + + def evaluate( + self, + expl_dataset: torch.utils.data.Dataset, + explainer_cls: type, + expl_kwargs: Optional[dict] = None, + use_predictions: bool = False, + batch_size: int = 8, + device: str = "cpu", + *args, + **kwargs, + ): + expl_kwargs = expl_kwargs or {} + explainer = explainer_cls(model=self.model, train_dataset=self.train_dataset, device=device, **expl_kwargs) + + poisoned_expl_ds = LabelFlippingDataset( + dataset=expl_dataset, dataset_transform=self.dataset_transform, n_classes=self.n_classes, p=0.0 + ) + expl_dl = torch.utils.data.DataLoader(poisoned_expl_ds, batch_size=batch_size) + if self.global_method != "self-influence": + metric = MislabelingDetectionMetric.aggr_based( + model=self.model, + train_dataset=self.poisoned_dataset, + poisoned_indices=self.poisoned_indices, + device=device, + aggregator_cls=self.global_method, + ) + + pbar = tqdm(expl_dl) + n_batches = len(expl_dl) + + for i, (input, labels) in enumerate(pbar): + pbar.set_description("Metric evaluation, batch %d/%d" % (i + 1, n_batches)) + + input, labels = input.to(device), labels.to(device) + if use_predictions: + with torch.no_grad(): + targets = self.model(input).argmax(dim=-1) + else: + targets = labels + explanations = explainer.explain(test=input, targets=targets) + metric.update(explanations) + else: + metric = MislabelingDetectionMetric.self_influence_based( + model=self.model, + train_dataset=self.poisoned_dataset, + poisoned_indices=self.poisoned_indices, + device=device, + explainer_cls=explainer_cls, + expl_kwargs=expl_kwargs, + ) + + return metric.compute() diff --git a/quanda/toy_benchmarks/localization/subclass_detection.py b/quanda/toy_benchmarks/localization/subclass_detection.py new file mode 100644 index 00000000..bfe630ec --- /dev/null +++ b/quanda/toy_benchmarks/localization/subclass_detection.py @@ -0,0 +1,242 @@ +from typing import Callable, Dict, Optional, Union + +import torch +from tqdm import tqdm + +from quanda.metrics.localization import ClassDetectionMetric +from quanda.toy_benchmarks import ToyBenchmark +from quanda.utils.datasets.transformed import ( + ClassToGroupLiterals, + LabelGroupingDataset, +) +from quanda.utils.training import BaseTrainer, Trainer + + +class SubclassDetection(ToyBenchmark): + def __init__( + self, + device: str = "cpu", + *args, + **kwargs, + ): + super().__init__(device=device) + + self.trainer: Optional[BaseTrainer] = None + self.group_model: torch.nn.Module + self.train_dataset: torch.utils.data.Dataset + self.dataset_transform: Optional[Callable] + self.grouped_train_dl: torch.utils.data.DataLoader + self.grouped_val_dl: Optional[torch.utils.data.DataLoader] + self.original_train_dl: torch.utils.data.DataLoader + self.class_to_group: Dict[int, int] + self.n_classes: int + self.n_groups: int + + @classmethod + def generate( + cls, + train_dataset: torch.utils.data.Dataset, + trainer: Trainer, + val_dataset: Optional[torch.utils.data.Dataset] = None, + dataset_transform: Optional[Callable] = None, + n_classes: int = 10, + n_groups: int = 2, + class_to_group: Union[ClassToGroupLiterals, Dict[int, int]] = "random", + trainer_fit_kwargs: Optional[dict] = None, + seed: int = 27, + batch_size: int = 8, + device: str = "cpu", + *args, + **kwargs, + ): + """ + This method should generate all the benchmark components and persist them in the instance. + """ + + obj = cls(device=device) + trainer_fit_kwargs = trainer_fit_kwargs or {"max_epochs": 5} + + obj.trainer = trainer + obj._generate( + train_dataset=train_dataset, + dataset_transform=dataset_transform, + val_dataset=val_dataset, + n_classes=n_classes, + n_groups=n_groups, + class_to_group=class_to_group, + trainer_fit_kwargs=trainer_fit_kwargs, + seed=seed, + batch_size=batch_size, + ) + return obj + + def _generate( + self, + train_dataset: torch.utils.data.Dataset, + val_dataset: Optional[torch.utils.data.Dataset] = None, + dataset_transform: Optional[Callable] = None, + n_classes: int = 10, + n_groups: int = 2, + class_to_group: Union[ClassToGroupLiterals, Dict[int, int]] = "random", + trainer_fit_kwargs: Optional[dict] = None, + seed: int = 27, + batch_size: int = 8, + *args, + **kwargs, + ): + if self.trainer is None: + raise ValueError( + "Trainer not initialized. Please initialize trainer using init_trainer_from_lightning_module or " + "init_trainer_from_train_arguments" + ) + + self.train_dataset = train_dataset + self.grouped_dataset = LabelGroupingDataset( + dataset=train_dataset, + dataset_transform=dataset_transform, + n_classes=n_classes, + n_groups=n_groups, + class_to_group=class_to_group, + seed=seed, + ) + + self.class_to_group = self.grouped_dataset.class_to_group + self.n_classes = n_classes + self.n_groups = n_groups + self.dataset_transform = dataset_transform + + self.grouped_train_dl = torch.utils.data.DataLoader(self.grouped_dataset, batch_size=batch_size) + self.original_train_dl = torch.utils.data.DataLoader(train_dataset, batch_size=batch_size) + + if val_dataset: + grouped_val_dataset = LabelGroupingDataset( + dataset=train_dataset, + dataset_transform=dataset_transform, + n_classes=n_classes, + class_to_group=self.class_to_group, + ) + self.grouped_val_dl = torch.utils.data.DataLoader(grouped_val_dataset, batch_size=batch_size) + else: + self.grouped_val_dl = None + + self.group_model = self.trainer.fit( + train_loader=self.grouped_train_dl, + val_loader=self.grouped_val_dl, + trainer_fit_kwargs=trainer_fit_kwargs, + ) + + @classmethod + def load(cls, path: str, device: str = "cpu", batch_size: int = 8, *args, **kwargs): + """ + This method should load the benchmark components from a file and persist them in the instance. + """ + bench_state = torch.load(path) + + return cls.assemble( + group_model=bench_state["group_model"], + train_dataset=bench_state["train_dataset"], + n_classes=bench_state["n_classes"], + n_groups=bench_state["n_groups"], + class_to_group=bench_state["class_to_group"], + dataset_transform=bench_state["dataset_transform"], + batch_size=batch_size, + device=device, + ) + + @classmethod + def assemble( + cls, + group_model: torch.nn.Module, + train_dataset: torch.utils.data.Dataset, + n_classes: int, + n_groups: int, + class_to_group: Dict[int, int], # TODO: type specification + dataset_transform: Optional[Callable] = None, + batch_size: int = 8, + device: str = "cpu", + *args, + **kwargs, + ): + """ + This method should assemble the benchmark components from arguments and persist them in the instance. + """ + obj = cls(device=device) + obj.group_model = group_model + obj.train_dataset = train_dataset + obj.class_to_group = class_to_group + obj.dataset_transform = dataset_transform + obj.n_classes = n_classes + obj.n_groups = n_groups + + obj.grouped_dataset = LabelGroupingDataset( + dataset=train_dataset, + dataset_transform=dataset_transform, + n_classes=obj.n_classes, + n_groups=obj.n_groups, + class_to_group=class_to_group, + ) + obj.grouped_train_dl = torch.utils.data.DataLoader(obj.grouped_dataset, batch_size=batch_size) + obj.original_train_dl = torch.utils.data.DataLoader(obj.train_dataset, batch_size=batch_size) + return obj + + def save(self, path: str, *args, **kwargs): + """ + This method should save the benchmark components to a file/folder. + """ + torch.save(self.bench_state, path) + + def evaluate( + self, + expl_dataset: torch.utils.data.Dataset, + explainer_cls: type, + expl_kwargs: Optional[dict] = None, + use_predictions: bool = False, + cache_dir: str = "./cache", + model_id: str = "default_model_id", + batch_size: int = 8, + device: str = "cpu", + *args, + **kwargs, + ): + expl_kwargs = expl_kwargs or {} + explainer = explainer_cls( + model=self.group_model, train_dataset=self.grouped_dataset, model_id=model_id, cache_dir=cache_dir, **expl_kwargs + ) + + expl_dl = torch.utils.data.DataLoader(expl_dataset, batch_size=batch_size) + + metric = ClassDetectionMetric(model=self.group_model, train_dataset=self.train_dataset, device=device) + + pbar = tqdm(expl_dl) + n_batches = len(expl_dl) + + for i, (input, labels) in enumerate(pbar): + pbar.set_description("Metric evaluation, batch %d/%d" % (i + 1, n_batches)) + + input, labels = input.to(device), labels.to(device) + grouped_labels = torch.tensor([self.class_to_group[i.item()] for i in labels], device=labels.device) + if use_predictions: + with torch.no_grad(): + output = self.group_model(input) + targets = output.argmax(dim=-1) + else: + targets = grouped_labels + explanations = explainer.explain( + test=input, + targets=targets, + ) + + metric.update(labels, explanations) + + return metric.compute() + + @property + def bench_state(self): + return { + "group_model": self.group_model, + "train_dataset": self.train_dataset, # ok this probably won't work, but that's the idea + "n_classes": self.n_classes, + "n_groups": self.n_groups, + "class_to_group": self.class_to_group, + "dataset_transform": self.dataset_transform, + } diff --git a/quanda/toy_benchmarks/randomization/__init__.py b/quanda/toy_benchmarks/randomization/__init__.py new file mode 100644 index 00000000..c17f6119 --- /dev/null +++ b/quanda/toy_benchmarks/randomization/__init__.py @@ -0,0 +1,3 @@ +from .model_randomization import ModelRandomization + +__all__ = ["ModelRandomization"] diff --git a/quanda/toy_benchmarks/randomization/model_randomization.py b/quanda/toy_benchmarks/randomization/model_randomization.py new file mode 100644 index 00000000..589f224b --- /dev/null +++ b/quanda/toy_benchmarks/randomization/model_randomization.py @@ -0,0 +1,133 @@ +from typing import Callable, Optional, Union + +import torch +from tqdm import tqdm + +from quanda.metrics.randomization.model_randomization import ( + ModelRandomizationMetric, +) +from quanda.toy_benchmarks import ToyBenchmark +from quanda.utils.functions import CorrelationFnLiterals + + +class ModelRandomization(ToyBenchmark): + def __init__( + self, + device: str = "cpu", + *args, + **kwargs, + ): + super().__init__(device=device) + + self.model: torch.nn.Module + self.train_dataset: torch.utils.data.Dataset + + @classmethod + def generate( + cls, + model: torch.nn.Module, + train_dataset: torch.utils.data.Dataset, + device: str = "cpu", + *args, + **kwargs, + ): + """ + This method should generate all the benchmark components and persist them in the instance. + """ + + obj = cls(device=device) + + obj.model = model.to(device) + obj.train_dataset = train_dataset + obj.device = device + + return obj + + @property + def bench_state(self): + return { + "model": self.model, + "train_dataset": self.train_dataset, # ok this probably won't work, but that's the idea + } + + @classmethod + def load(cls, path: str, device: str = "cpu", batch_size: int = 8, *args, **kwargs): + """ + This method should load the benchmark components from a file and persist them in the instance. + """ + bench_state = torch.load(path) + + return cls.assemble(model=bench_state["model"], train_dataset=bench_state["train_dataset"], device=device) + + @classmethod + def assemble( + cls, + model: torch.nn.Module, + train_dataset: torch.utils.data.Dataset, + device: str = "cpu", + *args, + **kwargs, + ): + """ + This method should assemble the benchmark components from arguments and persist them in the instance. + """ + obj = cls(device=device) + obj.model = model + obj.train_dataset = train_dataset + obj.device = device + + return obj + + def save(self, path: str, *args, **kwargs): + """ + This method should save the benchmark components to a file/folder. + """ + torch.save(self.bench_state, path) + + def evaluate( + self, + expl_dataset: torch.utils.data.Dataset, + explainer_cls: type, + expl_kwargs: Optional[dict] = None, + use_predictions: bool = False, + correlation_fn: Union[Callable, CorrelationFnLiterals] = "spearman", + seed: int = 42, + cache_dir: str = "./cache", + model_id: str = "default_model_id", + batch_size: int = 8, + device: str = "cpu", + *args, + **kwargs, + ): + expl_kwargs = expl_kwargs or {} + expl_dl = torch.utils.data.DataLoader(expl_dataset, batch_size=batch_size) + + metric = ModelRandomizationMetric( + model=self.model, + train_dataset=self.train_dataset, + explainer_cls=explainer_cls, + expl_kwargs=expl_kwargs, + correlation_fn=correlation_fn, + seed=seed, + model_id=model_id, + cache_dir=cache_dir, + device=device, + ) + pbar = tqdm(expl_dl) + n_batches = len(expl_dl) + + for i, (input, labels) in enumerate(pbar): + pbar.set_description("Metric evaluation, batch %d/%d" % (i + 1, n_batches)) + + input, labels = input.to(device), labels.to(device) + + if use_predictions: + with torch.no_grad(): + output = self.model(input) + targets = output.argmax(dim=-1) + else: + targets = labels + + metric.explain_update(test_data=input, explanation_targets=targets) + + return metric.compute() diff --git a/quanda/toy_benchmarks/unnamed/__init__.py b/quanda/toy_benchmarks/unnamed/__init__.py new file mode 100644 index 00000000..6bdc5f1d --- /dev/null +++ b/quanda/toy_benchmarks/unnamed/__init__.py @@ -0,0 +1,4 @@ +from .dataset_cleaning import DatasetCleaning +from .top_k_overlap import TopKOverlap + +__all__ = ["DatasetCleaning", "TopKOverlap"] diff --git a/quanda/toy_benchmarks/unnamed/dataset_cleaning.py b/quanda/toy_benchmarks/unnamed/dataset_cleaning.py new file mode 100644 index 00000000..3d073f83 --- /dev/null +++ b/quanda/toy_benchmarks/unnamed/dataset_cleaning.py @@ -0,0 +1,150 @@ +from typing import Optional, Union + +import torch +from tqdm import tqdm + +from quanda.metrics.unnamed import DatasetCleaningMetric +from quanda.toy_benchmarks import ToyBenchmark +from quanda.utils.training import Trainer + + +class DatasetCleaning(ToyBenchmark): + def __init__( + self, + device: str = "cpu", + *args, + **kwargs, + ): + super().__init__(device=device) + + self.model: torch.nn.Module + self.train_dataset: torch.utils.data.Dataset + + @classmethod + def generate( + cls, + model: torch.nn.Module, + train_dataset: torch.utils.data.Dataset, + device: str = "cpu", + *args, + **kwargs, + ): + """ + This method should generate all the benchmark components and persist them in the instance. + """ + + obj = cls(device=device) + + obj.model = model.to(device) + obj.train_dataset = train_dataset + obj.device = device + + return obj + + @property + def bench_state(self): + return { + "model": self.model, + "train_dataset": self.train_dataset, # ok this probably won't work, but that's the idea + } + + @classmethod + def load(cls, path: str, device: str = "cpu", batch_size: int = 8, *args, **kwargs): + """ + This method should load the benchmark components from a file and persist them in the instance. + """ + bench_state = torch.load(path) + return cls.assemble(model=bench_state["model"], train_dataset=bench_state["train_dataset"], device=device) + + @classmethod + def assemble( + cls, + model: torch.nn.Module, + train_dataset: torch.utils.data.Dataset, + device: str = "cpu", + *args, + **kwargs, + ): + """ + This method should assemble the benchmark components from arguments and persist them in the instance. + """ + obj = cls(device=device) + obj.model = model + obj.train_dataset = train_dataset + obj.device = device + + return obj + + def save(self, path: str, *args, **kwargs): + """ + This method should save the benchmark components to a file/folder. + """ + torch.save(self.bench_state, path) + + def evaluate( + self, + expl_dataset: torch.utils.data.Dataset, + explainer_cls: type, + trainer: Trainer, + use_predictions: bool = False, + expl_kwargs: Optional[dict] = None, + trainer_fit_kwargs: Optional[dict] = None, + cache_dir: str = "./cache", + model_id: str = "default_model_id", + batch_size: int = 8, + device: str = "cpu", + global_method: Union[str, type] = "self-influence", + top_k: int = 50, + *args, + **kwargs, + ): + expl_kwargs = expl_kwargs or {} + explainer = explainer_cls( + model=self.model, train_dataset=self.train_dataset, model_id=model_id, cache_dir=cache_dir, **expl_kwargs + ) + expl_dl = torch.utils.data.DataLoader(expl_dataset, batch_size=batch_size) + + if global_method != "self-influence": + metric = DatasetCleaningMetric.aggr_based( + model=self.model, + train_dataset=self.train_dataset, + aggregator_cls=global_method, + trainer=trainer, + trainer_fit_kwargs=trainer_fit_kwargs, + top_k=top_k, + device=device, + ) + pbar = tqdm(expl_dl) + n_batches = len(expl_dl) + + for i, (input, labels) in enumerate(pbar): + pbar.set_description("Metric evaluation, batch %d/%d" % (i + 1, n_batches)) + + input, labels = input.to(device), labels.to(device) + + if use_predictions: + with torch.no_grad(): + output = self.model(input) + targets = output.argmax(dim=-1) + else: + targets = labels + + explanations = explainer.explain( + test=input, + targets=targets, + ) + metric.update(explanations) + + else: + metric = DatasetCleaningMetric.self_influence_based( + model=self.model, + train_dataset=self.train_dataset, + trainer=trainer, + trainer_fit_kwargs=trainer_fit_kwargs, + explainer_cls=explainer_cls, + expl_kwargs=expl_kwargs, + top_k=top_k, + device=device, + ) + + return metric.compute() diff --git a/quanda/toy_benchmarks/unnamed/top_k_overlap.py b/quanda/toy_benchmarks/unnamed/top_k_overlap.py new file mode 100644 index 00000000..bbd86a29 --- /dev/null +++ b/quanda/toy_benchmarks/unnamed/top_k_overlap.py @@ -0,0 +1,127 @@ +from typing import Optional + +import torch +from tqdm import tqdm + +from quanda.metrics.unnamed import TopKOverlapMetric +from quanda.toy_benchmarks import ToyBenchmark + + +class TopKOverlap(ToyBenchmark): + def __init__( + self, + device: str = "cpu", + *args, + **kwargs, + ): + super().__init__(device=device) + + self.model: torch.nn.Module + self.train_dataset: torch.utils.data.Dataset + + @classmethod + def generate( + cls, + model: torch.nn.Module, + train_dataset: torch.utils.data.Dataset, + device: str = "cpu", + *args, + **kwargs, + ): + """ + This method should generate all the benchmark components and persist them in the instance. + """ + + obj = cls(device=device) + + obj.model = model.to(device) + obj.train_dataset = train_dataset + obj.device = device + + return obj + + @property + def bench_state(self): + return { + "model": self.model, + "train_dataset": self.train_dataset, # ok this probably won't work, but that's the idea + } + + @classmethod + def load(cls, path: str, device: str = "cpu", batch_size: int = 8, *args, **kwargs): + """ + This method should load the benchmark components from a file and persist them in the instance. + """ + bench_state = torch.load(path) + return cls.assemble(model=bench_state["model"], train_dataset=bench_state["train_dataset"], device=device) + + @classmethod + def assemble( + cls, + model: torch.nn.Module, + train_dataset: torch.utils.data.Dataset, + device: str = "cpu", + *args, + **kwargs, + ): + """ + This method should assemble the benchmark components from arguments and persist them in the instance. + """ + obj = cls(device=device) + obj.model = model + obj.train_dataset = train_dataset + obj.device = device + + return obj + + def save(self, path: str, *args, **kwargs): + """ + This method should save the benchmark components to a file/folder. + """ + torch.save(self.bench_state, path) + + def evaluate( + self, + expl_dataset: torch.utils.data.Dataset, + explainer_cls: type, + expl_kwargs: Optional[dict] = None, + use_predictions: bool = False, + cache_dir: str = "./cache", + model_id: str = "default_model_id", + batch_size: int = 8, + top_k: int = 1, + device: str = "cpu", + *args, + **kwargs, + ): + expl_kwargs = expl_kwargs or {} + explainer = explainer_cls( + model=self.model, train_dataset=self.train_dataset, model_id=model_id, cache_dir=cache_dir, **expl_kwargs + ) + + expl_dl = torch.utils.data.DataLoader(expl_dataset, batch_size=batch_size) + + metric = TopKOverlapMetric(model=self.model, train_dataset=self.train_dataset, top_k=top_k, device=device) + + pbar = tqdm(expl_dl) + n_batches = len(expl_dl) + + for i, (input, labels) in enumerate(pbar): + pbar.set_description("Metric evaluation, batch %d/%d" % (i + 1, n_batches)) + + input, labels = input.to(device), labels.to(device) + + if use_predictions: + with torch.no_grad(): + output = self.model(input) + targets = output.argmax(dim=-1) + else: + targets = labels + + explanations = explainer.explain( + test=input, + targets=targets, + ) + metric.update(explanations) + + return metric.compute() diff --git a/quanda/utils/__init__.py b/quanda/utils/__init__.py new file mode 100644 index 00000000..1fce00df --- /dev/null +++ b/quanda/utils/__init__.py @@ -0,0 +1,3 @@ +from . import common, datasets, functions, training, validation + +__all__ = ["common", "validation", "datasets", "functions", "training"] diff --git a/quanda/utils/cache.py b/quanda/utils/cache.py new file mode 100644 index 00000000..188637cf --- /dev/null +++ b/quanda/utils/cache.py @@ -0,0 +1,220 @@ +import glob +import os +import warnings +from typing import Any, List, Optional, Tuple, Union + +import torch +from captum.attr import LayerActivation # type: ignore +from torch import Tensor +from torch.utils.data import DataLoader + +from quanda.utils.common import _get_module_from_name +from quanda.utils.datasets import ActivationDataset +from quanda.utils.explanations import BatchedCachedExplanations + + +class Cache: + """ + Abstract class for caching. + """ + + def __init__(self): + pass + + @staticmethod + def save(*args, **kwargs) -> None: + raise NotImplementedError + + @staticmethod + def load(*args, **kwargs) -> Any: + raise NotImplementedError + + @staticmethod + def exists(*args, **kwargs) -> bool: + raise NotImplementedError + + +class TensorCache(Cache): + def __init__(self): + super().__init__() + + @staticmethod + def save(path: str, file_id: str, indices: Tensor) -> None: + file_path = os.path.join(path, file_id) + return torch.save(indices, file_path) + + @staticmethod + def load(path: str, file_id: str, device: str = "cpu") -> Tensor: + file_path = os.path.join(path, file_id) + return torch.load(file_path, map_location=device) + + @staticmethod + def exists(path: str, file_id: str) -> bool: + file_path = os.path.join(path, file_id) + return os.path.isfile(file_path) + + +class ExplanationsCache(Cache): + def __init__(self): + super().__init__() + + @staticmethod + def exists( + path: str, + num_id: Optional[Union[str, int]] = None, + ) -> bool: + av_filesearch = os.path.join(path, "*.pt" if num_id is None else f"{num_id}.pt") + return os.path.exists(path) and len(glob.glob(av_filesearch)) > 0 + + @staticmethod + def save( + path: str, + exp_tensors: List[Tensor], + num_id: Union[str, int], + ) -> None: + av_save_fl_path = os.path.join(path, f"{num_id}.pt") + torch.save(exp_tensors, av_save_fl_path) + + @staticmethod + def load( + path: str, + device: str = "cpu", + ) -> BatchedCachedExplanations: + if os.path.exists(path): + xpl_dataset = BatchedCachedExplanations(cache_dir=path, device=device) + return xpl_dataset + else: + raise RuntimeError(f"Activation vectors were not found at path {path}") + + +class ActivationsCache(Cache): + """ + Inspired by https://github.com/pytorch/captum/blob/master/captum/_utils/av.py. + """ + + def __init__(self) -> None: + super().__init__() + + @staticmethod + def exists( + path: str, + layer: str, + num_id: Optional[Union[str, int]] = None, + ) -> bool: + av_dir = os.path.join(path, layer) + av_filesearch = os.path.join(av_dir, "*.pt" if num_id is None else f"{num_id}.pt") + return os.path.exists(av_dir) and len(glob.glob(av_filesearch)) > 0 + + @staticmethod + def save( + path: str, + layers: str | List[str], + act_tensors: List[Tensor], + labels: Tensor, + num_id: Union[str, int], + ) -> None: + if len(layers) != len(act_tensors): + raise ValueError("The dimension of `layers` and `act_tensors` must match!") + + for i, layer in enumerate(layers): + layer_dir = os.path.join(path, layer) + + av_save_fl_path = os.path.join(layer_dir, f"{num_id}.pt") + + if not os.path.exists(layer_dir): + os.makedirs(layer_dir) + torch.save((act_tensors[i], labels), av_save_fl_path) + + @staticmethod + def load( + path: str, + layer: str, + device: str = "cpu", + **kwargs, + ) -> ActivationDataset: + layer_dir = os.path.join(path, layer) + + if os.path.exists(layer_dir): + av_dataset = ActivationDataset(layer_dir, device) + return av_dataset + else: + raise RuntimeError(f"Activation vectors were not found at path {path}") + + @staticmethod + def _manage_loading_layers( + path: str, + layers: Union[str, List[str]], + load_from_disk: bool = True, + num_id: Optional[Union[str, int]] = None, + ) -> str | List[str]: + unsaved_layers: List[str] = [] + + if load_from_disk: + for layer in layers: + if not ActivationsCache.exists(path, layer, num_id): + unsaved_layers.append(layer) + else: + unsaved_layers = [layers] if isinstance(layers, str) else layers + warnings.warn( + "Overwriting activations: load_from_disk is set to False. Removing all " + f"activations matching specified parameters {{path: {path}, " + f"layers: {layers}}} " + "before generating new activations." + ) + for layer in layers: + files = glob.glob(os.path.join(path, layer)) + for filename in files: + os.remove(filename) + + return unsaved_layers + + @staticmethod + def _compute_and_save_activations( + path: str, + model: torch.nn.Module, + layers: Union[str, List[str]], + data: Tuple[Tensor, Tensor], + num_id: Union[str, int], + additional_forward_args: Any = None, + load_from_disk: bool = True, + ) -> None: + inputs, labels = data + unsaved_layers = ActivationsCache._manage_loading_layers( + path, + layers, + load_from_disk, + num_id, + ) + layer_modules = [_get_module_from_name(model, layer) for layer in unsaved_layers] + if len(unsaved_layers) > 0: + layer_act = LayerActivation(model, layer_modules) # TODO: replace LayerActivation with generic LayerAttibution + new_activations = layer_act.attribute.__wrapped__(layer_act, inputs, additional_forward_args) # type: ignore + ActivationsCache.save(path, unsaved_layers, new_activations, labels, num_id) + + @staticmethod + def generate_dataset_activations( + path: str, + model: torch.nn.Module, + layers: List[str], + dataloader: DataLoader, + load_from_disk: bool = True, + return_activations: bool = False, + ) -> Optional[Union[ActivationDataset, List[ActivationDataset]]]: + unsaved_layers = ActivationsCache._manage_loading_layers( + path, + layers, + load_from_disk, + ) + if len(unsaved_layers) > 0: + for i, data in enumerate(dataloader): + ActivationsCache._compute_and_save_activations( + path, + model, + layers, + data, + str(i), + ) + + if not return_activations: + return None + return [ActivationsCache.load(path, layer) for layer in layers] diff --git a/quanda/utils/common.py b/quanda/utils/common.py new file mode 100644 index 00000000..9a4fa38a --- /dev/null +++ b/quanda/utils/common.py @@ -0,0 +1,111 @@ +import functools +from functools import reduce +from typing import Any, Callable, Mapping, Optional, Union + +import torch.utils +import torch.utils.data + + +def _get_module_from_name(model: torch.nn.Module, layer_name: str) -> Any: + return reduce(getattr, layer_name.split("."), model) + + +def get_parent_module_from_name(model: torch.nn.Module, layer_name: str) -> Any: + return reduce(getattr, layer_name.split(".")[:-1], model) + + +def make_func(func: Callable, func_kwargs: Optional[Mapping[str, Any]] = None, **kwargs) -> functools.partial: + """A function for creating a partial function with the given arguments.""" + if func_kwargs is not None: + _func_kwargs = kwargs.copy() + _func_kwargs.update(func_kwargs) + else: + _func_kwargs = kwargs + + return functools.partial(func, **_func_kwargs) + + +def cache_result(method): + cache_attr = f"_{method.__name__}_cache" + + @functools.wraps(method) + def wrapper(self, *args, **kwargs): + if cache_attr not in self.__dict__: + self.__dict__[cache_attr] = method(self, *args, **kwargs) + return self.__dict__[cache_attr] + + return wrapper + + +def class_accuracy(net: torch.nn.Module, loader: torch.utils.data.DataLoader, device: str = "cpu"): + """Return accuracy on a dataset given by the data loader.""" + correct = 0 + total = 0 + for inputs, targets in loader: + inputs, targets = inputs.to(device), targets.to(device) + outputs = net(inputs) + _, predicted = outputs.max(1) + total += targets.size(0) + correct += predicted.eq(targets).sum().item() + return correct / total + + +# Taken directly from Captum with minor changes +# (required because Captum's Arnoldi Influence Function does not allow to specify device) +def _load_flexible_state_dict(model: torch.nn.Module, path: str, device: Union[str, torch.device]) -> float: + r""" + Helper to load pytorch models. This function attempts to find compatibility for + loading models that were trained on different devices / with DataParallel but are + being loaded in a different environment. + + Assumes that the model has been saved as a state_dict in some capacity. This can + either be a single state dict, or a nesting dictionary which contains the model + state_dict and other information. + + Args: + + model (torch.nn.Module): The model for which to load a checkpoint + path (str): The filepath to the checkpoint + + The module state_dict is modified in-place, and the learning rate is returned. + """ + if isinstance(device, str): + device = torch.device(device) + + checkpoint = torch.load(path, map_location=device) + + learning_rate = checkpoint.get("learning_rate", 1.0) + + if "module." in next(iter(checkpoint)): + if isinstance(model, torch.nn.DataParallel): + model.load_state_dict(checkpoint) + else: + model = torch.nn.DataParallel(model) + model.load_state_dict(checkpoint) + model = model.module + else: + if isinstance(model, torch.nn.DataParallel): + model = model.module + model.load_state_dict(checkpoint) + model = torch.nn.DataParallel(model) + else: + model.load_state_dict(checkpoint) + + return learning_rate + + +def get_load_state_dict_func(device: Union[str, torch.device]): + def load_state_dict(model: torch.nn.Module, path: str) -> float: + return _load_flexible_state_dict(model, path, device) + + return load_state_dict + + +__all__ = [ + "_get_module_from_name", + "get_parent_module_from_name", + "make_func", + "cache_result", + "_load_flexible_state_dict", + "get_load_state_dict_func", +] diff --git a/quanda/utils/datasets/__init__.py b/quanda/utils/datasets/__init__.py new file mode 100644 index 00000000..6761c2aa --- /dev/null +++ b/quanda/utils/datasets/__init__.py @@ -0,0 +1,4 @@ +from .activation_dataset import ActivationDataset +from .indexed_subset import IndexedSubset + +__all__ = ["ActivationDataset", "IndexedSubset"] diff --git a/quanda/utils/datasets/activation_dataset.py b/quanda/utils/datasets/activation_dataset.py new file mode 100644 index 00000000..9d48f1f5 --- /dev/null +++ b/quanda/utils/datasets/activation_dataset.py @@ -0,0 +1,40 @@ +import glob +import os +import warnings +from typing import Tuple, Union + +import torch +from torch import Tensor +from torch.utils.data.dataset import Dataset + + +class ActivationDataset(Dataset): + def __init__(self, cache_dir, device="cpu"): + self.device = device + self.av_filesearch = os.path.join(cache_dir, "*.pt") + + self.files = glob.glob(self.av_filesearch) + + def __getitem__(self, idx: int) -> Union[Tensor, Tuple[Tensor, ...]]: + assert idx < len(self.files), "Layer index is out of bounds!" + fl = self.files[idx] + av = torch.load(fl, map_location=self.device) + return av + + def __len__(self) -> int: + return len(self.files) + + @property + def samples_and_labels(self) -> Tuple[Tensor, Tensor]: + warnings.warn( + "This method is only a good idea for small datasets and small architectures. Otherwise, this will consume " + "a lot of memory." + ) + samples = [] + labels = [] + + for sample, label in self: # type: ignore + samples.append(sample) + labels.append(label) + + return torch.cat(samples).to(self.device), torch.cat(labels).to(self.device) diff --git a/quanda/utils/datasets/indexed_subset.py b/quanda/utils/datasets/indexed_subset.py new file mode 100644 index 00000000..37634972 --- /dev/null +++ b/quanda/utils/datasets/indexed_subset.py @@ -0,0 +1,18 @@ +import torch +from torch.utils.data.dataset import Dataset + + +class IndexedSubset(Dataset): + def __init__(self, dataset: torch.utils.data.Dataset, indices, return_indices=False): + self.dataset = dataset + self.indices = indices + self.return_indices = return_indices + + def __len__(self): + return len(self.indices) + + def __getitem__(self, item): + d = self.dataset[self.indices[item]] + if self.return_indices: + return d, self.indices[item] + return d diff --git a/quanda/utils/datasets/transformed/__init__.py b/quanda/utils/datasets/transformed/__init__.py new file mode 100644 index 00000000..7a3aa26a --- /dev/null +++ b/quanda/utils/datasets/transformed/__init__.py @@ -0,0 +1,12 @@ +from .base import TransformedDataset +from .label_flipping import LabelFlippingDataset +from .label_grouping import ClassToGroupLiterals, LabelGroupingDataset +from .sample import SampleTransformationDataset + +__all__ = [ + "TransformedDataset", + "SampleTransformationDataset", + "LabelFlippingDataset", + "LabelGroupingDataset", + "ClassToGroupLiterals", +] diff --git a/quanda/utils/datasets/transformed/base.py b/quanda/utils/datasets/transformed/base.py new file mode 100644 index 00000000..7c49d7ab --- /dev/null +++ b/quanda/utils/datasets/transformed/base.py @@ -0,0 +1,78 @@ +import random +from typing import Any, Callable, List, Optional + +import torch +from torch.utils.data.dataset import Dataset + + +class TransformedDataset(Dataset): + def __init__( + self, + dataset: torch.utils.data.Dataset, + n_classes: int, + dataset_transform: Optional[Callable] = None, + transform_indices: Optional[List] = None, + cache_path: str = "./cache", + cls_idx: Optional[int] = None, + p: float = 1.0, + seed: int = 42, + device: str = "cpu", + sample_fn: Optional[Callable] = None, + label_fn: Optional[Callable] = None, + ): + super().__init__() + self.dataset = dataset + self.n_classes = n_classes + self.cls_idx = cls_idx + self.cache_path = cache_path + self.p = p + self.device = device + + if dataset_transform is not None: + self.dataset_transform = dataset_transform + else: + self.dataset_transform = self._identity + + if sample_fn is not None: + self.sample_fn = sample_fn + else: + self.sample_fn = self._identity + + if label_fn is not None: + self.label_fn = label_fn + else: + self.label_fn = self._identity + + self.seed = seed + self.rng = random.Random(seed) + self.torch_rng = torch.Generator() + self.torch_rng.manual_seed(seed) + + if transform_indices is None: + trans_idx = torch.rand(len(self), generator=self.torch_rng) <= self.p + if self.cls_idx is not None: + trans_idx *= torch.tensor([self.dataset[s][1] == self.cls_idx for s in range(len(self))], dtype=torch.bool) + self.transform_indices = torch.where(trans_idx)[0].tolist() + else: + self.transform_indices = transform_indices + + def __getitem__(self, index) -> Any: + x, y = self.dataset[index] + xx = self.sample_fn(x) + yy = self.label_fn(y) + + return (self.dataset_transform(xx), yy) if index in self.transform_indices else (self.dataset_transform(x), y) + + def _get_original_label(self, index) -> int: + _, y = self.dataset[index] + return y + + def __len__(self): + if not hasattr(self.dataset, "__len__"): + raise ValueError("Dataset needs to implement __len__ to use the TransformedDataset class.") + else: + return len(self.dataset) + + @staticmethod + def _identity(x: Any) -> Any: + return x diff --git a/quanda/utils/datasets/transformed/label_flipping.py b/quanda/utils/datasets/transformed/label_flipping.py new file mode 100644 index 00000000..c612d60d --- /dev/null +++ b/quanda/utils/datasets/transformed/label_flipping.py @@ -0,0 +1,55 @@ +from typing import Callable, Dict, List, Optional + +import torch + +from quanda.utils.datasets.transformed import TransformedDataset + + +class LabelFlippingDataset(TransformedDataset): + def __init__( + self, + dataset: torch.utils.data.Dataset, + n_classes: int, + dataset_transform: Optional[Callable] = None, + transform_indices: Optional[List] = None, + poisoned_labels: Optional[Dict[int, int]] = None, + cls_idx: Optional[int] = None, + p: float = 1.0, # TODO: decide on default value vis-à-vis subset_idx + seed: int = 42, + device: str = "cpu", + ): + super().__init__( + dataset=dataset, + n_classes=n_classes, + dataset_transform=dataset_transform, + transform_indices=transform_indices, + seed=seed, + device=device, + p=p, + cls_idx=cls_idx, + ) + if poisoned_labels is not None: + self._validate_poisoned_labels(poisoned_labels) + self.transform_indices = list(poisoned_labels.keys()) + self.poisoned_labels = poisoned_labels + else: + self.poisoned_labels = { + i: self._poison(self.dataset[i][1]) for i in range(len(self)) if i in self.transform_indices + } + + def _poison(self, original_label): + label_arr = [i for i in range(self.n_classes) if original_label != i] + label_idx = self.rng.randint(0, len(label_arr)) + return label_arr[label_idx] + + def _validate_poisoned_labels(self, poisoned_labels: Dict[int, int]): + if not isinstance(poisoned_labels, dict): + raise ValueError( + f"poisoned_labels should be a dictionary of integer keys and values, received {type(poisoned_labels)}" + ) + + def __getitem__(self, index): + x, y = self.dataset[index] + if index in self.transform_indices: + y = self.poisoned_labels[index] + return self.dataset_transform(x), y diff --git a/quanda/utils/datasets/transformed/label_grouping.py b/quanda/utils/datasets/transformed/label_grouping.py new file mode 100644 index 00000000..7a4ad7a2 --- /dev/null +++ b/quanda/utils/datasets/transformed/label_grouping.py @@ -0,0 +1,66 @@ +import warnings +from typing import Callable, Dict, List, Literal, Optional, Union + +import torch + +from quanda.utils.datasets.transformed import TransformedDataset + +ClassToGroupLiterals = Literal["random"] + + +class LabelGroupingDataset(TransformedDataset): + def __init__( + self, + dataset: torch.utils.data.Dataset, + n_classes: int, + dataset_transform: Optional[Callable] = None, + transform_indices: Optional[List] = None, + seed: int = 42, + device: str = "cpu", + n_groups: Optional[int] = None, + class_to_group: Union[ClassToGroupLiterals, Dict[int, int]] = "random", + ): + super().__init__( + dataset=dataset, + n_classes=n_classes, + dataset_transform=dataset_transform, + transform_indices=transform_indices, + seed=seed, + device=device, + p=1.0, + cls_idx=None, + ) + + if class_to_group == "random": + if n_groups is None: + raise ValueError("n_classes and n_groups must be specified when class_to_group is 'random'") + + self.n_classes = n_classes + self.n_groups = n_groups + + self.class_to_group = {i: self.rng.randrange(self.n_groups) for i in range(self.n_classes)} + + elif isinstance(class_to_group, dict): + if n_groups is not None: + warnings.warn("Class-to-group assignment is used. n_groups parameter is ignored.") + + self.class_to_group = class_to_group + self.n_classes = len(self.class_to_group) + self.n_groups = len(set(self.class_to_group)) + + else: + raise ValueError(f"Invalid class_to_group value: {class_to_group}") + + self.classes = list(range(self.n_classes)) + self.groups = list(range(self.n_groups)) + self._validate_class_to_group() + self.label_fn = lambda x: self.class_to_group[x] + + def _validate_class_to_group(self): + if not len(self.class_to_group) == self.n_classes: + raise ValueError( + f"Length of class_to_group dictionary ({len(self.class_to_group)}) " + f"does not match number of classes ({self.n_classes})" + ) + if not all([g in self.groups for g in self.class_to_group.values()]): + raise ValueError(f"Invalid group assignment in class_to_group: {self.class_to_group.values()}") diff --git a/quanda/utils/datasets/transformed/sample.py b/quanda/utils/datasets/transformed/sample.py new file mode 100644 index 00000000..c4709657 --- /dev/null +++ b/quanda/utils/datasets/transformed/sample.py @@ -0,0 +1,33 @@ +from typing import Callable, List, Literal, Optional + +import torch + +from quanda.utils.datasets.transformed import TransformedDataset + +ClassToGroupLiterals = Literal["random"] + + +class SampleTransformationDataset(TransformedDataset): + def __init__( + self, + dataset: torch.utils.data.Dataset, + n_classes: int, + dataset_transform: Optional[Callable] = None, + transform_indices: Optional[List[int]] = None, + cls_idx: Optional[int] = None, + p: float = 1.0, + seed: int = 42, + device: str = "cpu", + sample_fn: Optional[Callable] = None, + ): + super().__init__( + dataset=dataset, + n_classes=n_classes, + dataset_transform=dataset_transform, + transform_indices=transform_indices, + seed=seed, + device=device, + p=p, + cls_idx=cls_idx, + sample_fn=sample_fn, + ) diff --git a/quanda/utils/explanations.py b/quanda/utils/explanations.py new file mode 100644 index 00000000..cb11fde6 --- /dev/null +++ b/quanda/utils/explanations.py @@ -0,0 +1,134 @@ +import glob +import os + +import torch + + +class Explanations: + def __init__( + self, + *args, + **kwargs, + ): + """ + + Exaplanations interface class. Used to define the interface for the Explanations classes. + Each explanation class implements __getitem__, __setitem__, and __len__ methods, whereby an "item" is a + explanation tensor batch. + :param args: + :param kwargs: + """ + pass + + def __getitem__(self, index: int) -> torch.Tensor: + raise NotImplementedError + + def __setitem__(self, index: int, val: torch.Tensor): + raise NotImplementedError + + def __len__(self) -> int: + raise NotImplementedError + + +class TensorExplanations(Explanations): + def __init__( + self, + tensor: torch.Tensor, + batch_size: int = 8, + device: str = "cpu", + ): + """ + Returns explanations from cache saved as tensors. __getitem__ and __setitem__ methods are used to access the + explanations on a batch basis. + + :param dataset_id: + :param top_k: + :param cache_dir: + """ + super().__init__() + self.device = device + self.xpl = tensor.to(self.device) + self.batch_size = batch_size + + # assert the number of explanation dimensions is 2 and insert extra dimension to emulate batching + assert len(self.xpl.shape) == 2, "Explanations object has more than 2 dimensions." + + def __getitem__(self, idx: int) -> torch.Tensor: + """ + + :param idx: + :return: + """ + return self.xpl[idx * self.batch_size : min((idx + 1) * self.batch_size, self.xpl.shape[0])] + + def __setitem__(self, idx: int, val: torch.Tensor): + """ + + :param idx: + :param val: + :return: + """ + + self.xpl[idx * self.batch_size : (idx + 1) * self.batch_size] = val + return val + + def __len__(self) -> int: + return int(self.xpl.shape[0] // self.batch_size) + 1 + + +class BatchedCachedExplanations(Explanations): + def __init__( + self, + cache_dir: str = "./batch_wise_cached_explanations", + device: str = "cpu", + ): + """ + Returns batched explanations from cache. __getitem__ and __setitem__ methods are used to access the explanations + on per-batch basis. + + :param dataset_id: + :param top_k: + :param cache_dir: + """ + super().__init__() + self.cache_dir = cache_dir + self.device = device + + self.av_filesearch = os.path.join(cache_dir, "*.pt") + self.files = glob.glob(self.av_filesearch) + self.batch_size = self[0].shape[0] + + def __getitem__(self, idx: int) -> torch.Tensor: + """ + TODO: add idx type slice + + :param idx: + :return: + """ + + assert idx < len(self.files), "Layer index is out of bounds!" + fl = self.files[idx] + xpl = torch.load(fl, map_location=self.device) + + # assert the value's batch size matches the batch size of the class instance + assert xpl.shape[0] == self.batch_size, "Batch size of the value does not match the batch size of the class instance." + + return xpl + + def __setitem__(self, idx: int, val: torch.Tensor): + """ + + :param idx: + :param val: + :return: + """ + + # assert the value's batch size matches the batch size of the class instance + assert val.shape[0] == self.batch_size, "Batch size of the value does not match the batch size of the class instance." + + fl = self.files[idx] + torch.save(val, fl) + return val + + def __len__(self) -> int: + return len(self.files) diff --git a/quanda/utils/functions/__init__.py b/quanda/utils/functions/__init__.py new file mode 100644 index 00000000..0b04d538 --- /dev/null +++ b/quanda/utils/functions/__init__.py @@ -0,0 +1,16 @@ +from .correlations import ( + CorrelationFnLiterals, + correlation_functions, + kendall_rank_corr, + spearman_rank_corr, +) +from .similarities import cosine_similarity, dot_product_similarity + +__all__ = [ + "kendall_rank_corr", + "spearman_rank_corr", + "correlation_functions", + "CorrelationFnLiterals", + "dot_product_similarity", + "cosine_similarity", +] diff --git a/quanda/utils/functions/correlations.py b/quanda/utils/functions/correlations.py new file mode 100644 index 00000000..588c1df0 --- /dev/null +++ b/quanda/utils/functions/correlations.py @@ -0,0 +1,25 @@ +from typing import Literal + +from torchmetrics.functional.regression import ( + kendall_rank_corrcoef, + spearman_corrcoef, +) + + +# torchmetrics wants the independent realizations to be the final dimension +# we transpose inputs before passing so that it is straightforward to pass explanations +# and use these funcitons in evaluation metrics +def kendall_rank_corr(tensor1, tensor2): + return kendall_rank_corrcoef(tensor1.T, tensor2.T) + + +def spearman_rank_corr(tensor1, tensor2): + return spearman_corrcoef(tensor1.T, tensor2.T) + + +CorrelationFnLiterals = Literal["kendall", "spearman"] + +correlation_functions = { + "kendall": kendall_rank_corr, + "spearman": spearman_rank_corr, +} diff --git a/quanda/utils/functions/similarities.py b/quanda/utils/functions/similarities.py new file mode 100644 index 00000000..de781d23 --- /dev/null +++ b/quanda/utils/functions/similarities.py @@ -0,0 +1,46 @@ +import torch +from torch import Tensor + + +def cosine_similarity(test, train, replace_nan=0) -> Tensor: + """ + Compute cosine similarity between test and train activations. + + :param test: + :param train: + :param replace_nan: + :return: + """ + # TODO: I don't know why Captum return test activations as a list + if isinstance(test, list): + test = torch.cat(test) + test = test.view(test.shape[0], -1) + train = train.view(train.shape[0], -1) + + test_norm = torch.linalg.norm(test, ord=2, dim=1, keepdim=True) + train_norm = torch.linalg.norm(train, ord=2, dim=1, keepdim=True) + + test = torch.where(test_norm != 0.0, test / test_norm, Tensor([replace_nan])) + train = torch.where(train_norm != 0.0, train / train_norm, Tensor([replace_nan])).T + + similarity = torch.mm(test, train) + return similarity + + +def dot_product_similarity(test, train, replace_nan=0) -> Tensor: + """ + Compute cosine similarity between test and train activations. + + :param test: + :param train: + :param replace_nan: + :return: + """ + # TODO: I don't know why Captum return test activations as a list + if isinstance(test, list): + test = torch.cat(test) + test = test.view(test.shape[0], -1) + train = train.view(train.shape[0], -1) + + similarity = torch.mm(test, train.T) + return similarity diff --git a/quanda/utils/training/__init__.py b/quanda/utils/training/__init__.py new file mode 100644 index 00000000..c932e16e --- /dev/null +++ b/quanda/utils/training/__init__.py @@ -0,0 +1,4 @@ +from .base_pl_module import BasicLightningModule +from .trainer import BaseTrainer, Trainer + +__all__ = ["BasicLightningModule", "BaseTrainer", "Trainer"] diff --git a/quanda/utils/training/base_pl_module.py b/quanda/utils/training/base_pl_module.py new file mode 100644 index 00000000..048a3986 --- /dev/null +++ b/quanda/utils/training/base_pl_module.py @@ -0,0 +1,56 @@ +from typing import Callable, Optional + +import lightning as L +import torch + + +class BasicLightningModule(L.LightningModule): + def __init__( + self, + model: torch.nn.Module, + optimizer: Callable, + lr: float, + criterion: torch.nn.modules.loss._Loss, + scheduler: Optional[Callable] = None, + optimizer_kwargs: Optional[dict] = None, + scheduler_kwargs: Optional[dict] = None, + *args, + **kwargs, + ): + # TODO: include lr scheduler and grad clipping + super().__init__() + self.model = model + self.optimizer = optimizer + self.lr = lr + self.optimizer_kwargs = optimizer_kwargs if optimizer_kwargs is not None else {} + self.criterion = criterion + self.scheduler = scheduler + self.scheduler_kwargs = scheduler_kwargs if scheduler_kwargs is not None else {} + + def forward(self, inputs): + return self.model(inputs) + + def training_step(self, batch, batch_idx): + inputs, target = batch + inputs, target = inputs.to(self.device), target.to(self.device) + output = self(inputs) + loss = self.criterion(output, target) + return loss + + def validation_step(self, batch, batch_idx): + inputs, target = batch + inputs, target = inputs.to(self.device), target.to(self.device) + output = self(inputs) + loss = self.criterion(output, target) + return loss + + def configure_optimizers(self): + optimizer = self.optimizer(self.model.parameters(), lr=self.lr, **self.optimizer_kwargs) + if not isinstance(optimizer, torch.optim.Optimizer): + raise ValueError("optimizer must be an instance of torch.optim.Optimizer") + if self.scheduler is not None: + scheduler = self.scheduler(optimizer, **self.scheduler_kwargs) + if not isinstance(scheduler, torch.optim.lr_scheduler.LRScheduler): + raise ValueError("scheduler must be an instance of torch.optim.lr_scheduler.LRScheduler") + return {"optimizer": optimizer, "lr_scheduler": scheduler} + return optimizer diff --git a/quanda/utils/training/trainer.py b/quanda/utils/training/trainer.py new file mode 100644 index 00000000..bce55216 --- /dev/null +++ b/quanda/utils/training/trainer.py @@ -0,0 +1,95 @@ +import abc +from abc import abstractmethod +from typing import Callable, Optional + +import lightning as L +import torch + +from quanda.utils.training import BasicLightningModule + + +class BaseTrainer(metaclass=abc.ABCMeta): + @abstractmethod + def fit( + self, + train_loader: torch.utils.data.dataloader.DataLoader, + val_loader: Optional[torch.utils.data.dataloader.DataLoader] = None, + trainer_fit_kwargs: Optional[dict] = None, + *args, + **kwargs, + ) -> torch.nn.Module: + raise NotImplementedError + + def get_model(self) -> torch.nn.Module: + raise NotImplementedError + + +class Trainer(BaseTrainer): + def __init__(self): + self.model: torch.nn.Module + self.module: Optional[L.LightningModule] = None + + @classmethod + def from_arguments( + cls, + model: torch.nn.Module, + optimizer: Callable, + lr: float, + criterion: torch.nn.modules.loss._Loss, + scheduler: Optional[Callable] = None, + optimizer_kwargs: Optional[dict] = None, + scheduler_kwargs: Optional[dict] = None, + ): + obj = cls.__new__(cls) + super(Trainer, obj).__init__() + obj.model = model + if optimizer_kwargs is None: + optimizer_kwargs = {} + obj.module = BasicLightningModule( + model=model, + optimizer=optimizer, + lr=lr, + criterion=criterion, + optimizer_kwargs=optimizer_kwargs, + scheduler=scheduler, + scheduler_kwargs=scheduler_kwargs, + ) + return obj + + @classmethod + def from_lightning_module( + cls, + model: torch.nn.Module, + pl_module: L.LightningModule, + ): + obj = cls.__new__(cls) + super(Trainer, obj).__init__() + obj.model = model + obj.module = pl_module + return obj + + def fit( + self, + train_loader: torch.utils.data.dataloader.DataLoader, + val_loader: Optional[torch.utils.data.dataloader.DataLoader] = None, + trainer_fit_kwargs: Optional[dict] = None, + *args, + **kwargs, + ): + if self.model is None: + raise ValueError( + "Lightning module not initialized. Please initialize using from_arguments or from_lightning_module" + ) + if self.module is None: + raise ValueError("Model not initialized. Please initialize using from_arguments or from_lightning_module") + + if trainer_fit_kwargs is None: + trainer_fit_kwargs = {} + trainer = L.Trainer(**trainer_fit_kwargs) + trainer.fit(self.module, train_loader, val_loader) + + self.model.load_state_dict(self.module.model.state_dict()) + return self.model + + def get_model(self) -> torch.nn.Module: + return self.model diff --git a/quanda/utils/transforms.py b/quanda/utils/transforms.py new file mode 100644 index 00000000..0f308ab2 --- /dev/null +++ b/quanda/utils/transforms.py @@ -0,0 +1,39 @@ +import torch + + +def mark_image_contour_and_square(x): + mask = torch.zeros_like(x[0]) + mid = int(x.shape[-1] / 2) + mask[mid - 3 : mid + 3, mid - 3 : mid + 3] = 1.0 + mask[:2, :] = 1.0 + mask[-2:, :] = 1.0 + mask[:, -2:] = 1.0 + mask[:, :2] = 1.0 + x[0] = torch.ones_like(x[0]) * mask + x[0] * (1 - mask) + if x.shape[0] > 1: + x[1:] = torch.zeros_like(x[1:]) * mask + x[1:] * (1 - mask) + return x.numpy().transpose(1, 2, 0) + + +def mark_image_middle_square(x): + mask = torch.zeros_like(x[0]) + mid = int(x.shape[-1] / 2) + mask[(mid - 4) : (mid + 4), (mid - 4) : (mid + 4)] = 1.0 + x[0] = torch.ones_like(x[0]) * mask + x[0] * (1 - mask) + if x.shape[0] > 1: + x[1:] = torch.zeros_like(x[1:]) * mask + x[1:] * (1 - mask) + return x.numpy().transpose(1, 2, 0) + + +def mark_image_contour(x): + # TODO: make controur, middle square and combined masks a constant somewhere else + mask = torch.zeros_like(x[0]) + mask[:2, :] = 1.0 + mask[-2:, :] = 1.0 + mask[:, -2:] = 1.0 + mask[:, :2] = 1.0 + x[0] = torch.ones_like(x[0]) * mask + x[0] * (1 - mask) + if x.shape[0] > 1: + x[1:] = torch.zeros_like(x[1:]) * mask + x[1:] * (1 - mask) + + return x.numpy().transpose(1, 2, 0) diff --git a/quanda/utils/validation.py b/quanda/utils/validation.py new file mode 100644 index 00000000..ba22fe4c --- /dev/null +++ b/quanda/utils/validation.py @@ -0,0 +1,43 @@ +import inspect +from typing import Any, Callable + +import torch + +""" +This module contains utility functions for validation. The plan is to +move the validation logic into a validation decorator at a later point. +""" + + +def validate_1d_tensor_or_int_list(targets): + if isinstance(targets, torch.Tensor): + if len(targets.shape) != 1: + raise ValueError(f"targets should be a 1D tensor. Got shape {targets.shape} instead.") + elif isinstance(targets, list): + if not all(isinstance(x, int) for x in targets): + raise ValueError(f"targets should be a list of integers. Got {targets} instead.") + else: + raise TypeError(f"targets should be of type List or torch.Tensor. Got {type(targets)} instead.") + + +def validate_checkpoints_load_func(checkpoints_load_func: Callable[..., Any]) -> None: + signature = inspect.signature(checkpoints_load_func) + parameters = list(signature.parameters.values()) + + if len(parameters) < 2: + raise ValueError(f"checkpoints_load_func must have at least 2 required parameters. Got {len(parameters)}.") + + first_param, second_param = parameters[0], parameters[1] + + if first_param.annotation is not torch.nn.Module: + raise TypeError( + f"The first parameter of checkpoints_load_func must be of type 'torch.nn.Module'. Got '{first_param.annotation}'." + ) + + if second_param.annotation is not str: + raise TypeError( + f"The second parameter of checkpoints_load_func must be of type 'str'. Got '{second_param.annotation}'." + ) + + +__all__ = ["validate_1d_tensor_or_int_list", "validate_checkpoints_load_func"] From d7575f612f18a41ff8e692987eea5cf21e7cac19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Galip=20=C3=9Cmit=20Yolcu?= Date: Tue, 6 Aug 2024 02:05:35 +0200 Subject: [PATCH 04/21] Fix import order to prevent circular import. isort messes up the order so it's deleted for now --- Makefile | 1 - quanda/explainers/__init__.py | 2 +- quanda/metrics/__init__.py | 2 +- quanda/toy_benchmarks/__init__.py | 2 +- 4 files changed, 3 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index 3c56de51..7ea5d078 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,6 @@ SHELL = /bin/bash style: black . python -m flake8 . --pytest-parametrize-names-type=csv - python -m isort . python -m mypy quanda --check-untyped-defs rm -f .coverage rm -f .coverage.* diff --git a/quanda/explainers/__init__.py b/quanda/explainers/__init__.py index 4b9ad498..0d12c293 100644 --- a/quanda/explainers/__init__.py +++ b/quanda/explainers/__init__.py @@ -1,5 +1,5 @@ -from . import utils, wrappers from .base import BaseExplainer +from . import utils, wrappers from .functional import ExplainFunc, ExplainFuncMini from .random import RandomExplainer diff --git a/quanda/metrics/__init__.py b/quanda/metrics/__init__.py index 2e201e6f..fc94caa3 100644 --- a/quanda/metrics/__init__.py +++ b/quanda/metrics/__init__.py @@ -1,3 +1,4 @@ +from .base import GlobalMetric, Metric from . import localization, randomization, unnamed from .aggr_strategies import GlobalAggrStrategy, GlobalSelfInfluenceStrategy from .aggregators import ( @@ -6,7 +7,6 @@ SumAggregator, aggr_types, ) -from .base import GlobalMetric, Metric __all__ = [ "Metric", diff --git a/quanda/toy_benchmarks/__init__.py b/quanda/toy_benchmarks/__init__.py index ec7f211b..eccbc391 100644 --- a/quanda/toy_benchmarks/__init__.py +++ b/quanda/toy_benchmarks/__init__.py @@ -1,4 +1,4 @@ -from . import localization, randomization, unnamed from .base import ToyBenchmark +from . import localization, randomization, unnamed __all__ = ["ToyBenchmark", "randomization", "localization", "unnamed"] From eeede1e38f72d443542fc2839e312fdc45d88464 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Galip=20=C3=9Cmit=20Yolcu?= Date: Tue, 6 Aug 2024 02:15:36 +0200 Subject: [PATCH 05/21] delete tutorials --- tutorials/usage_testing.py | 223 ------------------------------------- 1 file changed, 223 deletions(-) delete mode 100644 tutorials/usage_testing.py diff --git a/tutorials/usage_testing.py b/tutorials/usage_testing.py deleted file mode 100644 index 2925cf05..00000000 --- a/tutorials/usage_testing.py +++ /dev/null @@ -1,223 +0,0 @@ -"Larhe chunks of code borrowed from https://github.com/unlearning-challenge/starting-kit/blob/main/unlearning-CIFAR10.ipynb" -import copy -import os -from multiprocessing import freeze_support - -import matplotlib.pyplot as plt -import requests -import torch -import torchvision - -# from torch import nn -# from torch import optim -from torch.utils.data import DataLoader -from torchvision import transforms -from torchvision.models import resnet18 -from torchvision.utils import make_grid -from tqdm import tqdm - -from quanda.explainers.wrappers import ( - CaptumSimilarity, - captum_similarity_explain, -) -from quanda.metrics.localization import ClassDetectionMetric -from quanda.metrics.randomization import ModelRandomizationMetric -from quanda.metrics.unnamed import DatasetCleaningMetric, TopKOverlapMetric -from quanda.toy_benchmarks import SubclassDetection -from quanda.utils.training import BasicLightningModule, Trainer - -DEVICE = "cuda:0" # "cuda" if torch.cuda.is_available() else "cpu" -torch.set_float32_matmul_precision("medium") - -print("Running on device:", DEVICE.upper()) - -# manual random seed is used for dataset partitioning -# to ensure reproducible results across runs -RNG = torch.Generator().manual_seed(42) - - -def main(): - # ++++++++++++++++++++++++++++++++++++++++++ - # #Download dataset and pre-trained model - # ++++++++++++++++++++++++++++++++++++++++++ - - # download and pre-process CIFAR10 - normalize = transforms.Compose( - [ - transforms.ToTensor(), - transforms.Normalize((0.4914, 0.4822, 0.4465), (0.2023, 0.1994, 0.2010)), - ] - ) - - train_set = torchvision.datasets.CIFAR10(root="./tutorials/data", train=True, download=True, transform=normalize) - train_loader = DataLoader(train_set, batch_size=100, shuffle=True, num_workers=8) - - # we split held out data into test and validation set - held_out = torchvision.datasets.CIFAR10(root="./tutorials/data", train=False, download=True, transform=normalize) - test_set, val_set = torch.utils.data.random_split(held_out, [0.1, 0.9], generator=RNG) - test_loader = DataLoader(test_set, batch_size=100, shuffle=False, num_workers=8) - # val_loader = DataLoader(val_set, batch_size=100, shuffle=False, num_workers=8) - - # download pre-trained weights - local_path = "./tutorials/model_weights_resnet18_cifar10.pth" - if not os.path.exists(local_path): - response = requests.get("https://storage.googleapis.com/unlearning-challenge/weights_resnet18_cifar10.pth") - open(local_path, "wb").write(response.content) - - weights_pretrained = torch.load(local_path, map_location=DEVICE) - - # load model with pre-trained weights - model = resnet18(weights=None, num_classes=10) - model.load_state_dict(weights_pretrained) - model.to(DEVICE) - model.eval() - - # a temporary data loader without normalization, just to show the images - tmp_dl = DataLoader( - torchvision.datasets.CIFAR10(root="./tutorials/data", train=True, download=True, transform=transforms.ToTensor()), - batch_size=16 * 5, - shuffle=False, - ) - images, labels = next(iter(tmp_dl)) - - fig, ax = plt.subplots(figsize=(12, 6)) - plt.title("Sample images from CIFAR10 dataset") - ax.set_xticks([]) - ax.set_yticks([]) - ax.imshow(make_grid(images, nrow=16).permute(1, 2, 0)) - plt.show() - - def accuracy(net, loader): - """Return accuracy on a dataset given by the data loader.""" - correct = 0 - total = 0 - for inputs, targets in loader: - inputs, targets = inputs.to(DEVICE), targets.to(DEVICE) - outputs = net(inputs) - _, predicted = outputs.max(1) - total += targets.size(0) - correct += predicted.eq(targets).sum().item() - return correct / total - - print(f"Train set accuracy: {100.0 * accuracy(model, train_loader):0.1f}%") - print(f"Test set accuracy: {100.0 * accuracy(model, test_loader):0.1f}%") - - # ++++++++++++++++++++++++++++++++++++++++++ - # Computing metrics while generating explanations - # ++++++++++++++++++++++++++++++++++++++++++ - - explain = captum_similarity_explain - explain_fn_kwargs = {"layers": "avgpool", "batch_size": 100} - model_id = "default_model_id" - cache_dir = "./cache" - model_rand = ModelRandomizationMetric( - model=model, - train_dataset=train_set, - explainer_cls=CaptumSimilarity, - expl_kwargs=explain_fn_kwargs, - model_id=model_id, - cache_dir=cache_dir, - correlation_fn="spearman", - seed=42, - device=DEVICE, - ) - - id_class = ClassDetectionMetric(model=model, train_dataset=train_set, device=DEVICE) - - top_k = TopKOverlapMetric(model=model, train_dataset=train_set, top_k=1, device=DEVICE) - - # dataset cleaning - pl_module = BasicLightningModule( - model=copy.deepcopy(model), - optimizer=torch.optim.SGD, - lr=0.1, - criterion=torch.nn.CrossEntropyLoss(), - ) - trainer = Trainer.from_lightning_module(model, pl_module) - - data_clean = DatasetCleaningMetric( - model=model, - train_dataset=train_set, - global_method="sum_abs", - trainer=trainer, - trainer_fit_kwargs={"max_epochs": 3}, - top_k=50, - device=DEVICE, - ) - - # iterate over test set and feed tensor batches first to explain, then to metric - for i, (data, target) in enumerate(tqdm(test_loader)): - data, target = data.to(DEVICE), target.to(DEVICE) - tda = explain( - model=model, - model_id=model_id, - cache_dir=cache_dir, - test_tensor=data, - train_dataset=train_set, - device=DEVICE, - **explain_fn_kwargs, - ) - model_rand.update(data, tda) - id_class.update(target, tda) - top_k.update(tda) - data_clean.update(tda) - - print("Model randomization metric output:", model_rand.compute()) - print("Identical class metric output:", id_class.compute()) - print("Top-k overlap metric output:", top_k.compute()) - - print("Dataset cleaning metric computation started...") - print("Dataset cleaning metric output:", data_clean.compute()) - - print(f"Test set accuracy: {100.0 * accuracy(model, test_loader):0.1f}%") - - # ++++++++++++++++++++++++++++++++++++++++++ - # Subclass Detection Benchmark Generation and Evaluation - # ++++++++++++++++++++++++++++++++++++++++++ - - max_epochs = 1 - criterion = torch.nn.CrossEntropyLoss() - optimizer = torch.optim.SGD - lr = 0.1 - optimizer_kwargs = {"momentum": 0.9, "weight_decay": 5e-4} - scheduler = torch.optim.lr_scheduler.CosineAnnealingLR - scheduler_kwargs = {"T_max": max_epochs} - - trainer = BasicLightningModule( - model=model, - optimizer=optimizer, - optimizer_kwargs=optimizer_kwargs, - scheduler=scheduler, - scheduler_kwargs=scheduler_kwargs, - lr=lr, - criterion=criterion, - ) - - bench = SubclassDetection.generate( - model=model, - train_dataset=train_set, - trainer=trainer, - val_dataset=val_set, - n_classes=10, - n_groups=2, - class_to_group="random", - trainer_fit_kwargs={"max_epochs": max_epochs}, - seed=42, - batch_size=100, - device=DEVICE, - ) - - score = bench.evaluate( - expl_dataset=test_set, - explainer_cls=CaptumSimilarity, - expl_kwargs={"layers": "avgpool", "batch_size": 100}, - cache_dir="./cache", - model_id="default_model_id", - ) - - print("Subclass Detection Benchmark Score:", score) - - -if __name__ == "__main__": - freeze_support() - main() From cd44929ff3fef524d0411ce4c5e874841e9a93dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Galip=20=C3=9Cmit=20Yolcu?= Date: Tue, 6 Aug 2024 02:24:32 +0200 Subject: [PATCH 06/21] switch back to quanda -> src --- .coveragerc | 16 ++++++++-------- Makefile | 2 +- {quanda => src}/__init__.py | 0 {quanda => src}/explainers/__init__.py | 0 {quanda => src}/explainers/base.py | 4 ++-- {quanda => src}/explainers/functional.py | 0 {quanda => src}/explainers/random.py | 4 ++-- {quanda => src}/explainers/utils.py | 0 {quanda => src}/explainers/wrappers/__init__.py | 0 .../explainers/wrappers/captum_influence.py | 10 +++++----- {quanda => src}/metrics/__init__.py | 0 {quanda => src}/metrics/aggr_strategies.py | 4 ++-- {quanda => src}/metrics/aggregators.py | 0 {quanda => src}/metrics/base.py | 4 ++-- {quanda => src}/metrics/localization/__init__.py | 0 .../metrics/localization/class_detection.py | 2 +- .../localization/mislabeling_detection.py | 2 +- .../metrics/localization/subclass_detection.py | 2 +- .../metrics/randomization/__init__.py | 0 .../metrics/randomization/model_randomization.py | 6 +++--- {quanda => src}/metrics/unnamed/__init__.py | 0 .../metrics/unnamed/dataset_cleaning.py | 6 +++--- {quanda => src}/metrics/unnamed/top_k_overlap.py | 2 +- {quanda => src}/toy_benchmarks/__init__.py | 0 {quanda => src}/toy_benchmarks/base.py | 0 .../toy_benchmarks/localization/__init__.py | 0 .../localization/class_detection.py | 4 ++-- .../localization/mislabeling_detection.py | 8 ++++---- .../localization/subclass_detection.py | 8 ++++---- .../toy_benchmarks/randomization/__init__.py | 0 .../randomization/model_randomization.py | 6 +++--- .../toy_benchmarks/unnamed/__init__.py | 0 .../toy_benchmarks/unnamed/dataset_cleaning.py | 6 +++--- .../toy_benchmarks/unnamed/top_k_overlap.py | 4 ++-- {quanda => src}/utils/__init__.py | 0 {quanda => src}/utils/cache.py | 6 +++--- {quanda => src}/utils/common.py | 0 {quanda => src}/utils/datasets/__init__.py | 0 .../utils/datasets/activation_dataset.py | 0 {quanda => src}/utils/datasets/indexed_subset.py | 0 .../utils/datasets/transformed/__init__.py | 0 .../utils/datasets/transformed/base.py | 0 .../utils/datasets/transformed/label_flipping.py | 2 +- .../utils/datasets/transformed/label_grouping.py | 2 +- .../utils/datasets/transformed/sample.py | 2 +- {quanda => src}/utils/explanations.py | 0 {quanda => src}/utils/functions/__init__.py | 0 {quanda => src}/utils/functions/correlations.py | 0 {quanda => src}/utils/functions/similarities.py | 0 {quanda => src}/utils/training/__init__.py | 0 {quanda => src}/utils/training/base_pl_module.py | 0 {quanda => src}/utils/training/trainer.py | 2 +- {quanda => src}/utils/transforms.py | 0 {quanda => src}/utils/validation.py | 0 tests/conftest.py | 2 +- tests/explainers/test_aggregators.py | 2 +- tests/explainers/test_base_explainer.py | 4 ++-- .../explainers/wrappers/test_captum_influence.py | 6 +++--- tests/metrics/test_aggr_strategies.py | 8 ++++---- tests/metrics/test_localization_metrics.py | 12 ++++++------ tests/metrics/test_randomization_metrics.py | 8 ++++---- tests/metrics/test_unnamed_metrics.py | 12 ++++++------ .../localization/test_class_detection.py | 6 +++--- .../localization/test_mislabeling_detection.py | 12 ++++++------ .../localization/test_subclass_detection.py | 10 +++++----- .../randomization/test_model_randomization.py | 6 +++--- .../unnamed/test_dataset_cleaning.py | 10 +++++----- .../toy_benchmarks/unnamed/test_top_k_overlap.py | 6 +++--- tests/utils/datasets/transformed/test_base.py | 2 +- .../datasets/transformed/test_label_flipping.py | 2 +- .../datasets/transformed/test_label_grouping.py | 2 +- tests/utils/test_common.py | 2 +- tests/utils/test_training.py | 4 ++-- tox.ini | 4 ++-- 74 files changed, 117 insertions(+), 117 deletions(-) rename {quanda => src}/__init__.py (100%) rename {quanda => src}/explainers/__init__.py (100%) rename {quanda => src}/explainers/base.py (95%) rename {quanda => src}/explainers/functional.py (100%) rename {quanda => src}/explainers/random.py (94%) rename {quanda => src}/explainers/utils.py (100%) rename {quanda => src}/explainers/wrappers/__init__.py (100%) rename {quanda => src}/explainers/wrappers/captum_influence.py (98%) rename {quanda => src}/metrics/__init__.py (100%) rename {quanda => src}/metrics/aggr_strategies.py (95%) rename {quanda => src}/metrics/aggregators.py (100%) rename {quanda => src}/metrics/base.py (98%) rename {quanda => src}/metrics/localization/__init__.py (100%) rename {quanda => src}/metrics/localization/class_detection.py (98%) rename {quanda => src}/metrics/localization/mislabeling_detection.py (98%) rename {quanda => src}/metrics/localization/subclass_detection.py (95%) rename {quanda => src}/metrics/randomization/__init__.py (100%) rename {quanda => src}/metrics/randomization/model_randomization.py (95%) rename {quanda => src}/metrics/unnamed/__init__.py (100%) rename {quanda => src}/metrics/unnamed/dataset_cleaning.py (97%) rename {quanda => src}/metrics/unnamed/top_k_overlap.py (97%) rename {quanda => src}/toy_benchmarks/__init__.py (100%) rename {quanda => src}/toy_benchmarks/base.py (100%) rename {quanda => src}/toy_benchmarks/localization/__init__.py (100%) rename {quanda => src}/toy_benchmarks/localization/class_detection.py (97%) rename {quanda => src}/toy_benchmarks/localization/mislabeling_detection.py (97%) rename {quanda => src}/toy_benchmarks/localization/subclass_detection.py (97%) rename {quanda => src}/toy_benchmarks/randomization/__init__.py (100%) rename {quanda => src}/toy_benchmarks/randomization/model_randomization.py (95%) rename {quanda => src}/toy_benchmarks/unnamed/__init__.py (100%) rename {quanda => src}/toy_benchmarks/unnamed/dataset_cleaning.py (96%) rename {quanda => src}/toy_benchmarks/unnamed/top_k_overlap.py (97%) rename {quanda => src}/utils/__init__.py (100%) rename {quanda => src}/utils/cache.py (97%) rename {quanda => src}/utils/common.py (100%) rename {quanda => src}/utils/datasets/__init__.py (100%) rename {quanda => src}/utils/datasets/activation_dataset.py (100%) rename {quanda => src}/utils/datasets/indexed_subset.py (100%) rename {quanda => src}/utils/datasets/transformed/__init__.py (100%) rename {quanda => src}/utils/datasets/transformed/base.py (100%) rename {quanda => src}/utils/datasets/transformed/label_flipping.py (96%) rename {quanda => src}/utils/datasets/transformed/label_grouping.py (97%) rename {quanda => src}/utils/datasets/transformed/sample.py (93%) rename {quanda => src}/utils/explanations.py (100%) rename {quanda => src}/utils/functions/__init__.py (100%) rename {quanda => src}/utils/functions/correlations.py (100%) rename {quanda => src}/utils/functions/similarities.py (100%) rename {quanda => src}/utils/training/__init__.py (100%) rename {quanda => src}/utils/training/base_pl_module.py (100%) rename {quanda => src}/utils/training/trainer.py (98%) rename {quanda => src}/utils/transforms.py (100%) rename {quanda => src}/utils/validation.py (100%) diff --git a/.coveragerc b/.coveragerc index 67e57da7..a3f969d1 100644 --- a/.coveragerc +++ b/.coveragerc @@ -1,13 +1,13 @@ [run] -source = quanda +source = src omit = /tests/* - quanda/utils/explanations.py - quanda/utils/transforms.py - quanda/utils/datasets/transformed/sample.py - quanda/utils/cache.py - quanda/utils/datasets/activation_dataset.py - quanda/utils/datasets/indexed_subset.py - quanda/explainers/functional.py + src/utils/explanations.py + src/utils/transforms.py + src/utils/datasets/transformed/sample.py + src/utils/cache.py + src/utils/datasets/activation_dataset.py + src/utils/datasets/indexed_subset.py + src/explainers/functional.py [report] ignore_errors = True diff --git a/Makefile b/Makefile index 7ea5d078..8583ba1f 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ SHELL = /bin/bash style: black . python -m flake8 . --pytest-parametrize-names-type=csv - python -m mypy quanda --check-untyped-defs + python -m mypy src --check-untyped-defs rm -f .coverage rm -f .coverage.* find . | grep -E "(__pycache__|\.pyc|\.pyo)" | xargs rm -rf diff --git a/quanda/__init__.py b/src/__init__.py similarity index 100% rename from quanda/__init__.py rename to src/__init__.py diff --git a/quanda/explainers/__init__.py b/src/explainers/__init__.py similarity index 100% rename from quanda/explainers/__init__.py rename to src/explainers/__init__.py diff --git a/quanda/explainers/base.py b/src/explainers/base.py similarity index 95% rename from quanda/explainers/base.py rename to src/explainers/base.py index ddc3c888..197986af 100644 --- a/quanda/explainers/base.py +++ b/src/explainers/base.py @@ -3,8 +3,8 @@ import torch -from quanda.utils.common import cache_result -from quanda.utils.validation import validate_1d_tensor_or_int_list +from src.utils.common import cache_result +from src.utils.validation import validate_1d_tensor_or_int_list class BaseExplainer(ABC): diff --git a/quanda/explainers/functional.py b/src/explainers/functional.py similarity index 100% rename from quanda/explainers/functional.py rename to src/explainers/functional.py diff --git a/quanda/explainers/random.py b/src/explainers/random.py similarity index 94% rename from quanda/explainers/random.py rename to src/explainers/random.py index f4470daf..b34a2c5b 100644 --- a/quanda/explainers/random.py +++ b/src/explainers/random.py @@ -2,8 +2,8 @@ import torch -from quanda.explainers import BaseExplainer -from quanda.utils.common import cache_result +from src.explainers import BaseExplainer +from src.utils.common import cache_result class RandomExplainer(BaseExplainer): diff --git a/quanda/explainers/utils.py b/src/explainers/utils.py similarity index 100% rename from quanda/explainers/utils.py rename to src/explainers/utils.py diff --git a/quanda/explainers/wrappers/__init__.py b/src/explainers/wrappers/__init__.py similarity index 100% rename from quanda/explainers/wrappers/__init__.py rename to src/explainers/wrappers/__init__.py diff --git a/quanda/explainers/wrappers/captum_influence.py b/src/explainers/wrappers/captum_influence.py similarity index 98% rename from quanda/explainers/wrappers/captum_influence.py rename to src/explainers/wrappers/captum_influence.py index 7c52d486..ca694b95 100644 --- a/quanda/explainers/wrappers/captum_influence.py +++ b/src/explainers/wrappers/captum_influence.py @@ -11,14 +11,14 @@ ArnoldiInfluenceFunction, ) -from quanda.explainers import BaseExplainer -from quanda.explainers.utils import ( +from src.explainers import BaseExplainer +from src.explainers.utils import ( explain_fn_from_explainer, self_influence_fn_from_explainer, ) -from quanda.utils.common import get_load_state_dict_func -from quanda.utils.functions import cosine_similarity -from quanda.utils.validation import validate_checkpoints_load_func +from src.utils.common import get_load_state_dict_func +from src.utils.functions import cosine_similarity +from src.utils.validation import validate_checkpoints_load_func class CaptumInfluence(BaseExplainer, ABC): diff --git a/quanda/metrics/__init__.py b/src/metrics/__init__.py similarity index 100% rename from quanda/metrics/__init__.py rename to src/metrics/__init__.py diff --git a/quanda/metrics/aggr_strategies.py b/src/metrics/aggr_strategies.py similarity index 95% rename from quanda/metrics/aggr_strategies.py rename to src/metrics/aggr_strategies.py index ece1ead1..690a2c0e 100644 --- a/quanda/metrics/aggr_strategies.py +++ b/src/metrics/aggr_strategies.py @@ -4,8 +4,8 @@ import torch -from quanda.explainers import BaseExplainer -from quanda.metrics.aggregators import BaseAggregator +from src.explainers import BaseExplainer +from src.metrics.aggregators import BaseAggregator class GlobalSelfInfluenceStrategy: diff --git a/quanda/metrics/aggregators.py b/src/metrics/aggregators.py similarity index 100% rename from quanda/metrics/aggregators.py rename to src/metrics/aggregators.py diff --git a/quanda/metrics/base.py b/src/metrics/base.py similarity index 98% rename from quanda/metrics/base.py rename to src/metrics/base.py index 58c3ab12..5d3400e9 100644 --- a/quanda/metrics/base.py +++ b/src/metrics/base.py @@ -3,11 +3,11 @@ import torch -from quanda.metrics.aggr_strategies import ( +from src.metrics.aggr_strategies import ( GlobalAggrStrategy, GlobalSelfInfluenceStrategy, ) -from quanda.metrics.aggregators import aggr_types +from src.metrics.aggregators import aggr_types class Metric(ABC): diff --git a/quanda/metrics/localization/__init__.py b/src/metrics/localization/__init__.py similarity index 100% rename from quanda/metrics/localization/__init__.py rename to src/metrics/localization/__init__.py diff --git a/quanda/metrics/localization/class_detection.py b/src/metrics/localization/class_detection.py similarity index 98% rename from quanda/metrics/localization/class_detection.py rename to src/metrics/localization/class_detection.py index a3234e80..77703cac 100644 --- a/quanda/metrics/localization/class_detection.py +++ b/src/metrics/localization/class_detection.py @@ -2,7 +2,7 @@ import torch -from quanda.metrics import Metric +from src.metrics import Metric class ClassDetectionMetric(Metric): diff --git a/quanda/metrics/localization/mislabeling_detection.py b/src/metrics/localization/mislabeling_detection.py similarity index 98% rename from quanda/metrics/localization/mislabeling_detection.py rename to src/metrics/localization/mislabeling_detection.py index 9266ed73..e785d08a 100644 --- a/quanda/metrics/localization/mislabeling_detection.py +++ b/src/metrics/localization/mislabeling_detection.py @@ -2,7 +2,7 @@ import torch -from quanda.metrics import GlobalMetric +from src.metrics import GlobalMetric class MislabelingDetectionMetric(GlobalMetric): diff --git a/quanda/metrics/localization/subclass_detection.py b/src/metrics/localization/subclass_detection.py similarity index 95% rename from quanda/metrics/localization/subclass_detection.py rename to src/metrics/localization/subclass_detection.py index bc79c84b..0729fe47 100644 --- a/quanda/metrics/localization/subclass_detection.py +++ b/src/metrics/localization/subclass_detection.py @@ -1,6 +1,6 @@ import torch -from quanda.metrics.localization import ClassDetectionMetric +from src.metrics.localization import ClassDetectionMetric class SubclassDetectionMetric(ClassDetectionMetric): diff --git a/quanda/metrics/randomization/__init__.py b/src/metrics/randomization/__init__.py similarity index 100% rename from quanda/metrics/randomization/__init__.py rename to src/metrics/randomization/__init__.py diff --git a/quanda/metrics/randomization/model_randomization.py b/src/metrics/randomization/model_randomization.py similarity index 95% rename from quanda/metrics/randomization/model_randomization.py rename to src/metrics/randomization/model_randomization.py index 97e5616f..7df0ac8d 100644 --- a/quanda/metrics/randomization/model_randomization.py +++ b/src/metrics/randomization/model_randomization.py @@ -3,9 +3,9 @@ import torch -from quanda.metrics import Metric -from quanda.utils.common import get_parent_module_from_name -from quanda.utils.functions import CorrelationFnLiterals, correlation_functions +from src.metrics import Metric +from src.utils.common import get_parent_module_from_name +from src.utils.functions import CorrelationFnLiterals, correlation_functions class ModelRandomizationMetric(Metric): diff --git a/quanda/metrics/unnamed/__init__.py b/src/metrics/unnamed/__init__.py similarity index 100% rename from quanda/metrics/unnamed/__init__.py rename to src/metrics/unnamed/__init__.py diff --git a/quanda/metrics/unnamed/dataset_cleaning.py b/src/metrics/unnamed/dataset_cleaning.py similarity index 97% rename from quanda/metrics/unnamed/dataset_cleaning.py rename to src/metrics/unnamed/dataset_cleaning.py index d8cb814a..cf45f8e0 100644 --- a/quanda/metrics/unnamed/dataset_cleaning.py +++ b/src/metrics/unnamed/dataset_cleaning.py @@ -2,9 +2,9 @@ import torch -from quanda.metrics import GlobalMetric -from quanda.utils.common import class_accuracy -from quanda.utils.training import BaseTrainer +from src.metrics import GlobalMetric +from src.utils.common import class_accuracy +from src.utils.training import BaseTrainer class DatasetCleaningMetric(GlobalMetric): diff --git a/quanda/metrics/unnamed/top_k_overlap.py b/src/metrics/unnamed/top_k_overlap.py similarity index 97% rename from quanda/metrics/unnamed/top_k_overlap.py rename to src/metrics/unnamed/top_k_overlap.py index b86353dc..d792bd70 100644 --- a/quanda/metrics/unnamed/top_k_overlap.py +++ b/src/metrics/unnamed/top_k_overlap.py @@ -1,6 +1,6 @@ import torch -from quanda.metrics import Metric +from src.metrics import Metric class TopKOverlapMetric(Metric): diff --git a/quanda/toy_benchmarks/__init__.py b/src/toy_benchmarks/__init__.py similarity index 100% rename from quanda/toy_benchmarks/__init__.py rename to src/toy_benchmarks/__init__.py diff --git a/quanda/toy_benchmarks/base.py b/src/toy_benchmarks/base.py similarity index 100% rename from quanda/toy_benchmarks/base.py rename to src/toy_benchmarks/base.py diff --git a/quanda/toy_benchmarks/localization/__init__.py b/src/toy_benchmarks/localization/__init__.py similarity index 100% rename from quanda/toy_benchmarks/localization/__init__.py rename to src/toy_benchmarks/localization/__init__.py diff --git a/quanda/toy_benchmarks/localization/class_detection.py b/src/toy_benchmarks/localization/class_detection.py similarity index 97% rename from quanda/toy_benchmarks/localization/class_detection.py rename to src/toy_benchmarks/localization/class_detection.py index 3e2d843d..8cdb9b7d 100644 --- a/quanda/toy_benchmarks/localization/class_detection.py +++ b/src/toy_benchmarks/localization/class_detection.py @@ -3,8 +3,8 @@ import torch from tqdm import tqdm -from quanda.metrics.localization import ClassDetectionMetric -from quanda.toy_benchmarks import ToyBenchmark +from src.metrics.localization import ClassDetectionMetric +from src.toy_benchmarks import ToyBenchmark class ClassDetection(ToyBenchmark): diff --git a/quanda/toy_benchmarks/localization/mislabeling_detection.py b/src/toy_benchmarks/localization/mislabeling_detection.py similarity index 97% rename from quanda/toy_benchmarks/localization/mislabeling_detection.py rename to src/toy_benchmarks/localization/mislabeling_detection.py index 1aeb9987..67cdbee4 100644 --- a/quanda/toy_benchmarks/localization/mislabeling_detection.py +++ b/src/toy_benchmarks/localization/mislabeling_detection.py @@ -3,12 +3,12 @@ import torch from tqdm import tqdm -from quanda.metrics.localization.mislabeling_detection import ( +from src.metrics.localization.mislabeling_detection import ( MislabelingDetectionMetric, ) -from quanda.toy_benchmarks import ToyBenchmark -from quanda.utils.datasets.transformed import LabelFlippingDataset -from quanda.utils.training import BaseTrainer, Trainer +from src.toy_benchmarks import ToyBenchmark +from src.utils.datasets.transformed import LabelFlippingDataset +from src.utils.training import BaseTrainer, Trainer class MislabelingDetection(ToyBenchmark): diff --git a/quanda/toy_benchmarks/localization/subclass_detection.py b/src/toy_benchmarks/localization/subclass_detection.py similarity index 97% rename from quanda/toy_benchmarks/localization/subclass_detection.py rename to src/toy_benchmarks/localization/subclass_detection.py index bfe630ec..955d5b59 100644 --- a/quanda/toy_benchmarks/localization/subclass_detection.py +++ b/src/toy_benchmarks/localization/subclass_detection.py @@ -3,13 +3,13 @@ import torch from tqdm import tqdm -from quanda.metrics.localization import ClassDetectionMetric -from quanda.toy_benchmarks import ToyBenchmark -from quanda.utils.datasets.transformed import ( +from src.metrics.localization import ClassDetectionMetric +from src.toy_benchmarks import ToyBenchmark +from src.utils.datasets.transformed import ( ClassToGroupLiterals, LabelGroupingDataset, ) -from quanda.utils.training import BaseTrainer, Trainer +from src.utils.training import BaseTrainer, Trainer class SubclassDetection(ToyBenchmark): diff --git a/quanda/toy_benchmarks/randomization/__init__.py b/src/toy_benchmarks/randomization/__init__.py similarity index 100% rename from quanda/toy_benchmarks/randomization/__init__.py rename to src/toy_benchmarks/randomization/__init__.py diff --git a/quanda/toy_benchmarks/randomization/model_randomization.py b/src/toy_benchmarks/randomization/model_randomization.py similarity index 95% rename from quanda/toy_benchmarks/randomization/model_randomization.py rename to src/toy_benchmarks/randomization/model_randomization.py index 589f224b..57fd6ff2 100644 --- a/quanda/toy_benchmarks/randomization/model_randomization.py +++ b/src/toy_benchmarks/randomization/model_randomization.py @@ -3,11 +3,11 @@ import torch from tqdm import tqdm -from quanda.metrics.randomization.model_randomization import ( +from src.metrics.randomization.model_randomization import ( ModelRandomizationMetric, ) -from quanda.toy_benchmarks import ToyBenchmark -from quanda.utils.functions import CorrelationFnLiterals +from src.toy_benchmarks import ToyBenchmark +from src.utils.functions import CorrelationFnLiterals class ModelRandomization(ToyBenchmark): diff --git a/quanda/toy_benchmarks/unnamed/__init__.py b/src/toy_benchmarks/unnamed/__init__.py similarity index 100% rename from quanda/toy_benchmarks/unnamed/__init__.py rename to src/toy_benchmarks/unnamed/__init__.py diff --git a/quanda/toy_benchmarks/unnamed/dataset_cleaning.py b/src/toy_benchmarks/unnamed/dataset_cleaning.py similarity index 96% rename from quanda/toy_benchmarks/unnamed/dataset_cleaning.py rename to src/toy_benchmarks/unnamed/dataset_cleaning.py index 3d073f83..07a6d2d3 100644 --- a/quanda/toy_benchmarks/unnamed/dataset_cleaning.py +++ b/src/toy_benchmarks/unnamed/dataset_cleaning.py @@ -3,9 +3,9 @@ import torch from tqdm import tqdm -from quanda.metrics.unnamed import DatasetCleaningMetric -from quanda.toy_benchmarks import ToyBenchmark -from quanda.utils.training import Trainer +from src.metrics.unnamed import DatasetCleaningMetric +from src.toy_benchmarks import ToyBenchmark +from src.utils.training import Trainer class DatasetCleaning(ToyBenchmark): diff --git a/quanda/toy_benchmarks/unnamed/top_k_overlap.py b/src/toy_benchmarks/unnamed/top_k_overlap.py similarity index 97% rename from quanda/toy_benchmarks/unnamed/top_k_overlap.py rename to src/toy_benchmarks/unnamed/top_k_overlap.py index bbd86a29..ffe7a44f 100644 --- a/quanda/toy_benchmarks/unnamed/top_k_overlap.py +++ b/src/toy_benchmarks/unnamed/top_k_overlap.py @@ -3,8 +3,8 @@ import torch from tqdm import tqdm -from quanda.metrics.unnamed import TopKOverlapMetric -from quanda.toy_benchmarks import ToyBenchmark +from src.metrics.unnamed import TopKOverlapMetric +from src.toy_benchmarks import ToyBenchmark class TopKOverlap(ToyBenchmark): diff --git a/quanda/utils/__init__.py b/src/utils/__init__.py similarity index 100% rename from quanda/utils/__init__.py rename to src/utils/__init__.py diff --git a/quanda/utils/cache.py b/src/utils/cache.py similarity index 97% rename from quanda/utils/cache.py rename to src/utils/cache.py index 188637cf..fea1e370 100644 --- a/quanda/utils/cache.py +++ b/src/utils/cache.py @@ -8,9 +8,9 @@ from torch import Tensor from torch.utils.data import DataLoader -from quanda.utils.common import _get_module_from_name -from quanda.utils.datasets import ActivationDataset -from quanda.utils.explanations import BatchedCachedExplanations +from src.utils.common import _get_module_from_name +from src.utils.datasets import ActivationDataset +from src.utils.explanations import BatchedCachedExplanations class Cache: diff --git a/quanda/utils/common.py b/src/utils/common.py similarity index 100% rename from quanda/utils/common.py rename to src/utils/common.py diff --git a/quanda/utils/datasets/__init__.py b/src/utils/datasets/__init__.py similarity index 100% rename from quanda/utils/datasets/__init__.py rename to src/utils/datasets/__init__.py diff --git a/quanda/utils/datasets/activation_dataset.py b/src/utils/datasets/activation_dataset.py similarity index 100% rename from quanda/utils/datasets/activation_dataset.py rename to src/utils/datasets/activation_dataset.py diff --git a/quanda/utils/datasets/indexed_subset.py b/src/utils/datasets/indexed_subset.py similarity index 100% rename from quanda/utils/datasets/indexed_subset.py rename to src/utils/datasets/indexed_subset.py diff --git a/quanda/utils/datasets/transformed/__init__.py b/src/utils/datasets/transformed/__init__.py similarity index 100% rename from quanda/utils/datasets/transformed/__init__.py rename to src/utils/datasets/transformed/__init__.py diff --git a/quanda/utils/datasets/transformed/base.py b/src/utils/datasets/transformed/base.py similarity index 100% rename from quanda/utils/datasets/transformed/base.py rename to src/utils/datasets/transformed/base.py diff --git a/quanda/utils/datasets/transformed/label_flipping.py b/src/utils/datasets/transformed/label_flipping.py similarity index 96% rename from quanda/utils/datasets/transformed/label_flipping.py rename to src/utils/datasets/transformed/label_flipping.py index c612d60d..127e950d 100644 --- a/quanda/utils/datasets/transformed/label_flipping.py +++ b/src/utils/datasets/transformed/label_flipping.py @@ -2,7 +2,7 @@ import torch -from quanda.utils.datasets.transformed import TransformedDataset +from src.utils.datasets.transformed import TransformedDataset class LabelFlippingDataset(TransformedDataset): diff --git a/quanda/utils/datasets/transformed/label_grouping.py b/src/utils/datasets/transformed/label_grouping.py similarity index 97% rename from quanda/utils/datasets/transformed/label_grouping.py rename to src/utils/datasets/transformed/label_grouping.py index 7a4ad7a2..b63b2cc9 100644 --- a/quanda/utils/datasets/transformed/label_grouping.py +++ b/src/utils/datasets/transformed/label_grouping.py @@ -3,7 +3,7 @@ import torch -from quanda.utils.datasets.transformed import TransformedDataset +from src.utils.datasets.transformed import TransformedDataset ClassToGroupLiterals = Literal["random"] diff --git a/quanda/utils/datasets/transformed/sample.py b/src/utils/datasets/transformed/sample.py similarity index 93% rename from quanda/utils/datasets/transformed/sample.py rename to src/utils/datasets/transformed/sample.py index c4709657..96fceb20 100644 --- a/quanda/utils/datasets/transformed/sample.py +++ b/src/utils/datasets/transformed/sample.py @@ -2,7 +2,7 @@ import torch -from quanda.utils.datasets.transformed import TransformedDataset +from src.utils.datasets.transformed import TransformedDataset ClassToGroupLiterals = Literal["random"] diff --git a/quanda/utils/explanations.py b/src/utils/explanations.py similarity index 100% rename from quanda/utils/explanations.py rename to src/utils/explanations.py diff --git a/quanda/utils/functions/__init__.py b/src/utils/functions/__init__.py similarity index 100% rename from quanda/utils/functions/__init__.py rename to src/utils/functions/__init__.py diff --git a/quanda/utils/functions/correlations.py b/src/utils/functions/correlations.py similarity index 100% rename from quanda/utils/functions/correlations.py rename to src/utils/functions/correlations.py diff --git a/quanda/utils/functions/similarities.py b/src/utils/functions/similarities.py similarity index 100% rename from quanda/utils/functions/similarities.py rename to src/utils/functions/similarities.py diff --git a/quanda/utils/training/__init__.py b/src/utils/training/__init__.py similarity index 100% rename from quanda/utils/training/__init__.py rename to src/utils/training/__init__.py diff --git a/quanda/utils/training/base_pl_module.py b/src/utils/training/base_pl_module.py similarity index 100% rename from quanda/utils/training/base_pl_module.py rename to src/utils/training/base_pl_module.py diff --git a/quanda/utils/training/trainer.py b/src/utils/training/trainer.py similarity index 98% rename from quanda/utils/training/trainer.py rename to src/utils/training/trainer.py index bce55216..14adba96 100644 --- a/quanda/utils/training/trainer.py +++ b/src/utils/training/trainer.py @@ -5,7 +5,7 @@ import lightning as L import torch -from quanda.utils.training import BasicLightningModule +from src.utils.training import BasicLightningModule class BaseTrainer(metaclass=abc.ABCMeta): diff --git a/quanda/utils/transforms.py b/src/utils/transforms.py similarity index 100% rename from quanda/utils/transforms.py rename to src/utils/transforms.py diff --git a/quanda/utils/validation.py b/src/utils/validation.py similarity index 100% rename from quanda/utils/validation.py rename to src/utils/validation.py diff --git a/tests/conftest.py b/tests/conftest.py index e8ce5d6b..2e1b0dbc 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -6,7 +6,7 @@ import torch from torch.utils.data import TensorDataset -from quanda.utils.datasets.transformed import ( +from src.utils.datasets.transformed import ( LabelFlippingDataset, LabelGroupingDataset, ) diff --git a/tests/explainers/test_aggregators.py b/tests/explainers/test_aggregators.py index d76e9479..1d0d33de 100644 --- a/tests/explainers/test_aggregators.py +++ b/tests/explainers/test_aggregators.py @@ -1,7 +1,7 @@ import pytest import torch -from quanda.metrics.aggregators import AbsSumAggregator, SumAggregator +from src.metrics.aggregators import AbsSumAggregator, SumAggregator @pytest.mark.aggregators diff --git a/tests/explainers/test_base_explainer.py b/tests/explainers/test_base_explainer.py index abd9287e..45701285 100644 --- a/tests/explainers/test_base_explainer.py +++ b/tests/explainers/test_base_explainer.py @@ -4,8 +4,8 @@ import pytest import torch -from quanda.explainers.base import BaseExplainer -from quanda.utils.functions.similarities import cosine_similarity +from src.explainers.base import BaseExplainer +from src.utils.functions.similarities import cosine_similarity @pytest.mark.explainers diff --git a/tests/explainers/wrappers/test_captum_influence.py b/tests/explainers/wrappers/test_captum_influence.py index d1da5c93..e3c8b6a2 100644 --- a/tests/explainers/wrappers/test_captum_influence.py +++ b/tests/explainers/wrappers/test_captum_influence.py @@ -10,7 +10,7 @@ ) from torch.utils.data import TensorDataset -from quanda.explainers.wrappers.captum_influence import ( +from src.explainers.wrappers.captum_influence import ( CaptumArnoldi, CaptumSimilarity, CaptumTracInCP, @@ -21,8 +21,8 @@ captum_tracincp_explain, captum_tracincp_self_influence, ) -from quanda.utils.common import get_load_state_dict_func -from quanda.utils.functions.similarities import ( +from src.utils.common import get_load_state_dict_func +from src.utils.functions.similarities import ( cosine_similarity, dot_product_similarity, ) diff --git a/tests/metrics/test_aggr_strategies.py b/tests/metrics/test_aggr_strategies.py index f87548ba..f53be7c8 100644 --- a/tests/metrics/test_aggr_strategies.py +++ b/tests/metrics/test_aggr_strategies.py @@ -1,13 +1,13 @@ import pytest import torch -from quanda.explainers.wrappers.captum_influence import CaptumSimilarity -from quanda.metrics.aggr_strategies import ( +from src.explainers.wrappers.captum_influence import CaptumSimilarity +from src.metrics.aggr_strategies import ( GlobalAggrStrategy, GlobalSelfInfluenceStrategy, ) -from quanda.metrics.aggregators import AbsSumAggregator -from quanda.utils.functions.similarities import cosine_similarity +from src.metrics.aggregators import AbsSumAggregator +from src.utils.functions.similarities import cosine_similarity @pytest.mark.aggr_strategies diff --git a/tests/metrics/test_localization_metrics.py b/tests/metrics/test_localization_metrics.py index 885ed89d..9a30cd67 100644 --- a/tests/metrics/test_localization_metrics.py +++ b/tests/metrics/test_localization_metrics.py @@ -1,15 +1,15 @@ import pytest -from quanda.explainers.wrappers.captum_influence import CaptumSimilarity -from quanda.metrics.aggregators import SumAggregator -from quanda.metrics.localization.class_detection import ClassDetectionMetric -from quanda.metrics.localization.mislabeling_detection import ( +from src.explainers.wrappers.captum_influence import CaptumSimilarity +from src.metrics.aggregators import SumAggregator +from src.metrics.localization.class_detection import ClassDetectionMetric +from src.metrics.localization.mislabeling_detection import ( MislabelingDetectionMetric, ) -from quanda.metrics.localization.subclass_detection import ( +from src.metrics.localization.subclass_detection import ( SubclassDetectionMetric, ) -from quanda.utils.functions.similarities import cosine_similarity +from src.utils.functions.similarities import cosine_similarity @pytest.mark.localization_metrics diff --git a/tests/metrics/test_randomization_metrics.py b/tests/metrics/test_randomization_metrics.py index 7a876f59..690a0982 100644 --- a/tests/metrics/test_randomization_metrics.py +++ b/tests/metrics/test_randomization_metrics.py @@ -1,12 +1,12 @@ import pytest import torch -from quanda.explainers.wrappers.captum_influence import CaptumSimilarity -from quanda.metrics.randomization.model_randomization import ( +from src.explainers.wrappers.captum_influence import CaptumSimilarity +from src.metrics.randomization.model_randomization import ( ModelRandomizationMetric, ) -from quanda.utils.functions.correlations import correlation_functions -from quanda.utils.functions.similarities import cosine_similarity +from src.utils.functions.correlations import correlation_functions +from src.utils.functions.similarities import cosine_similarity @pytest.mark.randomization_metrics diff --git a/tests/metrics/test_unnamed_metrics.py b/tests/metrics/test_unnamed_metrics.py index 8cecb812..b439c303 100644 --- a/tests/metrics/test_unnamed_metrics.py +++ b/tests/metrics/test_unnamed_metrics.py @@ -1,11 +1,11 @@ import pytest -from quanda.explainers.wrappers.captum_influence import CaptumSimilarity -from quanda.metrics.unnamed.dataset_cleaning import DatasetCleaningMetric -from quanda.metrics.unnamed.top_k_overlap import TopKOverlapMetric -from quanda.utils.functions.similarities import cosine_similarity -from quanda.utils.training.base_pl_module import BasicLightningModule -from quanda.utils.training.trainer import Trainer +from src.explainers.wrappers.captum_influence import CaptumSimilarity +from src.metrics.unnamed.dataset_cleaning import DatasetCleaningMetric +from src.metrics.unnamed.top_k_overlap import TopKOverlapMetric +from src.utils.functions.similarities import cosine_similarity +from src.utils.training.base_pl_module import BasicLightningModule +from src.utils.training.trainer import Trainer @pytest.mark.unnamed_metrics diff --git a/tests/toy_benchmarks/localization/test_class_detection.py b/tests/toy_benchmarks/localization/test_class_detection.py index 8bf986f2..a44868db 100644 --- a/tests/toy_benchmarks/localization/test_class_detection.py +++ b/tests/toy_benchmarks/localization/test_class_detection.py @@ -1,8 +1,8 @@ import pytest -from quanda.explainers.wrappers.captum_influence import CaptumSimilarity -from quanda.toy_benchmarks.localization.class_detection import ClassDetection -from quanda.utils.functions.similarities import cosine_similarity +from src.explainers.wrappers.captum_influence import CaptumSimilarity +from src.toy_benchmarks.localization.class_detection import ClassDetection +from src.utils.functions.similarities import cosine_similarity @pytest.mark.toy_benchmarks diff --git a/tests/toy_benchmarks/localization/test_mislabeling_detection.py b/tests/toy_benchmarks/localization/test_mislabeling_detection.py index a76caed0..53095ee1 100644 --- a/tests/toy_benchmarks/localization/test_mislabeling_detection.py +++ b/tests/toy_benchmarks/localization/test_mislabeling_detection.py @@ -1,13 +1,13 @@ import pytest -from quanda.explainers.wrappers.captum_influence import CaptumSimilarity -from quanda.metrics.aggregators import SumAggregator -from quanda.toy_benchmarks.localization.mislabeling_detection import ( +from src.explainers.wrappers.captum_influence import CaptumSimilarity +from src.metrics.aggregators import SumAggregator +from src.toy_benchmarks.localization.mislabeling_detection import ( MislabelingDetection, ) -from quanda.utils.functions.similarities import cosine_similarity -from quanda.utils.training.base_pl_module import BasicLightningModule -from quanda.utils.training.trainer import Trainer +from src.utils.functions.similarities import cosine_similarity +from src.utils.training.base_pl_module import BasicLightningModule +from src.utils.training.trainer import Trainer @pytest.mark.toy_benchmarks diff --git a/tests/toy_benchmarks/localization/test_subclass_detection.py b/tests/toy_benchmarks/localization/test_subclass_detection.py index 8f02f75c..6de47fee 100644 --- a/tests/toy_benchmarks/localization/test_subclass_detection.py +++ b/tests/toy_benchmarks/localization/test_subclass_detection.py @@ -1,12 +1,12 @@ import pytest -from quanda.explainers.wrappers.captum_influence import CaptumSimilarity -from quanda.toy_benchmarks.localization.subclass_detection import ( +from src.explainers.wrappers.captum_influence import CaptumSimilarity +from src.toy_benchmarks.localization.subclass_detection import ( SubclassDetection, ) -from quanda.utils.functions.similarities import cosine_similarity -from quanda.utils.training.base_pl_module import BasicLightningModule -from quanda.utils.training.trainer import Trainer +from src.utils.functions.similarities import cosine_similarity +from src.utils.training.base_pl_module import BasicLightningModule +from src.utils.training.trainer import Trainer @pytest.mark.toy_benchmarks diff --git a/tests/toy_benchmarks/randomization/test_model_randomization.py b/tests/toy_benchmarks/randomization/test_model_randomization.py index f3de7583..01ee1959 100644 --- a/tests/toy_benchmarks/randomization/test_model_randomization.py +++ b/tests/toy_benchmarks/randomization/test_model_randomization.py @@ -1,10 +1,10 @@ import pytest -from quanda.explainers.wrappers.captum_influence import CaptumSimilarity -from quanda.toy_benchmarks.randomization.model_randomization import ( +from src.explainers.wrappers.captum_influence import CaptumSimilarity +from src.toy_benchmarks.randomization.model_randomization import ( ModelRandomization, ) -from quanda.utils.functions.similarities import cosine_similarity +from src.utils.functions.similarities import cosine_similarity @pytest.mark.toy_benchmarks diff --git a/tests/toy_benchmarks/unnamed/test_dataset_cleaning.py b/tests/toy_benchmarks/unnamed/test_dataset_cleaning.py index c18ab9a2..d3b27c47 100644 --- a/tests/toy_benchmarks/unnamed/test_dataset_cleaning.py +++ b/tests/toy_benchmarks/unnamed/test_dataset_cleaning.py @@ -1,10 +1,10 @@ import pytest -from quanda.explainers.wrappers.captum_influence import CaptumSimilarity -from quanda.toy_benchmarks.unnamed.dataset_cleaning import DatasetCleaning -from quanda.utils.functions.similarities import cosine_similarity -from quanda.utils.training.base_pl_module import BasicLightningModule -from quanda.utils.training.trainer import Trainer +from src.explainers.wrappers.captum_influence import CaptumSimilarity +from src.toy_benchmarks.unnamed.dataset_cleaning import DatasetCleaning +from src.utils.functions.similarities import cosine_similarity +from src.utils.training.base_pl_module import BasicLightningModule +from src.utils.training.trainer import Trainer @pytest.mark.toy_benchmarks diff --git a/tests/toy_benchmarks/unnamed/test_top_k_overlap.py b/tests/toy_benchmarks/unnamed/test_top_k_overlap.py index f8e6ff91..1462342a 100644 --- a/tests/toy_benchmarks/unnamed/test_top_k_overlap.py +++ b/tests/toy_benchmarks/unnamed/test_top_k_overlap.py @@ -1,8 +1,8 @@ import pytest -from quanda.explainers.wrappers.captum_influence import CaptumSimilarity -from quanda.toy_benchmarks.unnamed.top_k_overlap import TopKOverlap -from quanda.utils.functions.similarities import cosine_similarity +from src.explainers.wrappers.captum_influence import CaptumSimilarity +from src.toy_benchmarks.unnamed.top_k_overlap import TopKOverlap +from src.utils.functions.similarities import cosine_similarity @pytest.mark.toy_benchmarks diff --git a/tests/utils/datasets/transformed/test_base.py b/tests/utils/datasets/transformed/test_base.py index 6d323792..0930c13d 100644 --- a/tests/utils/datasets/transformed/test_base.py +++ b/tests/utils/datasets/transformed/test_base.py @@ -2,7 +2,7 @@ import torch from torch.utils.data import Dataset, TensorDataset -from quanda.utils.datasets.transformed.base import TransformedDataset +from src.utils.datasets.transformed.base import TransformedDataset class UnsizedTensorDataset(Dataset): diff --git a/tests/utils/datasets/transformed/test_label_flipping.py b/tests/utils/datasets/transformed/test_label_flipping.py index 83eccfa8..c30fe088 100644 --- a/tests/utils/datasets/transformed/test_label_flipping.py +++ b/tests/utils/datasets/transformed/test_label_flipping.py @@ -1,6 +1,6 @@ import pytest -from quanda.utils.datasets.transformed.label_flipping import ( +from src.utils.datasets.transformed.label_flipping import ( LabelFlippingDataset, ) diff --git a/tests/utils/datasets/transformed/test_label_grouping.py b/tests/utils/datasets/transformed/test_label_grouping.py index 68b72398..ebab6131 100644 --- a/tests/utils/datasets/transformed/test_label_grouping.py +++ b/tests/utils/datasets/transformed/test_label_grouping.py @@ -1,6 +1,6 @@ import pytest -from quanda.utils.datasets.transformed.label_grouping import ( +from src.utils.datasets.transformed.label_grouping import ( LabelGroupingDataset, ) diff --git a/tests/utils/test_common.py b/tests/utils/test_common.py index a19863c5..dfe37a5b 100644 --- a/tests/utils/test_common.py +++ b/tests/utils/test_common.py @@ -1,6 +1,6 @@ import pytest -from quanda.utils.common import make_func +from src.utils.common import make_func @pytest.mark.utils diff --git a/tests/utils/test_training.py b/tests/utils/test_training.py index 49451c86..884c3feb 100644 --- a/tests/utils/test_training.py +++ b/tests/utils/test_training.py @@ -3,8 +3,8 @@ import pytest import torch -from quanda.utils.training.base_pl_module import BasicLightningModule -from quanda.utils.training.trainer import Trainer +from src.utils.training.base_pl_module import BasicLightningModule +from src.utils.training.trainer import Trainer @pytest.mark.utils diff --git a/tox.ini b/tox.ini index 9fe29164..4626a96a 100644 --- a/tox.ini +++ b/tox.ini @@ -24,7 +24,7 @@ deps = coverage pytest_cov commands = - python3 -m pytest --cov=quanda --cov-report=term-missing --cov-fail-under 57 --cov-report html:htmlcov --cov-report xml {posargs} + python3 -m pytest --cov=src --cov-report=term-missing --cov-fail-under 57 --cov-report html:htmlcov --cov-report xml {posargs} [testenv:lint] @@ -41,7 +41,7 @@ deps = {[testenv]deps} mypy==1.9.0 commands = - python3 -m mypy quanda --check-untyped-defs + python3 -m mypy src --check-untyped-defs [flake8] max-line-length = 127 From cbf560bf11467098d1202750e44d34cc42e7f4c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Galip=20=C3=9Cmit=20Yolcu?= Date: Tue, 6 Aug 2024 13:40:39 +0200 Subject: [PATCH 07/21] docs makefile --- docs/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Makefile b/docs/Makefile index 9ef23a98..57dba049 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -21,7 +21,7 @@ help: rst: - @sphinx-apidoc -o source/docs_api ../quanda --module-first --separate --force + @sphinx-apidoc -o source/docs_api ../src --module-first --separate --force clean: From e166cf8cc1a171ebd29c98a38af7f80ea4df7d27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Galip=20=C3=9Cmit=20Yolcu?= Date: Tue, 6 Aug 2024 14:01:45 +0200 Subject: [PATCH 08/21] fix test imports --- tests/explainers/test_aggregators.py | 2 +- tests/explainers/test_base_explainer.py | 4 ++-- tests/explainers/wrappers/test_captum_influence.py | 2 +- tests/metrics/test_aggr_strategies.py | 8 ++++---- tests/metrics/test_localization_metrics.py | 14 ++++++-------- tests/metrics/test_randomization_metrics.py | 7 +++---- tests/metrics/test_unnamed_metrics.py | 10 ++++------ .../localization/test_class_detection.py | 6 +++--- .../localization/test_mislabeling_detection.py | 11 +++++------ .../localization/test_subclass_detection.py | 9 ++++----- .../randomization/test_model_randomization.py | 6 +++--- .../unnamed/test_dataset_cleaning.py | 9 ++++----- tests/toy_benchmarks/unnamed/test_top_k_overlap.py | 6 +++--- tests/utils/datasets/transformed/test_base.py | 2 +- .../datasets/transformed/test_label_flipping.py | 2 +- .../datasets/transformed/test_label_grouping.py | 2 +- tests/utils/test_training.py | 3 +-- 17 files changed, 47 insertions(+), 56 deletions(-) diff --git a/tests/explainers/test_aggregators.py b/tests/explainers/test_aggregators.py index 1d0d33de..9b45465c 100644 --- a/tests/explainers/test_aggregators.py +++ b/tests/explainers/test_aggregators.py @@ -1,7 +1,7 @@ import pytest import torch -from src.metrics.aggregators import AbsSumAggregator, SumAggregator +from src.metrics import AbsSumAggregator, SumAggregator @pytest.mark.aggregators diff --git a/tests/explainers/test_base_explainer.py b/tests/explainers/test_base_explainer.py index 45701285..2dda61a8 100644 --- a/tests/explainers/test_base_explainer.py +++ b/tests/explainers/test_base_explainer.py @@ -4,8 +4,8 @@ import pytest import torch -from src.explainers.base import BaseExplainer -from src.utils.functions.similarities import cosine_similarity +from src.explainers import BaseExplainer +from src.utils.functions import cosine_similarity @pytest.mark.explainers diff --git a/tests/explainers/wrappers/test_captum_influence.py b/tests/explainers/wrappers/test_captum_influence.py index e3c8b6a2..0820c24c 100644 --- a/tests/explainers/wrappers/test_captum_influence.py +++ b/tests/explainers/wrappers/test_captum_influence.py @@ -10,7 +10,7 @@ ) from torch.utils.data import TensorDataset -from src.explainers.wrappers.captum_influence import ( +from src.explainers.wrappers import ( CaptumArnoldi, CaptumSimilarity, CaptumTracInCP, diff --git a/tests/metrics/test_aggr_strategies.py b/tests/metrics/test_aggr_strategies.py index f53be7c8..16fec1d1 100644 --- a/tests/metrics/test_aggr_strategies.py +++ b/tests/metrics/test_aggr_strategies.py @@ -1,13 +1,13 @@ import pytest import torch -from src.explainers.wrappers.captum_influence import CaptumSimilarity -from src.metrics.aggr_strategies import ( +from src.explainers.wrappers import CaptumSimilarity +from src.metrics import ( + AbsSumAggregator, GlobalAggrStrategy, GlobalSelfInfluenceStrategy, ) -from src.metrics.aggregators import AbsSumAggregator -from src.utils.functions.similarities import cosine_similarity +from src.utils.functions import cosine_similarity @pytest.mark.aggr_strategies diff --git a/tests/metrics/test_localization_metrics.py b/tests/metrics/test_localization_metrics.py index 9a30cd67..419eeb3d 100644 --- a/tests/metrics/test_localization_metrics.py +++ b/tests/metrics/test_localization_metrics.py @@ -1,15 +1,13 @@ import pytest -from src.explainers.wrappers.captum_influence import CaptumSimilarity -from src.metrics.aggregators import SumAggregator -from src.metrics.localization.class_detection import ClassDetectionMetric -from src.metrics.localization.mislabeling_detection import ( - MislabelingDetectionMetric, -) -from src.metrics.localization.subclass_detection import ( +from src.explainers.wrappers import CaptumSimilarity +from src.metrics import SumAggregator +from src.metrics.localization import ( + ClassDetectionMetric, SubclassDetectionMetric, + MislabelingDetectionMetric, ) -from src.utils.functions.similarities import cosine_similarity +from src.utils.functions import cosine_similarity @pytest.mark.localization_metrics diff --git a/tests/metrics/test_randomization_metrics.py b/tests/metrics/test_randomization_metrics.py index 690a0982..740f5d37 100644 --- a/tests/metrics/test_randomization_metrics.py +++ b/tests/metrics/test_randomization_metrics.py @@ -1,12 +1,11 @@ import pytest import torch -from src.explainers.wrappers.captum_influence import CaptumSimilarity -from src.metrics.randomization.model_randomization import ( +from src.explainers.wrappers import CaptumSimilarity +from src.metrics.randomization import ( ModelRandomizationMetric, ) -from src.utils.functions.correlations import correlation_functions -from src.utils.functions.similarities import cosine_similarity +from src.utils.functions import correlation_functions, cosine_similarity @pytest.mark.randomization_metrics diff --git a/tests/metrics/test_unnamed_metrics.py b/tests/metrics/test_unnamed_metrics.py index b439c303..09b1fa30 100644 --- a/tests/metrics/test_unnamed_metrics.py +++ b/tests/metrics/test_unnamed_metrics.py @@ -1,11 +1,9 @@ import pytest -from src.explainers.wrappers.captum_influence import CaptumSimilarity -from src.metrics.unnamed.dataset_cleaning import DatasetCleaningMetric -from src.metrics.unnamed.top_k_overlap import TopKOverlapMetric -from src.utils.functions.similarities import cosine_similarity -from src.utils.training.base_pl_module import BasicLightningModule -from src.utils.training.trainer import Trainer +from src.explainers.wrappers import CaptumSimilarity +from src.metrics.unnamed import TopKOverlapMetric, DatasetCleaningMetric +from src.utils.functions import cosine_similarity +from src.utils.training import Trainer, BasicLightningModule @pytest.mark.unnamed_metrics diff --git a/tests/toy_benchmarks/localization/test_class_detection.py b/tests/toy_benchmarks/localization/test_class_detection.py index a44868db..5adb9c1e 100644 --- a/tests/toy_benchmarks/localization/test_class_detection.py +++ b/tests/toy_benchmarks/localization/test_class_detection.py @@ -1,8 +1,8 @@ import pytest -from src.explainers.wrappers.captum_influence import CaptumSimilarity -from src.toy_benchmarks.localization.class_detection import ClassDetection -from src.utils.functions.similarities import cosine_similarity +from src.explainers.wrappers import CaptumSimilarity +from src.toy_benchmarks.localization import ClassDetection +from src.utils.functions import cosine_similarity @pytest.mark.toy_benchmarks diff --git a/tests/toy_benchmarks/localization/test_mislabeling_detection.py b/tests/toy_benchmarks/localization/test_mislabeling_detection.py index 53095ee1..1d6e3cde 100644 --- a/tests/toy_benchmarks/localization/test_mislabeling_detection.py +++ b/tests/toy_benchmarks/localization/test_mislabeling_detection.py @@ -1,13 +1,12 @@ import pytest -from src.explainers.wrappers.captum_influence import CaptumSimilarity -from src.metrics.aggregators import SumAggregator -from src.toy_benchmarks.localization.mislabeling_detection import ( +from src.explainers.wrappers import CaptumSimilarity +from src.metrics import SumAggregator +from src.toy_benchmarks.localization import ( MislabelingDetection, ) -from src.utils.functions.similarities import cosine_similarity -from src.utils.training.base_pl_module import BasicLightningModule -from src.utils.training.trainer import Trainer +from src.utils.functions import cosine_similarity +from src.utils.training import Trainer, BasicLightningModule @pytest.mark.toy_benchmarks diff --git a/tests/toy_benchmarks/localization/test_subclass_detection.py b/tests/toy_benchmarks/localization/test_subclass_detection.py index 6de47fee..d6a0fdf1 100644 --- a/tests/toy_benchmarks/localization/test_subclass_detection.py +++ b/tests/toy_benchmarks/localization/test_subclass_detection.py @@ -1,12 +1,11 @@ import pytest -from src.explainers.wrappers.captum_influence import CaptumSimilarity -from src.toy_benchmarks.localization.subclass_detection import ( +from src.explainers.wrappers import CaptumSimilarity +from src.toy_benchmarks.localization import ( SubclassDetection, ) -from src.utils.functions.similarities import cosine_similarity -from src.utils.training.base_pl_module import BasicLightningModule -from src.utils.training.trainer import Trainer +from src.utils.functions import cosine_similarity +from src.utils.training import Trainer, BasicLightningModule @pytest.mark.toy_benchmarks diff --git a/tests/toy_benchmarks/randomization/test_model_randomization.py b/tests/toy_benchmarks/randomization/test_model_randomization.py index 01ee1959..c5caf0a3 100644 --- a/tests/toy_benchmarks/randomization/test_model_randomization.py +++ b/tests/toy_benchmarks/randomization/test_model_randomization.py @@ -1,10 +1,10 @@ import pytest -from src.explainers.wrappers.captum_influence import CaptumSimilarity -from src.toy_benchmarks.randomization.model_randomization import ( +from src.explainers.wrappers import CaptumSimilarity +from src.toy_benchmarks.randomization import ( ModelRandomization, ) -from src.utils.functions.similarities import cosine_similarity +from src.utils.functions import cosine_similarity @pytest.mark.toy_benchmarks diff --git a/tests/toy_benchmarks/unnamed/test_dataset_cleaning.py b/tests/toy_benchmarks/unnamed/test_dataset_cleaning.py index d3b27c47..1ad444ad 100644 --- a/tests/toy_benchmarks/unnamed/test_dataset_cleaning.py +++ b/tests/toy_benchmarks/unnamed/test_dataset_cleaning.py @@ -1,10 +1,9 @@ import pytest -from src.explainers.wrappers.captum_influence import CaptumSimilarity -from src.toy_benchmarks.unnamed.dataset_cleaning import DatasetCleaning -from src.utils.functions.similarities import cosine_similarity -from src.utils.training.base_pl_module import BasicLightningModule -from src.utils.training.trainer import Trainer +from src.explainers.wrappers import CaptumSimilarity +from src.toy_benchmarks.unnamed import DatasetCleaning +from src.utils.functions import cosine_similarity +from src.utils.training import Trainer, BasicLightningModule @pytest.mark.toy_benchmarks diff --git a/tests/toy_benchmarks/unnamed/test_top_k_overlap.py b/tests/toy_benchmarks/unnamed/test_top_k_overlap.py index 1462342a..5b64df80 100644 --- a/tests/toy_benchmarks/unnamed/test_top_k_overlap.py +++ b/tests/toy_benchmarks/unnamed/test_top_k_overlap.py @@ -1,8 +1,8 @@ import pytest -from src.explainers.wrappers.captum_influence import CaptumSimilarity -from src.toy_benchmarks.unnamed.top_k_overlap import TopKOverlap -from src.utils.functions.similarities import cosine_similarity +from src.explainers.wrappers import CaptumSimilarity +from src.toy_benchmarks.unnamed import TopKOverlap +from src.utils.functions import cosine_similarity @pytest.mark.toy_benchmarks diff --git a/tests/utils/datasets/transformed/test_base.py b/tests/utils/datasets/transformed/test_base.py index 0930c13d..f6cbf9a1 100644 --- a/tests/utils/datasets/transformed/test_base.py +++ b/tests/utils/datasets/transformed/test_base.py @@ -2,7 +2,7 @@ import torch from torch.utils.data import Dataset, TensorDataset -from src.utils.datasets.transformed.base import TransformedDataset +from src.utils.datasets.transformed import TransformedDataset class UnsizedTensorDataset(Dataset): diff --git a/tests/utils/datasets/transformed/test_label_flipping.py b/tests/utils/datasets/transformed/test_label_flipping.py index c30fe088..93bc61c1 100644 --- a/tests/utils/datasets/transformed/test_label_flipping.py +++ b/tests/utils/datasets/transformed/test_label_flipping.py @@ -1,6 +1,6 @@ import pytest -from src.utils.datasets.transformed.label_flipping import ( +from src.utils.datasets.transformed import ( LabelFlippingDataset, ) diff --git a/tests/utils/datasets/transformed/test_label_grouping.py b/tests/utils/datasets/transformed/test_label_grouping.py index ebab6131..a91ff953 100644 --- a/tests/utils/datasets/transformed/test_label_grouping.py +++ b/tests/utils/datasets/transformed/test_label_grouping.py @@ -1,6 +1,6 @@ import pytest -from src.utils.datasets.transformed.label_grouping import ( +from src.utils.datasets.transformed import ( LabelGroupingDataset, ) diff --git a/tests/utils/test_training.py b/tests/utils/test_training.py index 884c3feb..faf7a999 100644 --- a/tests/utils/test_training.py +++ b/tests/utils/test_training.py @@ -3,8 +3,7 @@ import pytest import torch -from src.utils.training.base_pl_module import BasicLightningModule -from src.utils.training.trainer import Trainer +from src.utils.training import Trainer, BasicLightningModule @pytest.mark.utils From fef7b3fd16119e2cc901f1696c365ea616356c8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Galip=20=C3=9Cmit=20Yolcu?= Date: Tue, 6 Aug 2024 17:38:30 +0200 Subject: [PATCH 09/21] move aggregators to explainers --- src/explainers/__init__.py | 14 +++++++++++++- src/{metrics => explainers}/aggregators.py | 0 src/metrics/__init__.py | 9 --------- src/metrics/aggr_strategies.py | 2 +- src/metrics/base.py | 2 +- tests/explainers/test_aggregators.py | 2 +- tests/metrics/test_localization_metrics.py | 9 ++++----- .../localization/test_mislabeling_detection.py | 6 +++--- 8 files changed, 23 insertions(+), 21 deletions(-) rename src/{metrics => explainers}/aggregators.py (100%) diff --git a/src/explainers/__init__.py b/src/explainers/__init__.py index 0d12c293..1bd6af45 100644 --- a/src/explainers/__init__.py +++ b/src/explainers/__init__.py @@ -2,5 +2,17 @@ from . import utils, wrappers from .functional import ExplainFunc, ExplainFuncMini from .random import RandomExplainer +from .aggregators import BaseAggregator, SumAggregator, AbsSumAggregator, aggr_types -__all__ = ["BaseExplainer", "RandomExplainer", "ExplainFunc", "ExplainFuncMini", "utils", "wrappers"] +__all__ = [ + "BaseExplainer", + "RandomExplainer", + "ExplainFunc", + "ExplainFuncMini", + "utils", + "wrappers", + "BaseAggregator", + "SumAggregator", + "AbsSumAggregator", + "aggr_types", +] diff --git a/src/metrics/aggregators.py b/src/explainers/aggregators.py similarity index 100% rename from src/metrics/aggregators.py rename to src/explainers/aggregators.py diff --git a/src/metrics/__init__.py b/src/metrics/__init__.py index fc94caa3..7c616c08 100644 --- a/src/metrics/__init__.py +++ b/src/metrics/__init__.py @@ -1,21 +1,12 @@ from .base import GlobalMetric, Metric from . import localization, randomization, unnamed from .aggr_strategies import GlobalAggrStrategy, GlobalSelfInfluenceStrategy -from .aggregators import ( - AbsSumAggregator, - BaseAggregator, - SumAggregator, - aggr_types, -) __all__ = [ "Metric", "GlobalMetric", "GlobalAggrStrategy", "GlobalSelfInfluenceStrategy", - "BaseAggregator", - "SumAggregator", - "AbsSumAggregator", "aggr_types", "randomization", "localization", diff --git a/src/metrics/aggr_strategies.py b/src/metrics/aggr_strategies.py index 690a2c0e..3f8843ec 100644 --- a/src/metrics/aggr_strategies.py +++ b/src/metrics/aggr_strategies.py @@ -5,7 +5,7 @@ import torch from src.explainers import BaseExplainer -from src.metrics.aggregators import BaseAggregator +from src.explainers.aggregators import BaseAggregator class GlobalSelfInfluenceStrategy: diff --git a/src/metrics/base.py b/src/metrics/base.py index 5d3400e9..3db75ab3 100644 --- a/src/metrics/base.py +++ b/src/metrics/base.py @@ -7,7 +7,7 @@ GlobalAggrStrategy, GlobalSelfInfluenceStrategy, ) -from src.metrics.aggregators import aggr_types +from src.explainers.aggregators import aggr_types class Metric(ABC): diff --git a/tests/explainers/test_aggregators.py b/tests/explainers/test_aggregators.py index 9b45465c..a83f6432 100644 --- a/tests/explainers/test_aggregators.py +++ b/tests/explainers/test_aggregators.py @@ -1,7 +1,7 @@ import pytest import torch -from src.metrics import AbsSumAggregator, SumAggregator +from src.explainers.aggregators import AbsSumAggregator, SumAggregator @pytest.mark.aggregators diff --git a/tests/metrics/test_localization_metrics.py b/tests/metrics/test_localization_metrics.py index 419eeb3d..a9b36b5a 100644 --- a/tests/metrics/test_localization_metrics.py +++ b/tests/metrics/test_localization_metrics.py @@ -1,10 +1,9 @@ import pytest -from src.explainers.wrappers import CaptumSimilarity -from src.metrics import SumAggregator -from src.metrics.localization import ( - ClassDetectionMetric, - SubclassDetectionMetric, +from src.explainers.wrappers.captum_influence import CaptumSimilarity +from src.explainers.aggregators import SumAggregator +from src.metrics.localization.class_detection import ClassDetectionMetric +from src.metrics.localization.mislabeling_detection import ( MislabelingDetectionMetric, ) from src.utils.functions import cosine_similarity diff --git a/tests/toy_benchmarks/localization/test_mislabeling_detection.py b/tests/toy_benchmarks/localization/test_mislabeling_detection.py index 1d6e3cde..4885207c 100644 --- a/tests/toy_benchmarks/localization/test_mislabeling_detection.py +++ b/tests/toy_benchmarks/localization/test_mislabeling_detection.py @@ -1,8 +1,8 @@ import pytest -from src.explainers.wrappers import CaptumSimilarity -from src.metrics import SumAggregator -from src.toy_benchmarks.localization import ( +from src.explainers.wrappers.captum_influence import CaptumSimilarity +from src.explainers.aggregators import SumAggregator +from src.toy_benchmarks.localization.mislabeling_detection import ( MislabelingDetection, ) from src.utils.functions import cosine_similarity From 00968665e74d39a898795aa0743066d6ab5510f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Galip=20=C3=9Cmit=20Yolcu?= Date: Tue, 6 Aug 2024 17:47:22 +0200 Subject: [PATCH 10/21] fix test imports --- src/metrics/aggr_strategies.py | 3 +-- src/metrics/base.py | 2 +- tests/explainers/test_aggregators.py | 2 +- tests/metrics/test_aggr_strategies.py | 2 +- tests/metrics/test_localization_metrics.py | 11 +++++++---- tests/metrics/test_randomization_metrics.py | 5 ++--- tests/metrics/test_unnamed_metrics.py | 4 ++-- .../localization/test_mislabeling_detection.py | 8 +++----- .../localization/test_subclass_detection.py | 4 ++++ .../randomization/test_model_randomization.py | 4 +--- tests/toy_benchmarks/unnamed/test_dataset_cleaning.py | 2 +- .../utils/datasets/transformed/test_label_flipping.py | 4 +--- .../utils/datasets/transformed/test_label_grouping.py | 4 +--- 13 files changed, 26 insertions(+), 29 deletions(-) diff --git a/src/metrics/aggr_strategies.py b/src/metrics/aggr_strategies.py index 3f8843ec..2e53fc3e 100644 --- a/src/metrics/aggr_strategies.py +++ b/src/metrics/aggr_strategies.py @@ -4,8 +4,7 @@ import torch -from src.explainers import BaseExplainer -from src.explainers.aggregators import BaseAggregator +from src.explainers import BaseExplainer, BaseAggregator class GlobalSelfInfluenceStrategy: diff --git a/src/metrics/base.py b/src/metrics/base.py index 3db75ab3..ae3223e6 100644 --- a/src/metrics/base.py +++ b/src/metrics/base.py @@ -7,7 +7,7 @@ GlobalAggrStrategy, GlobalSelfInfluenceStrategy, ) -from src.explainers.aggregators import aggr_types +from src.explainers import aggr_types class Metric(ABC): diff --git a/tests/explainers/test_aggregators.py b/tests/explainers/test_aggregators.py index a83f6432..b66d3842 100644 --- a/tests/explainers/test_aggregators.py +++ b/tests/explainers/test_aggregators.py @@ -1,7 +1,7 @@ import pytest import torch -from src.explainers.aggregators import AbsSumAggregator, SumAggregator +from src.explainers import AbsSumAggregator, SumAggregator @pytest.mark.aggregators diff --git a/tests/metrics/test_aggr_strategies.py b/tests/metrics/test_aggr_strategies.py index 16fec1d1..8849ab22 100644 --- a/tests/metrics/test_aggr_strategies.py +++ b/tests/metrics/test_aggr_strategies.py @@ -3,10 +3,10 @@ from src.explainers.wrappers import CaptumSimilarity from src.metrics import ( - AbsSumAggregator, GlobalAggrStrategy, GlobalSelfInfluenceStrategy, ) +from src.explainers import AbsSumAggregator from src.utils.functions import cosine_similarity diff --git a/tests/metrics/test_localization_metrics.py b/tests/metrics/test_localization_metrics.py index a9b36b5a..9f1d2c2d 100644 --- a/tests/metrics/test_localization_metrics.py +++ b/tests/metrics/test_localization_metrics.py @@ -1,11 +1,14 @@ import pytest -from src.explainers.wrappers.captum_influence import CaptumSimilarity -from src.explainers.aggregators import SumAggregator -from src.metrics.localization.class_detection import ClassDetectionMetric -from src.metrics.localization.mislabeling_detection import ( +from src.explainers.wrappers import CaptumSimilarity +from src.explainers import SumAggregator +from src.metrics.localization import ClassDetectionMetric +from src.metrics.localization import ( MislabelingDetectionMetric, ) +from src.metrics.localization import ( + SubclassDetectionMetric, +) from src.utils.functions import cosine_similarity diff --git a/tests/metrics/test_randomization_metrics.py b/tests/metrics/test_randomization_metrics.py index 740f5d37..9c5e36db 100644 --- a/tests/metrics/test_randomization_metrics.py +++ b/tests/metrics/test_randomization_metrics.py @@ -2,9 +2,8 @@ import torch from src.explainers.wrappers import CaptumSimilarity -from src.metrics.randomization import ( - ModelRandomizationMetric, -) +from src.metrics.randomization import ModelRandomizationMetric + from src.utils.functions import correlation_functions, cosine_similarity diff --git a/tests/metrics/test_unnamed_metrics.py b/tests/metrics/test_unnamed_metrics.py index 09b1fa30..8b343031 100644 --- a/tests/metrics/test_unnamed_metrics.py +++ b/tests/metrics/test_unnamed_metrics.py @@ -1,9 +1,9 @@ import pytest from src.explainers.wrappers import CaptumSimilarity -from src.metrics.unnamed import TopKOverlapMetric, DatasetCleaningMetric +from src.metrics.unnamed import DatasetCleaningMetric, TopKOverlapMetric from src.utils.functions import cosine_similarity -from src.utils.training import Trainer, BasicLightningModule +from src.utils.training import BasicLightningModule, Trainer @pytest.mark.unnamed_metrics diff --git a/tests/toy_benchmarks/localization/test_mislabeling_detection.py b/tests/toy_benchmarks/localization/test_mislabeling_detection.py index 4885207c..eeae30e1 100644 --- a/tests/toy_benchmarks/localization/test_mislabeling_detection.py +++ b/tests/toy_benchmarks/localization/test_mislabeling_detection.py @@ -1,10 +1,8 @@ import pytest -from src.explainers.wrappers.captum_influence import CaptumSimilarity -from src.explainers.aggregators import SumAggregator -from src.toy_benchmarks.localization.mislabeling_detection import ( - MislabelingDetection, -) +from src.explainers.wrappers import CaptumSimilarity +from src.explainers import SumAggregator +from src.toy_benchmarks.localization import MislabelingDetection from src.utils.functions import cosine_similarity from src.utils.training import Trainer, BasicLightningModule diff --git a/tests/toy_benchmarks/localization/test_subclass_detection.py b/tests/toy_benchmarks/localization/test_subclass_detection.py index d6a0fdf1..15da792a 100644 --- a/tests/toy_benchmarks/localization/test_subclass_detection.py +++ b/tests/toy_benchmarks/localization/test_subclass_detection.py @@ -1,9 +1,13 @@ import pytest from src.explainers.wrappers import CaptumSimilarity +<<<<<<< HEAD from src.toy_benchmarks.localization import ( SubclassDetection, ) +======= +from src.toy_benchmarks.localization import SubclassDetection +>>>>>>> 8d632a4 (fix test imports) from src.utils.functions import cosine_similarity from src.utils.training import Trainer, BasicLightningModule diff --git a/tests/toy_benchmarks/randomization/test_model_randomization.py b/tests/toy_benchmarks/randomization/test_model_randomization.py index c5caf0a3..c645eaa2 100644 --- a/tests/toy_benchmarks/randomization/test_model_randomization.py +++ b/tests/toy_benchmarks/randomization/test_model_randomization.py @@ -1,9 +1,7 @@ import pytest from src.explainers.wrappers import CaptumSimilarity -from src.toy_benchmarks.randomization import ( - ModelRandomization, -) +from src.toy_benchmarks.randomization import ModelRandomization from src.utils.functions import cosine_similarity diff --git a/tests/toy_benchmarks/unnamed/test_dataset_cleaning.py b/tests/toy_benchmarks/unnamed/test_dataset_cleaning.py index 1ad444ad..0d29f070 100644 --- a/tests/toy_benchmarks/unnamed/test_dataset_cleaning.py +++ b/tests/toy_benchmarks/unnamed/test_dataset_cleaning.py @@ -3,7 +3,7 @@ from src.explainers.wrappers import CaptumSimilarity from src.toy_benchmarks.unnamed import DatasetCleaning from src.utils.functions import cosine_similarity -from src.utils.training import Trainer, BasicLightningModule +from src.utils.training import BasicLightningModule, Trainer @pytest.mark.toy_benchmarks diff --git a/tests/utils/datasets/transformed/test_label_flipping.py b/tests/utils/datasets/transformed/test_label_flipping.py index 93bc61c1..e3074ec9 100644 --- a/tests/utils/datasets/transformed/test_label_flipping.py +++ b/tests/utils/datasets/transformed/test_label_flipping.py @@ -1,8 +1,6 @@ import pytest -from src.utils.datasets.transformed import ( - LabelFlippingDataset, -) +from src.utils.datasets.transformed import LabelFlippingDataset @pytest.mark.utils diff --git a/tests/utils/datasets/transformed/test_label_grouping.py b/tests/utils/datasets/transformed/test_label_grouping.py index a91ff953..24d212bd 100644 --- a/tests/utils/datasets/transformed/test_label_grouping.py +++ b/tests/utils/datasets/transformed/test_label_grouping.py @@ -1,8 +1,6 @@ import pytest -from src.utils.datasets.transformed import ( - LabelGroupingDataset, -) +from src.utils.datasets.transformed import LabelGroupingDataset @pytest.mark.utils From 11889f490d8c60ce6b03433c1874a47dd9a4df10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Galip=20=C3=9Cmit=20Yolcu?= Date: Tue, 6 Aug 2024 17:54:41 +0200 Subject: [PATCH 11/21] fix __init__.py imports --- src/__init__.py | 2 +- src/explainers/__init__.py | 10 +++++----- src/explainers/wrappers/__init__.py | 2 +- src/metrics/__init__.py | 6 +++--- src/metrics/localization/__init__.py | 6 +++--- src/metrics/randomization/__init__.py | 2 +- src/metrics/unnamed/__init__.py | 4 ++-- src/toy_benchmarks/__init__.py | 4 ++-- src/toy_benchmarks/localization/__init__.py | 6 +++--- src/toy_benchmarks/randomization/__init__.py | 2 +- src/toy_benchmarks/unnamed/__init__.py | 4 ++-- src/utils/__init__.py | 2 +- src/utils/datasets/__init__.py | 4 ++-- src/utils/datasets/transformed/__init__.py | 8 ++++---- src/utils/functions/__init__.py | 4 ++-- src/utils/training/__init__.py | 4 ++-- 16 files changed, 35 insertions(+), 35 deletions(-) diff --git a/src/__init__.py b/src/__init__.py index 6dc42516..5a59e207 100644 --- a/src/__init__.py +++ b/src/__init__.py @@ -1,3 +1,3 @@ -from . import explainers, metrics, toy_benchmarks, utils +from src import explainers, metrics, toy_benchmarks, utils __all__ = ["explainers", "metrics", "toy_benchmarks", "utils"] diff --git a/src/explainers/__init__.py b/src/explainers/__init__.py index 1bd6af45..a9722e2c 100644 --- a/src/explainers/__init__.py +++ b/src/explainers/__init__.py @@ -1,8 +1,8 @@ -from .base import BaseExplainer -from . import utils, wrappers -from .functional import ExplainFunc, ExplainFuncMini -from .random import RandomExplainer -from .aggregators import BaseAggregator, SumAggregator, AbsSumAggregator, aggr_types +from src.explainers.base import BaseExplainer +from src.explainers import utils, wrappers +from src.explainers.functional import ExplainFunc, ExplainFuncMini +from src.explainers.random import RandomExplainer +from src.explainers.aggregators import BaseAggregator, SumAggregator, AbsSumAggregator, aggr_types __all__ = [ "BaseExplainer", diff --git a/src/explainers/wrappers/__init__.py b/src/explainers/wrappers/__init__.py index b3fff010..5e821e22 100644 --- a/src/explainers/wrappers/__init__.py +++ b/src/explainers/wrappers/__init__.py @@ -1,4 +1,4 @@ -from .captum_influence import ( +from src.explainers.wrappers.captum_influence import ( CaptumArnoldi, CaptumInfluence, CaptumSimilarity, diff --git a/src/metrics/__init__.py b/src/metrics/__init__.py index 7c616c08..c7cf242b 100644 --- a/src/metrics/__init__.py +++ b/src/metrics/__init__.py @@ -1,6 +1,6 @@ -from .base import GlobalMetric, Metric -from . import localization, randomization, unnamed -from .aggr_strategies import GlobalAggrStrategy, GlobalSelfInfluenceStrategy +from src.metrics.base import GlobalMetric, Metric +from src.metrics import localization, randomization, unnamed +from src.metrics.aggr_strategies import GlobalAggrStrategy, GlobalSelfInfluenceStrategy __all__ = [ "Metric", diff --git a/src/metrics/localization/__init__.py b/src/metrics/localization/__init__.py index e7b68fb6..628603e4 100644 --- a/src/metrics/localization/__init__.py +++ b/src/metrics/localization/__init__.py @@ -1,5 +1,5 @@ -from .class_detection import ClassDetectionMetric -from .mislabeling_detection import MislabelingDetectionMetric -from .subclass_detection import SubclassDetectionMetric +from src.metrics.localization.class_detection import ClassDetectionMetric +from src.metrics.localization.mislabeling_detection import MislabelingDetectionMetric +from src.metrics.localization.subclass_detection import SubclassDetectionMetric __all__ = ["ClassDetectionMetric", "SubclassDetectionMetric", "MislabelingDetectionMetric"] diff --git a/src/metrics/randomization/__init__.py b/src/metrics/randomization/__init__.py index 3c3d37a6..d4acc61d 100644 --- a/src/metrics/randomization/__init__.py +++ b/src/metrics/randomization/__init__.py @@ -1,3 +1,3 @@ -from .model_randomization import ModelRandomizationMetric +from src.metrics.randomization.model_randomization import ModelRandomizationMetric __all__ = ["ModelRandomizationMetric"] diff --git a/src/metrics/unnamed/__init__.py b/src/metrics/unnamed/__init__.py index d4b11cba..6e6b969d 100644 --- a/src/metrics/unnamed/__init__.py +++ b/src/metrics/unnamed/__init__.py @@ -1,4 +1,4 @@ -from .dataset_cleaning import DatasetCleaningMetric -from .top_k_overlap import TopKOverlapMetric +from src.metrics.unnamed.dataset_cleaning import DatasetCleaningMetric +from src.metrics.unnamed.top_k_overlap import TopKOverlapMetric __all__ = ["DatasetCleaningMetric", "TopKOverlapMetric"] diff --git a/src/toy_benchmarks/__init__.py b/src/toy_benchmarks/__init__.py index eccbc391..0b224ba2 100644 --- a/src/toy_benchmarks/__init__.py +++ b/src/toy_benchmarks/__init__.py @@ -1,4 +1,4 @@ -from .base import ToyBenchmark -from . import localization, randomization, unnamed +from src.toy_benchmarks.base import ToyBenchmark +from src.toy_benchmarks import localization, randomization, unnamed __all__ = ["ToyBenchmark", "randomization", "localization", "unnamed"] diff --git a/src/toy_benchmarks/localization/__init__.py b/src/toy_benchmarks/localization/__init__.py index 9fe9e3d7..f3bda569 100644 --- a/src/toy_benchmarks/localization/__init__.py +++ b/src/toy_benchmarks/localization/__init__.py @@ -1,5 +1,5 @@ -from .class_detection import ClassDetection -from .mislabeling_detection import MislabelingDetection -from .subclass_detection import SubclassDetection +from src.toy_benchmarks.localization.class_detection import ClassDetection +from src.toy_benchmarks.localization.mislabeling_detection import MislabelingDetection +from src.toy_benchmarks.localization.subclass_detection import SubclassDetection __all__ = ["ClassDetection", "SubclassDetection", "MislabelingDetection"] diff --git a/src/toy_benchmarks/randomization/__init__.py b/src/toy_benchmarks/randomization/__init__.py index c17f6119..8cdc605d 100644 --- a/src/toy_benchmarks/randomization/__init__.py +++ b/src/toy_benchmarks/randomization/__init__.py @@ -1,3 +1,3 @@ -from .model_randomization import ModelRandomization +from src.toy_benchmarks.randomization.model_randomization import ModelRandomization __all__ = ["ModelRandomization"] diff --git a/src/toy_benchmarks/unnamed/__init__.py b/src/toy_benchmarks/unnamed/__init__.py index 6bdc5f1d..05c1ba05 100644 --- a/src/toy_benchmarks/unnamed/__init__.py +++ b/src/toy_benchmarks/unnamed/__init__.py @@ -1,4 +1,4 @@ -from .dataset_cleaning import DatasetCleaning -from .top_k_overlap import TopKOverlap +from src.toy_benchmarks.unnamed.dataset_cleaning import DatasetCleaning +from src.toy_benchmarks.unnamed.top_k_overlap import TopKOverlap __all__ = ["DatasetCleaning", "TopKOverlap"] diff --git a/src/utils/__init__.py b/src/utils/__init__.py index 1fce00df..7c595f1a 100644 --- a/src/utils/__init__.py +++ b/src/utils/__init__.py @@ -1,3 +1,3 @@ -from . import common, datasets, functions, training, validation +from src.utils import common, datasets, functions, training, validation __all__ = ["common", "validation", "datasets", "functions", "training"] diff --git a/src/utils/datasets/__init__.py b/src/utils/datasets/__init__.py index 6761c2aa..5cb8669b 100644 --- a/src/utils/datasets/__init__.py +++ b/src/utils/datasets/__init__.py @@ -1,4 +1,4 @@ -from .activation_dataset import ActivationDataset -from .indexed_subset import IndexedSubset +from src.utils.datasets.activation_dataset import ActivationDataset +from src.utils.datasets.indexed_subset import IndexedSubset __all__ = ["ActivationDataset", "IndexedSubset"] diff --git a/src/utils/datasets/transformed/__init__.py b/src/utils/datasets/transformed/__init__.py index 7a3aa26a..18accc9c 100644 --- a/src/utils/datasets/transformed/__init__.py +++ b/src/utils/datasets/transformed/__init__.py @@ -1,7 +1,7 @@ -from .base import TransformedDataset -from .label_flipping import LabelFlippingDataset -from .label_grouping import ClassToGroupLiterals, LabelGroupingDataset -from .sample import SampleTransformationDataset +from src.utils.datasets.transformed.base import TransformedDataset +from src.utils.datasets.transformed.label_flipping import LabelFlippingDataset +from src.utils.datasets.transformed.label_grouping import ClassToGroupLiterals, LabelGroupingDataset +from src.utils.datasets.transformed.sample import SampleTransformationDataset __all__ = [ "TransformedDataset", diff --git a/src/utils/functions/__init__.py b/src/utils/functions/__init__.py index 0b04d538..beba1b5c 100644 --- a/src/utils/functions/__init__.py +++ b/src/utils/functions/__init__.py @@ -1,10 +1,10 @@ -from .correlations import ( +from src.utils.functions.correlations import ( CorrelationFnLiterals, correlation_functions, kendall_rank_corr, spearman_rank_corr, ) -from .similarities import cosine_similarity, dot_product_similarity +from src.utils.functions.similarities import cosine_similarity, dot_product_similarity __all__ = [ "kendall_rank_corr", diff --git a/src/utils/training/__init__.py b/src/utils/training/__init__.py index c932e16e..5d6af4b5 100644 --- a/src/utils/training/__init__.py +++ b/src/utils/training/__init__.py @@ -1,4 +1,4 @@ -from .base_pl_module import BasicLightningModule -from .trainer import BaseTrainer, Trainer +from src.utils.training.base_pl_module import BasicLightningModule +from src.utils.training.trainer import BaseTrainer, Trainer __all__ = ["BasicLightningModule", "BaseTrainer", "Trainer"] From 67e07335f08552aad4020c3ee51d9e645398dd6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Galip=20=C3=9Cmit=20Yolcu?= Date: Tue, 6 Aug 2024 18:05:25 +0200 Subject: [PATCH 12/21] put back usage_testing.py --- tutorials/usage_testing.py | 227 +++++++++++++++++++++++++++++++++++++ 1 file changed, 227 insertions(+) create mode 100644 tutorials/usage_testing.py diff --git a/tutorials/usage_testing.py b/tutorials/usage_testing.py new file mode 100644 index 00000000..03134f05 --- /dev/null +++ b/tutorials/usage_testing.py @@ -0,0 +1,227 @@ +"Larhe chunks of code borrowed from https://github.com/unlearning-challenge/starting-kit/blob/main/unlearning-CIFAR10.ipynb" +import copy +import os +from multiprocessing import freeze_support + +import matplotlib.pyplot as plt +import requests +import torch +import torchvision + +# from torch import nn +# from torch import optim +from torch.utils.data import DataLoader +from torchvision import transforms +from torchvision.models import resnet18 +from torchvision.utils import make_grid +from tqdm import tqdm + +from src.explainers.wrappers.captum_influence import ( + CaptumSimilarity, + captum_similarity_explain, +) +from src.metrics.localization.class_detection import ClassDetectionMetric +from src.metrics.randomization.model_randomization import ( + ModelRandomizationMetric, +) +from src.metrics.unnamed.dataset_cleaning import DatasetCleaningMetric +from src.metrics.unnamed.top_k_overlap import TopKOverlapMetric +from src.toy_benchmarks.subclass_detection import SubclassDetection +from src.utils.training.base_pl_module import BasicLightningModule +from src.utils.training.trainer import Trainer + +DEVICE = "cuda:0" # "cuda" if torch.cuda.is_available() else "cpu" +torch.set_float32_matmul_precision("medium") + +print("Running on device:", DEVICE.upper()) + +# manual random seed is used for dataset partitioning +# to ensure reproducible results across runs +RNG = torch.Generator().manual_seed(42) + + +def main(): + # ++++++++++++++++++++++++++++++++++++++++++ + # #Download dataset and pre-trained model + # ++++++++++++++++++++++++++++++++++++++++++ + + # download and pre-process CIFAR10 + normalize = transforms.Compose( + [ + transforms.ToTensor(), + transforms.Normalize((0.4914, 0.4822, 0.4465), (0.2023, 0.1994, 0.2010)), + ] + ) + + train_set = torchvision.datasets.CIFAR10(root="./tutorials/data", train=True, download=True, transform=normalize) + train_dataloader = DataLoader(train_set, batch_size=100, shuffle=True, num_workers=8) + + # we split held out data into test and validation set + held_out = torchvision.datasets.CIFAR10(root="./tutorials/data", train=False, download=True, transform=normalize) + test_set, val_set = torch.utils.data.random_split(held_out, [0.1, 0.9], generator=RNG) + test_loader = DataLoader(test_set, batch_size=100, shuffle=False, num_workers=8) + # val_dataloader = DataLoader(val_set, batch_size=100, shuffle=False, num_workers=8) + + # download pre-trained weights + local_path = "./tutorials/model_weights_resnet18_cifar10.pth" + if not os.path.exists(local_path): + response = requests.get("https://storage.googleapis.com/unlearning-challenge/weights_resnet18_cifar10.pth") + open(local_path, "wb").write(response.content) + + weights_pretrained = torch.load(local_path, map_location=DEVICE) + + # load model with pre-trained weights + model = resnet18(weights=None, num_classes=10) + model.load_state_dict(weights_pretrained) + model.to(DEVICE) + model.eval() + + # a temporary data loader without normalization, just to show the images + tmp_dl = DataLoader( + torchvision.datasets.CIFAR10(root="./tutorials/data", train=True, download=True, transform=transforms.ToTensor()), + batch_size=16 * 5, + shuffle=False, + ) + images, labels = next(iter(tmp_dl)) + + fig, ax = plt.subplots(figsize=(12, 6)) + plt.title("Sample images from CIFAR10 dataset") + ax.set_xticks([]) + ax.set_yticks([]) + ax.imshow(make_grid(images, nrow=16).permute(1, 2, 0)) + plt.show() + + def accuracy(net, loader): + """Return accuracy on a dataset given by the data loader.""" + correct = 0 + total = 0 + for inputs, targets in loader: + inputs, targets = inputs.to(DEVICE), targets.to(DEVICE) + outputs = net(inputs) + _, predicted = outputs.max(1) + total += targets.size(0) + correct += predicted.eq(targets).sum().item() + return correct / total + + print(f"Train set accuracy: {100.0 * accuracy(model, train_dataloader):0.1f}%") + print(f"Test set accuracy: {100.0 * accuracy(model, test_loader):0.1f}%") + + # ++++++++++++++++++++++++++++++++++++++++++ + # Computing metrics while generating explanations + # ++++++++++++++++++++++++++++++++++++++++++ + + explain = captum_similarity_explain + explain_fn_kwargs = {"layers": "avgpool", "batch_size": 100} + model_id = "default_model_id" + cache_dir = "./cache" + model_rand = ModelRandomizationMetric( + model=model, + train_dataset=train_set, + explainer_cls=CaptumSimilarity, + expl_kwargs=explain_fn_kwargs, + model_id=model_id, + cache_dir=cache_dir, + correlation_fn="spearman", + seed=42, + device=DEVICE, + ) + + id_class = ClassDetectionMetric(model=model, train_dataset=train_set, device=DEVICE) + + top_k = TopKOverlapMetric(model=model, train_dataset=train_set, top_k=1, device=DEVICE) + + # dataset cleaning + pl_module = BasicLightningModule( + model=copy.deepcopy(model), + optimizer=torch.optim.SGD, + lr=0.1, + criterion=torch.nn.CrossEntropyLoss(), + ) + trainer = Trainer.from_lightning_module(model, pl_module) + + data_clean = DatasetCleaningMetric( + model=model, + train_dataset=train_set, + global_method="sum_abs", + trainer=trainer, + trainer_fit_kwargs={"max_epochs": 3}, + top_k=50, + device=DEVICE, + ) + + # iterate over test set and feed tensor batches first to explain, then to metric + for i, (data, target) in enumerate(tqdm(test_loader)): + data, target = data.to(DEVICE), target.to(DEVICE) + tda = explain( + model=model, + model_id=model_id, + cache_dir=cache_dir, + test_tensor=data, + train_dataset=train_set, + device=DEVICE, + **explain_fn_kwargs, + ) + model_rand.update(data, tda) + id_class.update(target, tda) + top_k.update(tda) + data_clean.update(tda) + + print("Model randomization metric output:", model_rand.compute()) + print("Identical class metric output:", id_class.compute()) + print("Top-k overlap metric output:", top_k.compute()) + + print("Dataset cleaning metric computation started...") + print("Dataset cleaning metric output:", data_clean.compute()) + + print(f"Test set accuracy: {100.0 * accuracy(model, test_loader):0.1f}%") + + # ++++++++++++++++++++++++++++++++++++++++++ + # Subclass Detection Benchmark Generation and Evaluation + # ++++++++++++++++++++++++++++++++++++++++++ + + max_epochs = 1 + criterion = torch.nn.CrossEntropyLoss() + optimizer = torch.optim.SGD + lr = 0.1 + optimizer_kwargs = {"momentum": 0.9, "weight_decay": 5e-4} + scheduler = torch.optim.lr_scheduler.CosineAnnealingLR + scheduler_kwargs = {"T_max": max_epochs} + + trainer = BasicLightningModule( + model=model, + optimizer=optimizer, + optimizer_kwargs=optimizer_kwargs, + scheduler=scheduler, + scheduler_kwargs=scheduler_kwargs, + lr=lr, + criterion=criterion, + ) + + bench = SubclassDetection.generate( + model=model, + train_dataset=train_set, + trainer=trainer, + val_dataset=val_set, + n_classes=10, + n_groups=2, + class_to_group="random", + trainer_fit_kwargs={"max_epochs": max_epochs}, + seed=42, + batch_size=100, + device=DEVICE, + ) + + score = bench.evaluate( + expl_dataset=test_set, + explainer_cls=CaptumSimilarity, + expl_kwargs={"layers": "avgpool", "batch_size": 100}, + cache_dir="./cache", + model_id="default_model_id", + ) + + print("Subclass Detection Benchmark Score:", score) + + +if __name__ == "__main__": + freeze_support() + main() From 455a55ba3a56d038d31e316a7d2a9be257a2ebe8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Galip=20=C3=9Cmit=20Yolcu?= Date: Tue, 6 Aug 2024 18:23:46 +0200 Subject: [PATCH 13/21] rename src -> quanda --- .coveragerc | 16 ++++++++-------- Makefile | 2 +- {src => quanda}/__init__.py | 2 +- quanda/explainers/__init__.py | 18 ++++++++++++++++++ {src => quanda}/explainers/aggregators.py | 0 {src => quanda}/explainers/base.py | 4 ++-- {src => quanda}/explainers/functional.py | 0 {src => quanda}/explainers/random.py | 4 ++-- {src => quanda}/explainers/utils.py | 0 .../explainers/wrappers/__init__.py | 2 +- .../explainers/wrappers/captum_influence.py | 10 +++++----- quanda/metrics/__init__.py | 14 ++++++++++++++ {src => quanda}/metrics/aggr_strategies.py | 2 +- {src => quanda}/metrics/base.py | 4 ++-- quanda/metrics/localization/__init__.py | 5 +++++ .../metrics/localization/class_detection.py | 2 +- .../localization/mislabeling_detection.py | 2 +- .../metrics/localization/subclass_detection.py | 2 +- quanda/metrics/randomization/__init__.py | 3 +++ .../randomization/model_randomization.py | 6 +++--- quanda/metrics/unnamed/__init__.py | 4 ++++ .../metrics/unnamed/dataset_cleaning.py | 6 +++--- .../metrics/unnamed/top_k_overlap.py | 2 +- quanda/toy_benchmarks/__init__.py | 4 ++++ {src => quanda}/toy_benchmarks/base.py | 0 quanda/toy_benchmarks/localization/__init__.py | 5 +++++ .../localization/class_detection.py | 4 ++-- .../localization/mislabeling_detection.py | 8 ++++---- .../localization/subclass_detection.py | 8 ++++---- .../toy_benchmarks/randomization/__init__.py | 3 +++ .../randomization/model_randomization.py | 6 +++--- quanda/toy_benchmarks/unnamed/__init__.py | 4 ++++ .../toy_benchmarks/unnamed/dataset_cleaning.py | 6 +++--- .../toy_benchmarks/unnamed/top_k_overlap.py | 4 ++-- quanda/utils/__init__.py | 3 +++ {src => quanda}/utils/cache.py | 6 +++--- {src => quanda}/utils/common.py | 0 quanda/utils/datasets/__init__.py | 4 ++++ .../utils/datasets/activation_dataset.py | 0 .../utils/datasets/indexed_subset.py | 0 quanda/utils/datasets/transformed/__init__.py | 12 ++++++++++++ .../utils/datasets/transformed/base.py | 0 .../datasets/transformed/label_flipping.py | 2 +- .../datasets/transformed/label_grouping.py | 2 +- .../utils/datasets/transformed/sample.py | 2 +- {src => quanda}/utils/explanations.py | 0 {src => quanda}/utils/functions/__init__.py | 4 ++-- .../utils/functions/correlations.py | 0 .../utils/functions/similarities.py | 0 quanda/utils/training/__init__.py | 4 ++++ .../utils/training/base_pl_module.py | 0 {src => quanda}/utils/training/trainer.py | 2 +- {src => quanda}/utils/transforms.py | 0 {src => quanda}/utils/validation.py | 0 src/explainers/__init__.py | 18 ------------------ src/metrics/__init__.py | 14 -------------- src/metrics/localization/__init__.py | 5 ----- src/metrics/randomization/__init__.py | 3 --- src/metrics/unnamed/__init__.py | 4 ---- src/toy_benchmarks/__init__.py | 4 ---- src/toy_benchmarks/localization/__init__.py | 5 ----- src/toy_benchmarks/randomization/__init__.py | 3 --- src/toy_benchmarks/unnamed/__init__.py | 4 ---- src/utils/__init__.py | 3 --- src/utils/datasets/__init__.py | 4 ---- src/utils/datasets/transformed/__init__.py | 12 ------------ src/utils/training/__init__.py | 4 ---- tests/conftest.py | 2 +- tests/explainers/test_aggregators.py | 2 +- tests/explainers/test_base_explainer.py | 4 ++-- .../wrappers/test_captum_influence.py | 6 +++--- tests/metrics/test_aggr_strategies.py | 8 ++++---- tests/metrics/test_localization_metrics.py | 12 ++++++------ tests/metrics/test_randomization_metrics.py | 6 +++--- tests/metrics/test_unnamed_metrics.py | 8 ++++---- .../localization/test_class_detection.py | 6 +++--- .../localization/test_mislabeling_detection.py | 10 +++++----- .../localization/test_subclass_detection.py | 14 ++++---------- .../randomization/test_model_randomization.py | 6 +++--- .../unnamed/test_dataset_cleaning.py | 8 ++++---- .../unnamed/test_top_k_overlap.py | 6 +++--- tests/utils/datasets/transformed/test_base.py | 2 +- .../transformed/test_label_flipping.py | 2 +- .../transformed/test_label_grouping.py | 2 +- tests/utils/test_common.py | 2 +- tests/utils/test_training.py | 2 +- tox.ini | 4 ++-- tutorials/usage_testing.py | 16 ++++++++-------- 88 files changed, 204 insertions(+), 210 deletions(-) rename {src => quanda}/__init__.py (50%) create mode 100644 quanda/explainers/__init__.py rename {src => quanda}/explainers/aggregators.py (100%) rename {src => quanda}/explainers/base.py (95%) rename {src => quanda}/explainers/functional.py (100%) rename {src => quanda}/explainers/random.py (94%) rename {src => quanda}/explainers/utils.py (100%) rename {src => quanda}/explainers/wrappers/__init__.py (91%) rename {src => quanda}/explainers/wrappers/captum_influence.py (98%) create mode 100644 quanda/metrics/__init__.py rename {src => quanda}/metrics/aggr_strategies.py (97%) rename {src => quanda}/metrics/base.py (98%) create mode 100644 quanda/metrics/localization/__init__.py rename {src => quanda}/metrics/localization/class_detection.py (98%) rename {src => quanda}/metrics/localization/mislabeling_detection.py (98%) rename {src => quanda}/metrics/localization/subclass_detection.py (95%) create mode 100644 quanda/metrics/randomization/__init__.py rename {src => quanda}/metrics/randomization/model_randomization.py (95%) create mode 100644 quanda/metrics/unnamed/__init__.py rename {src => quanda}/metrics/unnamed/dataset_cleaning.py (97%) rename {src => quanda}/metrics/unnamed/top_k_overlap.py (97%) create mode 100644 quanda/toy_benchmarks/__init__.py rename {src => quanda}/toy_benchmarks/base.py (100%) create mode 100644 quanda/toy_benchmarks/localization/__init__.py rename {src => quanda}/toy_benchmarks/localization/class_detection.py (97%) rename {src => quanda}/toy_benchmarks/localization/mislabeling_detection.py (97%) rename {src => quanda}/toy_benchmarks/localization/subclass_detection.py (97%) create mode 100644 quanda/toy_benchmarks/randomization/__init__.py rename {src => quanda}/toy_benchmarks/randomization/model_randomization.py (95%) create mode 100644 quanda/toy_benchmarks/unnamed/__init__.py rename {src => quanda}/toy_benchmarks/unnamed/dataset_cleaning.py (96%) rename {src => quanda}/toy_benchmarks/unnamed/top_k_overlap.py (97%) create mode 100644 quanda/utils/__init__.py rename {src => quanda}/utils/cache.py (97%) rename {src => quanda}/utils/common.py (100%) create mode 100644 quanda/utils/datasets/__init__.py rename {src => quanda}/utils/datasets/activation_dataset.py (100%) rename {src => quanda}/utils/datasets/indexed_subset.py (100%) create mode 100644 quanda/utils/datasets/transformed/__init__.py rename {src => quanda}/utils/datasets/transformed/base.py (100%) rename {src => quanda}/utils/datasets/transformed/label_flipping.py (96%) rename {src => quanda}/utils/datasets/transformed/label_grouping.py (97%) rename {src => quanda}/utils/datasets/transformed/sample.py (93%) rename {src => quanda}/utils/explanations.py (100%) rename {src => quanda}/utils/functions/__init__.py (66%) rename {src => quanda}/utils/functions/correlations.py (100%) rename {src => quanda}/utils/functions/similarities.py (100%) create mode 100644 quanda/utils/training/__init__.py rename {src => quanda}/utils/training/base_pl_module.py (100%) rename {src => quanda}/utils/training/trainer.py (98%) rename {src => quanda}/utils/transforms.py (100%) rename {src => quanda}/utils/validation.py (100%) delete mode 100644 src/explainers/__init__.py delete mode 100644 src/metrics/__init__.py delete mode 100644 src/metrics/localization/__init__.py delete mode 100644 src/metrics/randomization/__init__.py delete mode 100644 src/metrics/unnamed/__init__.py delete mode 100644 src/toy_benchmarks/__init__.py delete mode 100644 src/toy_benchmarks/localization/__init__.py delete mode 100644 src/toy_benchmarks/randomization/__init__.py delete mode 100644 src/toy_benchmarks/unnamed/__init__.py delete mode 100644 src/utils/__init__.py delete mode 100644 src/utils/datasets/__init__.py delete mode 100644 src/utils/datasets/transformed/__init__.py delete mode 100644 src/utils/training/__init__.py diff --git a/.coveragerc b/.coveragerc index a3f969d1..67e57da7 100644 --- a/.coveragerc +++ b/.coveragerc @@ -1,13 +1,13 @@ [run] -source = src +source = quanda omit = /tests/* - src/utils/explanations.py - src/utils/transforms.py - src/utils/datasets/transformed/sample.py - src/utils/cache.py - src/utils/datasets/activation_dataset.py - src/utils/datasets/indexed_subset.py - src/explainers/functional.py + quanda/utils/explanations.py + quanda/utils/transforms.py + quanda/utils/datasets/transformed/sample.py + quanda/utils/cache.py + quanda/utils/datasets/activation_dataset.py + quanda/utils/datasets/indexed_subset.py + quanda/explainers/functional.py [report] ignore_errors = True diff --git a/Makefile b/Makefile index 8583ba1f..7ea5d078 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ SHELL = /bin/bash style: black . python -m flake8 . --pytest-parametrize-names-type=csv - python -m mypy src --check-untyped-defs + python -m mypy quanda --check-untyped-defs rm -f .coverage rm -f .coverage.* find . | grep -E "(__pycache__|\.pyc|\.pyo)" | xargs rm -rf diff --git a/src/__init__.py b/quanda/__init__.py similarity index 50% rename from src/__init__.py rename to quanda/__init__.py index 5a59e207..6e54f639 100644 --- a/src/__init__.py +++ b/quanda/__init__.py @@ -1,3 +1,3 @@ -from src import explainers, metrics, toy_benchmarks, utils +from quanda import explainers, metrics, toy_benchmarks, utils __all__ = ["explainers", "metrics", "toy_benchmarks", "utils"] diff --git a/quanda/explainers/__init__.py b/quanda/explainers/__init__.py new file mode 100644 index 00000000..298886b2 --- /dev/null +++ b/quanda/explainers/__init__.py @@ -0,0 +1,18 @@ +from quanda.explainers.base import BaseExplainer +from quanda.explainers import utils, wrappers +from quanda.explainers.functional import ExplainFunc, ExplainFuncMini +from quanda.explainers.random import RandomExplainer +from quanda.explainers.aggregators import BaseAggregator, SumAggregator, AbsSumAggregator, aggr_types + +__all__ = [ + "BaseExplainer", + "RandomExplainer", + "ExplainFunc", + "ExplainFuncMini", + "utils", + "wrappers", + "BaseAggregator", + "SumAggregator", + "AbsSumAggregator", + "aggr_types", +] diff --git a/src/explainers/aggregators.py b/quanda/explainers/aggregators.py similarity index 100% rename from src/explainers/aggregators.py rename to quanda/explainers/aggregators.py diff --git a/src/explainers/base.py b/quanda/explainers/base.py similarity index 95% rename from src/explainers/base.py rename to quanda/explainers/base.py index 197986af..ddc3c888 100644 --- a/src/explainers/base.py +++ b/quanda/explainers/base.py @@ -3,8 +3,8 @@ import torch -from src.utils.common import cache_result -from src.utils.validation import validate_1d_tensor_or_int_list +from quanda.utils.common import cache_result +from quanda.utils.validation import validate_1d_tensor_or_int_list class BaseExplainer(ABC): diff --git a/src/explainers/functional.py b/quanda/explainers/functional.py similarity index 100% rename from src/explainers/functional.py rename to quanda/explainers/functional.py diff --git a/src/explainers/random.py b/quanda/explainers/random.py similarity index 94% rename from src/explainers/random.py rename to quanda/explainers/random.py index b34a2c5b..f4470daf 100644 --- a/src/explainers/random.py +++ b/quanda/explainers/random.py @@ -2,8 +2,8 @@ import torch -from src.explainers import BaseExplainer -from src.utils.common import cache_result +from quanda.explainers import BaseExplainer +from quanda.utils.common import cache_result class RandomExplainer(BaseExplainer): diff --git a/src/explainers/utils.py b/quanda/explainers/utils.py similarity index 100% rename from src/explainers/utils.py rename to quanda/explainers/utils.py diff --git a/src/explainers/wrappers/__init__.py b/quanda/explainers/wrappers/__init__.py similarity index 91% rename from src/explainers/wrappers/__init__.py rename to quanda/explainers/wrappers/__init__.py index 5e821e22..a69d04f4 100644 --- a/src/explainers/wrappers/__init__.py +++ b/quanda/explainers/wrappers/__init__.py @@ -1,4 +1,4 @@ -from src.explainers.wrappers.captum_influence import ( +from quanda.explainers.wrappers.captum_influence import ( CaptumArnoldi, CaptumInfluence, CaptumSimilarity, diff --git a/src/explainers/wrappers/captum_influence.py b/quanda/explainers/wrappers/captum_influence.py similarity index 98% rename from src/explainers/wrappers/captum_influence.py rename to quanda/explainers/wrappers/captum_influence.py index ca694b95..7c52d486 100644 --- a/src/explainers/wrappers/captum_influence.py +++ b/quanda/explainers/wrappers/captum_influence.py @@ -11,14 +11,14 @@ ArnoldiInfluenceFunction, ) -from src.explainers import BaseExplainer -from src.explainers.utils import ( +from quanda.explainers import BaseExplainer +from quanda.explainers.utils import ( explain_fn_from_explainer, self_influence_fn_from_explainer, ) -from src.utils.common import get_load_state_dict_func -from src.utils.functions import cosine_similarity -from src.utils.validation import validate_checkpoints_load_func +from quanda.utils.common import get_load_state_dict_func +from quanda.utils.functions import cosine_similarity +from quanda.utils.validation import validate_checkpoints_load_func class CaptumInfluence(BaseExplainer, ABC): diff --git a/quanda/metrics/__init__.py b/quanda/metrics/__init__.py new file mode 100644 index 00000000..7147aa7a --- /dev/null +++ b/quanda/metrics/__init__.py @@ -0,0 +1,14 @@ +from quanda.metrics.base import GlobalMetric, Metric +from quanda.metrics import localization, randomization, unnamed +from quanda.metrics.aggr_strategies import GlobalAggrStrategy, GlobalSelfInfluenceStrategy + +__all__ = [ + "Metric", + "GlobalMetric", + "GlobalAggrStrategy", + "GlobalSelfInfluenceStrategy", + "aggr_types", + "randomization", + "localization", + "unnamed", +] diff --git a/src/metrics/aggr_strategies.py b/quanda/metrics/aggr_strategies.py similarity index 97% rename from src/metrics/aggr_strategies.py rename to quanda/metrics/aggr_strategies.py index 2e53fc3e..7e73af18 100644 --- a/src/metrics/aggr_strategies.py +++ b/quanda/metrics/aggr_strategies.py @@ -4,7 +4,7 @@ import torch -from src.explainers import BaseExplainer, BaseAggregator +from quanda.explainers import BaseExplainer, BaseAggregator class GlobalSelfInfluenceStrategy: diff --git a/src/metrics/base.py b/quanda/metrics/base.py similarity index 98% rename from src/metrics/base.py rename to quanda/metrics/base.py index ae3223e6..26a96965 100644 --- a/src/metrics/base.py +++ b/quanda/metrics/base.py @@ -3,11 +3,11 @@ import torch -from src.metrics.aggr_strategies import ( +from quanda.metrics.aggr_strategies import ( GlobalAggrStrategy, GlobalSelfInfluenceStrategy, ) -from src.explainers import aggr_types +from quanda.explainers import aggr_types class Metric(ABC): diff --git a/quanda/metrics/localization/__init__.py b/quanda/metrics/localization/__init__.py new file mode 100644 index 00000000..3c31eb34 --- /dev/null +++ b/quanda/metrics/localization/__init__.py @@ -0,0 +1,5 @@ +from quanda.metrics.localization.class_detection import ClassDetectionMetric +from quanda.metrics.localization.mislabeling_detection import MislabelingDetectionMetric +from quanda.metrics.localization.subclass_detection import SubclassDetectionMetric + +__all__ = ["ClassDetectionMetric", "SubclassDetectionMetric", "MislabelingDetectionMetric"] diff --git a/src/metrics/localization/class_detection.py b/quanda/metrics/localization/class_detection.py similarity index 98% rename from src/metrics/localization/class_detection.py rename to quanda/metrics/localization/class_detection.py index 77703cac..a3234e80 100644 --- a/src/metrics/localization/class_detection.py +++ b/quanda/metrics/localization/class_detection.py @@ -2,7 +2,7 @@ import torch -from src.metrics import Metric +from quanda.metrics import Metric class ClassDetectionMetric(Metric): diff --git a/src/metrics/localization/mislabeling_detection.py b/quanda/metrics/localization/mislabeling_detection.py similarity index 98% rename from src/metrics/localization/mislabeling_detection.py rename to quanda/metrics/localization/mislabeling_detection.py index e785d08a..9266ed73 100644 --- a/src/metrics/localization/mislabeling_detection.py +++ b/quanda/metrics/localization/mislabeling_detection.py @@ -2,7 +2,7 @@ import torch -from src.metrics import GlobalMetric +from quanda.metrics import GlobalMetric class MislabelingDetectionMetric(GlobalMetric): diff --git a/src/metrics/localization/subclass_detection.py b/quanda/metrics/localization/subclass_detection.py similarity index 95% rename from src/metrics/localization/subclass_detection.py rename to quanda/metrics/localization/subclass_detection.py index 0729fe47..bc79c84b 100644 --- a/src/metrics/localization/subclass_detection.py +++ b/quanda/metrics/localization/subclass_detection.py @@ -1,6 +1,6 @@ import torch -from src.metrics.localization import ClassDetectionMetric +from quanda.metrics.localization import ClassDetectionMetric class SubclassDetectionMetric(ClassDetectionMetric): diff --git a/quanda/metrics/randomization/__init__.py b/quanda/metrics/randomization/__init__.py new file mode 100644 index 00000000..58fb2499 --- /dev/null +++ b/quanda/metrics/randomization/__init__.py @@ -0,0 +1,3 @@ +from quanda.metrics.randomization.model_randomization import ModelRandomizationMetric + +__all__ = ["ModelRandomizationMetric"] diff --git a/src/metrics/randomization/model_randomization.py b/quanda/metrics/randomization/model_randomization.py similarity index 95% rename from src/metrics/randomization/model_randomization.py rename to quanda/metrics/randomization/model_randomization.py index 7df0ac8d..97e5616f 100644 --- a/src/metrics/randomization/model_randomization.py +++ b/quanda/metrics/randomization/model_randomization.py @@ -3,9 +3,9 @@ import torch -from src.metrics import Metric -from src.utils.common import get_parent_module_from_name -from src.utils.functions import CorrelationFnLiterals, correlation_functions +from quanda.metrics import Metric +from quanda.utils.common import get_parent_module_from_name +from quanda.utils.functions import CorrelationFnLiterals, correlation_functions class ModelRandomizationMetric(Metric): diff --git a/quanda/metrics/unnamed/__init__.py b/quanda/metrics/unnamed/__init__.py new file mode 100644 index 00000000..c4abf4a2 --- /dev/null +++ b/quanda/metrics/unnamed/__init__.py @@ -0,0 +1,4 @@ +from quanda.metrics.unnamed.dataset_cleaning import DatasetCleaningMetric +from quanda.metrics.unnamed.top_k_overlap import TopKOverlapMetric + +__all__ = ["DatasetCleaningMetric", "TopKOverlapMetric"] diff --git a/src/metrics/unnamed/dataset_cleaning.py b/quanda/metrics/unnamed/dataset_cleaning.py similarity index 97% rename from src/metrics/unnamed/dataset_cleaning.py rename to quanda/metrics/unnamed/dataset_cleaning.py index cf45f8e0..d8cb814a 100644 --- a/src/metrics/unnamed/dataset_cleaning.py +++ b/quanda/metrics/unnamed/dataset_cleaning.py @@ -2,9 +2,9 @@ import torch -from src.metrics import GlobalMetric -from src.utils.common import class_accuracy -from src.utils.training import BaseTrainer +from quanda.metrics import GlobalMetric +from quanda.utils.common import class_accuracy +from quanda.utils.training import BaseTrainer class DatasetCleaningMetric(GlobalMetric): diff --git a/src/metrics/unnamed/top_k_overlap.py b/quanda/metrics/unnamed/top_k_overlap.py similarity index 97% rename from src/metrics/unnamed/top_k_overlap.py rename to quanda/metrics/unnamed/top_k_overlap.py index d792bd70..b86353dc 100644 --- a/src/metrics/unnamed/top_k_overlap.py +++ b/quanda/metrics/unnamed/top_k_overlap.py @@ -1,6 +1,6 @@ import torch -from src.metrics import Metric +from quanda.metrics import Metric class TopKOverlapMetric(Metric): diff --git a/quanda/toy_benchmarks/__init__.py b/quanda/toy_benchmarks/__init__.py new file mode 100644 index 00000000..b275c546 --- /dev/null +++ b/quanda/toy_benchmarks/__init__.py @@ -0,0 +1,4 @@ +from quanda.toy_benchmarks.base import ToyBenchmark +from quanda.toy_benchmarks import localization, randomization, unnamed + +__all__ = ["ToyBenchmark", "randomization", "localization", "unnamed"] diff --git a/src/toy_benchmarks/base.py b/quanda/toy_benchmarks/base.py similarity index 100% rename from src/toy_benchmarks/base.py rename to quanda/toy_benchmarks/base.py diff --git a/quanda/toy_benchmarks/localization/__init__.py b/quanda/toy_benchmarks/localization/__init__.py new file mode 100644 index 00000000..b0c61c9a --- /dev/null +++ b/quanda/toy_benchmarks/localization/__init__.py @@ -0,0 +1,5 @@ +from quanda.toy_benchmarks.localization.class_detection import ClassDetection +from quanda.toy_benchmarks.localization.mislabeling_detection import MislabelingDetection +from quanda.toy_benchmarks.localization.subclass_detection import SubclassDetection + +__all__ = ["ClassDetection", "SubclassDetection", "MislabelingDetection"] diff --git a/src/toy_benchmarks/localization/class_detection.py b/quanda/toy_benchmarks/localization/class_detection.py similarity index 97% rename from src/toy_benchmarks/localization/class_detection.py rename to quanda/toy_benchmarks/localization/class_detection.py index 8cdb9b7d..3e2d843d 100644 --- a/src/toy_benchmarks/localization/class_detection.py +++ b/quanda/toy_benchmarks/localization/class_detection.py @@ -3,8 +3,8 @@ import torch from tqdm import tqdm -from src.metrics.localization import ClassDetectionMetric -from src.toy_benchmarks import ToyBenchmark +from quanda.metrics.localization import ClassDetectionMetric +from quanda.toy_benchmarks import ToyBenchmark class ClassDetection(ToyBenchmark): diff --git a/src/toy_benchmarks/localization/mislabeling_detection.py b/quanda/toy_benchmarks/localization/mislabeling_detection.py similarity index 97% rename from src/toy_benchmarks/localization/mislabeling_detection.py rename to quanda/toy_benchmarks/localization/mislabeling_detection.py index 67cdbee4..1aeb9987 100644 --- a/src/toy_benchmarks/localization/mislabeling_detection.py +++ b/quanda/toy_benchmarks/localization/mislabeling_detection.py @@ -3,12 +3,12 @@ import torch from tqdm import tqdm -from src.metrics.localization.mislabeling_detection import ( +from quanda.metrics.localization.mislabeling_detection import ( MislabelingDetectionMetric, ) -from src.toy_benchmarks import ToyBenchmark -from src.utils.datasets.transformed import LabelFlippingDataset -from src.utils.training import BaseTrainer, Trainer +from quanda.toy_benchmarks import ToyBenchmark +from quanda.utils.datasets.transformed import LabelFlippingDataset +from quanda.utils.training import BaseTrainer, Trainer class MislabelingDetection(ToyBenchmark): diff --git a/src/toy_benchmarks/localization/subclass_detection.py b/quanda/toy_benchmarks/localization/subclass_detection.py similarity index 97% rename from src/toy_benchmarks/localization/subclass_detection.py rename to quanda/toy_benchmarks/localization/subclass_detection.py index 955d5b59..bfe630ec 100644 --- a/src/toy_benchmarks/localization/subclass_detection.py +++ b/quanda/toy_benchmarks/localization/subclass_detection.py @@ -3,13 +3,13 @@ import torch from tqdm import tqdm -from src.metrics.localization import ClassDetectionMetric -from src.toy_benchmarks import ToyBenchmark -from src.utils.datasets.transformed import ( +from quanda.metrics.localization import ClassDetectionMetric +from quanda.toy_benchmarks import ToyBenchmark +from quanda.utils.datasets.transformed import ( ClassToGroupLiterals, LabelGroupingDataset, ) -from src.utils.training import BaseTrainer, Trainer +from quanda.utils.training import BaseTrainer, Trainer class SubclassDetection(ToyBenchmark): diff --git a/quanda/toy_benchmarks/randomization/__init__.py b/quanda/toy_benchmarks/randomization/__init__.py new file mode 100644 index 00000000..d58c008d --- /dev/null +++ b/quanda/toy_benchmarks/randomization/__init__.py @@ -0,0 +1,3 @@ +from quanda.toy_benchmarks.randomization.model_randomization import ModelRandomization + +__all__ = ["ModelRandomization"] diff --git a/src/toy_benchmarks/randomization/model_randomization.py b/quanda/toy_benchmarks/randomization/model_randomization.py similarity index 95% rename from src/toy_benchmarks/randomization/model_randomization.py rename to quanda/toy_benchmarks/randomization/model_randomization.py index 57fd6ff2..589f224b 100644 --- a/src/toy_benchmarks/randomization/model_randomization.py +++ b/quanda/toy_benchmarks/randomization/model_randomization.py @@ -3,11 +3,11 @@ import torch from tqdm import tqdm -from src.metrics.randomization.model_randomization import ( +from quanda.metrics.randomization.model_randomization import ( ModelRandomizationMetric, ) -from src.toy_benchmarks import ToyBenchmark -from src.utils.functions import CorrelationFnLiterals +from quanda.toy_benchmarks import ToyBenchmark +from quanda.utils.functions import CorrelationFnLiterals class ModelRandomization(ToyBenchmark): diff --git a/quanda/toy_benchmarks/unnamed/__init__.py b/quanda/toy_benchmarks/unnamed/__init__.py new file mode 100644 index 00000000..a4e795dd --- /dev/null +++ b/quanda/toy_benchmarks/unnamed/__init__.py @@ -0,0 +1,4 @@ +from quanda.toy_benchmarks.unnamed.dataset_cleaning import DatasetCleaning +from quanda.toy_benchmarks.unnamed.top_k_overlap import TopKOverlap + +__all__ = ["DatasetCleaning", "TopKOverlap"] diff --git a/src/toy_benchmarks/unnamed/dataset_cleaning.py b/quanda/toy_benchmarks/unnamed/dataset_cleaning.py similarity index 96% rename from src/toy_benchmarks/unnamed/dataset_cleaning.py rename to quanda/toy_benchmarks/unnamed/dataset_cleaning.py index 07a6d2d3..3d073f83 100644 --- a/src/toy_benchmarks/unnamed/dataset_cleaning.py +++ b/quanda/toy_benchmarks/unnamed/dataset_cleaning.py @@ -3,9 +3,9 @@ import torch from tqdm import tqdm -from src.metrics.unnamed import DatasetCleaningMetric -from src.toy_benchmarks import ToyBenchmark -from src.utils.training import Trainer +from quanda.metrics.unnamed import DatasetCleaningMetric +from quanda.toy_benchmarks import ToyBenchmark +from quanda.utils.training import Trainer class DatasetCleaning(ToyBenchmark): diff --git a/src/toy_benchmarks/unnamed/top_k_overlap.py b/quanda/toy_benchmarks/unnamed/top_k_overlap.py similarity index 97% rename from src/toy_benchmarks/unnamed/top_k_overlap.py rename to quanda/toy_benchmarks/unnamed/top_k_overlap.py index ffe7a44f..bbd86a29 100644 --- a/src/toy_benchmarks/unnamed/top_k_overlap.py +++ b/quanda/toy_benchmarks/unnamed/top_k_overlap.py @@ -3,8 +3,8 @@ import torch from tqdm import tqdm -from src.metrics.unnamed import TopKOverlapMetric -from src.toy_benchmarks import ToyBenchmark +from quanda.metrics.unnamed import TopKOverlapMetric +from quanda.toy_benchmarks import ToyBenchmark class TopKOverlap(ToyBenchmark): diff --git a/quanda/utils/__init__.py b/quanda/utils/__init__.py new file mode 100644 index 00000000..b2db06cf --- /dev/null +++ b/quanda/utils/__init__.py @@ -0,0 +1,3 @@ +from quanda.utils import common, datasets, functions, training, validation + +__all__ = ["common", "validation", "datasets", "functions", "training"] diff --git a/src/utils/cache.py b/quanda/utils/cache.py similarity index 97% rename from src/utils/cache.py rename to quanda/utils/cache.py index fea1e370..188637cf 100644 --- a/src/utils/cache.py +++ b/quanda/utils/cache.py @@ -8,9 +8,9 @@ from torch import Tensor from torch.utils.data import DataLoader -from src.utils.common import _get_module_from_name -from src.utils.datasets import ActivationDataset -from src.utils.explanations import BatchedCachedExplanations +from quanda.utils.common import _get_module_from_name +from quanda.utils.datasets import ActivationDataset +from quanda.utils.explanations import BatchedCachedExplanations class Cache: diff --git a/src/utils/common.py b/quanda/utils/common.py similarity index 100% rename from src/utils/common.py rename to quanda/utils/common.py diff --git a/quanda/utils/datasets/__init__.py b/quanda/utils/datasets/__init__.py new file mode 100644 index 00000000..3c563cde --- /dev/null +++ b/quanda/utils/datasets/__init__.py @@ -0,0 +1,4 @@ +from quanda.utils.datasets.activation_dataset import ActivationDataset +from quanda.utils.datasets.indexed_subset import IndexedSubset + +__all__ = ["ActivationDataset", "IndexedSubset"] diff --git a/src/utils/datasets/activation_dataset.py b/quanda/utils/datasets/activation_dataset.py similarity index 100% rename from src/utils/datasets/activation_dataset.py rename to quanda/utils/datasets/activation_dataset.py diff --git a/src/utils/datasets/indexed_subset.py b/quanda/utils/datasets/indexed_subset.py similarity index 100% rename from src/utils/datasets/indexed_subset.py rename to quanda/utils/datasets/indexed_subset.py diff --git a/quanda/utils/datasets/transformed/__init__.py b/quanda/utils/datasets/transformed/__init__.py new file mode 100644 index 00000000..c783a1f5 --- /dev/null +++ b/quanda/utils/datasets/transformed/__init__.py @@ -0,0 +1,12 @@ +from quanda.utils.datasets.transformed.base import TransformedDataset +from quanda.utils.datasets.transformed.label_flipping import LabelFlippingDataset +from quanda.utils.datasets.transformed.label_grouping import ClassToGroupLiterals, LabelGroupingDataset +from quanda.utils.datasets.transformed.sample import SampleTransformationDataset + +__all__ = [ + "TransformedDataset", + "SampleTransformationDataset", + "LabelFlippingDataset", + "LabelGroupingDataset", + "ClassToGroupLiterals", +] diff --git a/src/utils/datasets/transformed/base.py b/quanda/utils/datasets/transformed/base.py similarity index 100% rename from src/utils/datasets/transformed/base.py rename to quanda/utils/datasets/transformed/base.py diff --git a/src/utils/datasets/transformed/label_flipping.py b/quanda/utils/datasets/transformed/label_flipping.py similarity index 96% rename from src/utils/datasets/transformed/label_flipping.py rename to quanda/utils/datasets/transformed/label_flipping.py index 127e950d..c612d60d 100644 --- a/src/utils/datasets/transformed/label_flipping.py +++ b/quanda/utils/datasets/transformed/label_flipping.py @@ -2,7 +2,7 @@ import torch -from src.utils.datasets.transformed import TransformedDataset +from quanda.utils.datasets.transformed import TransformedDataset class LabelFlippingDataset(TransformedDataset): diff --git a/src/utils/datasets/transformed/label_grouping.py b/quanda/utils/datasets/transformed/label_grouping.py similarity index 97% rename from src/utils/datasets/transformed/label_grouping.py rename to quanda/utils/datasets/transformed/label_grouping.py index b63b2cc9..7a4ad7a2 100644 --- a/src/utils/datasets/transformed/label_grouping.py +++ b/quanda/utils/datasets/transformed/label_grouping.py @@ -3,7 +3,7 @@ import torch -from src.utils.datasets.transformed import TransformedDataset +from quanda.utils.datasets.transformed import TransformedDataset ClassToGroupLiterals = Literal["random"] diff --git a/src/utils/datasets/transformed/sample.py b/quanda/utils/datasets/transformed/sample.py similarity index 93% rename from src/utils/datasets/transformed/sample.py rename to quanda/utils/datasets/transformed/sample.py index 96fceb20..c4709657 100644 --- a/src/utils/datasets/transformed/sample.py +++ b/quanda/utils/datasets/transformed/sample.py @@ -2,7 +2,7 @@ import torch -from src.utils.datasets.transformed import TransformedDataset +from quanda.utils.datasets.transformed import TransformedDataset ClassToGroupLiterals = Literal["random"] diff --git a/src/utils/explanations.py b/quanda/utils/explanations.py similarity index 100% rename from src/utils/explanations.py rename to quanda/utils/explanations.py diff --git a/src/utils/functions/__init__.py b/quanda/utils/functions/__init__.py similarity index 66% rename from src/utils/functions/__init__.py rename to quanda/utils/functions/__init__.py index beba1b5c..79124370 100644 --- a/src/utils/functions/__init__.py +++ b/quanda/utils/functions/__init__.py @@ -1,10 +1,10 @@ -from src.utils.functions.correlations import ( +from quanda.utils.functions.correlations import ( CorrelationFnLiterals, correlation_functions, kendall_rank_corr, spearman_rank_corr, ) -from src.utils.functions.similarities import cosine_similarity, dot_product_similarity +from quanda.utils.functions.similarities import cosine_similarity, dot_product_similarity __all__ = [ "kendall_rank_corr", diff --git a/src/utils/functions/correlations.py b/quanda/utils/functions/correlations.py similarity index 100% rename from src/utils/functions/correlations.py rename to quanda/utils/functions/correlations.py diff --git a/src/utils/functions/similarities.py b/quanda/utils/functions/similarities.py similarity index 100% rename from src/utils/functions/similarities.py rename to quanda/utils/functions/similarities.py diff --git a/quanda/utils/training/__init__.py b/quanda/utils/training/__init__.py new file mode 100644 index 00000000..afcf6016 --- /dev/null +++ b/quanda/utils/training/__init__.py @@ -0,0 +1,4 @@ +from quanda.utils.training.base_pl_module import BasicLightningModule +from quanda.utils.training.trainer import BaseTrainer, Trainer + +__all__ = ["BasicLightningModule", "BaseTrainer", "Trainer"] diff --git a/src/utils/training/base_pl_module.py b/quanda/utils/training/base_pl_module.py similarity index 100% rename from src/utils/training/base_pl_module.py rename to quanda/utils/training/base_pl_module.py diff --git a/src/utils/training/trainer.py b/quanda/utils/training/trainer.py similarity index 98% rename from src/utils/training/trainer.py rename to quanda/utils/training/trainer.py index 14adba96..bce55216 100644 --- a/src/utils/training/trainer.py +++ b/quanda/utils/training/trainer.py @@ -5,7 +5,7 @@ import lightning as L import torch -from src.utils.training import BasicLightningModule +from quanda.utils.training import BasicLightningModule class BaseTrainer(metaclass=abc.ABCMeta): diff --git a/src/utils/transforms.py b/quanda/utils/transforms.py similarity index 100% rename from src/utils/transforms.py rename to quanda/utils/transforms.py diff --git a/src/utils/validation.py b/quanda/utils/validation.py similarity index 100% rename from src/utils/validation.py rename to quanda/utils/validation.py diff --git a/src/explainers/__init__.py b/src/explainers/__init__.py deleted file mode 100644 index a9722e2c..00000000 --- a/src/explainers/__init__.py +++ /dev/null @@ -1,18 +0,0 @@ -from src.explainers.base import BaseExplainer -from src.explainers import utils, wrappers -from src.explainers.functional import ExplainFunc, ExplainFuncMini -from src.explainers.random import RandomExplainer -from src.explainers.aggregators import BaseAggregator, SumAggregator, AbsSumAggregator, aggr_types - -__all__ = [ - "BaseExplainer", - "RandomExplainer", - "ExplainFunc", - "ExplainFuncMini", - "utils", - "wrappers", - "BaseAggregator", - "SumAggregator", - "AbsSumAggregator", - "aggr_types", -] diff --git a/src/metrics/__init__.py b/src/metrics/__init__.py deleted file mode 100644 index c7cf242b..00000000 --- a/src/metrics/__init__.py +++ /dev/null @@ -1,14 +0,0 @@ -from src.metrics.base import GlobalMetric, Metric -from src.metrics import localization, randomization, unnamed -from src.metrics.aggr_strategies import GlobalAggrStrategy, GlobalSelfInfluenceStrategy - -__all__ = [ - "Metric", - "GlobalMetric", - "GlobalAggrStrategy", - "GlobalSelfInfluenceStrategy", - "aggr_types", - "randomization", - "localization", - "unnamed", -] diff --git a/src/metrics/localization/__init__.py b/src/metrics/localization/__init__.py deleted file mode 100644 index 628603e4..00000000 --- a/src/metrics/localization/__init__.py +++ /dev/null @@ -1,5 +0,0 @@ -from src.metrics.localization.class_detection import ClassDetectionMetric -from src.metrics.localization.mislabeling_detection import MislabelingDetectionMetric -from src.metrics.localization.subclass_detection import SubclassDetectionMetric - -__all__ = ["ClassDetectionMetric", "SubclassDetectionMetric", "MislabelingDetectionMetric"] diff --git a/src/metrics/randomization/__init__.py b/src/metrics/randomization/__init__.py deleted file mode 100644 index d4acc61d..00000000 --- a/src/metrics/randomization/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -from src.metrics.randomization.model_randomization import ModelRandomizationMetric - -__all__ = ["ModelRandomizationMetric"] diff --git a/src/metrics/unnamed/__init__.py b/src/metrics/unnamed/__init__.py deleted file mode 100644 index 6e6b969d..00000000 --- a/src/metrics/unnamed/__init__.py +++ /dev/null @@ -1,4 +0,0 @@ -from src.metrics.unnamed.dataset_cleaning import DatasetCleaningMetric -from src.metrics.unnamed.top_k_overlap import TopKOverlapMetric - -__all__ = ["DatasetCleaningMetric", "TopKOverlapMetric"] diff --git a/src/toy_benchmarks/__init__.py b/src/toy_benchmarks/__init__.py deleted file mode 100644 index 0b224ba2..00000000 --- a/src/toy_benchmarks/__init__.py +++ /dev/null @@ -1,4 +0,0 @@ -from src.toy_benchmarks.base import ToyBenchmark -from src.toy_benchmarks import localization, randomization, unnamed - -__all__ = ["ToyBenchmark", "randomization", "localization", "unnamed"] diff --git a/src/toy_benchmarks/localization/__init__.py b/src/toy_benchmarks/localization/__init__.py deleted file mode 100644 index f3bda569..00000000 --- a/src/toy_benchmarks/localization/__init__.py +++ /dev/null @@ -1,5 +0,0 @@ -from src.toy_benchmarks.localization.class_detection import ClassDetection -from src.toy_benchmarks.localization.mislabeling_detection import MislabelingDetection -from src.toy_benchmarks.localization.subclass_detection import SubclassDetection - -__all__ = ["ClassDetection", "SubclassDetection", "MislabelingDetection"] diff --git a/src/toy_benchmarks/randomization/__init__.py b/src/toy_benchmarks/randomization/__init__.py deleted file mode 100644 index 8cdc605d..00000000 --- a/src/toy_benchmarks/randomization/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -from src.toy_benchmarks.randomization.model_randomization import ModelRandomization - -__all__ = ["ModelRandomization"] diff --git a/src/toy_benchmarks/unnamed/__init__.py b/src/toy_benchmarks/unnamed/__init__.py deleted file mode 100644 index 05c1ba05..00000000 --- a/src/toy_benchmarks/unnamed/__init__.py +++ /dev/null @@ -1,4 +0,0 @@ -from src.toy_benchmarks.unnamed.dataset_cleaning import DatasetCleaning -from src.toy_benchmarks.unnamed.top_k_overlap import TopKOverlap - -__all__ = ["DatasetCleaning", "TopKOverlap"] diff --git a/src/utils/__init__.py b/src/utils/__init__.py deleted file mode 100644 index 7c595f1a..00000000 --- a/src/utils/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -from src.utils import common, datasets, functions, training, validation - -__all__ = ["common", "validation", "datasets", "functions", "training"] diff --git a/src/utils/datasets/__init__.py b/src/utils/datasets/__init__.py deleted file mode 100644 index 5cb8669b..00000000 --- a/src/utils/datasets/__init__.py +++ /dev/null @@ -1,4 +0,0 @@ -from src.utils.datasets.activation_dataset import ActivationDataset -from src.utils.datasets.indexed_subset import IndexedSubset - -__all__ = ["ActivationDataset", "IndexedSubset"] diff --git a/src/utils/datasets/transformed/__init__.py b/src/utils/datasets/transformed/__init__.py deleted file mode 100644 index 18accc9c..00000000 --- a/src/utils/datasets/transformed/__init__.py +++ /dev/null @@ -1,12 +0,0 @@ -from src.utils.datasets.transformed.base import TransformedDataset -from src.utils.datasets.transformed.label_flipping import LabelFlippingDataset -from src.utils.datasets.transformed.label_grouping import ClassToGroupLiterals, LabelGroupingDataset -from src.utils.datasets.transformed.sample import SampleTransformationDataset - -__all__ = [ - "TransformedDataset", - "SampleTransformationDataset", - "LabelFlippingDataset", - "LabelGroupingDataset", - "ClassToGroupLiterals", -] diff --git a/src/utils/training/__init__.py b/src/utils/training/__init__.py deleted file mode 100644 index 5d6af4b5..00000000 --- a/src/utils/training/__init__.py +++ /dev/null @@ -1,4 +0,0 @@ -from src.utils.training.base_pl_module import BasicLightningModule -from src.utils.training.trainer import BaseTrainer, Trainer - -__all__ = ["BasicLightningModule", "BaseTrainer", "Trainer"] diff --git a/tests/conftest.py b/tests/conftest.py index 2e1b0dbc..e8ce5d6b 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -6,7 +6,7 @@ import torch from torch.utils.data import TensorDataset -from src.utils.datasets.transformed import ( +from quanda.utils.datasets.transformed import ( LabelFlippingDataset, LabelGroupingDataset, ) diff --git a/tests/explainers/test_aggregators.py b/tests/explainers/test_aggregators.py index b66d3842..b9b3dc67 100644 --- a/tests/explainers/test_aggregators.py +++ b/tests/explainers/test_aggregators.py @@ -1,7 +1,7 @@ import pytest import torch -from src.explainers import AbsSumAggregator, SumAggregator +from quanda.explainers import AbsSumAggregator, SumAggregator @pytest.mark.aggregators diff --git a/tests/explainers/test_base_explainer.py b/tests/explainers/test_base_explainer.py index 2dda61a8..abd9287e 100644 --- a/tests/explainers/test_base_explainer.py +++ b/tests/explainers/test_base_explainer.py @@ -4,8 +4,8 @@ import pytest import torch -from src.explainers import BaseExplainer -from src.utils.functions import cosine_similarity +from quanda.explainers.base import BaseExplainer +from quanda.utils.functions.similarities import cosine_similarity @pytest.mark.explainers diff --git a/tests/explainers/wrappers/test_captum_influence.py b/tests/explainers/wrappers/test_captum_influence.py index 0820c24c..917317c4 100644 --- a/tests/explainers/wrappers/test_captum_influence.py +++ b/tests/explainers/wrappers/test_captum_influence.py @@ -10,7 +10,7 @@ ) from torch.utils.data import TensorDataset -from src.explainers.wrappers import ( +from quanda.explainers.wrappers import ( CaptumArnoldi, CaptumSimilarity, CaptumTracInCP, @@ -21,8 +21,8 @@ captum_tracincp_explain, captum_tracincp_self_influence, ) -from src.utils.common import get_load_state_dict_func -from src.utils.functions.similarities import ( +from quanda.utils.common import get_load_state_dict_func +from quanda.utils.functions.similarities import ( cosine_similarity, dot_product_similarity, ) diff --git a/tests/metrics/test_aggr_strategies.py b/tests/metrics/test_aggr_strategies.py index 8849ab22..5ace4f21 100644 --- a/tests/metrics/test_aggr_strategies.py +++ b/tests/metrics/test_aggr_strategies.py @@ -1,13 +1,13 @@ import pytest import torch -from src.explainers.wrappers import CaptumSimilarity -from src.metrics import ( +from quanda.explainers.wrappers import CaptumSimilarity +from quanda.metrics import ( GlobalAggrStrategy, GlobalSelfInfluenceStrategy, ) -from src.explainers import AbsSumAggregator -from src.utils.functions import cosine_similarity +from quanda.explainers import AbsSumAggregator +from quanda.utils.functions import cosine_similarity @pytest.mark.aggr_strategies diff --git a/tests/metrics/test_localization_metrics.py b/tests/metrics/test_localization_metrics.py index 9f1d2c2d..175e1cd7 100644 --- a/tests/metrics/test_localization_metrics.py +++ b/tests/metrics/test_localization_metrics.py @@ -1,15 +1,15 @@ import pytest -from src.explainers.wrappers import CaptumSimilarity -from src.explainers import SumAggregator -from src.metrics.localization import ClassDetectionMetric -from src.metrics.localization import ( +from quanda.explainers.wrappers import CaptumSimilarity +from quanda.explainers import SumAggregator +from quanda.metrics.localization import ClassDetectionMetric +from quanda.metrics.localization import ( MislabelingDetectionMetric, ) -from src.metrics.localization import ( +from quanda.metrics.localization import ( SubclassDetectionMetric, ) -from src.utils.functions import cosine_similarity +from quanda.utils.functions import cosine_similarity @pytest.mark.localization_metrics diff --git a/tests/metrics/test_randomization_metrics.py b/tests/metrics/test_randomization_metrics.py index 9c5e36db..19b23b6a 100644 --- a/tests/metrics/test_randomization_metrics.py +++ b/tests/metrics/test_randomization_metrics.py @@ -1,10 +1,10 @@ import pytest import torch -from src.explainers.wrappers import CaptumSimilarity -from src.metrics.randomization import ModelRandomizationMetric +from quanda.explainers.wrappers import CaptumSimilarity +from quanda.metrics.randomization import ModelRandomizationMetric -from src.utils.functions import correlation_functions, cosine_similarity +from quanda.utils.functions import correlation_functions, cosine_similarity @pytest.mark.randomization_metrics diff --git a/tests/metrics/test_unnamed_metrics.py b/tests/metrics/test_unnamed_metrics.py index 8b343031..217903a0 100644 --- a/tests/metrics/test_unnamed_metrics.py +++ b/tests/metrics/test_unnamed_metrics.py @@ -1,9 +1,9 @@ import pytest -from src.explainers.wrappers import CaptumSimilarity -from src.metrics.unnamed import DatasetCleaningMetric, TopKOverlapMetric -from src.utils.functions import cosine_similarity -from src.utils.training import BasicLightningModule, Trainer +from quanda.explainers.wrappers import CaptumSimilarity +from quanda.metrics.unnamed import DatasetCleaningMetric, TopKOverlapMetric +from quanda.utils.functions import cosine_similarity +from quanda.utils.training import BasicLightningModule, Trainer @pytest.mark.unnamed_metrics diff --git a/tests/toy_benchmarks/localization/test_class_detection.py b/tests/toy_benchmarks/localization/test_class_detection.py index 5adb9c1e..7686f7a6 100644 --- a/tests/toy_benchmarks/localization/test_class_detection.py +++ b/tests/toy_benchmarks/localization/test_class_detection.py @@ -1,8 +1,8 @@ import pytest -from src.explainers.wrappers import CaptumSimilarity -from src.toy_benchmarks.localization import ClassDetection -from src.utils.functions import cosine_similarity +from quanda.explainers.wrappers import CaptumSimilarity +from quanda.toy_benchmarks.localization import ClassDetection +from quanda.utils.functions import cosine_similarity @pytest.mark.toy_benchmarks diff --git a/tests/toy_benchmarks/localization/test_mislabeling_detection.py b/tests/toy_benchmarks/localization/test_mislabeling_detection.py index eeae30e1..37174e12 100644 --- a/tests/toy_benchmarks/localization/test_mislabeling_detection.py +++ b/tests/toy_benchmarks/localization/test_mislabeling_detection.py @@ -1,10 +1,10 @@ import pytest -from src.explainers.wrappers import CaptumSimilarity -from src.explainers import SumAggregator -from src.toy_benchmarks.localization import MislabelingDetection -from src.utils.functions import cosine_similarity -from src.utils.training import Trainer, BasicLightningModule +from quanda.explainers.wrappers import CaptumSimilarity +from quanda.explainers import SumAggregator +from quanda.toy_benchmarks.localization import MislabelingDetection +from quanda.utils.functions import cosine_similarity +from quanda.utils.training import Trainer, BasicLightningModule @pytest.mark.toy_benchmarks diff --git a/tests/toy_benchmarks/localization/test_subclass_detection.py b/tests/toy_benchmarks/localization/test_subclass_detection.py index 15da792a..cef64c07 100644 --- a/tests/toy_benchmarks/localization/test_subclass_detection.py +++ b/tests/toy_benchmarks/localization/test_subclass_detection.py @@ -1,15 +1,9 @@ import pytest -from src.explainers.wrappers import CaptumSimilarity -<<<<<<< HEAD -from src.toy_benchmarks.localization import ( - SubclassDetection, -) -======= -from src.toy_benchmarks.localization import SubclassDetection ->>>>>>> 8d632a4 (fix test imports) -from src.utils.functions import cosine_similarity -from src.utils.training import Trainer, BasicLightningModule +from quanda.explainers.wrappers import CaptumSimilarity +from quanda.toy_benchmarks.localization import SubclassDetection +from quanda.utils.functions import cosine_similarity +from quanda.utils.training import Trainer, BasicLightningModule @pytest.mark.toy_benchmarks diff --git a/tests/toy_benchmarks/randomization/test_model_randomization.py b/tests/toy_benchmarks/randomization/test_model_randomization.py index c645eaa2..540c40db 100644 --- a/tests/toy_benchmarks/randomization/test_model_randomization.py +++ b/tests/toy_benchmarks/randomization/test_model_randomization.py @@ -1,8 +1,8 @@ import pytest -from src.explainers.wrappers import CaptumSimilarity -from src.toy_benchmarks.randomization import ModelRandomization -from src.utils.functions import cosine_similarity +from quanda.explainers.wrappers import CaptumSimilarity +from quanda.toy_benchmarks.randomization import ModelRandomization +from quanda.utils.functions import cosine_similarity @pytest.mark.toy_benchmarks diff --git a/tests/toy_benchmarks/unnamed/test_dataset_cleaning.py b/tests/toy_benchmarks/unnamed/test_dataset_cleaning.py index 0d29f070..266bd53b 100644 --- a/tests/toy_benchmarks/unnamed/test_dataset_cleaning.py +++ b/tests/toy_benchmarks/unnamed/test_dataset_cleaning.py @@ -1,9 +1,9 @@ import pytest -from src.explainers.wrappers import CaptumSimilarity -from src.toy_benchmarks.unnamed import DatasetCleaning -from src.utils.functions import cosine_similarity -from src.utils.training import BasicLightningModule, Trainer +from quanda.explainers.wrappers import CaptumSimilarity +from quanda.toy_benchmarks.unnamed import DatasetCleaning +from quanda.utils.functions import cosine_similarity +from quanda.utils.training import BasicLightningModule, Trainer @pytest.mark.toy_benchmarks diff --git a/tests/toy_benchmarks/unnamed/test_top_k_overlap.py b/tests/toy_benchmarks/unnamed/test_top_k_overlap.py index 5b64df80..bd417a1c 100644 --- a/tests/toy_benchmarks/unnamed/test_top_k_overlap.py +++ b/tests/toy_benchmarks/unnamed/test_top_k_overlap.py @@ -1,8 +1,8 @@ import pytest -from src.explainers.wrappers import CaptumSimilarity -from src.toy_benchmarks.unnamed import TopKOverlap -from src.utils.functions import cosine_similarity +from quanda.explainers.wrappers import CaptumSimilarity +from quanda.toy_benchmarks.unnamed import TopKOverlap +from quanda.utils.functions import cosine_similarity @pytest.mark.toy_benchmarks diff --git a/tests/utils/datasets/transformed/test_base.py b/tests/utils/datasets/transformed/test_base.py index f6cbf9a1..d95124cf 100644 --- a/tests/utils/datasets/transformed/test_base.py +++ b/tests/utils/datasets/transformed/test_base.py @@ -2,7 +2,7 @@ import torch from torch.utils.data import Dataset, TensorDataset -from src.utils.datasets.transformed import TransformedDataset +from quanda.utils.datasets.transformed import TransformedDataset class UnsizedTensorDataset(Dataset): diff --git a/tests/utils/datasets/transformed/test_label_flipping.py b/tests/utils/datasets/transformed/test_label_flipping.py index e3074ec9..89782913 100644 --- a/tests/utils/datasets/transformed/test_label_flipping.py +++ b/tests/utils/datasets/transformed/test_label_flipping.py @@ -1,6 +1,6 @@ import pytest -from src.utils.datasets.transformed import LabelFlippingDataset +from quanda.utils.datasets.transformed import LabelFlippingDataset @pytest.mark.utils diff --git a/tests/utils/datasets/transformed/test_label_grouping.py b/tests/utils/datasets/transformed/test_label_grouping.py index 24d212bd..823b25b0 100644 --- a/tests/utils/datasets/transformed/test_label_grouping.py +++ b/tests/utils/datasets/transformed/test_label_grouping.py @@ -1,6 +1,6 @@ import pytest -from src.utils.datasets.transformed import LabelGroupingDataset +from quanda.utils.datasets.transformed import LabelGroupingDataset @pytest.mark.utils diff --git a/tests/utils/test_common.py b/tests/utils/test_common.py index dfe37a5b..a19863c5 100644 --- a/tests/utils/test_common.py +++ b/tests/utils/test_common.py @@ -1,6 +1,6 @@ import pytest -from src.utils.common import make_func +from quanda.utils.common import make_func @pytest.mark.utils diff --git a/tests/utils/test_training.py b/tests/utils/test_training.py index faf7a999..d6f8c183 100644 --- a/tests/utils/test_training.py +++ b/tests/utils/test_training.py @@ -3,7 +3,7 @@ import pytest import torch -from src.utils.training import Trainer, BasicLightningModule +from quanda.utils.training import Trainer, BasicLightningModule @pytest.mark.utils diff --git a/tox.ini b/tox.ini index 4626a96a..9fe29164 100644 --- a/tox.ini +++ b/tox.ini @@ -24,7 +24,7 @@ deps = coverage pytest_cov commands = - python3 -m pytest --cov=src --cov-report=term-missing --cov-fail-under 57 --cov-report html:htmlcov --cov-report xml {posargs} + python3 -m pytest --cov=quanda --cov-report=term-missing --cov-fail-under 57 --cov-report html:htmlcov --cov-report xml {posargs} [testenv:lint] @@ -41,7 +41,7 @@ deps = {[testenv]deps} mypy==1.9.0 commands = - python3 -m mypy src --check-untyped-defs + python3 -m mypy quanda --check-untyped-defs [flake8] max-line-length = 127 diff --git a/tutorials/usage_testing.py b/tutorials/usage_testing.py index 03134f05..47662217 100644 --- a/tutorials/usage_testing.py +++ b/tutorials/usage_testing.py @@ -16,19 +16,19 @@ from torchvision.utils import make_grid from tqdm import tqdm -from src.explainers.wrappers.captum_influence import ( +from quanda.explainers.wrappers.captum_influence import ( CaptumSimilarity, captum_similarity_explain, ) -from src.metrics.localization.class_detection import ClassDetectionMetric -from src.metrics.randomization.model_randomization import ( +from quanda.metrics.localization.class_detection import ClassDetectionMetric +from quanda.metrics.randomization.model_randomization import ( ModelRandomizationMetric, ) -from src.metrics.unnamed.dataset_cleaning import DatasetCleaningMetric -from src.metrics.unnamed.top_k_overlap import TopKOverlapMetric -from src.toy_benchmarks.subclass_detection import SubclassDetection -from src.utils.training.base_pl_module import BasicLightningModule -from src.utils.training.trainer import Trainer +from quanda.metrics.unnamed.dataset_cleaning import DatasetCleaningMetric +from quanda.metrics.unnamed.top_k_overlap import TopKOverlapMetric +from quanda.toy_benchmarks.subclass_detection import SubclassDetection +from quanda.utils.training.base_pl_module import BasicLightningModule +from quanda.utils.training.trainer import Trainer DEVICE = "cuda:0" # "cuda" if torch.cuda.is_available() else "cpu" torch.set_float32_matmul_precision("medium") From bc454af081e075d740aa72e2816cf74f279d1f07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Galip=20=C3=9Cmit=20Yolcu?= Date: Tue, 6 Aug 2024 18:32:43 +0200 Subject: [PATCH 14/21] fix more test imports --- tests/assets/mnist_dataset_cleaning_state_dict | Bin 0 -> 210962 bytes tests/explainers/test_base_explainer.py | 4 ++-- .../wrappers/test_captum_influence.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) create mode 100644 tests/assets/mnist_dataset_cleaning_state_dict diff --git a/tests/assets/mnist_dataset_cleaning_state_dict b/tests/assets/mnist_dataset_cleaning_state_dict new file mode 100644 index 0000000000000000000000000000000000000000..74b2a298b9d827b4f67eb1723023be516f6ac6cd GIT binary patch literal 210962 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 {b{7kTS!g&{`A$$+~9 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 F{{b{102=@R literal 0 HcmV?d00001 diff --git a/tests/explainers/test_base_explainer.py b/tests/explainers/test_base_explainer.py index abd9287e..2fc4cd34 100644 --- a/tests/explainers/test_base_explainer.py +++ b/tests/explainers/test_base_explainer.py @@ -4,8 +4,8 @@ import pytest import torch -from quanda.explainers.base import BaseExplainer -from quanda.utils.functions.similarities import cosine_similarity +from quanda.explainers import BaseExplainer +from quanda.utils.functions import cosine_similarity @pytest.mark.explainers diff --git a/tests/explainers/wrappers/test_captum_influence.py b/tests/explainers/wrappers/test_captum_influence.py index 917317c4..758723c2 100644 --- a/tests/explainers/wrappers/test_captum_influence.py +++ b/tests/explainers/wrappers/test_captum_influence.py @@ -22,7 +22,7 @@ captum_tracincp_self_influence, ) from quanda.utils.common import get_load_state_dict_func -from quanda.utils.functions.similarities import ( +from quanda.utils.functions import ( cosine_similarity, dot_product_similarity, ) From 842f92104dab2bae9f9c6a9b1e99e66b84d348c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Galip=20=C3=9Cmit=20Yolcu?= Date: Tue, 6 Aug 2024 18:39:59 +0200 Subject: [PATCH 15/21] one more test fix --- tests/metrics/test_localization_metrics.py | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/tests/metrics/test_localization_metrics.py b/tests/metrics/test_localization_metrics.py index 175e1cd7..9168f631 100644 --- a/tests/metrics/test_localization_metrics.py +++ b/tests/metrics/test_localization_metrics.py @@ -2,13 +2,7 @@ from quanda.explainers.wrappers import CaptumSimilarity from quanda.explainers import SumAggregator -from quanda.metrics.localization import ClassDetectionMetric -from quanda.metrics.localization import ( - MislabelingDetectionMetric, -) -from quanda.metrics.localization import ( - SubclassDetectionMetric, -) +from quanda.metrics.localization import ClassDetectionMetric, SubclassDetectionMetric, MislabelingDetectionMetric from quanda.utils.functions import cosine_similarity From 59e36035666af8e910411cddfd8aa74bfa4f6f71 Mon Sep 17 00:00:00 2001 From: dilyabareeva Date: Tue, 6 Aug 2024 23:08:08 +0200 Subject: [PATCH 16/21] post-merge conflict resolution --- .../localization/mislabeling_detection.py | 8 ++++---- .../toy_benchmarks/localization/subclass_detection.py | 8 ++++---- quanda/toy_benchmarks/unnamed/dataset_cleaning.py | 6 +++--- tests/conftest.py | 6 +++--- tests/metrics/test_unnamed_metrics.py | 10 +++++----- .../localization/test_mislabeling_detection.py | 10 +++++----- .../localization/test_subclass_detection.py | 8 ++++---- tests/toy_benchmarks/unnamed/test_dataset_cleaning.py | 10 ++++------ tests/utils/test_training.py | 2 +- 9 files changed, 33 insertions(+), 35 deletions(-) diff --git a/quanda/toy_benchmarks/localization/mislabeling_detection.py b/quanda/toy_benchmarks/localization/mislabeling_detection.py index d2a16127..a9769178 100644 --- a/quanda/toy_benchmarks/localization/mislabeling_detection.py +++ b/quanda/toy_benchmarks/localization/mislabeling_detection.py @@ -5,12 +5,12 @@ import torch from tqdm import tqdm -from src.metrics.localization.mislabeling_detection import ( +from quanda.metrics.localization.mislabeling_detection import ( MislabelingDetectionMetric, ) -from src.toy_benchmarks.base import ToyBenchmark -from src.utils.datasets.transformed.label_flipping import LabelFlippingDataset -from src.utils.training.trainer import BaseTrainer +from quanda.toy_benchmarks.base import ToyBenchmark +from quanda.utils.datasets.transformed.label_flipping import LabelFlippingDataset +from quanda.utils.training.trainer import BaseTrainer class MislabelingDetection(ToyBenchmark): diff --git a/quanda/toy_benchmarks/localization/subclass_detection.py b/quanda/toy_benchmarks/localization/subclass_detection.py index ffbe88f4..6415e407 100644 --- a/quanda/toy_benchmarks/localization/subclass_detection.py +++ b/quanda/toy_benchmarks/localization/subclass_detection.py @@ -5,13 +5,13 @@ import torch from tqdm import tqdm -from src.metrics.localization.class_detection import ClassDetectionMetric -from src.toy_benchmarks.base import ToyBenchmark -from src.utils.datasets.transformed.label_grouping import ( +from quanda.metrics.localization.class_detection import ClassDetectionMetric +from quanda.toy_benchmarks.base import ToyBenchmark +from quanda.utils.datasets.transformed.label_grouping import ( ClassToGroupLiterals, LabelGroupingDataset, ) -from src.utils.training.trainer import BaseTrainer +from quanda.utils.training.trainer import BaseTrainer class SubclassDetection(ToyBenchmark): diff --git a/quanda/toy_benchmarks/unnamed/dataset_cleaning.py b/quanda/toy_benchmarks/unnamed/dataset_cleaning.py index c89d9484..6207cb91 100644 --- a/quanda/toy_benchmarks/unnamed/dataset_cleaning.py +++ b/quanda/toy_benchmarks/unnamed/dataset_cleaning.py @@ -5,9 +5,9 @@ import torch from tqdm import tqdm -from src.metrics.unnamed.dataset_cleaning import DatasetCleaningMetric -from src.toy_benchmarks.base import ToyBenchmark -from src.utils.training.trainer import BaseTrainer +from quanda.metrics.unnamed.dataset_cleaning import DatasetCleaningMetric +from quanda.toy_benchmarks.base import ToyBenchmark +from quanda.utils.training.trainer import BaseTrainer class DatasetCleaning(ToyBenchmark): diff --git a/tests/conftest.py b/tests/conftest.py index e4e6439c..9f9cf145 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -6,9 +6,9 @@ import torch from torch.utils.data import TensorDataset -from src.utils.datasets.transformed.label_flipping import LabelFlippingDataset -from src.utils.datasets.transformed.label_grouping import LabelGroupingDataset -from src.utils.training.base_pl_module import BasicLightningModule +from quanda.utils.datasets.transformed.label_flipping import LabelFlippingDataset +from quanda.utils.datasets.transformed.label_grouping import LabelGroupingDataset +from quanda.utils.training.base_pl_module import BasicLightningModule from tests.models import LeNet MNIST_IMAGE_SIZE = 28 diff --git a/tests/metrics/test_unnamed_metrics.py b/tests/metrics/test_unnamed_metrics.py index c7146514..9e6e8c25 100644 --- a/tests/metrics/test_unnamed_metrics.py +++ b/tests/metrics/test_unnamed_metrics.py @@ -1,10 +1,10 @@ import pytest -from src.explainers.wrappers.captum_influence import CaptumSimilarity -from src.metrics.unnamed.dataset_cleaning import DatasetCleaningMetric -from src.metrics.unnamed.top_k_overlap import TopKOverlapMetric -from src.utils.functions.similarities import cosine_similarity -from src.utils.training.trainer import Trainer +from quanda.explainers.wrappers.captum_influence import CaptumSimilarity +from quanda.metrics.unnamed.dataset_cleaning import DatasetCleaningMetric +from quanda.metrics.unnamed.top_k_overlap import TopKOverlapMetric +from quanda.utils.functions.similarities import cosine_similarity +from quanda.utils.training.trainer import Trainer @pytest.mark.unnamed_metrics diff --git a/tests/toy_benchmarks/localization/test_mislabeling_detection.py b/tests/toy_benchmarks/localization/test_mislabeling_detection.py index de9719be..b2417955 100644 --- a/tests/toy_benchmarks/localization/test_mislabeling_detection.py +++ b/tests/toy_benchmarks/localization/test_mislabeling_detection.py @@ -1,13 +1,13 @@ import lightning as L import pytest -from src.explainers.aggregators import SumAggregator -from src.explainers.wrappers.captum_influence import CaptumSimilarity -from src.toy_benchmarks.localization.mislabeling_detection import ( +from quanda.explainers.aggregators import SumAggregator +from quanda.explainers.wrappers.captum_influence import CaptumSimilarity +from quanda.toy_benchmarks.localization.mislabeling_detection import ( MislabelingDetection, ) -from src.utils.functions.similarities import cosine_similarity -from src.utils.training.trainer import Trainer +from quanda.utils.functions.similarities import cosine_similarity +from quanda.utils.training.trainer import Trainer @pytest.mark.toy_benchmarks diff --git a/tests/toy_benchmarks/localization/test_subclass_detection.py b/tests/toy_benchmarks/localization/test_subclass_detection.py index 63e4f1fd..d5a6a7cc 100644 --- a/tests/toy_benchmarks/localization/test_subclass_detection.py +++ b/tests/toy_benchmarks/localization/test_subclass_detection.py @@ -1,12 +1,12 @@ import lightning as L import pytest -from src.explainers.wrappers.captum_influence import CaptumSimilarity -from src.toy_benchmarks.localization.subclass_detection import ( +from quanda.explainers.wrappers.captum_influence import CaptumSimilarity +from quanda.toy_benchmarks.localization.subclass_detection import ( SubclassDetection, ) -from src.utils.functions.similarities import cosine_similarity -from src.utils.training.trainer import Trainer +from quanda.utils.functions.similarities import cosine_similarity +from quanda.utils.training.trainer import Trainer @pytest.mark.toy_benchmarks diff --git a/tests/toy_benchmarks/unnamed/test_dataset_cleaning.py b/tests/toy_benchmarks/unnamed/test_dataset_cleaning.py index f3c8d5a1..b7fa1ce4 100644 --- a/tests/toy_benchmarks/unnamed/test_dataset_cleaning.py +++ b/tests/toy_benchmarks/unnamed/test_dataset_cleaning.py @@ -1,10 +1,10 @@ import lightning as L import pytest -from src.explainers.wrappers.captum_influence import CaptumSimilarity -from src.toy_benchmarks.unnamed.dataset_cleaning import DatasetCleaning -from src.utils.functions.similarities import cosine_similarity -from src.utils.training.trainer import Trainer +from quanda.explainers.wrappers.captum_influence import CaptumSimilarity +from quanda.toy_benchmarks.unnamed.dataset_cleaning import DatasetCleaning +from quanda.utils.functions.similarities import cosine_similarity +from quanda.utils.training.trainer import Trainer @pytest.mark.toy_benchmarks @@ -116,7 +116,6 @@ def test_dataset_cleaning( train_dataset=dataset, device="cpu", ) - dst_eval.save("tests/assets/mnist_dataset_cleaning_state_dict") elif init_method == "load": dst_eval = DatasetCleaning.load(path=load_path) @@ -206,7 +205,6 @@ def test_dataset_cleaning_generate_from_pl_module( train_dataset=dataset, device="cpu", ) - dst_eval.save("tests/assets/mnist_dataset_cleaning_state_dict") score = dst_eval.evaluate( expl_dataset=dataset, diff --git a/tests/utils/test_training.py b/tests/utils/test_training.py index eb72b8f4..eb9dcc7d 100644 --- a/tests/utils/test_training.py +++ b/tests/utils/test_training.py @@ -3,7 +3,7 @@ import pytest import torch -from src.utils.training.trainer import Trainer +from quanda.utils.training.trainer import Trainer @pytest.mark.utils From 076fe90b5be0e59fdca8e590bf75b65af94760c1 Mon Sep 17 00:00:00 2001 From: dilyabareeva Date: Tue, 6 Aug 2024 23:09:11 +0200 Subject: [PATCH 17/21] fixing tmp_path fix --- tests/metrics/test_randomization_metrics.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/tests/metrics/test_randomization_metrics.py b/tests/metrics/test_randomization_metrics.py index 19b23b6a..a0fe2c4d 100644 --- a/tests/metrics/test_randomization_metrics.py +++ b/tests/metrics/test_randomization_metrics.py @@ -10,7 +10,7 @@ @pytest.mark.randomization_metrics @pytest.mark.parametrize( "test_id, model, dataset, test_data, batch_size, explainer_cls, \ - expl_kwargs, explanations, test_labels, correlation_fn, tmp_path", + expl_kwargs, explanations, test_labels, correlation_fn", [ ( "mnist_update_only_spearman", @@ -26,7 +26,6 @@ "load_mnist_explanations_1", "load_mnist_test_labels_1", "spearman", - "tmp_path", ), ( "mnist_update_only_kendall", @@ -42,7 +41,6 @@ "load_mnist_explanations_1", "load_mnist_test_labels_1", "kendall", - "tmp_path", ), ( "mnist_explain_update", @@ -58,7 +56,6 @@ "load_mnist_explanations_1", "load_mnist_test_labels_1", "spearman", - "tmp_path", ), ], ) From 1d8dc0bd67c45b14d3f90bd6adf57f306ef5c75c Mon Sep 17 00:00:00 2001 From: dilyabareeva Date: Tue, 6 Aug 2024 23:20:32 +0200 Subject: [PATCH 18/21] remove built-in name usage --- .../toy_benchmarks/localization/mislabeling_detection.py | 8 ++++---- quanda/toy_benchmarks/localization/subclass_detection.py | 8 ++++---- quanda/toy_benchmarks/unnamed/dataset_cleaning.py | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/quanda/toy_benchmarks/localization/mislabeling_detection.py b/quanda/toy_benchmarks/localization/mislabeling_detection.py index a9769178..79472f39 100644 --- a/quanda/toy_benchmarks/localization/mislabeling_detection.py +++ b/quanda/toy_benchmarks/localization/mislabeling_detection.py @@ -256,16 +256,16 @@ def evaluate( pbar = tqdm(expl_dl) n_batches = len(expl_dl) - for i, (input, labels) in enumerate(pbar): + for i, (inputs, labels) in enumerate(pbar): pbar.set_description("Metric evaluation, batch %d/%d" % (i + 1, n_batches)) - input, labels = input.to(device), labels.to(device) + inputs, labels = inputs.to(device), labels.to(device) if use_predictions: with torch.no_grad(): - targets = self.model(input).argmax(dim=-1) + targets = self.model(inputs).argmax(dim=-1) else: targets = labels - explanations = explainer.explain(test=input, targets=targets) + explanations = explainer.explain(test=inputs, targets=targets) metric.update(explanations) else: metric = MislabelingDetectionMetric.self_influence_based( diff --git a/quanda/toy_benchmarks/localization/subclass_detection.py b/quanda/toy_benchmarks/localization/subclass_detection.py index 6415e407..f3dbe4f7 100644 --- a/quanda/toy_benchmarks/localization/subclass_detection.py +++ b/quanda/toy_benchmarks/localization/subclass_detection.py @@ -231,19 +231,19 @@ def evaluate( pbar = tqdm(expl_dl) n_batches = len(expl_dl) - for i, (input, labels) in enumerate(pbar): + for i, (inputs, labels) in enumerate(pbar): pbar.set_description("Metric evaluation, batch %d/%d" % (i + 1, n_batches)) - input, labels = input.to(device), labels.to(device) + inputs, labels = inputs.to(device), labels.to(device) grouped_labels = torch.tensor([self.class_to_group[i.item()] for i in labels], device=labels.device) if use_predictions: with torch.no_grad(): - output = self.group_model(input) + output = self.group_model(inputs) targets = output.argmax(dim=-1) else: targets = grouped_labels explanations = explainer.explain( - test=input, + test=inputs, targets=targets, ) diff --git a/quanda/toy_benchmarks/unnamed/dataset_cleaning.py b/quanda/toy_benchmarks/unnamed/dataset_cleaning.py index 6207cb91..99a17364 100644 --- a/quanda/toy_benchmarks/unnamed/dataset_cleaning.py +++ b/quanda/toy_benchmarks/unnamed/dataset_cleaning.py @@ -123,20 +123,20 @@ def evaluate( pbar = tqdm(expl_dl) n_batches = len(expl_dl) - for i, (input, labels) in enumerate(pbar): + for i, (inputs, labels) in enumerate(pbar): pbar.set_description("Metric evaluation, batch %d/%d" % (i + 1, n_batches)) - input, labels = input.to(device), labels.to(device) + inputs, labels = inputs.to(device), labels.to(device) if use_predictions: with torch.no_grad(): - output = self.model(input) + output = self.model(inputs) targets = output.argmax(dim=-1) else: targets = labels explanations = explainer.explain( - test=input, + test=inputs, targets=targets, ) metric.update(explanations) From 06e9c03fa9154af64e1f7db229dbf41e42ca8f91 Mon Sep 17 00:00:00 2001 From: dilyabareeva Date: Tue, 6 Aug 2024 23:20:44 +0200 Subject: [PATCH 19/21] imports clean-up --- quanda/explainers/utils.py | 3 --- quanda/metrics/__init__.py | 1 - quanda/utils/common.py | 10 ---------- quanda/utils/validation.py | 3 --- 4 files changed, 17 deletions(-) diff --git a/quanda/explainers/utils.py b/quanda/explainers/utils.py index 9bc3b3cc..135e8152 100644 --- a/quanda/explainers/utils.py +++ b/quanda/explainers/utils.py @@ -60,6 +60,3 @@ def self_influence_fn_from_explainer( ) return explainer.self_influence(**self_influence_kwargs) - - -__all__ = ["_init_explainer", "explain_fn_from_explainer", "self_influence_fn_from_explainer"] diff --git a/quanda/metrics/__init__.py b/quanda/metrics/__init__.py index 7147aa7a..b9399687 100644 --- a/quanda/metrics/__init__.py +++ b/quanda/metrics/__init__.py @@ -7,7 +7,6 @@ "GlobalMetric", "GlobalAggrStrategy", "GlobalSelfInfluenceStrategy", - "aggr_types", "randomization", "localization", "unnamed", diff --git a/quanda/utils/common.py b/quanda/utils/common.py index 9a4fa38a..ef96aacc 100644 --- a/quanda/utils/common.py +++ b/quanda/utils/common.py @@ -99,13 +99,3 @@ def load_state_dict(model: torch.nn.Module, path: str) -> float: return _load_flexible_state_dict(model, path, device) return load_state_dict - - -__all__ = [ - "_get_module_from_name", - "get_parent_module_from_name", - "make_func", - "cache_result", - "_load_flexible_state_dict", - "get_load_state_dict_func", -] diff --git a/quanda/utils/validation.py b/quanda/utils/validation.py index ba22fe4c..8a228556 100644 --- a/quanda/utils/validation.py +++ b/quanda/utils/validation.py @@ -38,6 +38,3 @@ def validate_checkpoints_load_func(checkpoints_load_func: Callable[..., Any]) -> raise TypeError( f"The second parameter of checkpoints_load_func must be of type 'str'. Got '{second_param.annotation}'." ) - - -__all__ = ["validate_1d_tensor_or_int_list", "validate_checkpoints_load_func"] From 8db04f529ab53b589043fc1607df9fcf1f3c58c0 Mon Sep 17 00:00:00 2001 From: dilyabareeva Date: Tue, 6 Aug 2024 23:40:59 +0200 Subject: [PATCH 20/21] import from base.py, isort issue --- Makefile | 2 +- quanda/explainers/__init__.py | 9 +++++++-- quanda/explainers/wrappers/captum_influence.py | 2 +- quanda/metrics/__init__.py | 7 +++++-- quanda/metrics/aggr_strategies.py | 2 +- quanda/metrics/base.py | 2 +- quanda/metrics/localization/__init__.py | 8 ++++++-- quanda/metrics/localization/class_detection.py | 2 +- .../metrics/localization/mislabeling_detection.py | 2 +- quanda/metrics/randomization/__init__.py | 4 +++- quanda/metrics/randomization/model_randomization.py | 2 +- quanda/metrics/unnamed/dataset_cleaning.py | 2 +- quanda/metrics/unnamed/top_k_overlap.py | 2 +- quanda/toy_benchmarks/__init__.py | 2 +- quanda/toy_benchmarks/localization/__init__.py | 8 ++++++-- .../toy_benchmarks/localization/class_detection.py | 2 +- .../localization/mislabeling_detection.py | 4 +++- quanda/toy_benchmarks/randomization/__init__.py | 4 +++- .../randomization/model_randomization.py | 2 +- quanda/toy_benchmarks/unnamed/top_k_overlap.py | 2 +- quanda/utils/datasets/transformed/__init__.py | 13 ++++++++++--- quanda/utils/functions/__init__.py | 5 ++++- tests/conftest.py | 8 ++++++-- tests/explainers/wrappers/test_captum_influence.py | 5 +---- tests/metrics/test_aggr_strategies.py | 7 ++----- tests/metrics/test_localization_metrics.py | 8 ++++++-- tests/metrics/test_randomization_metrics.py | 1 - 27 files changed, 75 insertions(+), 42 deletions(-) diff --git a/Makefile b/Makefile index 92349780..2b5381d5 100644 --- a/Makefile +++ b/Makefile @@ -7,7 +7,7 @@ style: black . python -m flake8 . --pytest-parametrize-names-type=csv python -m isort . - python -m mypy src --check-untyped-defs + python -m mypy quanda --check-untyped-defs rm -f .coverage rm -f .coverage.* find . | grep -E "(__pycache__|\.pyc|\.pyo)" | xargs rm -rf diff --git a/quanda/explainers/__init__.py b/quanda/explainers/__init__.py index 298886b2..c682a366 100644 --- a/quanda/explainers/__init__.py +++ b/quanda/explainers/__init__.py @@ -1,8 +1,13 @@ -from quanda.explainers.base import BaseExplainer from quanda.explainers import utils, wrappers +from quanda.explainers.aggregators import ( + AbsSumAggregator, + BaseAggregator, + SumAggregator, + aggr_types, +) +from quanda.explainers.base import BaseExplainer from quanda.explainers.functional import ExplainFunc, ExplainFuncMini from quanda.explainers.random import RandomExplainer -from quanda.explainers.aggregators import BaseAggregator, SumAggregator, AbsSumAggregator, aggr_types __all__ = [ "BaseExplainer", diff --git a/quanda/explainers/wrappers/captum_influence.py b/quanda/explainers/wrappers/captum_influence.py index 7c52d486..e1bdda55 100644 --- a/quanda/explainers/wrappers/captum_influence.py +++ b/quanda/explainers/wrappers/captum_influence.py @@ -11,7 +11,7 @@ ArnoldiInfluenceFunction, ) -from quanda.explainers import BaseExplainer +from quanda.explainers.base import BaseExplainer from quanda.explainers.utils import ( explain_fn_from_explainer, self_influence_fn_from_explainer, diff --git a/quanda/metrics/__init__.py b/quanda/metrics/__init__.py index b9399687..40b3aa8e 100644 --- a/quanda/metrics/__init__.py +++ b/quanda/metrics/__init__.py @@ -1,6 +1,9 @@ -from quanda.metrics.base import GlobalMetric, Metric from quanda.metrics import localization, randomization, unnamed -from quanda.metrics.aggr_strategies import GlobalAggrStrategy, GlobalSelfInfluenceStrategy +from quanda.metrics.aggr_strategies import ( + GlobalAggrStrategy, + GlobalSelfInfluenceStrategy, +) +from quanda.metrics.base import GlobalMetric, Metric __all__ = [ "Metric", diff --git a/quanda/metrics/aggr_strategies.py b/quanda/metrics/aggr_strategies.py index 7e73af18..c82ff115 100644 --- a/quanda/metrics/aggr_strategies.py +++ b/quanda/metrics/aggr_strategies.py @@ -4,7 +4,7 @@ import torch -from quanda.explainers import BaseExplainer, BaseAggregator +from quanda.explainers import BaseAggregator, BaseExplainer class GlobalSelfInfluenceStrategy: diff --git a/quanda/metrics/base.py b/quanda/metrics/base.py index 26a96965..79dfc8d0 100644 --- a/quanda/metrics/base.py +++ b/quanda/metrics/base.py @@ -3,11 +3,11 @@ import torch +from quanda.explainers import aggr_types from quanda.metrics.aggr_strategies import ( GlobalAggrStrategy, GlobalSelfInfluenceStrategy, ) -from quanda.explainers import aggr_types class Metric(ABC): diff --git a/quanda/metrics/localization/__init__.py b/quanda/metrics/localization/__init__.py index 3c31eb34..0cc6dbe4 100644 --- a/quanda/metrics/localization/__init__.py +++ b/quanda/metrics/localization/__init__.py @@ -1,5 +1,9 @@ from quanda.metrics.localization.class_detection import ClassDetectionMetric -from quanda.metrics.localization.mislabeling_detection import MislabelingDetectionMetric -from quanda.metrics.localization.subclass_detection import SubclassDetectionMetric +from quanda.metrics.localization.mislabeling_detection import ( + MislabelingDetectionMetric, +) +from quanda.metrics.localization.subclass_detection import ( + SubclassDetectionMetric, +) __all__ = ["ClassDetectionMetric", "SubclassDetectionMetric", "MislabelingDetectionMetric"] diff --git a/quanda/metrics/localization/class_detection.py b/quanda/metrics/localization/class_detection.py index a3234e80..828b6778 100644 --- a/quanda/metrics/localization/class_detection.py +++ b/quanda/metrics/localization/class_detection.py @@ -2,7 +2,7 @@ import torch -from quanda.metrics import Metric +from quanda.metrics.base import Metric class ClassDetectionMetric(Metric): diff --git a/quanda/metrics/localization/mislabeling_detection.py b/quanda/metrics/localization/mislabeling_detection.py index 9266ed73..f8055692 100644 --- a/quanda/metrics/localization/mislabeling_detection.py +++ b/quanda/metrics/localization/mislabeling_detection.py @@ -2,7 +2,7 @@ import torch -from quanda.metrics import GlobalMetric +from quanda.metrics.base import GlobalMetric class MislabelingDetectionMetric(GlobalMetric): diff --git a/quanda/metrics/randomization/__init__.py b/quanda/metrics/randomization/__init__.py index 58fb2499..03486024 100644 --- a/quanda/metrics/randomization/__init__.py +++ b/quanda/metrics/randomization/__init__.py @@ -1,3 +1,5 @@ -from quanda.metrics.randomization.model_randomization import ModelRandomizationMetric +from quanda.metrics.randomization.model_randomization import ( + ModelRandomizationMetric, +) __all__ = ["ModelRandomizationMetric"] diff --git a/quanda/metrics/randomization/model_randomization.py b/quanda/metrics/randomization/model_randomization.py index 97e5616f..2a584d83 100644 --- a/quanda/metrics/randomization/model_randomization.py +++ b/quanda/metrics/randomization/model_randomization.py @@ -3,7 +3,7 @@ import torch -from quanda.metrics import Metric +from quanda.metrics.base import Metric from quanda.utils.common import get_parent_module_from_name from quanda.utils.functions import CorrelationFnLiterals, correlation_functions diff --git a/quanda/metrics/unnamed/dataset_cleaning.py b/quanda/metrics/unnamed/dataset_cleaning.py index d1d95748..dfd10f5c 100644 --- a/quanda/metrics/unnamed/dataset_cleaning.py +++ b/quanda/metrics/unnamed/dataset_cleaning.py @@ -4,7 +4,7 @@ import lightning as L import torch -from quanda.metrics import GlobalMetric +from quanda.metrics.base import GlobalMetric from quanda.utils.common import class_accuracy from quanda.utils.training import BaseTrainer diff --git a/quanda/metrics/unnamed/top_k_overlap.py b/quanda/metrics/unnamed/top_k_overlap.py index b86353dc..e9ef3e6f 100644 --- a/quanda/metrics/unnamed/top_k_overlap.py +++ b/quanda/metrics/unnamed/top_k_overlap.py @@ -1,6 +1,6 @@ import torch -from quanda.metrics import Metric +from quanda.metrics.base import Metric class TopKOverlapMetric(Metric): diff --git a/quanda/toy_benchmarks/__init__.py b/quanda/toy_benchmarks/__init__.py index b275c546..7dc47e53 100644 --- a/quanda/toy_benchmarks/__init__.py +++ b/quanda/toy_benchmarks/__init__.py @@ -1,4 +1,4 @@ -from quanda.toy_benchmarks.base import ToyBenchmark from quanda.toy_benchmarks import localization, randomization, unnamed +from quanda.toy_benchmarks.base import ToyBenchmark __all__ = ["ToyBenchmark", "randomization", "localization", "unnamed"] diff --git a/quanda/toy_benchmarks/localization/__init__.py b/quanda/toy_benchmarks/localization/__init__.py index b0c61c9a..95fd7e71 100644 --- a/quanda/toy_benchmarks/localization/__init__.py +++ b/quanda/toy_benchmarks/localization/__init__.py @@ -1,5 +1,9 @@ from quanda.toy_benchmarks.localization.class_detection import ClassDetection -from quanda.toy_benchmarks.localization.mislabeling_detection import MislabelingDetection -from quanda.toy_benchmarks.localization.subclass_detection import SubclassDetection +from quanda.toy_benchmarks.localization.mislabeling_detection import ( + MislabelingDetection, +) +from quanda.toy_benchmarks.localization.subclass_detection import ( + SubclassDetection, +) __all__ = ["ClassDetection", "SubclassDetection", "MislabelingDetection"] diff --git a/quanda/toy_benchmarks/localization/class_detection.py b/quanda/toy_benchmarks/localization/class_detection.py index 3e2d843d..93dc3f0f 100644 --- a/quanda/toy_benchmarks/localization/class_detection.py +++ b/quanda/toy_benchmarks/localization/class_detection.py @@ -4,7 +4,7 @@ from tqdm import tqdm from quanda.metrics.localization import ClassDetectionMetric -from quanda.toy_benchmarks import ToyBenchmark +from quanda.toy_benchmarks.base import ToyBenchmark class ClassDetection(ToyBenchmark): diff --git a/quanda/toy_benchmarks/localization/mislabeling_detection.py b/quanda/toy_benchmarks/localization/mislabeling_detection.py index 79472f39..0f5313e3 100644 --- a/quanda/toy_benchmarks/localization/mislabeling_detection.py +++ b/quanda/toy_benchmarks/localization/mislabeling_detection.py @@ -9,7 +9,9 @@ MislabelingDetectionMetric, ) from quanda.toy_benchmarks.base import ToyBenchmark -from quanda.utils.datasets.transformed.label_flipping import LabelFlippingDataset +from quanda.utils.datasets.transformed.label_flipping import ( + LabelFlippingDataset, +) from quanda.utils.training.trainer import BaseTrainer diff --git a/quanda/toy_benchmarks/randomization/__init__.py b/quanda/toy_benchmarks/randomization/__init__.py index d58c008d..b2c2a079 100644 --- a/quanda/toy_benchmarks/randomization/__init__.py +++ b/quanda/toy_benchmarks/randomization/__init__.py @@ -1,3 +1,5 @@ -from quanda.toy_benchmarks.randomization.model_randomization import ModelRandomization +from quanda.toy_benchmarks.randomization.model_randomization import ( + ModelRandomization, +) __all__ = ["ModelRandomization"] diff --git a/quanda/toy_benchmarks/randomization/model_randomization.py b/quanda/toy_benchmarks/randomization/model_randomization.py index 589f224b..c6d810fb 100644 --- a/quanda/toy_benchmarks/randomization/model_randomization.py +++ b/quanda/toy_benchmarks/randomization/model_randomization.py @@ -6,7 +6,7 @@ from quanda.metrics.randomization.model_randomization import ( ModelRandomizationMetric, ) -from quanda.toy_benchmarks import ToyBenchmark +from quanda.toy_benchmarks.base import ToyBenchmark from quanda.utils.functions import CorrelationFnLiterals diff --git a/quanda/toy_benchmarks/unnamed/top_k_overlap.py b/quanda/toy_benchmarks/unnamed/top_k_overlap.py index bbd86a29..4ac0f83f 100644 --- a/quanda/toy_benchmarks/unnamed/top_k_overlap.py +++ b/quanda/toy_benchmarks/unnamed/top_k_overlap.py @@ -4,7 +4,7 @@ from tqdm import tqdm from quanda.metrics.unnamed import TopKOverlapMetric -from quanda.toy_benchmarks import ToyBenchmark +from quanda.toy_benchmarks.base import ToyBenchmark class TopKOverlap(ToyBenchmark): diff --git a/quanda/utils/datasets/transformed/__init__.py b/quanda/utils/datasets/transformed/__init__.py index c783a1f5..3fb4d3e9 100644 --- a/quanda/utils/datasets/transformed/__init__.py +++ b/quanda/utils/datasets/transformed/__init__.py @@ -1,7 +1,14 @@ from quanda.utils.datasets.transformed.base import TransformedDataset -from quanda.utils.datasets.transformed.label_flipping import LabelFlippingDataset -from quanda.utils.datasets.transformed.label_grouping import ClassToGroupLiterals, LabelGroupingDataset -from quanda.utils.datasets.transformed.sample import SampleTransformationDataset +from quanda.utils.datasets.transformed.label_flipping import ( + LabelFlippingDataset, +) +from quanda.utils.datasets.transformed.label_grouping import ( + ClassToGroupLiterals, + LabelGroupingDataset, +) +from quanda.utils.datasets.transformed.sample import ( + SampleTransformationDataset, +) __all__ = [ "TransformedDataset", diff --git a/quanda/utils/functions/__init__.py b/quanda/utils/functions/__init__.py index 79124370..90956339 100644 --- a/quanda/utils/functions/__init__.py +++ b/quanda/utils/functions/__init__.py @@ -4,7 +4,10 @@ kendall_rank_corr, spearman_rank_corr, ) -from quanda.utils.functions.similarities import cosine_similarity, dot_product_similarity +from quanda.utils.functions.similarities import ( + cosine_similarity, + dot_product_similarity, +) __all__ = [ "kendall_rank_corr", diff --git a/tests/conftest.py b/tests/conftest.py index 9f9cf145..3c200ccd 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -6,8 +6,12 @@ import torch from torch.utils.data import TensorDataset -from quanda.utils.datasets.transformed.label_flipping import LabelFlippingDataset -from quanda.utils.datasets.transformed.label_grouping import LabelGroupingDataset +from quanda.utils.datasets.transformed.label_flipping import ( + LabelFlippingDataset, +) +from quanda.utils.datasets.transformed.label_grouping import ( + LabelGroupingDataset, +) from quanda.utils.training.base_pl_module import BasicLightningModule from tests.models import LeNet diff --git a/tests/explainers/wrappers/test_captum_influence.py b/tests/explainers/wrappers/test_captum_influence.py index 758723c2..79e70f53 100644 --- a/tests/explainers/wrappers/test_captum_influence.py +++ b/tests/explainers/wrappers/test_captum_influence.py @@ -22,10 +22,7 @@ captum_tracincp_self_influence, ) from quanda.utils.common import get_load_state_dict_func -from quanda.utils.functions import ( - cosine_similarity, - dot_product_similarity, -) +from quanda.utils.functions import cosine_similarity, dot_product_similarity @pytest.mark.self_influence diff --git a/tests/metrics/test_aggr_strategies.py b/tests/metrics/test_aggr_strategies.py index 5ace4f21..2af37012 100644 --- a/tests/metrics/test_aggr_strategies.py +++ b/tests/metrics/test_aggr_strategies.py @@ -1,12 +1,9 @@ import pytest import torch -from quanda.explainers.wrappers import CaptumSimilarity -from quanda.metrics import ( - GlobalAggrStrategy, - GlobalSelfInfluenceStrategy, -) from quanda.explainers import AbsSumAggregator +from quanda.explainers.wrappers import CaptumSimilarity +from quanda.metrics import GlobalAggrStrategy, GlobalSelfInfluenceStrategy from quanda.utils.functions import cosine_similarity diff --git a/tests/metrics/test_localization_metrics.py b/tests/metrics/test_localization_metrics.py index 9168f631..6e8e24ad 100644 --- a/tests/metrics/test_localization_metrics.py +++ b/tests/metrics/test_localization_metrics.py @@ -1,8 +1,12 @@ import pytest -from quanda.explainers.wrappers import CaptumSimilarity from quanda.explainers import SumAggregator -from quanda.metrics.localization import ClassDetectionMetric, SubclassDetectionMetric, MislabelingDetectionMetric +from quanda.explainers.wrappers import CaptumSimilarity +from quanda.metrics.localization import ( + ClassDetectionMetric, + MislabelingDetectionMetric, + SubclassDetectionMetric, +) from quanda.utils.functions import cosine_similarity diff --git a/tests/metrics/test_randomization_metrics.py b/tests/metrics/test_randomization_metrics.py index a0fe2c4d..3fe97766 100644 --- a/tests/metrics/test_randomization_metrics.py +++ b/tests/metrics/test_randomization_metrics.py @@ -3,7 +3,6 @@ from quanda.explainers.wrappers import CaptumSimilarity from quanda.metrics.randomization import ModelRandomizationMetric - from quanda.utils.functions import correlation_functions, cosine_similarity From a1f56ff8c1527fc72878958cd12b2c6a04896737 Mon Sep 17 00:00:00 2001 From: dilyabareeva Date: Tue, 6 Aug 2024 23:45:23 +0200 Subject: [PATCH 21/21] fix flat layout issue --- pyproject.toml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index 21d75252..445834f3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -53,6 +53,9 @@ exclude = ''' testpaths = ["tests"] python_files = "test_*.py" +[tool.setuptools] +py-modules = [] + [project.optional-dependencies] dev = [ # Install wtih pip install .[dev] or pip install -e '.[dev]' in zsh "coverage>=7.2.3",