kaiko-eva 0.4.0__tar.gz → 0.4.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.4.0 → kaiko_eva-0.4.1}/PKG-INFO +8 -2
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/README.md +7 -1
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/pyproject.toml +1 -1
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/callbacks/config.py +11 -6
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/callbacks/writers/embeddings/base.py +44 -10
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/data/samplers/classification/balanced.py +24 -12
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/loggers/utils/wandb.py +4 -1
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/trainers/trainer.py +11 -1
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/utils/__init__.py +2 -1
- kaiko_eva-0.4.1/src/eva/core/utils/distributed.py +12 -0
- kaiko_eva-0.4.1/src/eva/core/utils/paths.py +14 -0
- kaiko_eva-0.4.1/src/eva/core/utils/requirements.py +72 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/language/callbacks/writers/prediction.py +44 -19
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/language/data/datasets/classification/pubmedqa.py +1 -1
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/language/models/modules/language.py +7 -6
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/language/models/typings.py +19 -2
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/language/models/wrappers/base.py +4 -4
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/language/models/wrappers/huggingface.py +14 -4
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/language/models/wrappers/litellm.py +14 -4
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/multimodal/models/modules/vision_language.py +6 -5
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/multimodal/models/networks/alibaba.py +1 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/multimodal/models/networks/others.py +2 -1
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/multimodal/models/wrappers/base.py +4 -3
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/multimodal/models/wrappers/huggingface.py +26 -13
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/multimodal/models/wrappers/litellm.py +4 -2
- kaiko_eva-0.4.1/src/eva/multimodal/utils/batch/__init__.py +5 -0
- kaiko_eva-0.4.1/src/eva/multimodal/utils/batch/unpack.py +11 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/datasets/classification/breakhis.py +5 -8
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/datasets/classification/panda.py +12 -5
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/datasets/segmentation/btcv.py +1 -1
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/datasets/segmentation/consep.py +1 -1
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/datasets/segmentation/lits17.py +1 -1
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/datasets/segmentation/monusac.py +15 -6
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/datasets/segmentation/msd_task7_pancreas.py +1 -1
- kaiko_eva-0.4.1/src/eva/vision/data/transforms/base/__init__.py +6 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/transforms/base/monai.py +2 -2
- kaiko_eva-0.4.1/src/eva/vision/data/transforms/base/torchvision.py +33 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/transforms/common/squeeze.py +6 -3
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/transforms/croppad/crop_foreground.py +8 -7
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/transforms/croppad/rand_crop_by_label_classes.py +6 -5
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/transforms/croppad/rand_crop_by_pos_neg_label.py +6 -5
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/transforms/croppad/rand_spatial_crop.py +8 -7
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/transforms/croppad/spatial_pad.py +6 -6
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/transforms/intensity/rand_scale_intensity.py +3 -3
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/transforms/intensity/rand_shift_intensity.py +3 -3
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/transforms/intensity/scale_intensity_ranged.py +5 -5
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/transforms/spatial/flip.py +8 -7
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/transforms/spatial/resize.py +5 -4
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/transforms/spatial/rotate.py +8 -7
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/transforms/spatial/spacing.py +7 -6
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/transforms/utility/ensure_channel_first.py +6 -6
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/models/networks/backbones/universal/vit.py +24 -0
- kaiko_eva-0.4.1/tests/eva/core/utils/test_requirements.py +131 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/language/callbacks/writers/test_prediction.py +8 -4
- kaiko_eva-0.4.1/tests/eva/language/models/modules/test_language.py +72 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/language/models/wrappers/test_huggingface.py +10 -6
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/language/models/wrappers/test_litellm.py +1 -1
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/multimodal/models/modules/test_vision_language.py +17 -7
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/multimodal/models/wrappers/test_huggingface.py +11 -2
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/multimodal/models/wrappers/test_litellm.py +2 -2
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/data/datasets/classification/test_panda.py +19 -13
- kaiko_eva-0.4.1/tests/eva/vision/data/transforms/croppad/__init__.py +1 -0
- kaiko_eva-0.4.1/tests/eva/vision/data/transforms/croppad/test_rand_crop_by_label_classes.py +77 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/test_vision_cli.py +14 -0
- kaiko_eva-0.4.0/src/eva/core/utils/requirements.py +0 -26
- kaiko_eva-0.4.0/src/eva/vision/data/transforms/base/__init__.py +0 -5
- kaiko_eva-0.4.0/tests/eva/language/models/modules/test_language.py +0 -62
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/LICENSE +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/__main__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/__version__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/callbacks/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/callbacks/writers/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/callbacks/writers/embeddings/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/callbacks/writers/embeddings/_manifest.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/callbacks/writers/embeddings/classification.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/callbacks/writers/embeddings/segmentation.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/callbacks/writers/embeddings/typings.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/cli/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/cli/cli.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/cli/logo.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/cli/setup.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/data/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/data/dataloaders/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/data/dataloaders/dataloader.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/data/datamodules/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/data/datamodules/call.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/data/datamodules/datamodule.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/data/datamodules/schemas.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/data/datasets/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/data/datasets/base.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/data/datasets/classification/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/data/datasets/classification/embeddings.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/data/datasets/classification/multi_embeddings.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/data/datasets/dataset.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/data/datasets/embeddings.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/data/datasets/typings.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/data/samplers/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/data/samplers/classification/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/data/samplers/random.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/data/samplers/sampler.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/data/splitting/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/data/splitting/random.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/data/splitting/stratified.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/data/transforms/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/data/transforms/dtype/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/data/transforms/dtype/array.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/data/transforms/padding/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/data/transforms/padding/pad_2d_tensor.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/data/transforms/sampling/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/data/transforms/sampling/sample_from_axis.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/interface/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/interface/interface.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/loggers/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/loggers/dummy.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/loggers/experimental_loggers.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/loggers/log/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/loggers/log/image.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/loggers/log/parameters.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/loggers/log/table.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/loggers/log/utils.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/loggers/loggers.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/losses/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/losses/cross_entropy.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/metrics/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/metrics/average_loss.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/metrics/binary_balanced_accuracy.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/metrics/defaults/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/metrics/defaults/classification/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/metrics/defaults/classification/binary.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/metrics/defaults/classification/multiclass.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/metrics/structs/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/metrics/structs/collection.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/metrics/structs/metric.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/metrics/structs/module.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/metrics/structs/schemas.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/metrics/structs/typings.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/models/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/models/modules/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/models/modules/head.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/models/modules/inference.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/models/modules/module.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/models/modules/scheduler.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/models/modules/typings.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/models/modules/utils/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/models/modules/utils/batch_postprocess.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/models/modules/utils/checkpoint.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/models/modules/utils/grad.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/models/networks/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/models/networks/mlp.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/models/transforms/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/models/transforms/as_discrete.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/models/transforms/extract_cls_features.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/models/transforms/extract_patch_features.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/models/wrappers/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/models/wrappers/_utils.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/models/wrappers/base.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/models/wrappers/from_function.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/models/wrappers/from_torchhub.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/models/wrappers/huggingface.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/models/wrappers/onnx.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/trainers/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/trainers/_logging.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/trainers/_recorder.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/trainers/_utils.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/trainers/functional.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/utils/clone.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/utils/factory.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/utils/io/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/utils/io/dataframe.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/utils/io/gz.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/utils/memory.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/utils/multiprocessing.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/utils/operations.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/utils/parser.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/utils/progress_bar.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/utils/registry.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/utils/suppress_logs.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/core/utils/workers.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/language/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/language/callbacks/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/language/callbacks/writers/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/language/data/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/language/data/dataloaders/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/language/data/dataloaders/collate_fn/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/language/data/dataloaders/collate_fn/text.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/language/data/datasets/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/language/data/datasets/base.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/language/data/datasets/classification/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/language/data/datasets/classification/base.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/language/data/datasets/prediction.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/language/data/datasets/schemas.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/language/data/datasets/text.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/language/data/datasets/typings.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/language/data/messages.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/language/models/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/language/models/modules/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/language/models/modules/typings.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/language/models/networks/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/language/models/networks/alibaba.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/language/models/networks/api/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/language/models/networks/api/anthropic.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/language/models/networks/registry.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/language/models/wrappers/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/language/models/wrappers/from_registry.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/language/models/wrappers/vllm.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/language/utils/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/language/utils/str_to_int_tensor.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/language/utils/text/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/language/utils/text/messages.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/multimodal/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/multimodal/callbacks/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/multimodal/callbacks/writers/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/multimodal/callbacks/writers/prediction.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/multimodal/data/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/multimodal/data/dataloaders/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/multimodal/data/dataloaders/collate_fn/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/multimodal/data/dataloaders/collate_fn/text_image.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/multimodal/data/datasets/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/multimodal/data/datasets/base.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/multimodal/data/datasets/multiple_choice/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/multimodal/data/datasets/multiple_choice/patch_camelyon.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/multimodal/data/datasets/schemas.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/multimodal/data/datasets/text_image.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/multimodal/data/datasets/typings.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/multimodal/models/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/multimodal/models/modules/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/multimodal/models/networks/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/multimodal/models/networks/api/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/multimodal/models/networks/api/anthropic.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/multimodal/models/networks/registry.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/multimodal/models/typings.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/multimodal/models/wrappers/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/multimodal/models/wrappers/from_registry.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/multimodal/utils/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/multimodal/utils/image/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/multimodal/utils/image/encode.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/multimodal/utils/text/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/multimodal/utils/text/messages.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/callbacks/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/callbacks/loggers/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/callbacks/loggers/batch/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/callbacks/loggers/batch/base.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/callbacks/loggers/batch/segmentation.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/dataloaders/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/dataloaders/collate_fn/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/dataloaders/collate_fn/collection.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/dataloaders/worker_init.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/datasets/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/datasets/_utils.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/datasets/_validators.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/datasets/classification/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/datasets/classification/bach.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/datasets/classification/bracs.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/datasets/classification/camelyon16.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/datasets/classification/crc.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/datasets/classification/gleason_arvaniti.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/datasets/classification/mhist.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/datasets/classification/patch_camelyon.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/datasets/classification/unitopatho.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/datasets/classification/wsi.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/datasets/segmentation/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/datasets/segmentation/_utils.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/datasets/segmentation/bcss.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/datasets/segmentation/embeddings.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/datasets/segmentation/metadata/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/datasets/segmentation/metadata/_msd_task7_pancreas.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/datasets/structs.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/datasets/vision.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/datasets/wsi.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/transforms/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/transforms/common/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/transforms/common/resize_and_crop.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/transforms/croppad/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/transforms/intensity/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/transforms/spatial/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/transforms/spatial/functional/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/transforms/spatial/functional/resize.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/transforms/utility/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/tv_tensors/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/tv_tensors/volume.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/wsi/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/wsi/backends/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/wsi/backends/base.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/wsi/backends/openslide.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/wsi/backends/pil.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/wsi/backends/tiffslide.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/wsi/patching/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/wsi/patching/coordinates.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/wsi/patching/mask.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/wsi/patching/samplers/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/wsi/patching/samplers/_utils.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/wsi/patching/samplers/base.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/wsi/patching/samplers/foreground_grid.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/wsi/patching/samplers/grid.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/data/wsi/patching/samplers/random.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/losses/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/losses/dice.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/metrics/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/metrics/defaults/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/metrics/defaults/segmentation/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/metrics/defaults/segmentation/multiclass.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/metrics/segmentation/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/metrics/segmentation/_utils.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/metrics/segmentation/dice.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/metrics/segmentation/generalized_dice.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/metrics/segmentation/mean_iou.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/metrics/segmentation/monai_dice.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/metrics/wrappers/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/metrics/wrappers/monai.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/models/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/models/modules/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/models/modules/semantic_segmentation.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/models/networks/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/models/networks/abmil.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/models/networks/backbones/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/models/networks/backbones/_utils.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/models/networks/backbones/pathology/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/models/networks/backbones/pathology/bioptimus.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/models/networks/backbones/pathology/gigapath.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/models/networks/backbones/pathology/histai.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/models/networks/backbones/pathology/hkust.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/models/networks/backbones/pathology/kaiko.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/models/networks/backbones/pathology/lunit.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/models/networks/backbones/pathology/mahmood.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/models/networks/backbones/pathology/owkin.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/models/networks/backbones/pathology/paige.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/models/networks/backbones/radiology/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/models/networks/backbones/radiology/swin_unetr.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/models/networks/backbones/radiology/voco.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/models/networks/backbones/registry.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/models/networks/backbones/timm/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/models/networks/backbones/timm/backbones.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/models/networks/backbones/universal/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/models/networks/decoders/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/models/networks/decoders/segmentation/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/models/networks/decoders/segmentation/base.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/models/networks/decoders/segmentation/decoder2d.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/models/networks/decoders/segmentation/linear.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/models/networks/decoders/segmentation/semantic/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/models/networks/decoders/segmentation/semantic/common.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/models/networks/decoders/segmentation/semantic/swin_unetr.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/models/networks/decoders/segmentation/semantic/with_image.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/models/networks/decoders/segmentation/typings.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/models/wrappers/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/models/wrappers/from_registry.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/models/wrappers/from_timm.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/utils/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/utils/colormap.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/utils/convert.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/utils/io/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/utils/io/_utils.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/utils/io/image.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/utils/io/mat.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/utils/io/nifti.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/vision/utils/io/text.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/_cli.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/core/archives/test.txt.gz +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/core/datasets/embeddings/embeddings/tensor_0_shape_8.pt +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/core/datasets/embeddings/embeddings/tensor_1_shape_8.pt +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/core/datasets/embeddings/embeddings/tensor_2_shape_8_list.pt +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/core/datasets/embeddings/embeddings/tensor_3_shape_8_list.pt +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/core/datasets/embeddings/embeddings/tensor_4_shape_1x8.pt +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/core/datasets/embeddings/embeddings/tensor_5_shape_1x8.pt +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/core/datasets/embeddings/embeddings/tensor_6_shape_1x8_list.pt +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/core/datasets/embeddings/embeddings/tensor_7_shape_1x8_list.pt +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/core/datasets/embeddings/manifest.csv +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/core/datasets/multi-embeddings/embeddings/tensor_0_shape_6x8.pt +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/core/datasets/multi-embeddings/embeddings/tensor_1_shape_3x8.pt +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/core/datasets/multi-embeddings/embeddings/tensor_2_shape_1x8.pt +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/core/datasets/multi-embeddings/embeddings/tensor_3_shape_2x8.pt +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/core/datasets/multi-embeddings/embeddings/tensor_4_shape_5x8.pt +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/core/datasets/multi-embeddings/embeddings/tensor_5_shape_3x8.pt +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/core/datasets/multi-embeddings/embeddings/tensor_6_shape_1x8_list.pt +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/core/datasets/multi-embeddings/embeddings/tensor_7_shape_6x8_list.pt +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/core/datasets/multi-embeddings/embeddings/tensor_8_shape_2x8_list.pt +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/core/datasets/multi-embeddings/embeddings/tensor_9_shape_5x8_list.pt +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/core/datasets/multi-embeddings/manifest.csv +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/images/random_bgr_32x32.png +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/images/random_grayscale_32x32.png +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/language/predictions/pubmedqa.csv +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/language/predictions/pubmedqa.jsonl +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/language/predictions/pubmedqa.parquet +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.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.4.0 → kaiko_eva-0.4.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.4.0 → kaiko_eva-0.4.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.4.0 → kaiko_eva-0.4.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.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Benign/b001.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Benign/b002.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Benign/b003.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Benign/b004.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Benign/b005.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Benign/b006.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/InSitu/is001.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/InSitu/is002.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/InSitu/is003.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/InSitu/is004.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/InSitu/is005.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/InSitu/is006.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Invasive/iv001.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Invasive/iv002.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Invasive/iv003.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Invasive/iv004.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Invasive/iv005.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Invasive/iv006.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Normal/n001.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Normal/n002.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Normal/n003.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Normal/n004.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Normal/n005.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Normal/n006.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bcss/masks/TCGA-A2-A0CM-DX1_xmin18562_ymin56852_MPP-0.2500.png +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bcss/masks/TCGA-A7-A4SD-DX1_xmin53807_ymin11871_MPP-0.2500.png +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bcss/masks/TCGA-AR-A0TS-DX1_xmin118843_ymin22812_MPP-0.2500.png +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bcss/masks/TCGA-AR-A1AQ-DX1_xmin18171_ymin38296_MPP-0.2500.png +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bcss/masks/TCGA-C8-A3XY-DX1_xmin76297_ymin35510_MPP-0.2500.png +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bcss/masks/TCGA-D8-A1XQ-DX1_xmin61261_ymin33317_MPP-0.2500.png +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bcss/masks/TCGA-EW-A1P4-DX1_xmin17256_ymin35430_MPP-0.2500.png +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bcss/masks/TCGA-GI-A2C9-DX1_xmin20882_ymin11843_MPP-0.2500.png +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bcss/masks/TCGA-OL-A5D6-DX1_xmin115108_ymin40554_MPP-0.2500.png +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bcss/masks/TCGA-OL-A5D7-DX1_xmin114443_ymin22490_MPP-0.2500.png +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bcss/rgbs_colorNormalized/TCGA-A2-A0CM-DX1_xmin18562_ymin56852_MPP-0.2500.png +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bcss/rgbs_colorNormalized/TCGA-A7-A4SD-DX1_xmin53807_ymin11871_MPP-0.2500.png +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bcss/rgbs_colorNormalized/TCGA-AR-A0TS-DX1_xmin118843_ymin22812_MPP-0.2500.png +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bcss/rgbs_colorNormalized/TCGA-AR-A1AQ-DX1_xmin18171_ymin38296_MPP-0.2500.png +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bcss/rgbs_colorNormalized/TCGA-C8-A3XY-DX1_xmin76297_ymin35510_MPP-0.2500.png +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bcss/rgbs_colorNormalized/TCGA-D8-A1XQ-DX1_xmin61261_ymin33317_MPP-0.2500.png +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bcss/rgbs_colorNormalized/TCGA-EW-A1P4-DX1_xmin17256_ymin35430_MPP-0.2500.png +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bcss/rgbs_colorNormalized/TCGA-GI-A2C9-DX1_xmin20882_ymin11843_MPP-0.2500.png +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bcss/rgbs_colorNormalized/TCGA-OL-A5D6-DX1_xmin115108_ymin40554_MPP-0.2500.png +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bcss/rgbs_colorNormalized/TCGA-OL-A5D7-DX1_xmin114443_ymin22490_MPP-0.2500.png +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bracs/BRACS_RoI/latest_version/test/0_N/BRACS_264_N_1.png +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bracs/BRACS_RoI/latest_version/test/1_PB/BRACS_264_PB_18.png +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bracs/BRACS_RoI/latest_version/train/0_N/BRACS_280_N_2.png +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bracs/BRACS_RoI/latest_version/train/1_PB/BRACS_281_PB_2.png +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bracs/BRACS_RoI/latest_version/val/0_N/BRACS_265_N_5.png +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/bracs/BRACS_RoI/latest_version/val/1_PB/BRACS_265_PB_7.png +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.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.4.0 → kaiko_eva-0.4.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.4.0 → kaiko_eva-0.4.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.4.0 → kaiko_eva-0.4.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.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/btcv/imagesTr/img0001.nii.gz +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/btcv/imagesTr/img0002.nii.gz +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/btcv/labelsTr/label0001.nii.gz +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/btcv/labelsTr/label0002.nii.gz +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/camelyon16/testing/images/test_001.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/camelyon16/testing/images/test_002.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/camelyon16/testing/reference.csv +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/camelyon16/training/normal/normal_001.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/camelyon16/training/normal/normal_002.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/camelyon16/training/tumor/tumor_001.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/camelyon16/training/tumor/tumor_002.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/consep/Test/Images/test_1.png +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/consep/Test/Images/test_2.png +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/consep/Test/Images/test_3.png +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/consep/Test/Labels/test_1.mat +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/consep/Test/Labels/test_2.mat +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/consep/Test/Labels/test_3.mat +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/consep/Train/Images/train_1.png +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/consep/Train/Images/train_2.png +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/consep/Train/Images/train_3.png +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/consep/Train/Images/train_4.png +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/consep/Train/Labels/train_1.mat +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/consep/Train/Labels/train_2.mat +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/consep/Train/Labels/train_3.mat +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/consep/Train/Labels/train_4.mat +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/ADI/ADI-SIHVHHPH.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/ADI/ADI-SIHWWQMY.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/BACK/BACK-YYYHKNMK.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/BACK/BACK-YYYMDTNW.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/DEB/DEB-YYYRSHLP.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/DEB/DEB-YYYTCTDR.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/LYM/LYM-YYWRPGDD.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/LYM/LYM-YYYTKMWW.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/MUC/MUC-YYYNWSAM.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/MUC/MUC-YYYRQDLW.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/MUS/MUS-YYYNVQVQ.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/MUS/MUS-YYYRWWNH.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/NORM/NORM-YYTTIRVD.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/NORM/NORM-YYVAFTKA.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/STR/STR-YYYHNSSM.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/STR/STR-YYYWVWFG.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/TUM/TUM-YYYSGWYW.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/TUM/TUM-YYYYQFVN.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/ADI/ADI-SIHVHHPH.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/ADI/ADI-SIHWWQMY.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/BACK/BACK-YYYHKNMK.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/BACK/BACK-YYYMDTNW.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/DEB/DEB-YYYRSHLP.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/DEB/DEB-YYYTCTDR.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/LYM/LYM-YYWRPGDD.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/LYM/LYM-YYYTKMWW.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/MUC/MUC-YYYNWSAM.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/MUC/MUC-YYYRQDLW.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/MUS/MUS-YYYNVQVQ.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/MUS/MUS-YYYRWWNH.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/NORM/NORM-YYTTIRVD.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/NORM/NORM-YYVAFTKA.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/STR/STR-YYYHNSSM.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/STR/STR-YYYWVWFG.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/TUM/TUM-YYYSGWYW.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/TUM/TUM-YYYYQFVN.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/ADI/ADI-SIHVHHPH.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/ADI/ADI-SIHWWQMY.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/BACK/BACK-YYYHKNMK.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/BACK/BACK-YYYMDTNW.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/DEB/DEB-YYYRSHLP.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/DEB/DEB-YYYTCTDR.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/LYM/LYM-YYWRPGDD.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/LYM/LYM-YYYTKMWW.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/MUC/MUC-YYYNWSAM.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/MUC/MUC-YYYRQDLW.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/MUS/MUS-YYYNVQVQ.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/MUS/MUS-YYYRWWNH.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/NORM/NORM-YYTTIRVD.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/NORM/NORM-YYVAFTKA.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/STR/STR-YYYHNSSM.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/STR/STR-YYYWVWFG.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/TUM/TUM-YYYSGWYW.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/TUM/TUM-YYYYQFVN.tif +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/lits17/Training_Batch2/segmentation-31.nii +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/lits17/Training_Batch2/segmentation-45.nii +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/lits17/Training_Batch2/volume-31.nii +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/lits17/Training_Batch2/volume-45.nii +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/mhist/annotations.csv +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/mhist/images/MHIST_aaa.png +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/mhist/images/MHIST_aab.png +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/mhist/images/MHIST_aac.png +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/mhist/images/MHIST_aae.png +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/mhist/images/MHIST_aaf.png +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/mhist/images/MHIST_aag.png +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/mhist/images/MHIST_aah.png +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.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.4.0 → kaiko_eva-0.4.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.4.0 → kaiko_eva-0.4.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.4.0 → kaiko_eva-0.4.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.4.0 → kaiko_eva-0.4.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.4.0 → kaiko_eva-0.4.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.4.0 → kaiko_eva-0.4.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.4.0 → kaiko_eva-0.4.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.4.0 → kaiko_eva-0.4.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.4.0 → kaiko_eva-0.4.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.4.0 → kaiko_eva-0.4.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.4.0 → kaiko_eva-0.4.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.4.0 → kaiko_eva-0.4.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.4.0 → kaiko_eva-0.4.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.4.0 → kaiko_eva-0.4.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.4.0 → kaiko_eva-0.4.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.4.0 → kaiko_eva-0.4.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.4.0 → kaiko_eva-0.4.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.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/msd_task7_pancreas/imagesTr/pancreas_001_0000.nii.gz +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/msd_task7_pancreas/imagesTr/pancreas_006_0000.nii.gz +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/msd_task7_pancreas/labelsTr/pancreas_001.nii.gz +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/msd_task7_pancreas/labelsTr/pancreas_006.nii.gz +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/panda/train_images/0214df71ae527e2144021178c453d204.tiff +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/panda/train_images/02d302a8d723fa00331f373091b29135.tiff +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/panda/train_images/157565e23ba28d5a42f63f34f3dd4425.tiff +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/panda/train_images/682a1fd346b6fff340afbdb80c2f7caf.tiff +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/panda/train_images/8582b59b41635fa38401d1bddad66707.tiff +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/panda/train_images/8c357871e57c5c60277230412f2d9028.tiff +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/panda/train_images/979cf5a2fa4079eaf74343d6ff5e1b51.tiff +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/panda/train_images/9dd40c0127d217bc4917e4db40e06e94.tiff +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/panda/train_images/9ed8ec7bf90653bc4ca86b3ca53cbb96.tiff +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/panda/train_images/a04310d441e8d2c7a5066627baeec9b6.tiff +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/panda/train_images/fb8886059879eaac70139336cb525838.tiff +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/panda/train_with_noisy_labels.csv +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/patch_camelyon/camelyonpatch_level_2_split_test_x.h5 +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/patch_camelyon/camelyonpatch_level_2_split_test_y.h5 +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/patch_camelyon/camelyonpatch_level_2_split_train_x.h5 +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/patch_camelyon/camelyonpatch_level_2_split_train_y.h5 +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/patch_camelyon/camelyonpatch_level_2_split_valid_x.h5 +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/patch_camelyon/camelyonpatch_level_2_split_valid_y.h5 +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.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.4.0 → kaiko_eva-0.4.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.4.0 → kaiko_eva-0.4.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.4.0 → kaiko_eva-0.4.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.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/unitopatho/800/test.csv +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/unitopatho/800/train.csv +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/wsi/0/a.tiff +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/wsi/0/b.tiff +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/wsi/1/a.tiff +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/assets/vision/datasets/wsi/manifest.csv +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/conftest.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/callbacks/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/callbacks/conftest.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/callbacks/writers/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/callbacks/writers/embeddings/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/callbacks/writers/embeddings/test_classification.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/data/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/data/dataloaders/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/data/dataloaders/test_dataloader.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/data/datamodules/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/data/datamodules/_utils.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/data/datamodules/test_datamodule.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/data/datamodules/test_schemas.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/data/datasets/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/data/datasets/classification/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/data/datasets/classification/test_embeddings.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/data/datasets/classification/test_multi_embeddings.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/data/samplers/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/data/samplers/_utils.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/data/samplers/classification/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/data/samplers/classification/test_balanced.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/data/splitting/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/data/splitting/test_random.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/data/splitting/test_stratified.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/data/transforms/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/data/transforms/padding/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/data/transforms/padding/test_pad_2d_tensor.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/data/transforms/sampling/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/data/transforms/sampling/test_sample_from_axis.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/metrics/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/metrics/core/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/metrics/core/test_metric_module.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/metrics/core/test_schemas.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/metrics/defaults/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/metrics/defaults/classification/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/metrics/defaults/classification/test_binary.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/metrics/defaults/classification/test_multiclass.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/metrics/test_average_loss.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/metrics/test_binary_balanced_accuracy.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/models/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/models/modules/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/models/modules/conftest.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/models/modules/test_head.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/models/modules/test_inference.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/models/modules/utils/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/models/modules/utils/test_batch_postproces.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/models/networks/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/models/networks/test_mlp.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/models/wrappers/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/models/wrappers/test_from_function.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/models/wrappers/test_from_torchub.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/models/wrappers/test_huggingface.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/models/wrappers/test_onnx.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/test_cli.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/trainers/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/trainers/test_recorder.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/utils/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/utils/io/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/utils/io/test_gz.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/utils/test_factory.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/core/utils/test_operations.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/language/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/language/data/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/language/data/dataloaders/collate_fn/test_text.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/language/data/datasets/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/language/data/datasets/classification/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/language/data/datasets/classification/test_pubmedqa.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/language/data/datasets/test_prediction.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/language/data/datasets/test_text.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/language/models/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/language/models/modules/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/language/models/wrappers/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/language/models/wrappers/test_from_registry.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/language/models/wrappers/test_vllm.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/language/test_language_cli.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/language/utils/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/language/utils/test_messages.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/language/utils/test_str_to_int_tensor.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/multimodal/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/multimodal/data/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/multimodal/data/dataloaders/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/multimodal/data/dataloaders/collate_fn/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/multimodal/data/dataloaders/collate_fn/test_text_image.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/multimodal/data/datasets/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/multimodal/data/datasets/multiple_choice/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/multimodal/data/datasets/multiple_choice/test_patch_camelyon.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/multimodal/data/datasets/test_base.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/multimodal/data/datasets/test_dataset_typings.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/multimodal/data/datasets/test_schemas.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/multimodal/data/datasets/test_text_image.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/multimodal/models/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/multimodal/models/test_typings.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/multimodal/models/wrappers/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/multimodal/models/wrappers/test_base.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/multimodal/models/wrappers/test_from_registry.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/multimodal/test_multimodal_cli.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/multimodal/utils/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/multimodal/utils/image/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/multimodal/utils/image/test_encode.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/multimodal/utils/text/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/multimodal/utils/text/test_messages.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/data/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/data/datasets/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/data/datasets/classification/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/data/datasets/classification/test_bach.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/data/datasets/classification/test_bracs.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/data/datasets/classification/test_breakhis.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/data/datasets/classification/test_camelyon16.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/data/datasets/classification/test_crc.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/data/datasets/classification/test_gleason_arvaniti.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/data/datasets/classification/test_mhist.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/data/datasets/classification/test_patch_camelyon.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/data/datasets/classification/test_unitopatho.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/data/datasets/classification/test_wsi.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/data/datasets/segmentation/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/data/datasets/segmentation/test_bcss.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/data/datasets/segmentation/test_btcv.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/data/datasets/segmentation/test_consep.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/data/datasets/segmentation/test_lits17.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/data/datasets/segmentation/test_monusac.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/data/datasets/segmentation/test_msd_task7_pancreas.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/data/datasets/test_wsi.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/data/transforms/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/data/transforms/common/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/data/transforms/common/test_resize_and_crop.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/data/transforms/spatial/test_resize.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/data/wsi/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/data/wsi/patching/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/data/wsi/patching/samplers/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/data/wsi/patching/samplers/test_foreground_grid.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/data/wsi/patching/samplers/test_grid.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/data/wsi/patching/samplers/test_random.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/data/wsi/patching/test_mask.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/metrics/defaults/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/metrics/defaults/segmentation/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/metrics/defaults/segmentation/test_multiclass.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/metrics/segmentation/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/metrics/segmentation/_utils.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/metrics/segmentation/test_dice.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/metrics/segmentation/test_generalized_dice.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/metrics/segmentation/test_mean_iou.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/models/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/models/modules/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/models/modules/conftest.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/models/modules/test_semantic_segmentation.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/models/networks/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/models/networks/backbones/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/models/networks/backbones/radiology/test_swin_unetr.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/models/networks/backbones/test_registry.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/models/networks/decoders/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/models/networks/decoders/segmentation/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/models/networks/decoders/segmentation/test_conv.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/models/networks/decoders/segmentation/test_linear.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/models/networks/decoders/segmentation/test_swin_unetr.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/models/networks/test_abmil.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/models/wrappers/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/models/wrappers/test_backbone.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/models/wrappers/test_from_timm.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/utils/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/utils/io/__init__.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/tests/eva/vision/utils/io/test_image.py +0 -0
- {kaiko_eva-0.4.0 → kaiko_eva-0.4.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.4.
|
|
3
|
+
Version: 0.4.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>
|
|
@@ -491,7 +491,13 @@ and [tutorials](https://kaiko-ai.github.io/eva/main/user-guide/advanced/replicat
|
|
|
491
491
|
|
|
492
492
|
The following table shows the FMs we have evaluated with _`eva`_. For more detailed information about the evaluation process, please refer to our [documentation](https://kaiko-ai.github.io/eva/main/leaderboards/).
|
|
493
493
|
|
|
494
|
-
|
|
494
|
+
### Pathology
|
|
495
|
+
|
|
496
|
+
<img src="./docs/images/leaderboards/pathology.svg" alt="Pathology Leaderboard">
|
|
497
|
+
|
|
498
|
+
### Radiology
|
|
499
|
+
|
|
500
|
+
<img src="./docs/images/leaderboards/radiology.svg" alt="Radiology Leaderboard" width="600">
|
|
495
501
|
|
|
496
502
|
|
|
497
503
|
## Contributing
|
|
@@ -222,7 +222,13 @@ and [tutorials](https://kaiko-ai.github.io/eva/main/user-guide/advanced/replicat
|
|
|
222
222
|
|
|
223
223
|
The following table shows the FMs we have evaluated with _`eva`_. For more detailed information about the evaluation process, please refer to our [documentation](https://kaiko-ai.github.io/eva/main/leaderboards/).
|
|
224
224
|
|
|
225
|
-
|
|
225
|
+
### Pathology
|
|
226
|
+
|
|
227
|
+
<img src="./docs/images/leaderboards/pathology.svg" alt="Pathology Leaderboard">
|
|
228
|
+
|
|
229
|
+
### Radiology
|
|
230
|
+
|
|
231
|
+
<img src="./docs/images/leaderboards/radiology.svg" alt="Radiology Leaderboard" width="600">
|
|
226
232
|
|
|
227
233
|
|
|
228
234
|
## Contributing
|
|
@@ -9,11 +9,13 @@ from typing import Any, Dict, List
|
|
|
9
9
|
import lightning.pytorch as pl
|
|
10
10
|
import yaml
|
|
11
11
|
from lightning_fabric.utilities import cloud_io
|
|
12
|
+
from loguru import logger
|
|
12
13
|
from loguru import logger as cli_logger
|
|
13
14
|
from omegaconf import OmegaConf
|
|
14
15
|
from typing_extensions import TypeGuard, override
|
|
15
16
|
|
|
16
17
|
from eva.core import loggers
|
|
18
|
+
from eva.core.utils import distributed as dist_utils
|
|
17
19
|
|
|
18
20
|
|
|
19
21
|
class ConfigurationLogger(pl.Callback):
|
|
@@ -39,8 +41,14 @@ class ConfigurationLogger(pl.Callback):
|
|
|
39
41
|
pl_module: pl.LightningModule,
|
|
40
42
|
stage: str | None = None,
|
|
41
43
|
) -> None:
|
|
42
|
-
|
|
43
|
-
|
|
44
|
+
if dist_utils.is_distributed():
|
|
45
|
+
logger.info("ConfigurationLogger skipped as not supported in distributed mode.")
|
|
46
|
+
# TODO: Enabling leads to deadlocks in DDP mode, but I could not yet figure out why.
|
|
47
|
+
return
|
|
48
|
+
|
|
49
|
+
if not trainer.is_global_zero or not _logdir_exists(
|
|
50
|
+
log_dir := trainer.log_dir, self._verbose
|
|
51
|
+
):
|
|
44
52
|
return
|
|
45
53
|
|
|
46
54
|
configuration = _load_submitted_config()
|
|
@@ -130,7 +138,7 @@ def _type_resolver(mapping: Dict[str, Any]) -> Dict[str, Any]:
|
|
|
130
138
|
for key, value in mapping.items():
|
|
131
139
|
if isinstance(value, dict):
|
|
132
140
|
formatted_value = _type_resolver(value)
|
|
133
|
-
elif isinstance(value, list) and isinstance(value[0], dict):
|
|
141
|
+
elif isinstance(value, list) and value and isinstance(value[0], dict):
|
|
134
142
|
formatted_value = [_type_resolver(subvalue) for subvalue in value]
|
|
135
143
|
else:
|
|
136
144
|
try:
|
|
@@ -138,10 +146,7 @@ def _type_resolver(mapping: Dict[str, Any]) -> Dict[str, Any]:
|
|
|
138
146
|
formatted_value = (
|
|
139
147
|
value if isinstance(parsed_value, BuiltinFunctionType) else parsed_value
|
|
140
148
|
)
|
|
141
|
-
|
|
142
149
|
except Exception:
|
|
143
150
|
formatted_value = value
|
|
144
|
-
|
|
145
151
|
mapping[key] = formatted_value
|
|
146
|
-
|
|
147
152
|
return mapping
|
|
@@ -7,6 +7,7 @@ from typing import Any, Dict, List, Sequence
|
|
|
7
7
|
|
|
8
8
|
import lightning.pytorch as pl
|
|
9
9
|
import torch
|
|
10
|
+
import torch.distributed as dist
|
|
10
11
|
from lightning.pytorch import callbacks
|
|
11
12
|
from loguru import logger
|
|
12
13
|
from torch import multiprocessing, nn
|
|
@@ -15,6 +16,7 @@ from typing_extensions import override
|
|
|
15
16
|
from eva.core import utils
|
|
16
17
|
from eva.core.callbacks.writers.embeddings.typings import QUEUE_ITEM
|
|
17
18
|
from eva.core.models.modules.typings import INPUT_BATCH
|
|
19
|
+
from eva.core.utils import distributed as dist_utils
|
|
18
20
|
from eva.core.utils import multiprocessing as eva_multiprocessing
|
|
19
21
|
|
|
20
22
|
|
|
@@ -58,8 +60,9 @@ class EmbeddingsWriter(callbacks.BasePredictionWriter, abc.ABC):
|
|
|
58
60
|
self._save_every_n = save_every_n
|
|
59
61
|
self._metadata_keys = metadata_keys or []
|
|
60
62
|
|
|
61
|
-
self._write_queue: multiprocessing.Queue
|
|
62
|
-
self._write_process: eva_multiprocessing.Process
|
|
63
|
+
self._write_queue: multiprocessing.Queue | None = None
|
|
64
|
+
self._write_process: eva_multiprocessing.Process | None = None
|
|
65
|
+
self._is_rank_zero: bool = False
|
|
63
66
|
|
|
64
67
|
@staticmethod
|
|
65
68
|
@abc.abstractmethod
|
|
@@ -78,9 +81,13 @@ class EmbeddingsWriter(callbacks.BasePredictionWriter, abc.ABC):
|
|
|
78
81
|
|
|
79
82
|
@override
|
|
80
83
|
def on_predict_start(self, trainer: pl.Trainer, pl_module: pl.LightningModule) -> None:
|
|
81
|
-
self.
|
|
82
|
-
self.
|
|
83
|
-
|
|
84
|
+
self._is_rank_zero = trainer.is_global_zero
|
|
85
|
+
if self._is_rank_zero:
|
|
86
|
+
self._check_if_exists()
|
|
87
|
+
self._initialize_write_process()
|
|
88
|
+
if self._write_process is None or self._write_queue is None:
|
|
89
|
+
raise RuntimeError("Failed to initialize embedding writer process.")
|
|
90
|
+
self._write_process.start()
|
|
84
91
|
|
|
85
92
|
if self._backbone is not None:
|
|
86
93
|
self._backbone = self._backbone.to(pl_module.device)
|
|
@@ -106,6 +113,7 @@ class EmbeddingsWriter(callbacks.BasePredictionWriter, abc.ABC):
|
|
|
106
113
|
with torch.no_grad():
|
|
107
114
|
embeddings = self._get_embeddings(prediction)
|
|
108
115
|
|
|
116
|
+
queue_items: List[QUEUE_ITEM] = []
|
|
109
117
|
for local_idx, global_idx in enumerate(batch_indices[: len(embeddings)]):
|
|
110
118
|
data_name = dataset.filename(global_idx)
|
|
111
119
|
save_name = os.path.splitext(data_name)[0] + ".pt"
|
|
@@ -121,15 +129,41 @@ class EmbeddingsWriter(callbacks.BasePredictionWriter, abc.ABC):
|
|
|
121
129
|
split=split,
|
|
122
130
|
metadata=item_metadata,
|
|
123
131
|
)
|
|
124
|
-
|
|
132
|
+
queue_items.append(item)
|
|
125
133
|
|
|
126
|
-
self.
|
|
134
|
+
gathered_items = self._gather_queue_items(queue_items)
|
|
135
|
+
if self._is_rank_zero:
|
|
136
|
+
for item in gathered_items:
|
|
137
|
+
self._write_queue.put(item) # type: ignore
|
|
138
|
+
self._write_process.check_exceptions() # type: ignore
|
|
127
139
|
|
|
128
140
|
@override
|
|
129
141
|
def on_predict_end(self, trainer: pl.Trainer, pl_module: pl.LightningModule) -> None:
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
142
|
+
if dist_utils.is_distributed():
|
|
143
|
+
dist.barrier()
|
|
144
|
+
|
|
145
|
+
if self._is_rank_zero and self._write_queue is not None:
|
|
146
|
+
self._write_queue.put(None)
|
|
147
|
+
if self._write_process is not None:
|
|
148
|
+
self._write_process.join()
|
|
149
|
+
logger.info(f"Predictions and manifest saved to {self._output_dir}")
|
|
150
|
+
|
|
151
|
+
def _gather_queue_items(self, items: List[QUEUE_ITEM]) -> List[QUEUE_ITEM]:
|
|
152
|
+
"""Gather queue items across distributed ranks, returning only on rank zero."""
|
|
153
|
+
if not dist_utils.is_distributed():
|
|
154
|
+
return items
|
|
155
|
+
|
|
156
|
+
world_size = dist.get_world_size()
|
|
157
|
+
object_list: List[List[QUEUE_ITEM]] = [[] for _ in range(world_size)]
|
|
158
|
+
dist.all_gather_object(object_list, items)
|
|
159
|
+
|
|
160
|
+
if self._is_rank_zero:
|
|
161
|
+
gathered: List[QUEUE_ITEM] = []
|
|
162
|
+
for rank_items in object_list:
|
|
163
|
+
gathered.extend(rank_items)
|
|
164
|
+
return gathered
|
|
165
|
+
|
|
166
|
+
return []
|
|
133
167
|
|
|
134
168
|
def _initialize_write_process(self) -> None:
|
|
135
169
|
self._write_queue = multiprocessing.Queue()
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"""Random class sampler for data loading."""
|
|
2
2
|
|
|
3
3
|
from collections import defaultdict
|
|
4
|
-
from typing import Dict, Iterator, List
|
|
4
|
+
from typing import Dict, Iterator, List, Union
|
|
5
5
|
|
|
6
6
|
import numpy as np
|
|
7
|
+
import torch
|
|
7
8
|
from loguru import logger
|
|
8
9
|
from typing_extensions import override
|
|
9
10
|
|
|
@@ -32,7 +33,7 @@ class BalancedSampler(SamplerWithDataSource[int]):
|
|
|
32
33
|
"""
|
|
33
34
|
self._num_samples = num_samples
|
|
34
35
|
self._replacement = replacement
|
|
35
|
-
self._class_indices: Dict[int, List[int]] = defaultdict(list)
|
|
36
|
+
self._class_indices: Dict[Union[int, str], List[int]] = defaultdict(list)
|
|
36
37
|
self._random_generator = np.random.default_rng(seed)
|
|
37
38
|
self._indices: List[int] = []
|
|
38
39
|
|
|
@@ -62,20 +63,31 @@ class BalancedSampler(SamplerWithDataSource[int]):
|
|
|
62
63
|
super().set_dataset(data_source)
|
|
63
64
|
self._make_indices()
|
|
64
65
|
|
|
66
|
+
def _get_class_idx(self, idx):
|
|
67
|
+
"""Load and validate the class index for a given sample index."""
|
|
68
|
+
if hasattr(self.data_source, "load_target"):
|
|
69
|
+
target = self.data_source.load_target(idx) # type: ignore
|
|
70
|
+
else:
|
|
71
|
+
_, target, _ = DataSample(*self.data_source[idx])
|
|
72
|
+
|
|
73
|
+
if target is None:
|
|
74
|
+
raise ValueError("The dataset must return non-empty targets.")
|
|
75
|
+
|
|
76
|
+
if isinstance(target, str):
|
|
77
|
+
return target
|
|
78
|
+
|
|
79
|
+
if isinstance(target, torch.Tensor):
|
|
80
|
+
if target.numel() != 1:
|
|
81
|
+
raise ValueError("The dataset must return a single & scalar target.")
|
|
82
|
+
return int(target.item())
|
|
83
|
+
|
|
84
|
+
raise ValueError("Unsupported target type. Expected str or tensor-like object.")
|
|
85
|
+
|
|
65
86
|
def _make_indices(self):
|
|
66
87
|
"""Samples the indices for each class in the dataset."""
|
|
67
88
|
self._class_indices.clear()
|
|
68
89
|
for idx in tqdm(range(len(self.data_source)), desc="Fetching class indices for sampler"):
|
|
69
|
-
|
|
70
|
-
target = self.data_source.load_target(idx) # type: ignore
|
|
71
|
-
else:
|
|
72
|
-
_, target, _ = DataSample(*self.data_source[idx])
|
|
73
|
-
if target is None:
|
|
74
|
-
raise ValueError("The dataset must return non-empty targets.")
|
|
75
|
-
if target.numel() != 1:
|
|
76
|
-
raise ValueError("The dataset must return a single & scalar target.")
|
|
77
|
-
|
|
78
|
-
class_idx = int(target.item())
|
|
90
|
+
class_idx = self._get_class_idx(idx)
|
|
79
91
|
self._class_indices[class_idx].append(idx)
|
|
80
92
|
|
|
81
93
|
if not self._replacement:
|
|
@@ -5,6 +5,8 @@ from typing import Any, Dict
|
|
|
5
5
|
|
|
6
6
|
from loguru import logger
|
|
7
7
|
|
|
8
|
+
from eva.core.utils import requirements
|
|
9
|
+
|
|
8
10
|
|
|
9
11
|
def rename_active_run(name: str) -> None:
|
|
10
12
|
"""Renames the current run."""
|
|
@@ -12,7 +14,8 @@ def rename_active_run(name: str) -> None:
|
|
|
12
14
|
|
|
13
15
|
if wandb.run:
|
|
14
16
|
wandb.run.name = name
|
|
15
|
-
wandb.
|
|
17
|
+
if requirements.below("wandb", "0.21.0"):
|
|
18
|
+
wandb.run.save()
|
|
16
19
|
else:
|
|
17
20
|
logger.warning("No active wandb run found that could be renamed.")
|
|
18
21
|
|
|
@@ -31,6 +31,8 @@ class Trainer(pl_trainer.Trainer):
|
|
|
31
31
|
default_root_dir: str = "logs",
|
|
32
32
|
n_runs: int = 1,
|
|
33
33
|
checkpoint_type: Literal["best", "last"] = "best",
|
|
34
|
+
accelerator: str = "auto",
|
|
35
|
+
devices: int = 1,
|
|
34
36
|
**kwargs: Any,
|
|
35
37
|
) -> None:
|
|
36
38
|
"""Initializes the trainer.
|
|
@@ -45,9 +47,17 @@ class Trainer(pl_trainer.Trainer):
|
|
|
45
47
|
n_runs: The amount of runs (fit and evaluate) to perform in an evaluation session.
|
|
46
48
|
checkpoint_type: Wether to load the "best" or "last" checkpoint saved by the checkpoint
|
|
47
49
|
callback for evaluations on validation & test sets.
|
|
50
|
+
accelerator: The accelerator to use for training (e.g. "cpu", "gpu").
|
|
51
|
+
devices: The number of devices (GPUs) to use for training.
|
|
48
52
|
kwargs: Kew-word arguments of ::class::`lightning.pytorch.Trainer`.
|
|
49
53
|
"""
|
|
50
|
-
super().__init__(
|
|
54
|
+
super().__init__(
|
|
55
|
+
*args,
|
|
56
|
+
default_root_dir=default_root_dir,
|
|
57
|
+
accelerator=accelerator,
|
|
58
|
+
devices=devices,
|
|
59
|
+
**kwargs,
|
|
60
|
+
)
|
|
51
61
|
|
|
52
62
|
self.checkpoint_type = checkpoint_type
|
|
53
63
|
self.n_runs = n_runs
|
|
@@ -3,5 +3,6 @@
|
|
|
3
3
|
from eva.core.utils.clone import clone
|
|
4
4
|
from eva.core.utils.memory import to_cpu
|
|
5
5
|
from eva.core.utils.operations import numeric_sort
|
|
6
|
+
from eva.core.utils.paths import home_dir
|
|
6
7
|
|
|
7
|
-
__all__ = ["clone", "to_cpu", "numeric_sort"]
|
|
8
|
+
__all__ = ["clone", "to_cpu", "numeric_sort", "home_dir"]
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"""Utility functions for distributed training."""
|
|
2
|
+
|
|
3
|
+
import torch.distributed as dist
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
def is_distributed() -> bool:
|
|
7
|
+
"""Check if current environment is distributed.
|
|
8
|
+
|
|
9
|
+
Returns:
|
|
10
|
+
bool: True if distributed environment (e.g. multiple gpu processes).
|
|
11
|
+
"""
|
|
12
|
+
return dist.is_available() and dist.is_initialized() and dist.get_world_size() > 1
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"""Utility functions for handling paths."""
|
|
2
|
+
|
|
3
|
+
import os
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
def home_dir():
|
|
7
|
+
"""Get eva's home directory for caching."""
|
|
8
|
+
torch_home = os.path.expanduser(
|
|
9
|
+
os.getenv(
|
|
10
|
+
"EVA_HOME",
|
|
11
|
+
os.path.join("~/.cache", "eva"),
|
|
12
|
+
)
|
|
13
|
+
)
|
|
14
|
+
return torch_home
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"""Utility functions related to package requirements."""
|
|
2
|
+
|
|
3
|
+
import importlib
|
|
4
|
+
from typing import Dict
|
|
5
|
+
|
|
6
|
+
import packaging.version
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def fetch_version(name: str) -> str | None:
|
|
10
|
+
"""Fetch the installed version of a package.
|
|
11
|
+
|
|
12
|
+
Args:
|
|
13
|
+
name: The name of the package.
|
|
14
|
+
|
|
15
|
+
Returns:
|
|
16
|
+
A string representing the installed version of the package, or None if not found.
|
|
17
|
+
"""
|
|
18
|
+
try:
|
|
19
|
+
module = importlib.import_module(name)
|
|
20
|
+
return getattr(module, "__version__", None)
|
|
21
|
+
except ImportError:
|
|
22
|
+
return None
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
def below(name: str, version: str) -> bool:
|
|
26
|
+
"""Check if the installed version of a package is below a certain version.
|
|
27
|
+
|
|
28
|
+
Args:
|
|
29
|
+
name: The name of the package.
|
|
30
|
+
version: The version to compare against.
|
|
31
|
+
|
|
32
|
+
Returns:
|
|
33
|
+
True if the installed version is below the specified version, False otherwise.
|
|
34
|
+
"""
|
|
35
|
+
actual = fetch_version(name)
|
|
36
|
+
if actual:
|
|
37
|
+
return packaging.version.parse(actual) < packaging.version.parse(version)
|
|
38
|
+
return False
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def above_or_equal(name: str, version: str) -> bool:
|
|
42
|
+
"""Check if the installed version of a package is above a certain version.
|
|
43
|
+
|
|
44
|
+
Args:
|
|
45
|
+
name: The name of the package.
|
|
46
|
+
version: The version to compare against.
|
|
47
|
+
|
|
48
|
+
Returns:
|
|
49
|
+
True if the installed version is above the specified version, False otherwise.
|
|
50
|
+
"""
|
|
51
|
+
actual = fetch_version(name)
|
|
52
|
+
if actual:
|
|
53
|
+
return packaging.version.parse(actual) >= packaging.version.parse(version)
|
|
54
|
+
return False
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
def check_min_versions(requirements: Dict[str, str]) -> None:
|
|
58
|
+
"""Check installed package versions against requirements dict.
|
|
59
|
+
|
|
60
|
+
Args:
|
|
61
|
+
requirements: A dictionary where keys are package names and
|
|
62
|
+
values are minimum required versions.
|
|
63
|
+
|
|
64
|
+
Raises:
|
|
65
|
+
ImportError: If any package does not meet the minimum required version.
|
|
66
|
+
"""
|
|
67
|
+
for package, min_version in requirements.items():
|
|
68
|
+
if below(package, min_version):
|
|
69
|
+
raise ImportError(
|
|
70
|
+
f"Package '{package}' version {fetch_version(package)} does not meet "
|
|
71
|
+
f"the minimum required version {min_version}."
|
|
72
|
+
)
|
|
@@ -7,11 +7,13 @@ from typing import Any, Dict, List, Literal, Sequence, Tuple, TypedDict
|
|
|
7
7
|
import lightning.pytorch as pl
|
|
8
8
|
import pandas as pd
|
|
9
9
|
import torch
|
|
10
|
+
import torch.distributed as dist
|
|
10
11
|
from lightning.pytorch import callbacks
|
|
11
12
|
from torch import nn
|
|
12
13
|
from typing_extensions import NotRequired, override
|
|
13
14
|
|
|
14
15
|
from eva.core.models.modules import utils as module_utils
|
|
16
|
+
from eva.core.utils import distributed as dist_utils
|
|
15
17
|
from eva.language.models.typings import TextBatch
|
|
16
18
|
from eva.language.utils.text import messages as message_utils
|
|
17
19
|
|
|
@@ -74,10 +76,14 @@ class TextPredictionWriter(callbacks.BasePredictionWriter, abc.ABC):
|
|
|
74
76
|
|
|
75
77
|
self._manifest_path = os.path.join(self.output_dir, f"manifest.{self.save_format}")
|
|
76
78
|
self._data: List[ManifestEntry] = []
|
|
79
|
+
self._is_rank_zero: bool = False
|
|
77
80
|
|
|
78
81
|
@override
|
|
79
82
|
def on_predict_start(self, trainer: pl.Trainer, pl_module: pl.LightningModule) -> None:
|
|
80
|
-
self.
|
|
83
|
+
self._is_rank_zero = trainer.is_global_zero
|
|
84
|
+
|
|
85
|
+
if self._is_rank_zero:
|
|
86
|
+
self._check_if_exists()
|
|
81
87
|
|
|
82
88
|
self.model = self.model.to(pl_module.device)
|
|
83
89
|
self.model.eval()
|
|
@@ -105,11 +111,12 @@ class TextPredictionWriter(callbacks.BasePredictionWriter, abc.ABC):
|
|
|
105
111
|
|
|
106
112
|
for i in range(len(batch_indices)):
|
|
107
113
|
entry: ManifestEntry = {
|
|
108
|
-
"text": message_utils.serialize(text_batch[i]),
|
|
109
114
|
"prediction": str(prediction_batch[i]),
|
|
110
115
|
"target": str(target_batch[i]) if has_target else "",
|
|
111
116
|
"split": split if split else "",
|
|
112
117
|
}
|
|
118
|
+
if self.include_input:
|
|
119
|
+
entry["text"] = message_utils.serialize(text_batch[i])
|
|
113
120
|
|
|
114
121
|
if self.metadata_keys is not None and metadata_batch is not None:
|
|
115
122
|
for key in self.metadata_keys:
|
|
@@ -120,26 +127,45 @@ class TextPredictionWriter(callbacks.BasePredictionWriter, abc.ABC):
|
|
|
120
127
|
@override
|
|
121
128
|
def on_predict_end(self, trainer: pl.Trainer, pl_module: pl.LightningModule) -> None:
|
|
122
129
|
"""Saves the gathered predictions to a manifest file."""
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
130
|
+
if dist_utils.is_distributed():
|
|
131
|
+
dist.barrier()
|
|
132
|
+
data = self._gather_data_from_ranks()
|
|
133
|
+
else:
|
|
134
|
+
data = self._data
|
|
135
|
+
|
|
136
|
+
if self._is_rank_zero:
|
|
137
|
+
df = pd.DataFrame(data)
|
|
138
|
+
|
|
139
|
+
match self.save_format:
|
|
140
|
+
case "jsonl":
|
|
141
|
+
df.to_json(self._manifest_path, orient="records", lines=True)
|
|
142
|
+
case "parquet":
|
|
143
|
+
df.to_parquet(self._manifest_path, index=False)
|
|
144
|
+
case "csv":
|
|
145
|
+
df.to_csv(self._manifest_path, index=False)
|
|
146
|
+
case _:
|
|
147
|
+
raise ValueError(f"Unsupported save format: {self.save_format}")
|
|
148
|
+
|
|
149
|
+
def _gather_data_from_ranks(self) -> List[ManifestEntry]:
|
|
150
|
+
world_size = dist.get_world_size()
|
|
151
|
+
gathered: List[List[ManifestEntry] | None] = [None] * world_size
|
|
152
|
+
dist.all_gather_object(gathered, self._data)
|
|
153
|
+
return [row for shard in gathered for row in (shard or [])]
|
|
134
154
|
|
|
135
155
|
def _get_predictions(self, batch: TextBatch) -> List[str]:
|
|
136
156
|
with torch.no_grad():
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
if
|
|
140
|
-
|
|
157
|
+
output = self.model(batch)
|
|
158
|
+
|
|
159
|
+
if (
|
|
160
|
+
not isinstance(output, dict)
|
|
161
|
+
or "generated_text" not in output
|
|
162
|
+
or not all(isinstance(p, str) for p in output["generated_text"])
|
|
163
|
+
):
|
|
164
|
+
raise ValueError(
|
|
165
|
+
f"A dictionary with 'generated_text' key is expected, got {type(output)}"
|
|
166
|
+
)
|
|
141
167
|
|
|
142
|
-
return
|
|
168
|
+
return output["generated_text"]
|
|
143
169
|
|
|
144
170
|
def _check_if_exists(self) -> None:
|
|
145
171
|
"""Checks if the output directory already exists and if it should be overwritten."""
|
|
@@ -150,7 +176,6 @@ class TextPredictionWriter(callbacks.BasePredictionWriter, abc.ABC):
|
|
|
150
176
|
"either means that the predictions have been computed before or that a "
|
|
151
177
|
"wrong output directory is being used."
|
|
152
178
|
)
|
|
153
|
-
os.makedirs(self.output_dir, exist_ok=True)
|
|
154
179
|
|
|
155
180
|
def _apply_postprocess(
|
|
156
181
|
self, pl_module: pl.LightningModule, targets: Any, predictions: Any
|
{kaiko_eva-0.4.0 → kaiko_eva-0.4.1}/src/eva/language/data/datasets/classification/pubmedqa.py
RENAMED
|
@@ -121,7 +121,7 @@ class PubMedQA(base.TextClassification):
|
|
|
121
121
|
|
|
122
122
|
@override
|
|
123
123
|
def validate(self) -> None:
|
|
124
|
-
if len(self) != self._expected_dataset_lengths[self._split]:
|
|
124
|
+
if len(self) != (self._max_samples or self._expected_dataset_lengths[self._split]):
|
|
125
125
|
raise ValueError(
|
|
126
126
|
f"Dataset length mismatch for split '{self._split}': "
|
|
127
127
|
f"expected {self._expected_dataset_lengths[self._split]}, "
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"""Model module for language models."""
|
|
2
2
|
|
|
3
|
-
from typing import Any
|
|
3
|
+
from typing import Any
|
|
4
4
|
|
|
5
5
|
from lightning.pytorch.utilities.types import STEP_OUTPUT
|
|
6
6
|
from torch import nn
|
|
@@ -9,7 +9,7 @@ from typing_extensions import override
|
|
|
9
9
|
from eva.core.metrics import structs as metrics_lib
|
|
10
10
|
from eva.core.models.modules import module
|
|
11
11
|
from eva.core.models.modules.utils import batch_postprocess
|
|
12
|
-
from eva.language.models.typings import PredictionBatch, TextBatch
|
|
12
|
+
from eva.language.models.typings import ModelOutput, PredictionBatch, TextBatch
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
class LanguageModule(module.ModelModule):
|
|
@@ -33,7 +33,7 @@ class LanguageModule(module.ModelModule):
|
|
|
33
33
|
self.model = model
|
|
34
34
|
|
|
35
35
|
@override
|
|
36
|
-
def forward(self, batch: TextBatch, *args: Any, **kwargs: Any) ->
|
|
36
|
+
def forward(self, batch: TextBatch, *args: Any, **kwargs: Any) -> ModelOutput:
|
|
37
37
|
return self.model(batch)
|
|
38
38
|
|
|
39
39
|
@override
|
|
@@ -46,13 +46,14 @@ class LanguageModule(module.ModelModule):
|
|
|
46
46
|
|
|
47
47
|
def _batch_step(self, batch: TextBatch) -> STEP_OUTPUT:
|
|
48
48
|
text, targets, metadata = TextBatch(*batch)
|
|
49
|
-
|
|
49
|
+
output = self.forward(batch)
|
|
50
|
+
|
|
50
51
|
return {
|
|
51
52
|
"inputs": text,
|
|
52
|
-
"predictions":
|
|
53
|
+
"predictions": output.pop("generated_text"), # type: ignore
|
|
53
54
|
"targets": targets,
|
|
54
55
|
"metadata": metadata,
|
|
55
|
-
}
|
|
56
|
+
} | output
|
|
56
57
|
|
|
57
58
|
|
|
58
59
|
class OfflineLanguageModule(module.ModelModule):
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"""Type definitions for language models."""
|
|
2
2
|
|
|
3
|
-
from typing import Any, Dict, Generic, List, TypeVar
|
|
3
|
+
from typing import Any, Dict, Generic, List, TypedDict, TypeVar
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
import torch
|
|
6
|
+
from typing_extensions import NamedTuple, NotRequired
|
|
6
7
|
|
|
7
8
|
from eva.language.data.messages import MessageSeries
|
|
8
9
|
|
|
@@ -37,3 +38,19 @@ class PredictionBatch(NamedTuple, Generic[TargetType]):
|
|
|
37
38
|
|
|
38
39
|
metadata: Dict[str, Any] | None
|
|
39
40
|
"""Additional metadata."""
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
class ModelOutput(TypedDict):
|
|
44
|
+
"""The output batch produced by the model forward pass."""
|
|
45
|
+
|
|
46
|
+
generated_text: List[str]
|
|
47
|
+
"""The text generated by the model."""
|
|
48
|
+
|
|
49
|
+
input_ids: NotRequired[torch.Tensor | None]
|
|
50
|
+
"""The token ids of the input text."""
|
|
51
|
+
|
|
52
|
+
output_ids: NotRequired[torch.Tensor | None]
|
|
53
|
+
"""The token ids of the model output (usually containing both input and prediction)."""
|
|
54
|
+
|
|
55
|
+
attention_mask: NotRequired[torch.Tensor | None]
|
|
56
|
+
"""The attention mask for the input tokens."""
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
"""Base class for language model wrappers."""
|
|
2
2
|
|
|
3
3
|
import abc
|
|
4
|
-
from typing import Any, Callable
|
|
4
|
+
from typing import Any, Callable
|
|
5
5
|
|
|
6
6
|
from typing_extensions import override
|
|
7
7
|
|
|
8
8
|
from eva.core.models.wrappers import base
|
|
9
9
|
from eva.language.data.messages import ModelSystemMessage
|
|
10
|
-
from eva.language.models.typings import TextBatch
|
|
10
|
+
from eva.language.models.typings import ModelOutput, TextBatch
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
class LanguageModel(base.BaseModel[TextBatch,
|
|
13
|
+
class LanguageModel(base.BaseModel[TextBatch, ModelOutput]):
|
|
14
14
|
"""Base class for language models.
|
|
15
15
|
|
|
16
16
|
Classes that inherit from this should implement the following methods:
|
|
@@ -36,7 +36,7 @@ class LanguageModel(base.BaseModel[TextBatch, List[str]]):
|
|
|
36
36
|
self.system_message = ModelSystemMessage(content=system_prompt) if system_prompt else None
|
|
37
37
|
|
|
38
38
|
@override
|
|
39
|
-
def forward(self, batch: TextBatch) ->
|
|
39
|
+
def forward(self, batch: TextBatch) -> ModelOutput:
|
|
40
40
|
"""Forward pass of the model."""
|
|
41
41
|
inputs = self.format_inputs(batch)
|
|
42
42
|
return super().forward(inputs)
|