kaiko-eva 0.2.0__tar.gz → 0.2.1__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.1}/PKG-INFO +3 -1
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/pyproject.toml +3 -1
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/data/datasets/base.py +7 -2
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/models/modules/head.py +4 -2
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/models/modules/typings.py +2 -2
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/models/transforms/__init__.py +2 -1
- kaiko_eva-0.2.1/src/eva/core/models/transforms/as_discrete.py +57 -0
- kaiko_eva-0.2.1/src/eva/core/models/wrappers/_utils.py +145 -0
- kaiko_eva-0.2.1/src/eva/core/utils/suppress_logs.py +28 -0
- kaiko_eva-0.2.1/src/eva/vision/data/__init__.py +5 -0
- kaiko_eva-0.2.1/src/eva/vision/data/dataloaders/__init__.py +5 -0
- kaiko_eva-0.2.1/src/eva/vision/data/dataloaders/collate_fn/__init__.py +5 -0
- kaiko_eva-0.2.1/src/eva/vision/data/dataloaders/collate_fn/collection.py +22 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/data/datasets/__init__.py +2 -2
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/data/datasets/classification/bach.py +3 -4
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/data/datasets/classification/bracs.py +3 -4
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/data/datasets/classification/breakhis.py +3 -4
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/data/datasets/classification/camelyon16.py +4 -5
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/data/datasets/classification/crc.py +3 -4
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/data/datasets/classification/gleason_arvaniti.py +3 -4
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/data/datasets/classification/mhist.py +3 -4
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/data/datasets/classification/panda.py +4 -5
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/data/datasets/classification/patch_camelyon.py +3 -4
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/data/datasets/classification/unitopatho.py +3 -4
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/data/datasets/classification/wsi.py +6 -5
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/data/datasets/segmentation/__init__.py +2 -2
- kaiko_eva-0.2.1/src/eva/vision/data/datasets/segmentation/_utils.py +85 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/data/datasets/segmentation/bcss.py +7 -8
- kaiko_eva-0.2.1/src/eva/vision/data/datasets/segmentation/btcv.py +236 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/data/datasets/segmentation/consep.py +6 -7
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/data/datasets/segmentation/lits.py +9 -8
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/data/datasets/segmentation/lits_balanced.py +2 -1
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/data/datasets/segmentation/monusac.py +4 -5
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/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.1/src/eva/vision/data/datasets/vision.py +46 -25
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/data/datasets/wsi.py +5 -5
- kaiko_eva-0.2.1/src/eva/vision/data/transforms/__init__.py +25 -0
- kaiko_eva-0.2.1/src/eva/vision/data/transforms/common/__init__.py +5 -0
- kaiko_eva-0.2.1/src/eva/vision/data/transforms/croppad/__init__.py +11 -0
- kaiko_eva-0.2.1/src/eva/vision/data/transforms/croppad/crop_foreground.py +110 -0
- kaiko_eva-0.2.1/src/eva/vision/data/transforms/croppad/rand_crop_by_pos_neg_label.py +109 -0
- kaiko_eva-0.2.1/src/eva/vision/data/transforms/croppad/spatial_pad.py +67 -0
- kaiko_eva-0.2.1/src/eva/vision/data/transforms/intensity/__init__.py +11 -0
- kaiko_eva-0.2.1/src/eva/vision/data/transforms/intensity/rand_scale_intensity.py +59 -0
- kaiko_eva-0.2.1/src/eva/vision/data/transforms/intensity/rand_shift_intensity.py +55 -0
- kaiko_eva-0.2.1/src/eva/vision/data/transforms/intensity/scale_intensity_ranged.py +56 -0
- kaiko_eva-0.2.1/src/eva/vision/data/transforms/spatial/__init__.py +7 -0
- kaiko_eva-0.2.1/src/eva/vision/data/transforms/spatial/flip.py +72 -0
- kaiko_eva-0.2.1/src/eva/vision/data/transforms/spatial/rotate.py +53 -0
- kaiko_eva-0.2.1/src/eva/vision/data/transforms/spatial/spacing.py +69 -0
- kaiko_eva-0.2.1/src/eva/vision/data/transforms/utility/__init__.py +5 -0
- kaiko_eva-0.2.1/src/eva/vision/data/transforms/utility/ensure_channel_first.py +51 -0
- kaiko_eva-0.2.1/src/eva/vision/data/tv_tensors/__init__.py +5 -0
- kaiko_eva-0.2.1/src/eva/vision/data/tv_tensors/volume.py +61 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/metrics/segmentation/monai_dice.py +9 -2
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/models/modules/semantic_segmentation.py +28 -20
- kaiko_eva-0.2.1/src/eva/vision/models/networks/backbones/__init__.py +13 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/models/networks/backbones/pathology/__init__.py +11 -2
- kaiko_eva-0.2.1/src/eva/vision/models/networks/backbones/pathology/bioptimus.py +80 -0
- kaiko_eva-0.2.1/src/eva/vision/models/networks/backbones/pathology/hkust.py +69 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/models/networks/backbones/pathology/kaiko.py +18 -0
- kaiko_eva-0.2.1/src/eva/vision/models/networks/backbones/radiology/__init__.py +11 -0
- kaiko_eva-0.2.1/src/eva/vision/models/networks/backbones/radiology/swin_unetr.py +231 -0
- kaiko_eva-0.2.1/src/eva/vision/models/networks/backbones/radiology/voco.py +75 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/models/networks/decoders/segmentation/__init__.py +6 -2
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/models/networks/decoders/segmentation/linear.py +5 -10
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/models/networks/decoders/segmentation/semantic/__init__.py +8 -1
- kaiko_eva-0.2.1/src/eva/vision/models/networks/decoders/segmentation/semantic/swin_unetr.py +104 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/utils/io/__init__.py +2 -0
- kaiko_eva-0.2.1/src/eva/vision/utils/io/nifti.py +169 -0
- kaiko_eva-0.2.1/tests/eva/assets/vision/datasets/btcv/imagesTr/img0001.nii.gz +3 -0
- kaiko_eva-0.2.1/tests/eva/assets/vision/datasets/btcv/imagesTr/img0002.nii.gz +3 -0
- kaiko_eva-0.2.1/tests/eva/assets/vision/datasets/btcv/labelsTr/label0001.nii.gz +3 -0
- kaiko_eva-0.2.1/tests/eva/assets/vision/datasets/btcv/labelsTr/label0002.nii.gz +3 -0
- kaiko_eva-0.2.1/tests/eva/assets/vision/datasets/lits/Training_Batch2/segmentation-31.nii +3 -0
- kaiko_eva-0.2.1/tests/eva/assets/vision/datasets/lits/Training_Batch2/segmentation-45.nii +3 -0
- kaiko_eva-0.2.1/tests/eva/assets/vision/datasets/lits/Training_Batch2/volume-31.nii +3 -0
- kaiko_eva-0.2.1/tests/eva/assets/vision/datasets/lits/Training_Batch2/volume-45.nii +3 -0
- kaiko_eva-0.2.1/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0011/ct.nii.gz +3 -0
- kaiko_eva-0.2.1/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0011/segmentations/aorta_small.nii.gz +3 -0
- kaiko_eva-0.2.1/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0011/segmentations/brain_small.nii.gz +3 -0
- kaiko_eva-0.2.1/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0011/segmentations/colon_small.nii.gz +3 -0
- kaiko_eva-0.2.1/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0011/segmentations/semantic_labels/masks.nii.gz +3 -0
- kaiko_eva-0.2.1/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0461/ct.nii.gz +3 -0
- kaiko_eva-0.2.1/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0461/segmentations/aorta_small.nii.gz +3 -0
- kaiko_eva-0.2.1/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0461/segmentations/brain_small.nii.gz +3 -0
- kaiko_eva-0.2.1/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0461/segmentations/colon_small.nii.gz +3 -0
- kaiko_eva-0.2.1/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0461/segmentations/semantic_labels/masks.nii.gz +3 -0
- kaiko_eva-0.2.1/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0762/ct.nii.gz +3 -0
- kaiko_eva-0.2.1/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0762/segmentations/aorta_small.nii.gz +3 -0
- kaiko_eva-0.2.1/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0762/segmentations/brain_small.nii.gz +3 -0
- kaiko_eva-0.2.1/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0762/segmentations/colon_small.nii.gz +3 -0
- kaiko_eva-0.2.1/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0762/segmentations/semantic_labels/masks.nii.gz +3 -0
- kaiko_eva-0.2.1/tests/eva/vision/data/datasets/segmentation/test_btcv.py +62 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/data/datasets/segmentation/test_lits.py +2 -2
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/data/datasets/segmentation/test_lits_balanced.py +2 -2
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/data/datasets/segmentation/test_total_segmentator.py +2 -2
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/data/wsi/patching/samplers/test_foreground_grid.py +1 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/data/wsi/patching/samplers/test_random.py +1 -0
- kaiko_eva-0.2.1/tests/eva/vision/models/modules/test_semantic_segmentation.py +98 -0
- kaiko_eva-0.2.1/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.1/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.1/tests/eva/vision/models/networks/decoders/segmentation/test_linear.py +5 -3
- kaiko_eva-0.2.1/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.1}/LICENSE +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/README.md +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/__main__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/__version__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/callbacks/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/callbacks/config.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/callbacks/writers/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/callbacks/writers/embeddings/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/callbacks/writers/embeddings/_manifest.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/callbacks/writers/embeddings/base.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/callbacks/writers/embeddings/classification.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/callbacks/writers/embeddings/segmentation.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/callbacks/writers/embeddings/typings.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/cli/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/cli/cli.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/cli/logo.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/cli/setup.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/data/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/data/dataloaders/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/data/dataloaders/dataloader.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/data/datamodules/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/data/datamodules/call.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/data/datamodules/datamodule.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/data/datamodules/schemas.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/data/datasets/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/data/datasets/classification/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/data/datasets/classification/embeddings.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/data/datasets/classification/multi_embeddings.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/data/datasets/dataset.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/data/datasets/embeddings.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/data/datasets/typings.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/data/samplers/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/data/samplers/classification/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/data/samplers/classification/balanced.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/data/samplers/random.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/data/samplers/sampler.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/data/splitting/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/data/splitting/random.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/data/splitting/stratified.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/data/transforms/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/data/transforms/dtype/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/data/transforms/dtype/array.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/data/transforms/padding/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/data/transforms/padding/pad_2d_tensor.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/data/transforms/sampling/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/data/transforms/sampling/sample_from_axis.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/interface/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/interface/interface.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/loggers/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/loggers/dummy.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/loggers/experimental_loggers.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/loggers/log/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/loggers/log/image.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/loggers/log/parameters.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/loggers/log/utils.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/loggers/loggers.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/loggers/utils/wandb.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/losses/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/losses/cross_entropy.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/metrics/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/metrics/average_loss.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/metrics/binary_balanced_accuracy.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/metrics/defaults/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/metrics/defaults/classification/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/metrics/defaults/classification/binary.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/metrics/defaults/classification/multiclass.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/metrics/structs/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/metrics/structs/collection.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/metrics/structs/metric.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/metrics/structs/module.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/metrics/structs/schemas.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/metrics/structs/typings.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/models/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/models/modules/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/models/modules/inference.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/models/modules/module.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/models/modules/utils/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/models/modules/utils/batch_postprocess.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/models/modules/utils/checkpoint.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/models/modules/utils/grad.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/models/networks/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/models/networks/mlp.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/models/transforms/extract_cls_features.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/models/transforms/extract_patch_features.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/models/wrappers/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/models/wrappers/base.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/models/wrappers/from_function.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/models/wrappers/from_torchhub.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/models/wrappers/huggingface.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/models/wrappers/onnx.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/trainers/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/trainers/_logging.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/trainers/_recorder.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/trainers/_utils.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/trainers/functional.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/trainers/trainer.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/utils/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/utils/clone.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/utils/io/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/utils/io/dataframe.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/utils/io/gz.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/utils/memory.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/utils/multiprocessing.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/utils/operations.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/utils/parser.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/utils/progress_bar.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/core/utils/workers.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/callbacks/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/callbacks/loggers/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/callbacks/loggers/batch/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/callbacks/loggers/batch/base.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/callbacks/loggers/batch/segmentation.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/data/datasets/_utils.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/data/datasets/_validators.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/data/datasets/classification/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/data/datasets/segmentation/_total_segmentator.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/data/datasets/segmentation/embeddings.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/data/datasets/structs.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/data/transforms/common/resize_and_crop.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/data/wsi/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/data/wsi/backends/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/data/wsi/backends/base.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/data/wsi/backends/openslide.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/data/wsi/backends/pil.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/data/wsi/backends/tiffslide.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/data/wsi/patching/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/data/wsi/patching/coordinates.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/data/wsi/patching/mask.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/data/wsi/patching/samplers/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/data/wsi/patching/samplers/_utils.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/data/wsi/patching/samplers/base.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/data/wsi/patching/samplers/foreground_grid.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/data/wsi/patching/samplers/grid.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/data/wsi/patching/samplers/random.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/losses/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/losses/dice.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/metrics/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/metrics/defaults/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/metrics/defaults/segmentation/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/metrics/defaults/segmentation/multiclass.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/metrics/segmentation/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/metrics/segmentation/_utils.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/metrics/segmentation/dice.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/metrics/segmentation/generalized_dice.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/metrics/segmentation/mean_iou.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/metrics/wrappers/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/metrics/wrappers/monai.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/models/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/models/modules/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/models/networks/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/models/networks/abmil.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/models/networks/backbones/_utils.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/models/networks/backbones/pathology/gigapath.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/models/networks/backbones/pathology/histai.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/models/networks/backbones/pathology/lunit.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/models/networks/backbones/pathology/mahmood.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/models/networks/backbones/pathology/owkin.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/models/networks/backbones/pathology/paige.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/models/networks/backbones/registry.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/models/networks/backbones/timm/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/models/networks/backbones/timm/backbones.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/models/networks/backbones/universal/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/models/networks/backbones/universal/vit.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/models/networks/decoders/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/models/networks/decoders/segmentation/base.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/models/networks/decoders/segmentation/decoder2d.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/models/networks/decoders/segmentation/semantic/common.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/models/networks/decoders/segmentation/semantic/with_image.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/models/networks/decoders/segmentation/typings.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/models/wrappers/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/models/wrappers/from_registry.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/models/wrappers/from_timm.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/utils/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/utils/colormap.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/utils/convert.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/utils/io/_utils.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/utils/io/image.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/utils/io/mat.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/utils/io/text.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/_cli.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/core/archives/test.txt.gz +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/core/datasets/embeddings/embeddings/tensor_0_shape_8.pt +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/core/datasets/embeddings/embeddings/tensor_1_shape_8.pt +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/core/datasets/embeddings/embeddings/tensor_2_shape_8_list.pt +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/core/datasets/embeddings/embeddings/tensor_3_shape_8_list.pt +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/core/datasets/embeddings/embeddings/tensor_4_shape_1x8.pt +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/core/datasets/embeddings/embeddings/tensor_5_shape_1x8.pt +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/core/datasets/embeddings/embeddings/tensor_6_shape_1x8_list.pt +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/core/datasets/embeddings/embeddings/tensor_7_shape_1x8_list.pt +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/core/datasets/embeddings/manifest.csv +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/core/datasets/multi-embeddings/embeddings/tensor_0_shape_6x8.pt +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/core/datasets/multi-embeddings/embeddings/tensor_1_shape_3x8.pt +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/core/datasets/multi-embeddings/embeddings/tensor_2_shape_1x8.pt +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/core/datasets/multi-embeddings/embeddings/tensor_3_shape_2x8.pt +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/core/datasets/multi-embeddings/embeddings/tensor_4_shape_5x8.pt +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/core/datasets/multi-embeddings/embeddings/tensor_5_shape_3x8.pt +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/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.1}/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.1}/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.1}/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.1}/tests/eva/assets/core/datasets/multi-embeddings/manifest.csv +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/images/random_bgr_32x32.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/images/random_grayscale_32x32.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/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.1}/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.1}/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.1}/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.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Benign/b001.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Benign/b002.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Benign/b003.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Benign/b004.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Benign/b005.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Benign/b006.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/InSitu/is001.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/InSitu/is002.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/InSitu/is003.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/InSitu/is004.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/InSitu/is005.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/InSitu/is006.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Invasive/iv001.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Invasive/iv002.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Invasive/iv003.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Invasive/iv004.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Invasive/iv005.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Invasive/iv006.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Normal/n001.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Normal/n002.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Normal/n003.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Normal/n004.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Normal/n005.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Normal/n006.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/tests/eva/assets/vision/datasets/camelyon16/testing/images/test_001.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/camelyon16/testing/images/test_002.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/camelyon16/testing/reference.csv +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/camelyon16/training/normal/normal_001.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/camelyon16/training/normal/normal_002.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/camelyon16/training/tumor/tumor_001.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/camelyon16/training/tumor/tumor_002.tif +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/consep/Test/Images/test_1.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/consep/Test/Images/test_2.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/consep/Test/Images/test_3.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/consep/Test/Labels/test_1.mat +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/consep/Test/Labels/test_2.mat +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/consep/Test/Labels/test_3.mat +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/consep/Train/Images/train_1.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/consep/Train/Images/train_2.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/consep/Train/Images/train_3.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/consep/Train/Images/train_4.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/consep/Train/Labels/train_1.mat +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/consep/Train/Labels/train_2.mat +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/consep/Train/Labels/train_3.mat +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/consep/Train/Labels/train_4.mat +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/tests/eva/assets/vision/datasets/mhist/annotations.csv +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/mhist/images/MHIST_aaa.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/mhist/images/MHIST_aab.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/mhist/images/MHIST_aac.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/mhist/images/MHIST_aae.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/mhist/images/MHIST_aaf.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/mhist/images/MHIST_aag.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/mhist/images/MHIST_aah.png +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/tests/eva/assets/vision/datasets/panda/train_images/0214df71ae527e2144021178c453d204.tiff +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/panda/train_images/02d302a8d723fa00331f373091b29135.tiff +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/panda/train_images/157565e23ba28d5a42f63f34f3dd4425.tiff +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/panda/train_images/682a1fd346b6fff340afbdb80c2f7caf.tiff +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/panda/train_images/8582b59b41635fa38401d1bddad66707.tiff +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/panda/train_images/8c357871e57c5c60277230412f2d9028.tiff +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/panda/train_images/979cf5a2fa4079eaf74343d6ff5e1b51.tiff +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/panda/train_images/9dd40c0127d217bc4917e4db40e06e94.tiff +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/panda/train_images/9ed8ec7bf90653bc4ca86b3ca53cbb96.tiff +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/panda/train_images/a04310d441e8d2c7a5066627baeec9b6.tiff +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/panda/train_images/fb8886059879eaac70139336cb525838.tiff +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/panda/train_with_noisy_labels.csv +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/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.1}/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.1}/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.1}/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.1}/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.1}/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.1}/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/meta.csv +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/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.1}/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.1}/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.1}/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.1}/tests/eva/assets/vision/datasets/unitopatho/800/test.csv +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/unitopatho/800/train.csv +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/wsi/0/a.tiff +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/wsi/0/b.tiff +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/wsi/1/a.tiff +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/assets/vision/datasets/wsi/manifest.csv +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/conftest.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/callbacks/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/callbacks/conftest.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/callbacks/writers/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/callbacks/writers/embeddings/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/callbacks/writers/embeddings/test_classification.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/data/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/data/dataloaders/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/data/dataloaders/test_dataloader.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/data/datamodules/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/data/datamodules/_utils.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/data/datamodules/test_datamodule.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/data/datamodules/test_schemas.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/data/datasets/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/data/datasets/classification/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/data/datasets/classification/test_embeddings.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/data/datasets/classification/test_multi_embeddings.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/data/samplers/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/data/samplers/_utils.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/data/samplers/classification/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/data/samplers/classification/test_balanced.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/data/splitting/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/data/splitting/test_random.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/data/splitting/test_stratified.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/data/transforms/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/data/transforms/padding/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/data/transforms/padding/test_pad_2d_tensor.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/data/transforms/sampling/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/data/transforms/sampling/test_sample_from_axis.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/metrics/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/metrics/core/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/metrics/core/test_metric_module.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/metrics/core/test_schemas.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/metrics/defaults/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/metrics/defaults/classification/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/metrics/defaults/classification/test_binary.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/metrics/defaults/classification/test_multiclass.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/metrics/test_average_loss.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/metrics/test_binary_balanced_accuracy.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/models/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/models/modules/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/models/modules/conftest.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/models/modules/test_head.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/models/modules/test_inference.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/models/modules/utils/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/models/modules/utils/test_batch_postproces.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/models/networks/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/models/networks/test_mlp.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/models/wrappers/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/models/wrappers/test_from_function.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/models/wrappers/test_from_torchub.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/models/wrappers/test_huggingface.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/models/wrappers/test_onnx.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/test_cli.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/trainers/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/trainers/test_recorder.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/utils/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/utils/io/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/utils/io/test_gz.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/core/utils/test_operations.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/data/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/data/datasets/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/data/datasets/classification/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/data/datasets/classification/test_bach.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/data/datasets/classification/test_bracs.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/data/datasets/classification/test_breakhis.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/data/datasets/classification/test_camelyon16.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/data/datasets/classification/test_crc.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/data/datasets/classification/test_gleason_arvaniti.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/data/datasets/classification/test_mhist.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/data/datasets/classification/test_panda.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/data/datasets/classification/test_patch_camelyon.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/data/datasets/classification/test_unitopatho.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/data/datasets/classification/test_wsi.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/data/datasets/segmentation/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/data/datasets/segmentation/test_bcss.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/data/datasets/segmentation/test_consep.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/data/datasets/segmentation/test_monusac.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/data/datasets/test_wsi.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/data/transforms/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/data/transforms/common/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/data/transforms/common/test_resize_and_crop.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/data/wsi/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/data/wsi/patching/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/data/wsi/patching/samplers/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/data/wsi/patching/samplers/test_grid.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/data/wsi/patching/test_mask.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/metrics/defaults/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/metrics/defaults/segmentation/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/metrics/defaults/segmentation/test_multiclass.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/metrics/segmentation/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/metrics/segmentation/_utils.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/metrics/segmentation/test_dice.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/metrics/segmentation/test_generalized_dice.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/metrics/segmentation/test_mean_iou.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/models/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/models/modules/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/models/modules/conftest.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/models/networks/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/models/networks/backbones/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/models/networks/backbones/test_registry.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/models/networks/decoders/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/models/networks/decoders/segmentation/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/models/networks/test_abmil.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/models/wrappers/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/models/wrappers/test_backbone.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/models/wrappers/test_from_timm.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/test_vision_cli.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/utils/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/utils/io/__init__.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/tests/eva/vision/utils/io/test_image.py +0 -0
- {kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/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.1
|
|
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">
|
|
@@ -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.1"
|
|
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))
|
|
@@ -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.1}/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
|
|
{kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/data/datasets/classification/gleason_arvaniti.py
RENAMED
|
@@ -12,12 +12,11 @@ from loguru import logger
|
|
|
12
12
|
from torchvision import tv_tensors
|
|
13
13
|
from typing_extensions import override
|
|
14
14
|
|
|
15
|
-
from eva.vision.data.datasets import _validators
|
|
16
|
-
from eva.vision.data.datasets.classification import base
|
|
15
|
+
from eva.vision.data.datasets import _validators, vision
|
|
17
16
|
from eva.vision.utils import io
|
|
18
17
|
|
|
19
18
|
|
|
20
|
-
class GleasonArvaniti(
|
|
19
|
+
class GleasonArvaniti(vision.VisionDataset[tv_tensors.Image, torch.Tensor]):
|
|
21
20
|
"""Dataset class for GleasonArvaniti images and corresponding targets."""
|
|
22
21
|
|
|
23
22
|
_expected_dataset_lengths: Dict[str | None, int] = {
|
|
@@ -121,7 +120,7 @@ class GleasonArvaniti(base.ImageClassification):
|
|
|
121
120
|
)
|
|
122
121
|
|
|
123
122
|
@override
|
|
124
|
-
def
|
|
123
|
+
def load_data(self, index: int) -> tv_tensors.Image:
|
|
125
124
|
image_path = self._image_files[self._indices[index]]
|
|
126
125
|
return io.read_image_as_tensor(image_path)
|
|
127
126
|
|
|
@@ -7,12 +7,11 @@ import torch
|
|
|
7
7
|
from torchvision import tv_tensors
|
|
8
8
|
from typing_extensions import override
|
|
9
9
|
|
|
10
|
-
from eva.vision.data.datasets import _validators
|
|
11
|
-
from eva.vision.data.datasets.classification import base
|
|
10
|
+
from eva.vision.data.datasets import _validators, vision
|
|
12
11
|
from eva.vision.utils import io
|
|
13
12
|
|
|
14
13
|
|
|
15
|
-
class MHIST(
|
|
14
|
+
class MHIST(vision.VisionDataset[tv_tensors.Image, torch.Tensor]):
|
|
16
15
|
"""MHIST dataset."""
|
|
17
16
|
|
|
18
17
|
def __init__(
|
|
@@ -69,7 +68,7 @@ class MHIST(base.ImageClassification):
|
|
|
69
68
|
)
|
|
70
69
|
|
|
71
70
|
@override
|
|
72
|
-
def
|
|
71
|
+
def load_data(self, index: int) -> tv_tensors.Image:
|
|
73
72
|
image_filename, _ = self._samples[index]
|
|
74
73
|
image_path = os.path.join(self._dataset_path, image_filename)
|
|
75
74
|
return io.read_image_as_tensor(image_path)
|
|
@@ -13,12 +13,11 @@ from torchvision.transforms.v2 import functional
|
|
|
13
13
|
from typing_extensions import override
|
|
14
14
|
|
|
15
15
|
from eva.core.data import splitting
|
|
16
|
-
from eva.vision.data.datasets import _validators, structs, wsi
|
|
17
|
-
from eva.vision.data.datasets.classification import base
|
|
16
|
+
from eva.vision.data.datasets import _validators, structs, vision, wsi
|
|
18
17
|
from eva.vision.data.wsi.patching import samplers
|
|
19
18
|
|
|
20
19
|
|
|
21
|
-
class PANDA(wsi.MultiWsiDataset,
|
|
20
|
+
class PANDA(wsi.MultiWsiDataset, vision.VisionDataset[tv_tensors.Image, torch.Tensor]):
|
|
22
21
|
"""Dataset class for PANDA images and corresponding targets."""
|
|
23
22
|
|
|
24
23
|
_train_split_ratio: float = 0.7
|
|
@@ -121,10 +120,10 @@ class PANDA(wsi.MultiWsiDataset, base.ImageClassification):
|
|
|
121
120
|
|
|
122
121
|
@override
|
|
123
122
|
def __getitem__(self, index: int) -> Tuple[tv_tensors.Image, torch.Tensor, Dict[str, Any]]:
|
|
124
|
-
return
|
|
123
|
+
return vision.VisionDataset.__getitem__(self, index)
|
|
125
124
|
|
|
126
125
|
@override
|
|
127
|
-
def
|
|
126
|
+
def load_data(self, index: int) -> tv_tensors.Image:
|
|
128
127
|
image_array = wsi.MultiWsiDataset.__getitem__(self, index)
|
|
129
128
|
return functional.to_image(image_array)
|
|
130
129
|
|
{kaiko_eva-0.2.0 → kaiko_eva-0.2.1}/src/eva/vision/data/datasets/classification/patch_camelyon.py
RENAMED
|
@@ -10,14 +10,13 @@ from torchvision.datasets import utils
|
|
|
10
10
|
from torchvision.transforms.v2 import functional
|
|
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
|
|
|
16
15
|
_URL_TEMPLATE = "https://zenodo.org/records/2546921/files/{filename}.gz?download=1"
|
|
17
16
|
"""PatchCamelyon URL files templates."""
|
|
18
17
|
|
|
19
18
|
|
|
20
|
-
class PatchCamelyon(
|
|
19
|
+
class PatchCamelyon(vision.VisionDataset[tv_tensors.Image, torch.Tensor]):
|
|
21
20
|
"""Dataset class for PatchCamelyon images and corresponding targets."""
|
|
22
21
|
|
|
23
22
|
_train_resources: List[structs.DownloadResource] = [
|
|
@@ -127,7 +126,7 @@ class PatchCamelyon(base.ImageClassification):
|
|
|
127
126
|
)
|
|
128
127
|
|
|
129
128
|
@override
|
|
130
|
-
def
|
|
129
|
+
def load_data(self, index: int) -> tv_tensors.Image:
|
|
131
130
|
return self._load_from_h5("x", index)
|
|
132
131
|
|
|
133
132
|
@override
|