kaiko-eva 0.2.0__tar.gz → 0.2.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of kaiko-eva might be problematic. Click here for more details.
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/PKG-INFO +16 -12
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/README.md +13 -11
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/pyproject.toml +3 -1
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/data/datasets/base.py +7 -2
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/models/modules/head.py +4 -2
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/models/modules/typings.py +2 -2
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/models/transforms/__init__.py +2 -1
- kaiko_eva-0.2.2/src/eva/core/models/transforms/as_discrete.py +57 -0
- kaiko_eva-0.2.2/src/eva/core/models/wrappers/_utils.py +145 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/trainers/_recorder.py +4 -1
- kaiko_eva-0.2.2/src/eva/core/utils/suppress_logs.py +28 -0
- kaiko_eva-0.2.2/src/eva/vision/data/__init__.py +5 -0
- kaiko_eva-0.2.2/src/eva/vision/data/dataloaders/__init__.py +5 -0
- kaiko_eva-0.2.2/src/eva/vision/data/dataloaders/collate_fn/__init__.py +5 -0
- kaiko_eva-0.2.2/src/eva/vision/data/dataloaders/collate_fn/collection.py +22 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/data/datasets/__init__.py +2 -2
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/data/datasets/classification/bach.py +3 -4
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/data/datasets/classification/bracs.py +3 -4
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/data/datasets/classification/breakhis.py +3 -4
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/data/datasets/classification/camelyon16.py +4 -5
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/data/datasets/classification/crc.py +3 -4
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/data/datasets/classification/gleason_arvaniti.py +3 -4
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/data/datasets/classification/mhist.py +3 -4
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/data/datasets/classification/panda.py +4 -5
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/data/datasets/classification/patch_camelyon.py +3 -4
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/data/datasets/classification/unitopatho.py +3 -4
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/data/datasets/classification/wsi.py +6 -5
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/data/datasets/segmentation/__init__.py +2 -2
- kaiko_eva-0.2.2/src/eva/vision/data/datasets/segmentation/_utils.py +85 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/data/datasets/segmentation/bcss.py +7 -8
- kaiko_eva-0.2.2/src/eva/vision/data/datasets/segmentation/btcv.py +236 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/data/datasets/segmentation/consep.py +6 -7
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/data/datasets/segmentation/lits.py +9 -8
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/data/datasets/segmentation/lits_balanced.py +2 -1
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/data/datasets/segmentation/monusac.py +4 -5
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/data/datasets/segmentation/total_segmentator_2d.py +12 -10
- kaiko_eva-0.2.0/src/eva/vision/data/datasets/classification/base.py → kaiko_eva-0.2.2/src/eva/vision/data/datasets/vision.py +46 -25
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/data/datasets/wsi.py +5 -5
- kaiko_eva-0.2.2/src/eva/vision/data/transforms/__init__.py +25 -0
- kaiko_eva-0.2.2/src/eva/vision/data/transforms/common/__init__.py +5 -0
- kaiko_eva-0.2.2/src/eva/vision/data/transforms/croppad/__init__.py +11 -0
- kaiko_eva-0.2.2/src/eva/vision/data/transforms/croppad/crop_foreground.py +110 -0
- kaiko_eva-0.2.2/src/eva/vision/data/transforms/croppad/rand_crop_by_pos_neg_label.py +109 -0
- kaiko_eva-0.2.2/src/eva/vision/data/transforms/croppad/spatial_pad.py +67 -0
- kaiko_eva-0.2.2/src/eva/vision/data/transforms/intensity/__init__.py +11 -0
- kaiko_eva-0.2.2/src/eva/vision/data/transforms/intensity/rand_scale_intensity.py +59 -0
- kaiko_eva-0.2.2/src/eva/vision/data/transforms/intensity/rand_shift_intensity.py +55 -0
- kaiko_eva-0.2.2/src/eva/vision/data/transforms/intensity/scale_intensity_ranged.py +56 -0
- kaiko_eva-0.2.2/src/eva/vision/data/transforms/spatial/__init__.py +7 -0
- kaiko_eva-0.2.2/src/eva/vision/data/transforms/spatial/flip.py +72 -0
- kaiko_eva-0.2.2/src/eva/vision/data/transforms/spatial/rotate.py +53 -0
- kaiko_eva-0.2.2/src/eva/vision/data/transforms/spatial/spacing.py +69 -0
- kaiko_eva-0.2.2/src/eva/vision/data/transforms/utility/__init__.py +5 -0
- kaiko_eva-0.2.2/src/eva/vision/data/transforms/utility/ensure_channel_first.py +51 -0
- kaiko_eva-0.2.2/src/eva/vision/data/tv_tensors/__init__.py +5 -0
- kaiko_eva-0.2.2/src/eva/vision/data/tv_tensors/volume.py +61 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/metrics/segmentation/monai_dice.py +9 -2
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/models/modules/semantic_segmentation.py +32 -19
- kaiko_eva-0.2.2/src/eva/vision/models/networks/backbones/__init__.py +13 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/models/networks/backbones/pathology/__init__.py +11 -2
- kaiko_eva-0.2.2/src/eva/vision/models/networks/backbones/pathology/bioptimus.py +80 -0
- kaiko_eva-0.2.2/src/eva/vision/models/networks/backbones/pathology/hkust.py +69 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/models/networks/backbones/pathology/kaiko.py +18 -0
- kaiko_eva-0.2.2/src/eva/vision/models/networks/backbones/radiology/__init__.py +11 -0
- kaiko_eva-0.2.2/src/eva/vision/models/networks/backbones/radiology/swin_unetr.py +231 -0
- kaiko_eva-0.2.2/src/eva/vision/models/networks/backbones/radiology/voco.py +75 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/models/networks/decoders/segmentation/__init__.py +6 -2
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/models/networks/decoders/segmentation/linear.py +5 -10
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/models/networks/decoders/segmentation/semantic/__init__.py +8 -1
- kaiko_eva-0.2.2/src/eva/vision/models/networks/decoders/segmentation/semantic/swin_unetr.py +104 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/utils/io/__init__.py +2 -0
- kaiko_eva-0.2.2/src/eva/vision/utils/io/nifti.py +169 -0
- kaiko_eva-0.2.2/tests/eva/assets/vision/datasets/btcv/imagesTr/img0001.nii.gz +3 -0
- kaiko_eva-0.2.2/tests/eva/assets/vision/datasets/btcv/imagesTr/img0002.nii.gz +3 -0
- kaiko_eva-0.2.2/tests/eva/assets/vision/datasets/btcv/labelsTr/label0001.nii.gz +3 -0
- kaiko_eva-0.2.2/tests/eva/assets/vision/datasets/btcv/labelsTr/label0002.nii.gz +3 -0
- kaiko_eva-0.2.2/tests/eva/assets/vision/datasets/lits/Training_Batch2/segmentation-31.nii +3 -0
- kaiko_eva-0.2.2/tests/eva/assets/vision/datasets/lits/Training_Batch2/segmentation-45.nii +3 -0
- kaiko_eva-0.2.2/tests/eva/assets/vision/datasets/lits/Training_Batch2/volume-31.nii +3 -0
- kaiko_eva-0.2.2/tests/eva/assets/vision/datasets/lits/Training_Batch2/volume-45.nii +3 -0
- kaiko_eva-0.2.2/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0011/ct.nii.gz +3 -0
- kaiko_eva-0.2.2/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0011/segmentations/aorta_small.nii.gz +3 -0
- kaiko_eva-0.2.2/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0011/segmentations/brain_small.nii.gz +3 -0
- kaiko_eva-0.2.2/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0011/segmentations/colon_small.nii.gz +3 -0
- kaiko_eva-0.2.2/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0011/segmentations/semantic_labels/masks.nii.gz +3 -0
- kaiko_eva-0.2.2/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0461/ct.nii.gz +3 -0
- kaiko_eva-0.2.2/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0461/segmentations/aorta_small.nii.gz +3 -0
- kaiko_eva-0.2.2/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0461/segmentations/brain_small.nii.gz +3 -0
- kaiko_eva-0.2.2/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0461/segmentations/colon_small.nii.gz +3 -0
- kaiko_eva-0.2.2/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0461/segmentations/semantic_labels/masks.nii.gz +3 -0
- kaiko_eva-0.2.2/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0762/ct.nii.gz +3 -0
- kaiko_eva-0.2.2/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0762/segmentations/aorta_small.nii.gz +3 -0
- kaiko_eva-0.2.2/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0762/segmentations/brain_small.nii.gz +3 -0
- kaiko_eva-0.2.2/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0762/segmentations/colon_small.nii.gz +3 -0
- kaiko_eva-0.2.2/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0762/segmentations/semantic_labels/masks.nii.gz +3 -0
- kaiko_eva-0.2.2/tests/eva/vision/data/datasets/segmentation/test_btcv.py +62 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/data/datasets/segmentation/test_lits.py +2 -2
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/data/datasets/segmentation/test_lits_balanced.py +2 -2
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/data/datasets/segmentation/test_total_segmentator.py +2 -2
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/data/wsi/patching/samplers/test_foreground_grid.py +1 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/data/wsi/patching/samplers/test_random.py +1 -0
- kaiko_eva-0.2.2/tests/eva/vision/models/modules/test_semantic_segmentation.py +99 -0
- kaiko_eva-0.2.2/tests/eva/vision/models/networks/backbones/radiology/test_swin_unetr.py +55 -0
- kaiko_eva-0.2.0/tests/eva/vision/models/networks/decoders/segmentation/conv.py → kaiko_eva-0.2.2/tests/eva/vision/models/networks/decoders/segmentation/test_conv.py +5 -3
- kaiko_eva-0.2.0/tests/eva/vision/models/networks/decoders/segmentation/linear.py → kaiko_eva-0.2.2/tests/eva/vision/models/networks/decoders/segmentation/test_linear.py +5 -3
- kaiko_eva-0.2.2/tests/eva/vision/models/networks/decoders/segmentation/test_swin_unetr.py +32 -0
- kaiko_eva-0.2.0/src/eva/core/models/wrappers/_utils.py +0 -25
- kaiko_eva-0.2.0/src/eva/vision/data/__init__.py +0 -5
- kaiko_eva-0.2.0/src/eva/vision/data/datasets/segmentation/_utils.py +0 -38
- kaiko_eva-0.2.0/src/eva/vision/data/datasets/segmentation/base.py +0 -96
- kaiko_eva-0.2.0/src/eva/vision/data/datasets/vision.py +0 -26
- kaiko_eva-0.2.0/src/eva/vision/data/transforms/__init__.py +0 -6
- kaiko_eva-0.2.0/src/eva/vision/data/transforms/common/__init__.py +0 -6
- kaiko_eva-0.2.0/src/eva/vision/data/transforms/common/resize_and_clamp.py +0 -51
- kaiko_eva-0.2.0/src/eva/vision/data/transforms/normalization/__init__.py +0 -6
- kaiko_eva-0.2.0/src/eva/vision/data/transforms/normalization/clamp.py +0 -43
- kaiko_eva-0.2.0/src/eva/vision/data/transforms/normalization/functional/__init__.py +0 -5
- kaiko_eva-0.2.0/src/eva/vision/data/transforms/normalization/functional/rescale_intensity.py +0 -28
- kaiko_eva-0.2.0/src/eva/vision/data/transforms/normalization/rescale_intensity.py +0 -53
- kaiko_eva-0.2.0/src/eva/vision/metrics/segmentation/BUILD +0 -1
- kaiko_eva-0.2.0/src/eva/vision/models/networks/backbones/__init__.py +0 -6
- kaiko_eva-0.2.0/src/eva/vision/models/networks/backbones/pathology/bioptimus.py +0 -34
- kaiko_eva-0.2.0/src/eva/vision/models/networks/backbones/torchhub/__init__.py +0 -5
- kaiko_eva-0.2.0/src/eva/vision/models/networks/backbones/torchhub/backbones.py +0 -61
- kaiko_eva-0.2.0/src/eva/vision/utils/io/nifti.py +0 -89
- kaiko_eva-0.2.0/tests/eva/assets/vision/datasets/lits/Training_Batch2/segmentation-31.nii +0 -3
- kaiko_eva-0.2.0/tests/eva/assets/vision/datasets/lits/Training_Batch2/segmentation-45.nii +0 -3
- kaiko_eva-0.2.0/tests/eva/assets/vision/datasets/lits/Training_Batch2/volume-31.nii +0 -3
- kaiko_eva-0.2.0/tests/eva/assets/vision/datasets/lits/Training_Batch2/volume-45.nii +0 -3
- kaiko_eva-0.2.0/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0011/ct.nii.gz +0 -0
- kaiko_eva-0.2.0/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0011/segmentations/aorta_small.nii.gz +0 -0
- kaiko_eva-0.2.0/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0011/segmentations/brain_small.nii.gz +0 -0
- kaiko_eva-0.2.0/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0011/segmentations/colon_small.nii.gz +0 -0
- kaiko_eva-0.2.0/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0011/segmentations/semantic_labels/masks.nii.gz +0 -0
- kaiko_eva-0.2.0/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0461/ct.nii.gz +0 -0
- kaiko_eva-0.2.0/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0461/segmentations/aorta_small.nii.gz +0 -0
- kaiko_eva-0.2.0/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0461/segmentations/brain_small.nii.gz +0 -0
- kaiko_eva-0.2.0/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0461/segmentations/colon_small.nii.gz +0 -0
- kaiko_eva-0.2.0/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0461/segmentations/semantic_labels/masks.nii.gz +0 -0
- kaiko_eva-0.2.0/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0762/ct.nii.gz +0 -0
- kaiko_eva-0.2.0/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0762/segmentations/aorta_small.nii.gz +0 -0
- kaiko_eva-0.2.0/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0762/segmentations/brain_small.nii.gz +0 -0
- kaiko_eva-0.2.0/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0762/segmentations/colon_small.nii.gz +0 -0
- kaiko_eva-0.2.0/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0762/segmentations/semantic_labels/masks.nii.gz +0 -0
- kaiko_eva-0.2.0/tests/eva/vision/data/transforms/common/test_resize_and_clamp.py +0 -47
- kaiko_eva-0.2.0/tests/eva/vision/data/transforms/normalization/__init__.py +0 -1
- kaiko_eva-0.2.0/tests/eva/vision/data/transforms/normalization/functional/__init__.py +0 -1
- kaiko_eva-0.2.0/tests/eva/vision/data/transforms/normalization/functional/test_rescale_intensity.py +0 -37
- kaiko_eva-0.2.0/tests/eva/vision/models/modules/test_semantic_segmentation.py +0 -58
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/LICENSE +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/__main__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/__version__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/callbacks/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/callbacks/config.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/callbacks/writers/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/callbacks/writers/embeddings/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/callbacks/writers/embeddings/_manifest.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/callbacks/writers/embeddings/base.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/callbacks/writers/embeddings/classification.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/callbacks/writers/embeddings/segmentation.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/callbacks/writers/embeddings/typings.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/cli/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/cli/cli.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/cli/logo.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/cli/setup.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/data/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/data/dataloaders/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/data/dataloaders/dataloader.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/data/datamodules/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/data/datamodules/call.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/data/datamodules/datamodule.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/data/datamodules/schemas.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/data/datasets/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/data/datasets/classification/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/data/datasets/classification/embeddings.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/data/datasets/classification/multi_embeddings.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/data/datasets/dataset.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/data/datasets/embeddings.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/data/datasets/typings.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/data/samplers/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/data/samplers/classification/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/data/samplers/classification/balanced.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/data/samplers/random.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/data/samplers/sampler.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/data/splitting/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/data/splitting/random.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/data/splitting/stratified.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/data/transforms/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/data/transforms/dtype/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/data/transforms/dtype/array.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/data/transforms/padding/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/data/transforms/padding/pad_2d_tensor.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/data/transforms/sampling/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/data/transforms/sampling/sample_from_axis.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/interface/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/interface/interface.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/loggers/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/loggers/dummy.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/loggers/experimental_loggers.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/loggers/log/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/loggers/log/image.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/loggers/log/parameters.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/loggers/log/utils.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/loggers/loggers.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/loggers/utils/wandb.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/losses/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/losses/cross_entropy.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/metrics/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/metrics/average_loss.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/metrics/binary_balanced_accuracy.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/metrics/defaults/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/metrics/defaults/classification/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/metrics/defaults/classification/binary.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/metrics/defaults/classification/multiclass.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/metrics/structs/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/metrics/structs/collection.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/metrics/structs/metric.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/metrics/structs/module.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/metrics/structs/schemas.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/metrics/structs/typings.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/models/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/models/modules/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/models/modules/inference.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/models/modules/module.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/models/modules/utils/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/models/modules/utils/batch_postprocess.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/models/modules/utils/checkpoint.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/models/modules/utils/grad.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/models/networks/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/models/networks/mlp.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/models/transforms/extract_cls_features.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/models/transforms/extract_patch_features.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/models/wrappers/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/models/wrappers/base.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/models/wrappers/from_function.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/models/wrappers/from_torchhub.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/models/wrappers/huggingface.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/models/wrappers/onnx.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/trainers/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/trainers/_logging.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/trainers/_utils.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/trainers/functional.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/trainers/trainer.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/utils/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/utils/clone.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/utils/io/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/utils/io/dataframe.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/utils/io/gz.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/utils/memory.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/utils/multiprocessing.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/utils/operations.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/utils/parser.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/utils/progress_bar.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/core/utils/workers.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/callbacks/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/callbacks/loggers/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/callbacks/loggers/batch/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/callbacks/loggers/batch/base.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/callbacks/loggers/batch/segmentation.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/data/datasets/_utils.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/data/datasets/_validators.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/data/datasets/classification/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/data/datasets/segmentation/_total_segmentator.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/data/datasets/segmentation/embeddings.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/data/datasets/structs.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/data/transforms/common/resize_and_crop.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/data/wsi/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/data/wsi/backends/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/data/wsi/backends/base.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/data/wsi/backends/openslide.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/data/wsi/backends/pil.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/data/wsi/backends/tiffslide.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/data/wsi/patching/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/data/wsi/patching/coordinates.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/data/wsi/patching/mask.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/data/wsi/patching/samplers/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/data/wsi/patching/samplers/_utils.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/data/wsi/patching/samplers/base.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/data/wsi/patching/samplers/foreground_grid.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/data/wsi/patching/samplers/grid.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/data/wsi/patching/samplers/random.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/losses/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/losses/dice.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/metrics/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/metrics/defaults/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/metrics/defaults/segmentation/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/metrics/defaults/segmentation/multiclass.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/metrics/segmentation/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/metrics/segmentation/_utils.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/metrics/segmentation/dice.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/metrics/segmentation/generalized_dice.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/metrics/segmentation/mean_iou.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/metrics/wrappers/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/metrics/wrappers/monai.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/models/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/models/modules/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/models/networks/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/models/networks/abmil.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/models/networks/backbones/_utils.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/models/networks/backbones/pathology/gigapath.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/models/networks/backbones/pathology/histai.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/models/networks/backbones/pathology/lunit.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/models/networks/backbones/pathology/mahmood.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/models/networks/backbones/pathology/owkin.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/models/networks/backbones/pathology/paige.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/models/networks/backbones/registry.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/models/networks/backbones/timm/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/models/networks/backbones/timm/backbones.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/models/networks/backbones/universal/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/models/networks/backbones/universal/vit.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/models/networks/decoders/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/models/networks/decoders/segmentation/base.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/models/networks/decoders/segmentation/decoder2d.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/models/networks/decoders/segmentation/semantic/common.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/models/networks/decoders/segmentation/semantic/with_image.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/models/networks/decoders/segmentation/typings.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/models/wrappers/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/models/wrappers/from_registry.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/models/wrappers/from_timm.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/utils/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/utils/colormap.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/utils/convert.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/utils/io/_utils.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/utils/io/image.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/utils/io/mat.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/utils/io/text.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/_cli.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/core/archives/test.txt.gz +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/core/datasets/embeddings/embeddings/tensor_0_shape_8.pt +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/core/datasets/embeddings/embeddings/tensor_1_shape_8.pt +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/core/datasets/embeddings/embeddings/tensor_2_shape_8_list.pt +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/core/datasets/embeddings/embeddings/tensor_3_shape_8_list.pt +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/core/datasets/embeddings/embeddings/tensor_4_shape_1x8.pt +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/core/datasets/embeddings/embeddings/tensor_5_shape_1x8.pt +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/core/datasets/embeddings/embeddings/tensor_6_shape_1x8_list.pt +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/core/datasets/embeddings/embeddings/tensor_7_shape_1x8_list.pt +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/core/datasets/embeddings/manifest.csv +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/core/datasets/multi-embeddings/embeddings/tensor_0_shape_6x8.pt +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/core/datasets/multi-embeddings/embeddings/tensor_1_shape_3x8.pt +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/core/datasets/multi-embeddings/embeddings/tensor_2_shape_1x8.pt +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/core/datasets/multi-embeddings/embeddings/tensor_3_shape_2x8.pt +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/core/datasets/multi-embeddings/embeddings/tensor_4_shape_5x8.pt +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/core/datasets/multi-embeddings/embeddings/tensor_5_shape_3x8.pt +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/core/datasets/multi-embeddings/embeddings/tensor_6_shape_1x8_list.pt +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/core/datasets/multi-embeddings/embeddings/tensor_7_shape_6x8_list.pt +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/core/datasets/multi-embeddings/embeddings/tensor_8_shape_2x8_list.pt +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/core/datasets/multi-embeddings/embeddings/tensor_9_shape_5x8_list.pt +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/core/datasets/multi-embeddings/manifest.csv +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/images/random_bgr_32x32.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/images/random_grayscale_32x32.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/arvaniti_gleason_patches/test_patches_750/patho_1/ZT80_38_A_1_2/ZT80_38_A_1_2_patch_18_class_1.jpg +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/arvaniti_gleason_patches/train_validation_patches_750/ZT111_4_B_4_6/ZT111_4_B_4_6_patch_12_class_1.jpg +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/arvaniti_gleason_patches/train_validation_patches_750/ZT204_6_B_7_8/ZT204_6_B_7_8_patch_3_class_2.jpg +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/arvaniti_gleason_patches/train_validation_patches_750/ZT76_39_A_1_2/ZT76_39_A_1_2_patch_00_class_0.jpg +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Benign/b001.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Benign/b002.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Benign/b003.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Benign/b004.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Benign/b005.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Benign/b006.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/InSitu/is001.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/InSitu/is002.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/InSitu/is003.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/InSitu/is004.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/InSitu/is005.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/InSitu/is006.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Invasive/iv001.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Invasive/iv002.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Invasive/iv003.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Invasive/iv004.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Invasive/iv005.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Invasive/iv006.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Normal/n001.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Normal/n002.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Normal/n003.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Normal/n004.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Normal/n005.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Normal/n006.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bcss/masks/TCGA-A2-A0CM-DX1_xmin18562_ymin56852_MPP-0.2500.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bcss/masks/TCGA-A7-A4SD-DX1_xmin53807_ymin11871_MPP-0.2500.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bcss/masks/TCGA-AR-A0TS-DX1_xmin118843_ymin22812_MPP-0.2500.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bcss/masks/TCGA-AR-A1AQ-DX1_xmin18171_ymin38296_MPP-0.2500.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bcss/masks/TCGA-C8-A3XY-DX1_xmin76297_ymin35510_MPP-0.2500.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bcss/masks/TCGA-D8-A1XQ-DX1_xmin61261_ymin33317_MPP-0.2500.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bcss/masks/TCGA-EW-A1P4-DX1_xmin17256_ymin35430_MPP-0.2500.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bcss/masks/TCGA-GI-A2C9-DX1_xmin20882_ymin11843_MPP-0.2500.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bcss/masks/TCGA-OL-A5D6-DX1_xmin115108_ymin40554_MPP-0.2500.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bcss/masks/TCGA-OL-A5D7-DX1_xmin114443_ymin22490_MPP-0.2500.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bcss/rgbs_colorNormalized/TCGA-A2-A0CM-DX1_xmin18562_ymin56852_MPP-0.2500.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bcss/rgbs_colorNormalized/TCGA-A7-A4SD-DX1_xmin53807_ymin11871_MPP-0.2500.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bcss/rgbs_colorNormalized/TCGA-AR-A0TS-DX1_xmin118843_ymin22812_MPP-0.2500.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bcss/rgbs_colorNormalized/TCGA-AR-A1AQ-DX1_xmin18171_ymin38296_MPP-0.2500.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bcss/rgbs_colorNormalized/TCGA-C8-A3XY-DX1_xmin76297_ymin35510_MPP-0.2500.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bcss/rgbs_colorNormalized/TCGA-D8-A1XQ-DX1_xmin61261_ymin33317_MPP-0.2500.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bcss/rgbs_colorNormalized/TCGA-EW-A1P4-DX1_xmin17256_ymin35430_MPP-0.2500.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bcss/rgbs_colorNormalized/TCGA-GI-A2C9-DX1_xmin20882_ymin11843_MPP-0.2500.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bcss/rgbs_colorNormalized/TCGA-OL-A5D6-DX1_xmin115108_ymin40554_MPP-0.2500.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bcss/rgbs_colorNormalized/TCGA-OL-A5D7-DX1_xmin114443_ymin22490_MPP-0.2500.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bracs/BRACS_RoI/latest_version/test/0_N/BRACS_264_N_1.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bracs/BRACS_RoI/latest_version/test/1_PB/BRACS_264_PB_18.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bracs/BRACS_RoI/latest_version/train/0_N/BRACS_280_N_2.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bracs/BRACS_RoI/latest_version/train/1_PB/BRACS_281_PB_2.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bracs/BRACS_RoI/latest_version/val/0_N/BRACS_265_N_5.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/bracs/BRACS_RoI/latest_version/val/1_PB/BRACS_265_PB_7.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/breakhis/BreaKHis_v1/histology_slides/breast/benign/SOB/fibroadenoma/SOB_B_F_14-9133/40X/SOB_B_F-14-9133-40-001.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/breakhis/BreaKHis_v1/histology_slides/breast/benign/SOB/tubular_adenoma/SOB_B_A_14-21978AB/SOB_B_TA_14-3411F/40X/SOB_B_TA-14-3411F-40-001.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/breakhis/BreaKHis_v1/histology_slides/breast/benign/SOB/tubular_adenoma/SOB_B_A_14-22549AB/SOB_B_TA_14-13200/40X/SOB_B_TA-14-13200-40-001.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/breakhis/BreaKHis_v1/histology_slides/breast/malignant/SOB/mucinous_carcinoma/SOB_M_MC_14-19979/40X/SOB_M_MC-14-19979-40-001.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/camelyon16/testing/images/test_001.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/camelyon16/testing/images/test_002.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/camelyon16/testing/reference.csv +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/camelyon16/training/normal/normal_001.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/camelyon16/training/normal/normal_002.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/camelyon16/training/tumor/tumor_001.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/camelyon16/training/tumor/tumor_002.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/consep/Test/Images/test_1.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/consep/Test/Images/test_2.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/consep/Test/Images/test_3.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/consep/Test/Labels/test_1.mat +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/consep/Test/Labels/test_2.mat +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/consep/Test/Labels/test_3.mat +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/consep/Train/Images/train_1.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/consep/Train/Images/train_2.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/consep/Train/Images/train_3.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/consep/Train/Images/train_4.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/consep/Train/Labels/train_1.mat +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/consep/Train/Labels/train_2.mat +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/consep/Train/Labels/train_3.mat +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/consep/Train/Labels/train_4.mat +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/ADI/ADI-SIHVHHPH.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/ADI/ADI-SIHWWQMY.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/BACK/BACK-YYYHKNMK.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/BACK/BACK-YYYMDTNW.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/DEB/DEB-YYYRSHLP.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/DEB/DEB-YYYTCTDR.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/LYM/LYM-YYWRPGDD.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/LYM/LYM-YYYTKMWW.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/MUC/MUC-YYYNWSAM.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/MUC/MUC-YYYRQDLW.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/MUS/MUS-YYYNVQVQ.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/MUS/MUS-YYYRWWNH.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/NORM/NORM-YYTTIRVD.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/NORM/NORM-YYVAFTKA.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/STR/STR-YYYHNSSM.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/STR/STR-YYYWVWFG.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/TUM/TUM-YYYSGWYW.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/TUM/TUM-YYYYQFVN.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/ADI/ADI-SIHVHHPH.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/ADI/ADI-SIHWWQMY.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/BACK/BACK-YYYHKNMK.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/BACK/BACK-YYYMDTNW.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/DEB/DEB-YYYRSHLP.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/DEB/DEB-YYYTCTDR.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/LYM/LYM-YYWRPGDD.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/LYM/LYM-YYYTKMWW.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/MUC/MUC-YYYNWSAM.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/MUC/MUC-YYYRQDLW.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/MUS/MUS-YYYNVQVQ.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/MUS/MUS-YYYRWWNH.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/NORM/NORM-YYTTIRVD.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/NORM/NORM-YYVAFTKA.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/STR/STR-YYYHNSSM.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/STR/STR-YYYWVWFG.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/TUM/TUM-YYYSGWYW.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/TUM/TUM-YYYYQFVN.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/ADI/ADI-SIHVHHPH.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/ADI/ADI-SIHWWQMY.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/BACK/BACK-YYYHKNMK.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/BACK/BACK-YYYMDTNW.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/DEB/DEB-YYYRSHLP.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/DEB/DEB-YYYTCTDR.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/LYM/LYM-YYWRPGDD.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/LYM/LYM-YYYTKMWW.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/MUC/MUC-YYYNWSAM.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/MUC/MUC-YYYRQDLW.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/MUS/MUS-YYYNVQVQ.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/MUS/MUS-YYYRWWNH.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/NORM/NORM-YYTTIRVD.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/NORM/NORM-YYVAFTKA.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/STR/STR-YYYHNSSM.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/STR/STR-YYYWVWFG.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/TUM/TUM-YYYSGWYW.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/TUM/TUM-YYYYQFVN.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/mhist/annotations.csv +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/mhist/images/MHIST_aaa.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/mhist/images/MHIST_aab.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/mhist/images/MHIST_aac.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/mhist/images/MHIST_aae.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/mhist/images/MHIST_aaf.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/mhist/images/MHIST_aag.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/mhist/images/MHIST_aah.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/monusac/MoNuSAC Testing Data and Annotations/TCGA-2Z-A9JG-01Z-00-DX1/TCGA-2Z-A9JG-01Z-00-DX1_1.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/monusac/MoNuSAC Testing Data and Annotations/TCGA-2Z-A9JG-01Z-00-DX1/TCGA-2Z-A9JG-01Z-00-DX1_1.xml +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/monusac/MoNuSAC Testing Data and Annotations/TCGA-2Z-A9JG-01Z-00-DX1/TCGA-2Z-A9JG-01Z-00-DX1_2.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/monusac/MoNuSAC Testing Data and Annotations/TCGA-2Z-A9JG-01Z-00-DX1/TCGA-2Z-A9JG-01Z-00-DX1_2.xml +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/monusac/MoNuSAC Testing Data and Annotations/TCGA-2Z-A9JG-01Z-00-DX1/TCGA-2Z-A9JG-01Z-00-DX1_3.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/monusac/MoNuSAC Testing Data and Annotations/TCGA-2Z-A9JG-01Z-00-DX1/TCGA-2Z-A9JG-01Z-00-DX1_3.xml +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/monusac/MoNuSAC Testing Data and Annotations/TCGA-2Z-A9JN-01Z-00-DX1/TCGA-2Z-A9JN-01Z-00-DX1_1.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/monusac/MoNuSAC Testing Data and Annotations/TCGA-2Z-A9JN-01Z-00-DX1/TCGA-2Z-A9JN-01Z-00-DX1_1.xml +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/monusac/MoNuSAC_images_and_annotations/TCGA-55-1594-01Z-00-DX1/TCGA-55-1594-01Z-00-DX1_003.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/monusac/MoNuSAC_images_and_annotations/TCGA-55-1594-01Z-00-DX1/TCGA-55-1594-01Z-00-DX1_003.xml +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/monusac/MoNuSAC_images_and_annotations/TCGA-5P-A9K0-01Z-00-DX1/TCGA-5P-A9K0-01Z-00-DX1_3.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/monusac/MoNuSAC_images_and_annotations/TCGA-5P-A9K0-01Z-00-DX1/TCGA-5P-A9K0-01Z-00-DX1_3.xml +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/monusac/MoNuSAC_images_and_annotations/TCGA-69-7760-01Z-00-DX1/TCGA-69-7760-01Z-00-DX1_001.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/monusac/MoNuSAC_images_and_annotations/TCGA-69-7760-01Z-00-DX1/TCGA-69-7760-01Z-00-DX1_001.xml +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/monusac/MoNuSAC_images_and_annotations/TCGA-69-A59K-01Z-00-DX1/TCGA-69-A59K-01Z-00-DX1_001.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/monusac/MoNuSAC_images_and_annotations/TCGA-69-A59K-01Z-00-DX1/TCGA-69-A59K-01Z-00-DX1_001.xml +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/monusac/MoNuSAC_images_and_annotations/TCGA-69-A59K-01Z-00-DX1/TCGA-69-A59K-01Z-00-DX1_002.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/monusac/MoNuSAC_images_and_annotations/TCGA-69-A59K-01Z-00-DX1/TCGA-69-A59K-01Z-00-DX1_002.xml +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/panda/train_images/0214df71ae527e2144021178c453d204.tiff +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/panda/train_images/02d302a8d723fa00331f373091b29135.tiff +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/panda/train_images/157565e23ba28d5a42f63f34f3dd4425.tiff +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/panda/train_images/682a1fd346b6fff340afbdb80c2f7caf.tiff +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/panda/train_images/8582b59b41635fa38401d1bddad66707.tiff +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/panda/train_images/8c357871e57c5c60277230412f2d9028.tiff +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/panda/train_images/979cf5a2fa4079eaf74343d6ff5e1b51.tiff +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/panda/train_images/9dd40c0127d217bc4917e4db40e06e94.tiff +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/panda/train_images/9ed8ec7bf90653bc4ca86b3ca53cbb96.tiff +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/panda/train_images/a04310d441e8d2c7a5066627baeec9b6.tiff +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/panda/train_images/fb8886059879eaac70139336cb525838.tiff +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/panda/train_with_noisy_labels.csv +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/patch_camelyon/camelyonpatch_level_2_split_test_x.h5 +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/patch_camelyon/camelyonpatch_level_2_split_test_y.h5 +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/patch_camelyon/camelyonpatch_level_2_split_train_x.h5 +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/patch_camelyon/camelyonpatch_level_2_split_train_y.h5 +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/patch_camelyon/camelyonpatch_level_2_split_valid_x.h5 +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/patch_camelyon/camelyonpatch_level_2_split_valid_y.h5 +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/meta.csv +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/unitopatho/800/HP/149-B3-HP.ndpi_ROI__mpp0.44_reg000_crop_sk00003_(12824,33871,1812,1812).png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/unitopatho/800/NORM/188-B4-NORM.ndpi_ROI__mpp0.44_reg001_crop_sk00026_(15904,10751,1812,1812).png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/unitopatho/800/TVA.LG/243-B5-TVALG.ndpi_ROI__mpp0.44_reg002_crop_sk00033_(7688,23775,1812,1812).png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/unitopatho/800/TVA.LG/TVA.LG CASO 2 - 2018-12-04 13.19.16.ndpi_ROI__mpp0.44_reg000_crop_sk00021_(9060,9947,1812,1812).png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/unitopatho/800/test.csv +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/unitopatho/800/train.csv +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/wsi/0/a.tiff +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/wsi/0/b.tiff +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/wsi/1/a.tiff +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/assets/vision/datasets/wsi/manifest.csv +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/conftest.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/callbacks/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/callbacks/conftest.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/callbacks/writers/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/callbacks/writers/embeddings/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/callbacks/writers/embeddings/test_classification.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/data/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/data/dataloaders/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/data/dataloaders/test_dataloader.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/data/datamodules/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/data/datamodules/_utils.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/data/datamodules/test_datamodule.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/data/datamodules/test_schemas.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/data/datasets/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/data/datasets/classification/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/data/datasets/classification/test_embeddings.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/data/datasets/classification/test_multi_embeddings.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/data/samplers/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/data/samplers/_utils.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/data/samplers/classification/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/data/samplers/classification/test_balanced.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/data/splitting/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/data/splitting/test_random.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/data/splitting/test_stratified.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/data/transforms/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/data/transforms/padding/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/data/transforms/padding/test_pad_2d_tensor.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/data/transforms/sampling/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/data/transforms/sampling/test_sample_from_axis.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/metrics/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/metrics/core/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/metrics/core/test_metric_module.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/metrics/core/test_schemas.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/metrics/defaults/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/metrics/defaults/classification/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/metrics/defaults/classification/test_binary.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/metrics/defaults/classification/test_multiclass.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/metrics/test_average_loss.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/metrics/test_binary_balanced_accuracy.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/models/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/models/modules/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/models/modules/conftest.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/models/modules/test_head.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/models/modules/test_inference.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/models/modules/utils/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/models/modules/utils/test_batch_postproces.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/models/networks/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/models/networks/test_mlp.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/models/wrappers/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/models/wrappers/test_from_function.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/models/wrappers/test_from_torchub.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/models/wrappers/test_huggingface.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/models/wrappers/test_onnx.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/test_cli.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/trainers/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/trainers/test_recorder.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/utils/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/utils/io/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/utils/io/test_gz.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/core/utils/test_operations.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/data/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/data/datasets/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/data/datasets/classification/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/data/datasets/classification/test_bach.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/data/datasets/classification/test_bracs.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/data/datasets/classification/test_breakhis.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/data/datasets/classification/test_camelyon16.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/data/datasets/classification/test_crc.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/data/datasets/classification/test_gleason_arvaniti.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/data/datasets/classification/test_mhist.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/data/datasets/classification/test_panda.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/data/datasets/classification/test_patch_camelyon.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/data/datasets/classification/test_unitopatho.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/data/datasets/classification/test_wsi.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/data/datasets/segmentation/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/data/datasets/segmentation/test_bcss.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/data/datasets/segmentation/test_consep.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/data/datasets/segmentation/test_monusac.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/data/datasets/test_wsi.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/data/transforms/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/data/transforms/common/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/data/transforms/common/test_resize_and_crop.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/data/wsi/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/data/wsi/patching/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/data/wsi/patching/samplers/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/data/wsi/patching/samplers/test_grid.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/data/wsi/patching/test_mask.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/metrics/defaults/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/metrics/defaults/segmentation/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/metrics/defaults/segmentation/test_multiclass.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/metrics/segmentation/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/metrics/segmentation/_utils.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/metrics/segmentation/test_dice.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/metrics/segmentation/test_generalized_dice.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/metrics/segmentation/test_mean_iou.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/models/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/models/modules/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/models/modules/conftest.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/models/networks/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/models/networks/backbones/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/models/networks/backbones/test_registry.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/models/networks/decoders/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/models/networks/decoders/segmentation/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/models/networks/test_abmil.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/models/wrappers/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/models/wrappers/test_backbone.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/models/wrappers/test_from_timm.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/test_vision_cli.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/utils/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/utils/io/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/utils/io/test_image.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/tests/eva/vision/utils/test_convert.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: kaiko-eva
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.2
|
|
4
4
|
Summary: Evaluation Framework for oncology foundation models.
|
|
5
5
|
Keywords: machine-learning,evaluation-framework,oncology,foundation-models
|
|
6
6
|
Author-Email: Ioannis Gatopoulos <ioannis@kaiko.ai>, =?utf-8?q?Nicolas_K=C3=A4nzig?= <nicolas@kaiko.ai>, Roman Moser <roman@kaiko.ai>
|
|
@@ -241,6 +241,7 @@ Requires-Dist: scikit-image>=0.24.0; extra == "vision"
|
|
|
241
241
|
Requires-Dist: imagesize>=1.4.1; extra == "vision"
|
|
242
242
|
Requires-Dist: scipy>=1.14.0; extra == "vision"
|
|
243
243
|
Requires-Dist: monai>=1.3.2; extra == "vision"
|
|
244
|
+
Requires-Dist: einops>=0.8.1; extra == "vision"
|
|
244
245
|
Provides-Extra: all
|
|
245
246
|
Requires-Dist: h5py>=3.10.0; extra == "all"
|
|
246
247
|
Requires-Dist: nibabel>=4.0.1; extra == "all"
|
|
@@ -253,6 +254,7 @@ Requires-Dist: scikit-image>=0.24.0; extra == "all"
|
|
|
253
254
|
Requires-Dist: imagesize>=1.4.1; extra == "all"
|
|
254
255
|
Requires-Dist: scipy>=1.14.0; extra == "all"
|
|
255
256
|
Requires-Dist: monai>=1.3.2; extra == "all"
|
|
257
|
+
Requires-Dist: einops>=0.8.1; extra == "all"
|
|
256
258
|
Description-Content-Type: text/markdown
|
|
257
259
|
|
|
258
260
|
<div align="center">
|
|
@@ -291,7 +293,7 @@ Check out the [documentation](https://kaiko-ai.github.io/eva/) for more informat
|
|
|
291
293
|
|
|
292
294
|
### Highlights:
|
|
293
295
|
- Easy and reliable benchmark of Oncology FMs
|
|
294
|
-
- Supports
|
|
296
|
+
- Supports patch-level classification, slide-level classification and semantic segmentation downstream tasks
|
|
295
297
|
- Automatic embedding inference and evaluation of a downstream task
|
|
296
298
|
- Native support of popular medical [datasets](https://kaiko-ai.github.io/eva/dev/datasets/) and models
|
|
297
299
|
- Produce statistics over multiple evaluation fits and multiple metrics
|
|
@@ -446,26 +448,28 @@ input, resulting in a faster evaluation.
|
|
|
446
448
|
Here are some examples to get you started:
|
|
447
449
|
|
|
448
450
|
- Perform a downstream offline **classification** evaluation of `DINO ViT-S/16`
|
|
449
|
-
on the `BACH` dataset with linear probing by first
|
|
450
|
-
and then performing 5 sequential fits:
|
|
451
|
+
on the `BACH` dataset with linear probing by first pre-calculating the embeddings:
|
|
451
452
|
```sh
|
|
452
|
-
|
|
453
|
-
|
|
453
|
+
DOWNLOAD_DATA=true \
|
|
454
|
+
MODEL_NAME=universal/vit_small_patch16_224_dino \
|
|
455
|
+
eva predict_fit --config https://raw.githubusercontent.com/kaiko-ai/eva/main/configs/vision/pathology/offline/classification/bach.yaml
|
|
454
456
|
```
|
|
455
457
|
|
|
456
|
-
- Perform a downstream online **segmentation** evaluation of `DINO ViT-S/16` on the
|
|
457
|
-
`MoNuSAC` dataset with the `ConvDecoderMS` decoder:
|
|
458
|
+
- Perform a downstream online **segmentation** evaluation of `DINO ViT-S/16` on the `MoNuSAC` dataset with the `ConvDecoderWithImage` decoder:
|
|
458
459
|
```sh
|
|
459
|
-
|
|
460
|
-
|
|
460
|
+
DOWNLOAD_DATA=true \
|
|
461
|
+
MODEL_NAME=universal/vit_small_patch16_224_dino \
|
|
462
|
+
eva fit --config https://raw.githubusercontent.com/kaiko-ai/eva/main/configs/vision/pathology/online/segmentation/monusac.yaml
|
|
461
463
|
```
|
|
462
464
|
|
|
465
|
+
By default `eva` will perform 5 evaluation runs using different seeds, however, you can control the number of runs through the `N_RUNS` environment variable or in the configuration file. The results will be saved to `./logs` by default, or to `OUTPUT_ROOT` if specified.
|
|
466
|
+
|
|
463
467
|
For more examples, take a look at the [configs](https://github.com/kaiko-ai/eva/tree/main/configs)
|
|
464
|
-
and [tutorials](https://kaiko-ai.github.io/eva/
|
|
468
|
+
and [tutorials](https://kaiko-ai.github.io/eva/main/user-guide/advanced/replicate_evaluations/).
|
|
465
469
|
|
|
466
470
|
> [!NOTE]
|
|
467
471
|
> All the datasets that support automatic download in the repo have by default the option to automatically download set to false.
|
|
468
|
-
> For automatic download you have to manually set the
|
|
472
|
+
> For automatic download you have to manually set the environment variable `DOWNLOAD_DATA=true` or in the configuration file `download=true`.
|
|
469
473
|
|
|
470
474
|
## Leaderboards
|
|
471
475
|
|
|
@@ -34,7 +34,7 @@ Check out the [documentation](https://kaiko-ai.github.io/eva/) for more informat
|
|
|
34
34
|
|
|
35
35
|
### Highlights:
|
|
36
36
|
- Easy and reliable benchmark of Oncology FMs
|
|
37
|
-
- Supports
|
|
37
|
+
- Supports patch-level classification, slide-level classification and semantic segmentation downstream tasks
|
|
38
38
|
- Automatic embedding inference and evaluation of a downstream task
|
|
39
39
|
- Native support of popular medical [datasets](https://kaiko-ai.github.io/eva/dev/datasets/) and models
|
|
40
40
|
- Produce statistics over multiple evaluation fits and multiple metrics
|
|
@@ -189,26 +189,28 @@ input, resulting in a faster evaluation.
|
|
|
189
189
|
Here are some examples to get you started:
|
|
190
190
|
|
|
191
191
|
- Perform a downstream offline **classification** evaluation of `DINO ViT-S/16`
|
|
192
|
-
on the `BACH` dataset with linear probing by first
|
|
193
|
-
and then performing 5 sequential fits:
|
|
192
|
+
on the `BACH` dataset with linear probing by first pre-calculating the embeddings:
|
|
194
193
|
```sh
|
|
195
|
-
|
|
196
|
-
|
|
194
|
+
DOWNLOAD_DATA=true \
|
|
195
|
+
MODEL_NAME=universal/vit_small_patch16_224_dino \
|
|
196
|
+
eva predict_fit --config https://raw.githubusercontent.com/kaiko-ai/eva/main/configs/vision/pathology/offline/classification/bach.yaml
|
|
197
197
|
```
|
|
198
198
|
|
|
199
|
-
- Perform a downstream online **segmentation** evaluation of `DINO ViT-S/16` on the
|
|
200
|
-
`MoNuSAC` dataset with the `ConvDecoderMS` decoder:
|
|
199
|
+
- Perform a downstream online **segmentation** evaluation of `DINO ViT-S/16` on the `MoNuSAC` dataset with the `ConvDecoderWithImage` decoder:
|
|
201
200
|
```sh
|
|
202
|
-
|
|
203
|
-
|
|
201
|
+
DOWNLOAD_DATA=true \
|
|
202
|
+
MODEL_NAME=universal/vit_small_patch16_224_dino \
|
|
203
|
+
eva fit --config https://raw.githubusercontent.com/kaiko-ai/eva/main/configs/vision/pathology/online/segmentation/monusac.yaml
|
|
204
204
|
```
|
|
205
205
|
|
|
206
|
+
By default `eva` will perform 5 evaluation runs using different seeds, however, you can control the number of runs through the `N_RUNS` environment variable or in the configuration file. The results will be saved to `./logs` by default, or to `OUTPUT_ROOT` if specified.
|
|
207
|
+
|
|
206
208
|
For more examples, take a look at the [configs](https://github.com/kaiko-ai/eva/tree/main/configs)
|
|
207
|
-
and [tutorials](https://kaiko-ai.github.io/eva/
|
|
209
|
+
and [tutorials](https://kaiko-ai.github.io/eva/main/user-guide/advanced/replicate_evaluations/).
|
|
208
210
|
|
|
209
211
|
> [!NOTE]
|
|
210
212
|
> All the datasets that support automatic download in the repo have by default the option to automatically download set to false.
|
|
211
|
-
> For automatic download you have to manually set the
|
|
213
|
+
> For automatic download you have to manually set the environment variable `DOWNLOAD_DATA=true` or in the configuration file `download=true`.
|
|
212
214
|
|
|
213
215
|
## Leaderboards
|
|
214
216
|
|
|
@@ -6,7 +6,7 @@ build-backend = "pdm.backend"
|
|
|
6
6
|
|
|
7
7
|
[project]
|
|
8
8
|
name = "kaiko-eva"
|
|
9
|
-
version = "0.2.
|
|
9
|
+
version = "0.2.2"
|
|
10
10
|
description = "Evaluation Framework for oncology foundation models."
|
|
11
11
|
keywords = [
|
|
12
12
|
"machine-learning",
|
|
@@ -70,6 +70,7 @@ vision = [
|
|
|
70
70
|
"imagesize>=1.4.1",
|
|
71
71
|
"scipy>=1.14.0",
|
|
72
72
|
"monai>=1.3.2",
|
|
73
|
+
"einops>=0.8.1",
|
|
73
74
|
]
|
|
74
75
|
all = [
|
|
75
76
|
"h5py>=3.10.0",
|
|
@@ -83,6 +84,7 @@ all = [
|
|
|
83
84
|
"imagesize>=1.4.1",
|
|
84
85
|
"scipy>=1.14.0",
|
|
85
86
|
"monai>=1.3.2",
|
|
87
|
+
"einops>=0.8.1",
|
|
86
88
|
]
|
|
87
89
|
|
|
88
90
|
[project.scripts]
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"""Base dataset class."""
|
|
2
2
|
|
|
3
3
|
import abc
|
|
4
|
+
from typing import Generic, TypeVar
|
|
4
5
|
|
|
5
6
|
from eva.core.data.datasets import dataset
|
|
6
7
|
|
|
@@ -55,11 +56,15 @@ class Dataset(dataset.TorchDataset):
|
|
|
55
56
|
"""
|
|
56
57
|
|
|
57
58
|
|
|
58
|
-
|
|
59
|
+
DataSample = TypeVar("DataSample")
|
|
60
|
+
"""The data sample type."""
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
class MapDataset(Dataset, abc.ABC, Generic[DataSample]):
|
|
59
64
|
"""Abstract base class for all map-style datasets."""
|
|
60
65
|
|
|
61
66
|
@abc.abstractmethod
|
|
62
|
-
def __getitem__(self, index: int):
|
|
67
|
+
def __getitem__(self, index: int) -> DataSample:
|
|
63
68
|
"""Retrieves the item at the given index.
|
|
64
69
|
|
|
65
70
|
Args:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"""Neural Network Head Module."""
|
|
2
2
|
|
|
3
|
-
from typing import Any, Callable, Dict
|
|
3
|
+
from typing import Any, Callable, Dict, List
|
|
4
4
|
|
|
5
5
|
import torch
|
|
6
6
|
from lightning.pytorch.cli import LRSchedulerCallable, OptimizerCallable
|
|
@@ -108,7 +108,9 @@ class HeadModule(module.ModelModule):
|
|
|
108
108
|
return self._batch_step(batch)
|
|
109
109
|
|
|
110
110
|
@override
|
|
111
|
-
def predict_step(
|
|
111
|
+
def predict_step(
|
|
112
|
+
self, batch: INPUT_BATCH, *args: Any, **kwargs: Any
|
|
113
|
+
) -> torch.Tensor | List[torch.Tensor]:
|
|
112
114
|
tensor = INPUT_BATCH(*batch).data
|
|
113
115
|
return tensor if self.backbone is None else self.backbone(tensor)
|
|
114
116
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"""Type annotations for model modules."""
|
|
2
2
|
|
|
3
|
-
from typing import Any, Dict, NamedTuple
|
|
3
|
+
from typing import Any, Dict, List, NamedTuple
|
|
4
4
|
|
|
5
5
|
import lightning.pytorch as pl
|
|
6
6
|
import torch
|
|
@@ -13,7 +13,7 @@ MODEL_TYPE = nn.Module | pl.LightningModule
|
|
|
13
13
|
class INPUT_BATCH(NamedTuple):
|
|
14
14
|
"""The default input batch data scheme."""
|
|
15
15
|
|
|
16
|
-
data: torch.Tensor
|
|
16
|
+
data: torch.Tensor | List[torch.Tensor]
|
|
17
17
|
"""The data batch."""
|
|
18
18
|
|
|
19
19
|
targets: torch.Tensor | None = None
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"""Model outputs transforms API."""
|
|
2
2
|
|
|
3
|
+
from eva.core.models.transforms.as_discrete import AsDiscrete
|
|
3
4
|
from eva.core.models.transforms.extract_cls_features import ExtractCLSFeatures
|
|
4
5
|
from eva.core.models.transforms.extract_patch_features import ExtractPatchFeatures
|
|
5
6
|
|
|
6
|
-
__all__ = ["ExtractCLSFeatures", "ExtractPatchFeatures"]
|
|
7
|
+
__all__ = ["AsDiscrete", "ExtractCLSFeatures", "ExtractPatchFeatures"]
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"""Defines the AsDiscrete transformation."""
|
|
2
|
+
|
|
3
|
+
import torch
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class AsDiscrete:
|
|
7
|
+
"""Convert the logits tensor to discrete values."""
|
|
8
|
+
|
|
9
|
+
def __init__(
|
|
10
|
+
self,
|
|
11
|
+
argmax: bool = False,
|
|
12
|
+
to_onehot: int | bool | None = None,
|
|
13
|
+
threshold: float | None = None,
|
|
14
|
+
) -> None:
|
|
15
|
+
"""Convert the input tensor/array into discrete values.
|
|
16
|
+
|
|
17
|
+
Args:
|
|
18
|
+
argmax: Whether to execute argmax function on input data before transform.
|
|
19
|
+
to_onehot: if not None, convert input data into the one-hot format with
|
|
20
|
+
specified number of classes. If bool, it will try to infer the number
|
|
21
|
+
of classes.
|
|
22
|
+
threshold: If not None, threshold the float values to int number 0 or 1
|
|
23
|
+
with specified threshold.
|
|
24
|
+
"""
|
|
25
|
+
super().__init__()
|
|
26
|
+
|
|
27
|
+
self._argmax = argmax
|
|
28
|
+
self._to_onehot = to_onehot
|
|
29
|
+
self._threshold = threshold
|
|
30
|
+
|
|
31
|
+
def __call__(self, tensor: torch.Tensor) -> torch.Tensor:
|
|
32
|
+
"""Call method for the transformation."""
|
|
33
|
+
if self._argmax:
|
|
34
|
+
tensor = torch.argmax(tensor, dim=1, keepdim=True)
|
|
35
|
+
|
|
36
|
+
if self._to_onehot is not None:
|
|
37
|
+
tensor = _one_hot(tensor, num_classes=self._to_onehot, dim=1, dtype=torch.long)
|
|
38
|
+
|
|
39
|
+
if self._threshold is not None:
|
|
40
|
+
tensor = tensor >= self._threshold
|
|
41
|
+
|
|
42
|
+
return tensor
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
def _one_hot(
|
|
46
|
+
tensor: torch.Tensor, num_classes: int, dtype: torch.dtype = torch.float, dim: int = 1
|
|
47
|
+
) -> torch.Tensor:
|
|
48
|
+
"""Convert input tensor into one-hot format (implementation taken from MONAI)."""
|
|
49
|
+
shape = list(tensor.shape)
|
|
50
|
+
if shape[dim] != 1:
|
|
51
|
+
raise AssertionError(f"Input tensor must have 1 channel at dim {dim}.")
|
|
52
|
+
|
|
53
|
+
shape[dim] = num_classes
|
|
54
|
+
o = torch.zeros(size=shape, dtype=dtype, device=tensor.device)
|
|
55
|
+
tensor = o.scatter_(dim=dim, index=tensor.long(), value=1)
|
|
56
|
+
|
|
57
|
+
return tensor
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"""Utilities and helper functions for models."""
|
|
2
|
+
|
|
3
|
+
import hashlib
|
|
4
|
+
import os
|
|
5
|
+
import sys
|
|
6
|
+
from typing import Any, Dict
|
|
7
|
+
|
|
8
|
+
import torch
|
|
9
|
+
from fsspec.core import url_to_fs
|
|
10
|
+
from lightning_fabric.utilities import cloud_io
|
|
11
|
+
from loguru import logger
|
|
12
|
+
from torch import hub, nn
|
|
13
|
+
|
|
14
|
+
from eva.core.utils.progress_bar import tqdm
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def load_model_weights(model: nn.Module, checkpoint_path: str) -> None:
|
|
18
|
+
"""Loads (local or remote) weights to the model in-place.
|
|
19
|
+
|
|
20
|
+
Args:
|
|
21
|
+
model: The model to load the weights to.
|
|
22
|
+
checkpoint_path: The path to the model weights/checkpoint.
|
|
23
|
+
"""
|
|
24
|
+
logger.info(f"Loading '{model.__class__.__name__}' model from checkpoint '{checkpoint_path}'")
|
|
25
|
+
|
|
26
|
+
fs = cloud_io.get_filesystem(checkpoint_path)
|
|
27
|
+
with fs.open(checkpoint_path, "rb") as file:
|
|
28
|
+
checkpoint = cloud_io._load(file, map_location="cpu") # type: ignore
|
|
29
|
+
if isinstance(checkpoint, dict) and "state_dict" in checkpoint:
|
|
30
|
+
checkpoint = checkpoint["state_dict"]
|
|
31
|
+
|
|
32
|
+
model.load_state_dict(checkpoint, strict=True)
|
|
33
|
+
|
|
34
|
+
logger.info(f"Loading weights from '{checkpoint_path}' completed successfully.")
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
def load_state_dict_from_url(
|
|
38
|
+
url: str,
|
|
39
|
+
*,
|
|
40
|
+
model_dir: str | None = None,
|
|
41
|
+
filename: str | None = None,
|
|
42
|
+
progress: bool = True,
|
|
43
|
+
md5: str | None = None,
|
|
44
|
+
force: bool = False,
|
|
45
|
+
) -> Dict[str, Any]:
|
|
46
|
+
"""Loads the Torch serialized object at the given URL.
|
|
47
|
+
|
|
48
|
+
If the object is already present and valid in `model_dir`, it's
|
|
49
|
+
deserialized and returned.
|
|
50
|
+
|
|
51
|
+
The default value of ``model_dir`` is ``<hub_dir>/checkpoints`` where
|
|
52
|
+
``hub_dir`` is the directory returned by :func:`~torch.hub.get_dir`.
|
|
53
|
+
|
|
54
|
+
Args:
|
|
55
|
+
url: URL of the object to download.
|
|
56
|
+
model_dir: Directory in which to save the object.
|
|
57
|
+
filename: Name for the downloaded file. Filename from ``url`` will be used if not set.
|
|
58
|
+
progress: Whether or not to display a progress bar to stderr.
|
|
59
|
+
md5: MD5 file code to check whether the file is valid. If not, it will re-download it.
|
|
60
|
+
force: Whether to download the file regardless if it exists.
|
|
61
|
+
"""
|
|
62
|
+
model_dir = model_dir or os.path.join(hub.get_dir(), "checkpoints")
|
|
63
|
+
os.makedirs(model_dir, exist_ok=True)
|
|
64
|
+
|
|
65
|
+
cached_file = os.path.join(model_dir, filename or os.path.basename(url))
|
|
66
|
+
if force or not os.path.exists(cached_file) or not _check_integrity(cached_file, md5):
|
|
67
|
+
sys.stderr.write(f"Downloading: '{url}' to {cached_file}\n")
|
|
68
|
+
_download_url_to_file(url, cached_file, progress=progress)
|
|
69
|
+
if md5 is None or not _check_integrity(cached_file, md5):
|
|
70
|
+
sys.stderr.write(f"File MD5: {_calculate_md5(cached_file)}\n")
|
|
71
|
+
|
|
72
|
+
return torch.load(cached_file, map_location="cpu")
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
def _download_url_to_file(
|
|
76
|
+
url: str,
|
|
77
|
+
dst: str,
|
|
78
|
+
*,
|
|
79
|
+
progress: bool = True,
|
|
80
|
+
) -> None:
|
|
81
|
+
"""Download object at the given URL to a local path.
|
|
82
|
+
|
|
83
|
+
Args:
|
|
84
|
+
url: URL of the object to download.
|
|
85
|
+
dst: Full path where object will be saved.
|
|
86
|
+
chunk_size: The size of each chunk to read in bytes.
|
|
87
|
+
progress: Whether or not to display a progress bar to stderr.
|
|
88
|
+
"""
|
|
89
|
+
try:
|
|
90
|
+
_download_with_fsspec(url=url, dst=dst, progress=progress)
|
|
91
|
+
except Exception:
|
|
92
|
+
try:
|
|
93
|
+
hub.download_url_to_file(url=url, dst=dst, progress=progress)
|
|
94
|
+
except Exception as hub_e:
|
|
95
|
+
raise RuntimeError(
|
|
96
|
+
f"Failed to download file from {url} using both fsspec and hub."
|
|
97
|
+
) from hub_e
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
def _download_with_fsspec(
|
|
101
|
+
url: str,
|
|
102
|
+
dst: str,
|
|
103
|
+
*,
|
|
104
|
+
chunk_size: int = 1024 * 1024,
|
|
105
|
+
progress: bool = True,
|
|
106
|
+
) -> None:
|
|
107
|
+
"""Download object at the given URL to a local path using fsspec.
|
|
108
|
+
|
|
109
|
+
Args:
|
|
110
|
+
url: URL of the object to download.
|
|
111
|
+
dst: Full path where object will be saved.
|
|
112
|
+
chunk_size: The size of each chunk to read in bytes.
|
|
113
|
+
progress: Whether or not to display a progress bar to stderr.
|
|
114
|
+
"""
|
|
115
|
+
filesystem, _ = url_to_fs(url, anon=False)
|
|
116
|
+
total_size_bytes = filesystem.size(url)
|
|
117
|
+
with (
|
|
118
|
+
filesystem.open(url, "rb") as remote_file,
|
|
119
|
+
tqdm(
|
|
120
|
+
total=total_size_bytes,
|
|
121
|
+
unit="iB",
|
|
122
|
+
unit_scale=True,
|
|
123
|
+
unit_divisor=1024,
|
|
124
|
+
disable=not progress,
|
|
125
|
+
) as pbar,
|
|
126
|
+
):
|
|
127
|
+
with open(dst, "wb") as local_file:
|
|
128
|
+
while True:
|
|
129
|
+
data = remote_file.read(chunk_size)
|
|
130
|
+
if not data:
|
|
131
|
+
break
|
|
132
|
+
|
|
133
|
+
local_file.write(data)
|
|
134
|
+
pbar.update(chunk_size)
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
def _calculate_md5(path: str) -> str:
|
|
138
|
+
"""Calculate the md5 hash of a file."""
|
|
139
|
+
with open(path, "rb") as file:
|
|
140
|
+
return hashlib.md5(file.read(), usedforsecurity=False).hexdigest()
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
def _check_integrity(path: str, md5: str | None) -> bool:
|
|
144
|
+
"""Check if the file matches the specified md5 hash."""
|
|
145
|
+
return (md5 is None) or (md5 == _calculate_md5(path))
|
|
@@ -129,7 +129,10 @@ class SessionRecorder:
|
|
|
129
129
|
def _save_config(self) -> None:
|
|
130
130
|
"""Saves the config yaml with resolved env placeholders to the output directory."""
|
|
131
131
|
if self.config_path:
|
|
132
|
-
|
|
132
|
+
config_fs = cloud_io.get_filesystem(self.config_path)
|
|
133
|
+
with config_fs.open(self.config_path, "r") as config_file:
|
|
134
|
+
config = OmegaConf.load(config_file) # type: ignore
|
|
135
|
+
|
|
133
136
|
fs = cloud_io.get_filesystem(self._output_dir, anon=False)
|
|
134
137
|
with fs.open(os.path.join(self._output_dir, self._config_file), "w") as file:
|
|
135
138
|
config_yaml = OmegaConf.to_yaml(config, resolve=True)
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"""Context manager to temporarily suppress all logging outputs."""
|
|
2
|
+
|
|
3
|
+
import logging
|
|
4
|
+
import sys
|
|
5
|
+
from types import TracebackType
|
|
6
|
+
from typing import Type
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class SuppressLogs:
|
|
10
|
+
"""Context manager to suppress all logs but print exceptions if they occur."""
|
|
11
|
+
|
|
12
|
+
def __enter__(self) -> None:
|
|
13
|
+
"""Temporarily increase log level to suppress all logs."""
|
|
14
|
+
self._logger = logging.getLogger()
|
|
15
|
+
self._previous_level = self._logger.level
|
|
16
|
+
self._logger.setLevel(logging.CRITICAL + 1)
|
|
17
|
+
|
|
18
|
+
def __exit__(
|
|
19
|
+
self,
|
|
20
|
+
exc_type: Type[BaseException] | None,
|
|
21
|
+
exc_value: BaseException | None,
|
|
22
|
+
traceback: TracebackType | None,
|
|
23
|
+
) -> bool:
|
|
24
|
+
"""Restores the previous logging level and print exceptions."""
|
|
25
|
+
self._logger.setLevel(self._previous_level)
|
|
26
|
+
if exc_value:
|
|
27
|
+
print(f"Error: {exc_value}", file=sys.stderr)
|
|
28
|
+
return False
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"""Data only collate filter function."""
|
|
2
|
+
|
|
3
|
+
from typing import Any, List
|
|
4
|
+
|
|
5
|
+
import torch
|
|
6
|
+
|
|
7
|
+
from eva.core.models.modules.typings import INPUT_BATCH
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
def collection_collate(batch: List[List[INPUT_BATCH]]) -> Any:
|
|
11
|
+
"""Collate function for stacking a collection of data samples.
|
|
12
|
+
|
|
13
|
+
Args:
|
|
14
|
+
batch: The batch to be collated.
|
|
15
|
+
|
|
16
|
+
Returns:
|
|
17
|
+
The collated batch.
|
|
18
|
+
"""
|
|
19
|
+
tensors, targets, metadata = zip(*batch, strict=False)
|
|
20
|
+
batch_tensors = torch.cat(list(map(torch.stack, tensors)))
|
|
21
|
+
batch_targets = torch.cat(list(map(torch.stack, targets)))
|
|
22
|
+
return batch_tensors, batch_targets, metadata
|
|
@@ -16,9 +16,9 @@ from eva.vision.data.datasets.classification import (
|
|
|
16
16
|
)
|
|
17
17
|
from eva.vision.data.datasets.segmentation import (
|
|
18
18
|
BCSS,
|
|
19
|
+
BTCV,
|
|
19
20
|
CoNSeP,
|
|
20
21
|
EmbeddingsSegmentationDataset,
|
|
21
|
-
ImageSegmentation,
|
|
22
22
|
LiTS,
|
|
23
23
|
LiTSBalanced,
|
|
24
24
|
MoNuSAC,
|
|
@@ -29,6 +29,7 @@ from eva.vision.data.datasets.wsi import MultiWsiDataset, WsiDataset
|
|
|
29
29
|
|
|
30
30
|
__all__ = [
|
|
31
31
|
"BACH",
|
|
32
|
+
"BTCV",
|
|
32
33
|
"BCSS",
|
|
33
34
|
"BreaKHis",
|
|
34
35
|
"BRACS",
|
|
@@ -43,7 +44,6 @@ __all__ = [
|
|
|
43
44
|
"WsiClassificationDataset",
|
|
44
45
|
"CoNSeP",
|
|
45
46
|
"EmbeddingsSegmentationDataset",
|
|
46
|
-
"ImageSegmentation",
|
|
47
47
|
"LiTS",
|
|
48
48
|
"LiTSBalanced",
|
|
49
49
|
"MoNuSAC",
|
|
@@ -8,12 +8,11 @@ from torchvision import tv_tensors
|
|
|
8
8
|
from torchvision.datasets import folder, utils
|
|
9
9
|
from typing_extensions import override
|
|
10
10
|
|
|
11
|
-
from eva.vision.data.datasets import _utils, _validators, structs
|
|
12
|
-
from eva.vision.data.datasets.classification import base
|
|
11
|
+
from eva.vision.data.datasets import _utils, _validators, structs, vision
|
|
13
12
|
from eva.vision.utils import io
|
|
14
13
|
|
|
15
14
|
|
|
16
|
-
class BACH(
|
|
15
|
+
class BACH(vision.VisionDataset[tv_tensors.Image, torch.Tensor]):
|
|
17
16
|
"""Dataset class for BACH images and corresponding targets."""
|
|
18
17
|
|
|
19
18
|
_train_index_ranges: List[Tuple[int, int]] = [
|
|
@@ -125,7 +124,7 @@ class BACH(base.ImageClassification):
|
|
|
125
124
|
)
|
|
126
125
|
|
|
127
126
|
@override
|
|
128
|
-
def
|
|
127
|
+
def load_data(self, index: int) -> tv_tensors.Image:
|
|
129
128
|
image_path, _ = self._samples[self._indices[index]]
|
|
130
129
|
return io.read_image_as_tensor(image_path)
|
|
131
130
|
|
|
@@ -8,12 +8,11 @@ from torchvision import tv_tensors
|
|
|
8
8
|
from torchvision.datasets import folder
|
|
9
9
|
from typing_extensions import override
|
|
10
10
|
|
|
11
|
-
from eva.vision.data.datasets import _validators
|
|
12
|
-
from eva.vision.data.datasets.classification import base
|
|
11
|
+
from eva.vision.data.datasets import _validators, vision
|
|
13
12
|
from eva.vision.utils import io
|
|
14
13
|
|
|
15
14
|
|
|
16
|
-
class BRACS(
|
|
15
|
+
class BRACS(vision.VisionDataset[tv_tensors.Image, torch.Tensor]):
|
|
17
16
|
"""Dataset class for BRACS images and corresponding targets."""
|
|
18
17
|
|
|
19
18
|
_expected_dataset_lengths: Dict[str, int] = {
|
|
@@ -80,7 +79,7 @@ class BRACS(base.ImageClassification):
|
|
|
80
79
|
)
|
|
81
80
|
|
|
82
81
|
@override
|
|
83
|
-
def
|
|
82
|
+
def load_data(self, index: int) -> tv_tensors.Image:
|
|
84
83
|
image_path, _ = self._samples[index]
|
|
85
84
|
return io.read_image_as_tensor(image_path)
|
|
86
85
|
|
|
@@ -10,12 +10,11 @@ from torchvision import tv_tensors
|
|
|
10
10
|
from torchvision.datasets import utils
|
|
11
11
|
from typing_extensions import override
|
|
12
12
|
|
|
13
|
-
from eva.vision.data.datasets import _validators, structs
|
|
14
|
-
from eva.vision.data.datasets.classification import base
|
|
13
|
+
from eva.vision.data.datasets import _validators, structs, vision
|
|
15
14
|
from eva.vision.utils import io
|
|
16
15
|
|
|
17
16
|
|
|
18
|
-
class BreaKHis(
|
|
17
|
+
class BreaKHis(vision.VisionDataset[tv_tensors.Image, torch.Tensor]):
|
|
19
18
|
"""Dataset class for BreaKHis images and corresponding targets."""
|
|
20
19
|
|
|
21
20
|
_resources: List[structs.DownloadResource] = [
|
|
@@ -145,7 +144,7 @@ class BreaKHis(base.ImageClassification):
|
|
|
145
144
|
)
|
|
146
145
|
|
|
147
146
|
@override
|
|
148
|
-
def
|
|
147
|
+
def load_data(self, index: int) -> tv_tensors.Image:
|
|
149
148
|
image_path = self._image_files[self._indices[index]]
|
|
150
149
|
return io.read_image_as_tensor(image_path)
|
|
151
150
|
|
{kaiko_eva-0.2.0 → kaiko_eva-0.2.2}/src/eva/vision/data/datasets/classification/camelyon16.py
RENAMED
|
@@ -11,12 +11,11 @@ from torchvision import tv_tensors
|
|
|
11
11
|
from torchvision.transforms.v2 import functional
|
|
12
12
|
from typing_extensions import override
|
|
13
13
|
|
|
14
|
-
from eva.vision.data.datasets import _validators, wsi
|
|
15
|
-
from eva.vision.data.datasets.classification import base
|
|
14
|
+
from eva.vision.data.datasets import _validators, vision, wsi
|
|
16
15
|
from eva.vision.data.wsi.patching import samplers
|
|
17
16
|
|
|
18
17
|
|
|
19
|
-
class Camelyon16(wsi.MultiWsiDataset,
|
|
18
|
+
class Camelyon16(wsi.MultiWsiDataset, vision.VisionDataset[tv_tensors.Image, torch.Tensor]):
|
|
20
19
|
"""Dataset class for Camelyon16 images and corresponding targets."""
|
|
21
20
|
|
|
22
21
|
_val_slides = [
|
|
@@ -195,10 +194,10 @@ class Camelyon16(wsi.MultiWsiDataset, base.ImageClassification):
|
|
|
195
194
|
|
|
196
195
|
@override
|
|
197
196
|
def __getitem__(self, index: int) -> Tuple[tv_tensors.Image, torch.Tensor, Dict[str, Any]]:
|
|
198
|
-
return
|
|
197
|
+
return vision.VisionDataset.__getitem__(self, index)
|
|
199
198
|
|
|
200
199
|
@override
|
|
201
|
-
def
|
|
200
|
+
def load_data(self, index: int) -> tv_tensors.Image:
|
|
202
201
|
image_array = wsi.MultiWsiDataset.__getitem__(self, index)
|
|
203
202
|
return functional.to_image(image_array)
|
|
204
203
|
|
|
@@ -8,12 +8,11 @@ from torchvision import tv_tensors
|
|
|
8
8
|
from torchvision.datasets import folder, utils
|
|
9
9
|
from typing_extensions import override
|
|
10
10
|
|
|
11
|
-
from eva.vision.data.datasets import _validators, structs
|
|
12
|
-
from eva.vision.data.datasets.classification import base
|
|
11
|
+
from eva.vision.data.datasets import _validators, structs, vision
|
|
13
12
|
from eva.vision.utils import io
|
|
14
13
|
|
|
15
14
|
|
|
16
|
-
class CRC(
|
|
15
|
+
class CRC(vision.VisionDataset[tv_tensors.Image, torch.Tensor]):
|
|
17
16
|
"""Dataset class for CRC images and corresponding targets."""
|
|
18
17
|
|
|
19
18
|
_train_resource: structs.DownloadResource = structs.DownloadResource(
|
|
@@ -117,7 +116,7 @@ class CRC(base.ImageClassification):
|
|
|
117
116
|
)
|
|
118
117
|
|
|
119
118
|
@override
|
|
120
|
-
def
|
|
119
|
+
def load_data(self, index: int) -> tv_tensors.Image:
|
|
121
120
|
image_path, _ = self._samples[index]
|
|
122
121
|
return io.read_image_as_tensor(image_path)
|
|
123
122
|
|