kaiko-eva 0.3.3__py3-none-any.whl → 0.4.1__py3-none-any.whl
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.
- eva/core/callbacks/config.py +15 -6
- eva/core/callbacks/writers/embeddings/base.py +44 -10
- eva/core/cli/setup.py +1 -1
- eva/core/data/dataloaders/__init__.py +1 -2
- eva/core/data/samplers/classification/balanced.py +24 -12
- eva/core/data/samplers/random.py +17 -10
- eva/core/interface/interface.py +21 -0
- eva/core/loggers/utils/wandb.py +4 -1
- eva/core/models/modules/module.py +2 -2
- eva/core/models/wrappers/base.py +2 -2
- eva/core/models/wrappers/from_function.py +3 -3
- eva/core/models/wrappers/from_torchhub.py +9 -7
- eva/core/models/wrappers/huggingface.py +4 -5
- eva/core/models/wrappers/onnx.py +5 -5
- eva/core/trainers/trainer.py +13 -1
- eva/core/utils/__init__.py +2 -1
- eva/core/utils/distributed.py +12 -0
- eva/core/utils/paths.py +14 -0
- eva/core/utils/requirements.py +52 -6
- eva/language/__init__.py +2 -1
- eva/language/callbacks/__init__.py +5 -0
- eva/language/callbacks/writers/__init__.py +5 -0
- eva/language/callbacks/writers/prediction.py +201 -0
- eva/language/data/dataloaders/__init__.py +5 -0
- eva/language/data/dataloaders/collate_fn/__init__.py +5 -0
- eva/language/data/dataloaders/collate_fn/text.py +57 -0
- eva/language/data/datasets/__init__.py +3 -1
- eva/language/data/datasets/{language.py → base.py} +1 -1
- eva/language/data/datasets/classification/base.py +3 -43
- eva/language/data/datasets/classification/pubmedqa.py +36 -4
- eva/language/data/datasets/prediction.py +151 -0
- eva/language/data/datasets/schemas.py +18 -0
- eva/language/data/datasets/text.py +92 -0
- eva/language/data/datasets/typings.py +39 -0
- eva/language/data/messages.py +60 -0
- eva/language/models/__init__.py +15 -11
- eva/language/models/modules/__init__.py +2 -2
- eva/language/models/modules/language.py +94 -0
- eva/language/models/networks/__init__.py +12 -0
- eva/language/models/networks/alibaba.py +26 -0
- eva/language/models/networks/api/__init__.py +11 -0
- eva/language/models/networks/api/anthropic.py +34 -0
- eva/language/models/networks/registry.py +5 -0
- eva/language/models/typings.py +56 -0
- eva/language/models/wrappers/__init__.py +13 -5
- eva/language/models/wrappers/base.py +47 -0
- eva/language/models/wrappers/from_registry.py +54 -0
- eva/language/models/wrappers/huggingface.py +57 -11
- eva/language/models/wrappers/litellm.py +91 -46
- eva/language/models/wrappers/vllm.py +37 -13
- eva/language/utils/__init__.py +2 -1
- eva/language/utils/str_to_int_tensor.py +20 -12
- eva/language/utils/text/__init__.py +5 -0
- eva/language/utils/text/messages.py +113 -0
- eva/multimodal/__init__.py +6 -0
- eva/multimodal/callbacks/__init__.py +5 -0
- eva/multimodal/callbacks/writers/__init__.py +5 -0
- eva/multimodal/callbacks/writers/prediction.py +39 -0
- eva/multimodal/data/__init__.py +5 -0
- eva/multimodal/data/dataloaders/__init__.py +5 -0
- eva/multimodal/data/dataloaders/collate_fn/__init__.py +5 -0
- eva/multimodal/data/dataloaders/collate_fn/text_image.py +28 -0
- eva/multimodal/data/datasets/__init__.py +6 -0
- eva/multimodal/data/datasets/base.py +13 -0
- eva/multimodal/data/datasets/multiple_choice/__init__.py +5 -0
- eva/multimodal/data/datasets/multiple_choice/patch_camelyon.py +80 -0
- eva/multimodal/data/datasets/schemas.py +14 -0
- eva/multimodal/data/datasets/text_image.py +77 -0
- eva/multimodal/data/datasets/typings.py +27 -0
- eva/multimodal/models/__init__.py +8 -0
- eva/multimodal/models/modules/__init__.py +5 -0
- eva/multimodal/models/modules/vision_language.py +56 -0
- eva/multimodal/models/networks/__init__.py +14 -0
- eva/multimodal/models/networks/alibaba.py +40 -0
- eva/multimodal/models/networks/api/__init__.py +11 -0
- eva/multimodal/models/networks/api/anthropic.py +34 -0
- eva/multimodal/models/networks/others.py +48 -0
- eva/multimodal/models/networks/registry.py +5 -0
- eva/multimodal/models/typings.py +27 -0
- eva/multimodal/models/wrappers/__init__.py +13 -0
- eva/multimodal/models/wrappers/base.py +48 -0
- eva/multimodal/models/wrappers/from_registry.py +54 -0
- eva/multimodal/models/wrappers/huggingface.py +193 -0
- eva/multimodal/models/wrappers/litellm.py +58 -0
- eva/multimodal/utils/__init__.py +1 -0
- eva/multimodal/utils/batch/__init__.py +5 -0
- eva/multimodal/utils/batch/unpack.py +11 -0
- eva/multimodal/utils/image/__init__.py +5 -0
- eva/multimodal/utils/image/encode.py +28 -0
- eva/multimodal/utils/text/__init__.py +1 -0
- eva/multimodal/utils/text/messages.py +79 -0
- eva/vision/data/datasets/classification/breakhis.py +5 -8
- eva/vision/data/datasets/classification/panda.py +12 -5
- eva/vision/data/datasets/classification/patch_camelyon.py +8 -6
- eva/vision/data/datasets/segmentation/btcv.py +1 -1
- eva/vision/data/datasets/segmentation/consep.py +1 -1
- eva/vision/data/datasets/segmentation/lits17.py +1 -1
- eva/vision/data/datasets/segmentation/monusac.py +15 -6
- eva/vision/data/datasets/segmentation/msd_task7_pancreas.py +1 -1
- eva/vision/data/transforms/__init__.py +2 -1
- eva/vision/data/transforms/base/__init__.py +2 -1
- eva/vision/data/transforms/base/monai.py +2 -2
- eva/vision/data/transforms/base/torchvision.py +33 -0
- eva/vision/data/transforms/common/squeeze.py +6 -3
- eva/vision/data/transforms/croppad/crop_foreground.py +8 -7
- eva/vision/data/transforms/croppad/rand_crop_by_label_classes.py +6 -5
- eva/vision/data/transforms/croppad/rand_crop_by_pos_neg_label.py +6 -5
- eva/vision/data/transforms/croppad/rand_spatial_crop.py +8 -7
- eva/vision/data/transforms/croppad/spatial_pad.py +6 -6
- eva/vision/data/transforms/intensity/rand_scale_intensity.py +3 -3
- eva/vision/data/transforms/intensity/rand_shift_intensity.py +3 -3
- eva/vision/data/transforms/intensity/scale_intensity_ranged.py +5 -5
- eva/vision/data/transforms/spatial/__init__.py +2 -1
- eva/vision/data/transforms/spatial/flip.py +8 -7
- eva/vision/data/transforms/spatial/functional/__init__.py +5 -0
- eva/vision/data/transforms/spatial/functional/resize.py +26 -0
- eva/vision/data/transforms/spatial/resize.py +63 -0
- eva/vision/data/transforms/spatial/rotate.py +8 -7
- eva/vision/data/transforms/spatial/spacing.py +7 -6
- eva/vision/data/transforms/utility/ensure_channel_first.py +6 -6
- eva/vision/models/networks/backbones/universal/vit.py +24 -0
- eva/vision/models/wrappers/from_registry.py +6 -5
- eva/vision/models/wrappers/from_timm.py +6 -4
- {kaiko_eva-0.3.3.dist-info → kaiko_eva-0.4.1.dist-info}/METADATA +17 -3
- {kaiko_eva-0.3.3.dist-info → kaiko_eva-0.4.1.dist-info}/RECORD +128 -66
- eva/core/data/dataloaders/collate_fn/__init__.py +0 -5
- eva/core/data/dataloaders/collate_fn/collate.py +0 -24
- eva/language/models/modules/text.py +0 -85
- {kaiko_eva-0.3.3.dist-info → kaiko_eva-0.4.1.dist-info}/WHEEL +0 -0
- {kaiko_eva-0.3.3.dist-info → kaiko_eva-0.4.1.dist-info}/entry_points.txt +0 -0
- {kaiko_eva-0.3.3.dist-info → kaiko_eva-0.4.1.dist-info}/licenses/LICENSE +0 -0
|
@@ -5,6 +5,7 @@ from urllib import parse
|
|
|
5
5
|
|
|
6
6
|
import timm
|
|
7
7
|
import torch
|
|
8
|
+
from torch import nn
|
|
8
9
|
from typing_extensions import override
|
|
9
10
|
|
|
10
11
|
from eva.core.models.wrappers import base
|
|
@@ -46,12 +47,14 @@ class TimmModel(base.BaseModel[torch.Tensor, torch.Tensor]):
|
|
|
46
47
|
self._out_indices = out_indices
|
|
47
48
|
self._model_kwargs = model_kwargs or {}
|
|
48
49
|
|
|
49
|
-
self.load_model()
|
|
50
|
+
self.model = self.load_model()
|
|
50
51
|
|
|
51
52
|
@override
|
|
52
|
-
def load_model(self) ->
|
|
53
|
+
def load_model(self) -> nn.Module:
|
|
53
54
|
"""Builds and loads the timm model as feature extractor."""
|
|
54
|
-
|
|
55
|
+
TimmModel.__name__ = self._model_name
|
|
56
|
+
|
|
57
|
+
return timm.create_model(
|
|
55
58
|
model_name=self._model_name,
|
|
56
59
|
pretrained=True if self._checkpoint_path else self._pretrained,
|
|
57
60
|
pretrained_cfg=self._pretrained_cfg,
|
|
@@ -59,7 +62,6 @@ class TimmModel(base.BaseModel[torch.Tensor, torch.Tensor]):
|
|
|
59
62
|
features_only=self._out_indices is not None,
|
|
60
63
|
**self._model_kwargs,
|
|
61
64
|
)
|
|
62
|
-
TimmModel.__name__ = self._model_name
|
|
63
65
|
|
|
64
66
|
@property
|
|
65
67
|
def _pretrained_cfg(self) -> Dict[str, Any]:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: kaiko-eva
|
|
3
|
-
Version: 0.
|
|
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>
|
|
@@ -245,6 +245,10 @@ Requires-Dist: einops>=0.8.1; extra == "vision"
|
|
|
245
245
|
Provides-Extra: language
|
|
246
246
|
Requires-Dist: datasets<4.0.0,>=2.19.0; extra == "language"
|
|
247
247
|
Requires-Dist: litellm>=1.61.8; extra == "language"
|
|
248
|
+
Requires-Dist: backoff>=2.2.1; extra == "language"
|
|
249
|
+
Provides-Extra: multimodal
|
|
250
|
+
Requires-Dist: litellm>=1.61.8; extra == "multimodal"
|
|
251
|
+
Requires-Dist: backoff>=2.2.1; extra == "multimodal"
|
|
248
252
|
Provides-Extra: all
|
|
249
253
|
Requires-Dist: h5py>=3.10.0; extra == "all"
|
|
250
254
|
Requires-Dist: nibabel>=4.0.1; extra == "all"
|
|
@@ -260,6 +264,7 @@ Requires-Dist: monai>=1.3.2; extra == "all"
|
|
|
260
264
|
Requires-Dist: einops>=0.8.1; extra == "all"
|
|
261
265
|
Requires-Dist: datasets<4.0.0,>=2.19.0; extra == "all"
|
|
262
266
|
Requires-Dist: litellm>=1.61.8; extra == "all"
|
|
267
|
+
Requires-Dist: backoff>=2.2.1; extra == "all"
|
|
263
268
|
Description-Content-Type: text/markdown
|
|
264
269
|
|
|
265
270
|
<div align="center">
|
|
@@ -298,7 +303,7 @@ Check out the [documentation](https://kaiko-ai.github.io/eva/) for more informat
|
|
|
298
303
|
|
|
299
304
|
### Highlights:
|
|
300
305
|
- Easy and reliable benchmark of Oncology FMs
|
|
301
|
-
- Supports patch-level classification, slide-level classification, semantic segmentation, and
|
|
306
|
+
- Supports patch-level classification, slide-level classification, semantic segmentation, and (visual) question answering tasks.
|
|
302
307
|
- Automatic embedding inference and evaluation of a downstream task
|
|
303
308
|
- Native support of popular medical [datasets](https://kaiko-ai.github.io/eva/dev/datasets/) and models
|
|
304
309
|
- Produce statistics over multiple evaluation fits and multiple metrics
|
|
@@ -316,6 +321,9 @@ pip install 'kaiko-eva[vision]'
|
|
|
316
321
|
# to install the expanded `language` version
|
|
317
322
|
pip install 'kaiko-eva[language]'
|
|
318
323
|
|
|
324
|
+
# to install the expanded `multimodal` version
|
|
325
|
+
pip install 'kaiko-eva[multimodal]'
|
|
326
|
+
|
|
319
327
|
# to install everything
|
|
320
328
|
pip install 'kaiko-eva[all]'
|
|
321
329
|
```
|
|
@@ -483,7 +491,13 @@ and [tutorials](https://kaiko-ai.github.io/eva/main/user-guide/advanced/replicat
|
|
|
483
491
|
|
|
484
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/).
|
|
485
493
|
|
|
486
|
-
|
|
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">
|
|
487
501
|
|
|
488
502
|
|
|
489
503
|
## Contributing
|
|
@@ -3,22 +3,20 @@ eva/__main__.py,sha256=kM5tQ0egTuBWixNLLx9QU-PpS2Bbs3zE3nYE6b2vWa0,282
|
|
|
3
3
|
eva/__version__.py,sha256=YFR4oOlvPg0sS4Ni7GJ_vU42VTs5WiWp6odK7yH4TBY,611
|
|
4
4
|
eva/core/__init__.py,sha256=AYlMZcH76B7I1lOa-E67u2o9DxsCwI4JMLCYXLk9oDQ,451
|
|
5
5
|
eva/core/callbacks/__init__.py,sha256=_XsS4QGf4r9frzFwEx-krmzJm3kbLmXQFtwYCfRyjrM,281
|
|
6
|
-
eva/core/callbacks/config.py,sha256
|
|
6
|
+
eva/core/callbacks/config.py,sha256=hx3FvxX5AnWGBTo-ys3Xr73V28_HRIcG5PMXtLyRbPo,4725
|
|
7
7
|
eva/core/callbacks/writers/__init__.py,sha256=z8cNVJOanj-yYyIiX-mOkhur1NExuCOKzPjp4mmm3AE,232
|
|
8
8
|
eva/core/callbacks/writers/embeddings/__init__.py,sha256=zMxP4POf1yFFUVSjGcsQgyPYNY6JsZO_F66ngKJZaG8,301
|
|
9
9
|
eva/core/callbacks/writers/embeddings/_manifest.py,sha256=pB9nGv9ofVbnI4HHPrHY4p7jeFiFQTRc09zszto_DTk,2424
|
|
10
|
-
eva/core/callbacks/writers/embeddings/base.py,sha256=
|
|
10
|
+
eva/core/callbacks/writers/embeddings/base.py,sha256=YyQFTK3NjF-aEo_yve4HUHqHovD8o9xQY9s3cuKoTOw,9104
|
|
11
11
|
eva/core/callbacks/writers/embeddings/classification.py,sha256=pYU0dD08IXH4_pK-P43LqCMD17X-AP5Ayo9gbovwv6U,4522
|
|
12
12
|
eva/core/callbacks/writers/embeddings/segmentation.py,sha256=6AMGfD9Ur35TyH8ztjPx4ayB1Kbywymmu9LriMGLDoY,3135
|
|
13
13
|
eva/core/callbacks/writers/embeddings/typings.py,sha256=qXZSlasaSKHad6HyJeRTeUv-ZeJVM-R3oIaasD8ZPc8,997
|
|
14
14
|
eva/core/cli/__init__.py,sha256=1lGiomn4JINI0DKy41_D4cEyyH-hN6cfTZfMPxLxTCA,68
|
|
15
15
|
eva/core/cli/cli.py,sha256=AZ4B4OP3D2af9H2RYBd5nxoy5I9DlaClZaadSWpPEPI,422
|
|
16
16
|
eva/core/cli/logo.py,sha256=x6-vGWI0s9gza-xxQrBDi2wneb2wFU_mQGHgpAiq2MQ,786
|
|
17
|
-
eva/core/cli/setup.py,sha256=
|
|
17
|
+
eva/core/cli/setup.py,sha256=q5bLSqlHvR0bgF-uh4tL1JOv2aCn5hoRP-XqCaBKTvo,2690
|
|
18
18
|
eva/core/data/__init__.py,sha256=yG3BeOWhp1EjVYMFqx8M_TBWFDyfIwwksQGQmMdSPaI,340
|
|
19
|
-
eva/core/data/dataloaders/__init__.py,sha256=
|
|
20
|
-
eva/core/data/dataloaders/collate_fn/__init__.py,sha256=CfSAVrPD36shpyYAkob2ny05VWymb95MutawQcZkbuo,134
|
|
21
|
-
eva/core/data/dataloaders/collate_fn/collate.py,sha256=oBdxaDCIaXBB6H8LB90Qsi2Inw1tyHGF4kAFBINPOeQ,689
|
|
19
|
+
eva/core/data/dataloaders/__init__.py,sha256=fbNClVZ8J3QoGi4qiPq635ig1j9GdI7six3RhfwDbjY,110
|
|
22
20
|
eva/core/data/dataloaders/dataloader.py,sha256=v_UL5p78EiyLqXUhWsS0EbfW0iO-DAWOMv7-WTclOvA,2750
|
|
23
21
|
eva/core/data/datamodules/__init__.py,sha256=qZchYbgxo9lxYnGoqdk0C6MfS2IbF0WItO0kCdP9Mqc,229
|
|
24
22
|
eva/core/data/datamodules/call.py,sha256=jjj9w3UXYuQB-qyCcw1EZpRJW10OC1I3dvgvsuQWLck,940
|
|
@@ -34,8 +32,8 @@ eva/core/data/datasets/embeddings.py,sha256=0y7Fa4zHr4Y0mcB9pyP26YaeTPtetwVf_n6f
|
|
|
34
32
|
eva/core/data/datasets/typings.py,sha256=KSmckjsU64pGV-8uSLkD1HmvPKYlyypngiRx9yy4RDs,383
|
|
35
33
|
eva/core/data/samplers/__init__.py,sha256=rRrKtg4l6YoziD3M0MkctQvX1NdRxaQa5sm6RHH_jXc,315
|
|
36
34
|
eva/core/data/samplers/classification/__init__.py,sha256=gvv7BH4lG9JlkMaTOnaL0f4k1ghiVBgrH64bh1-rreQ,147
|
|
37
|
-
eva/core/data/samplers/classification/balanced.py,sha256=
|
|
38
|
-
eva/core/data/samplers/random.py,sha256=
|
|
35
|
+
eva/core/data/samplers/classification/balanced.py,sha256=SseV19gLKNL9B5u_DOwuVdbyM7CzXDV3FugipJaWWZE,4149
|
|
36
|
+
eva/core/data/samplers/random.py,sha256=fAlPmlTiXO7QqTh2hLVjgmELsX4P7DrS-9vV2qMAcOQ,1409
|
|
39
37
|
eva/core/data/samplers/sampler.py,sha256=0DOLUzFoweqEubuO1A4bZBRU0AWFoWGWrO3pawRT-eI,877
|
|
40
38
|
eva/core/data/splitting/__init__.py,sha256=VQJ8lfakbv6y2kAk3VDtITAvh7kcZo3H1JwJBc5jT08,198
|
|
41
39
|
eva/core/data/splitting/random.py,sha256=r6iy7j34seRTlyB79_Xy7m6lsKRi8ZM9X5Ln1b-SBjg,1453
|
|
@@ -48,7 +46,7 @@ eva/core/data/transforms/padding/pad_2d_tensor.py,sha256=J4maGFmeQf9IHRxt5kU-6eI
|
|
|
48
46
|
eva/core/data/transforms/sampling/__init__.py,sha256=BFKbvRjlZrwS0GcNrM54ZSWt6PrQARfFlXM1jJ-wpvo,149
|
|
49
47
|
eva/core/data/transforms/sampling/sample_from_axis.py,sha256=Zbhp94lVa70WQKmSOKMTsOMe2c7wLqNZto7JqWhSdtI,1229
|
|
50
48
|
eva/core/interface/__init__.py,sha256=chdpKXipxe1NP-Fgr_d9r6X1gMna0XiEa38waJ6FzTM,98
|
|
51
|
-
eva/core/interface/interface.py,sha256=
|
|
49
|
+
eva/core/interface/interface.py,sha256=pni92cLb4KQMSvOoYMWP2qIn8rtzqxj84hEhjsdCgis,5364
|
|
52
50
|
eva/core/loggers/__init__.py,sha256=4YMLNlN9LnuKqhBI1R1keh69dmMD-2lcH3HKwwyn380,266
|
|
53
51
|
eva/core/loggers/dummy.py,sha256=Y7ypH0ecSAIkkZ5LzTmNNEzlKkqeaHfUNMCDKVOg6D4,1204
|
|
54
52
|
eva/core/loggers/experimental_loggers.py,sha256=p5uCK_9QCYufRhE-LZQUJWbhGElyobX_zRM78yX4p2o,230
|
|
@@ -58,7 +56,7 @@ eva/core/loggers/log/parameters.py,sha256=7Xi-I5gQvEVv71d58bwdZ-Hb4287NXxaUyMfri
|
|
|
58
56
|
eva/core/loggers/log/table.py,sha256=HULCo5icDB6UOIXXMci0eo32Pl1-YRWzaOAB-ZBVUak,1726
|
|
59
57
|
eva/core/loggers/log/utils.py,sha256=k4Q7uKpAQctfDv0EEYPnPv6wt9LnckEeqGvbYSLfKO0,415
|
|
60
58
|
eva/core/loggers/loggers.py,sha256=igHxdxJSotWSg6nEOKnfFuBszzblHgi8T7sBrE00FEs,166
|
|
61
|
-
eva/core/loggers/utils/wandb.py,sha256=
|
|
59
|
+
eva/core/loggers/utils/wandb.py,sha256=eLB_XNiFdRa4zXieDSEbM-zgCyOMdckmgQFMlVtfTfI,842
|
|
62
60
|
eva/core/losses/__init__.py,sha256=D-Mp9fUFFFoH9YYWntVH3B839zHS3GjFJzkbQThzj6Y,118
|
|
63
61
|
eva/core/losses/cross_entropy.py,sha256=Sunz7ogDAJpGvZtuk9cAxKZJBO08CKIEvbCoewEvees,862
|
|
64
62
|
eva/core/metrics/__init__.py,sha256=-9Qch4npEQpy3oF6NUhh9WinCmFBFe0D2eEYCR0S0xU,558
|
|
@@ -78,7 +76,7 @@ eva/core/models/__init__.py,sha256=T6Fo886LxMj-Y58_ylzkPkFSnFR2aISiMIbuO_weC4s,4
|
|
|
78
76
|
eva/core/models/modules/__init__.py,sha256=_4VjN9Qs4_mftEVgt0KqVxCRAtDcKYbUnBA3Ox1Pzis,350
|
|
79
77
|
eva/core/models/modules/head.py,sha256=bZ45RBPi3N8sjvKyt2_TeKWI1eB6GyBeGzV6J11ERO8,5225
|
|
80
78
|
eva/core/models/modules/inference.py,sha256=ih-0Rr2oNf2N6maiXPOW7XH5KVwUT1_MOxnJKOhJ1uQ,978
|
|
81
|
-
eva/core/models/modules/module.py,sha256=
|
|
79
|
+
eva/core/models/modules/module.py,sha256=8BHc_NdIXAyA7oUP7LFLYvMjIJSsuR5lvFiHS_wycU4,6695
|
|
82
80
|
eva/core/models/modules/scheduler.py,sha256=orv5TDq9vEItxE7rTj0sQlzdChpx5jHx-3ypnHjUyr4,1650
|
|
83
81
|
eva/core/models/modules/typings.py,sha256=LPR8JdIid2gJZpjMG1FcH5OZ60JlFOj_LupIh__2k_8,803
|
|
84
82
|
eva/core/models/modules/utils/__init__.py,sha256=ScLCHwQfzlg_UsHVi5sf_SavUkh9secwtRn_umC_qA8,325
|
|
@@ -93,19 +91,20 @@ eva/core/models/transforms/extract_cls_features.py,sha256=A-oNNiGYBkMLK_E9DrzJUJ
|
|
|
93
91
|
eva/core/models/transforms/extract_patch_features.py,sha256=5UsHjZnh3Uk2jAfi3GLtxoJ14ALTrfVoWUy8nTspRDY,2218
|
|
94
92
|
eva/core/models/wrappers/__init__.py,sha256=jaiANQdbO-IPgH8U-Y0ftFsuuCAM5i5KuYRHauKw5k8,450
|
|
95
93
|
eva/core/models/wrappers/_utils.py,sha256=ZWe9Ih_0kH5Wg_AQAtAn77LZ_CODAve5u3G12ifLNsc,4902
|
|
96
|
-
eva/core/models/wrappers/base.py,sha256=
|
|
97
|
-
eva/core/models/wrappers/from_function.py,sha256=
|
|
98
|
-
eva/core/models/wrappers/from_torchhub.py,sha256
|
|
99
|
-
eva/core/models/wrappers/huggingface.py,sha256
|
|
100
|
-
eva/core/models/wrappers/onnx.py,sha256=
|
|
94
|
+
eva/core/models/wrappers/base.py,sha256=MvFZcwXvWsgvi9LqJUcUKjqimyFXvJ7P5ftOaNQpecc,1450
|
|
95
|
+
eva/core/models/wrappers/from_function.py,sha256=ccjCMwkdmyKqCxUbNaUDB1V6KvBgKuoXxIb8gH7Giyo,1855
|
|
96
|
+
eva/core/models/wrappers/from_torchhub.py,sha256=VHOigAIkYJfMfaq8WJwYzbex-1ny_ZjszxGSfaDeVbw,3291
|
|
97
|
+
eva/core/models/wrappers/huggingface.py,sha256=rP0DmdZnJ0Zqjy3o7BqwBa8uG3C24Epgb4h1sRPZOJ0,1459
|
|
98
|
+
eva/core/models/wrappers/onnx.py,sha256=BhXlXE0mF3pZ2R8SZtDUF51ooFwdsAjJ47CiJg-wjNY,1837
|
|
101
99
|
eva/core/trainers/__init__.py,sha256=jhsKJF7HAae7EOiG3gKIAHH_h3dZlTE2JRcCHJmOzJc,208
|
|
102
100
|
eva/core/trainers/_logging.py,sha256=gi4FqPy2GuVmh0WZY6mYwF7zMPvnoFA050B0XdCP6PU,2571
|
|
103
101
|
eva/core/trainers/_recorder.py,sha256=M-BJHLgqGxR_MSV6f_WC7GN2JHYEEinV1-hNLpH667A,8062
|
|
104
102
|
eva/core/trainers/_utils.py,sha256=M3h8lVhUmkeSiEXpX9hRdMvThGFCnTP15gv-hd1CZkc,321
|
|
105
103
|
eva/core/trainers/functional.py,sha256=_Mw-NIPU2tPffxpK5t3sHBmVI6u163phCpoJFiauH7E,4583
|
|
106
|
-
eva/core/trainers/trainer.py,sha256=
|
|
107
|
-
eva/core/utils/__init__.py,sha256=
|
|
104
|
+
eva/core/trainers/trainer.py,sha256=IC9GevrJYMukTjH7cnhDbKNC9c2CabvFla8W8SVrEyk,5235
|
|
105
|
+
eva/core/utils/__init__.py,sha256=oBWskE1uDMRdTBlJjAIkAbH_yMM-Zj5BMXLHOiGYvcU,291
|
|
108
106
|
eva/core/utils/clone.py,sha256=qcThZOuAs1cs0uV3BL5eKeM2VIBjuRPBe1t-NiUFM5Y,569
|
|
107
|
+
eva/core/utils/distributed.py,sha256=1qGSpW1Ehp2H7_QVLhd0SptTnnfWqOoICwIAPkleQfc,354
|
|
109
108
|
eva/core/utils/factory.py,sha256=upWPWkWW7p3_ZoePAzbkkZvEPiAY4OaOQkwNvh0oa-E,2397
|
|
110
109
|
eva/core/utils/io/__init__.py,sha256=Py03AmoxhmTHkro6CzNps27uXKkXPzdA18mG97xHhWI,172
|
|
111
110
|
eva/core/utils/io/dataframe.py,sha256=CIHFowljH17waDkJ9YJVEVXAIcxMwoLjUgoBttiNk8w,509
|
|
@@ -114,28 +113,87 @@ eva/core/utils/memory.py,sha256=ZvcbS1eUPXdHIoL8ctFU56_-cyUniObBmIctUbvso48,636
|
|
|
114
113
|
eva/core/utils/multiprocessing.py,sha256=BWX8AW_KPLgIIlbsPG1kYdtbHPx6Dklw13bu4u84pF0,3006
|
|
115
114
|
eva/core/utils/operations.py,sha256=eoC_ScuHUMDCuk08j1bosiQZdPrgiIODqqheR9MtJHQ,641
|
|
116
115
|
eva/core/utils/parser.py,sha256=2czmwEGJJ6PtmaD86s9I14P-_sek4DmDCkEatRGT5sI,725
|
|
116
|
+
eva/core/utils/paths.py,sha256=LlvvPnlvxbYZxHdsC6letpXemqx-46oA97SAffiipnA,284
|
|
117
117
|
eva/core/utils/progress_bar.py,sha256=KvvsM_v3_Fhb4JvbEEPHb4PJMokg6mNLj-o6dkfzcMc,499
|
|
118
118
|
eva/core/utils/registry.py,sha256=iEDVsQ7DdPXhzfW32z3lWNgwjagR_jh_g4VkvajjRK4,1348
|
|
119
|
-
eva/core/utils/requirements.py,sha256=
|
|
119
|
+
eva/core/utils/requirements.py,sha256=UXtdoStvv6-AkjoUkVv7hVTEYlWdZ_kqyIVc4QPJ4SA,2154
|
|
120
120
|
eva/core/utils/suppress_logs.py,sha256=pOk1076J0mKWn2lgDqEVC1g65FXhA_2IkC4LBEWhnwQ,902
|
|
121
121
|
eva/core/utils/workers.py,sha256=hfx63M82qNg0Dwhre2tl53MnhtRsV7APaDONM9nhVB8,634
|
|
122
|
-
eva/language/__init__.py,sha256=
|
|
122
|
+
eva/language/__init__.py,sha256=W_u2wedmQvEOWVEw8dmkie7c6ATeVuTVn9_Yw7uc3cU,406
|
|
123
|
+
eva/language/callbacks/__init__.py,sha256=gVTSGjKYvovTgERVJmQLssW6Fz7aJwjYpe6gqUtq0_8,131
|
|
124
|
+
eva/language/callbacks/writers/__init__.py,sha256=FV02MK218j3pxCgmTvMPtgNL8-4d2NbUcnyvsZI0CNs,150
|
|
125
|
+
eva/language/callbacks/writers/prediction.py,sha256=2uUZZWUaN_Tm1lqo31FY436COq6-qLizd9XlsMxXqq8,7778
|
|
123
126
|
eva/language/data/__init__.py,sha256=ONF-CLBK2HO2p1bMCAbdvaHfSsYjdSE9-O3lWgwQQGk,89
|
|
124
|
-
eva/language/data/
|
|
127
|
+
eva/language/data/dataloaders/__init__.py,sha256=6pGDiohDxfNepOyE76XhgQMOYzgL1LYNaR9Qu7xb8fQ,169
|
|
128
|
+
eva/language/data/dataloaders/collate_fn/__init__.py,sha256=QZ22JjL4t8VldudGXTaEPv3rH8XKta_nlip1TszWn9g,171
|
|
129
|
+
eva/language/data/dataloaders/collate_fn/text.py,sha256=BrgbgUOFyaitymVAp2lZNaS2kqU7KzmeMOKfNzGaiYY,1944
|
|
130
|
+
eva/language/data/datasets/__init__.py,sha256=FE5tpQ18z2yRE_q60r2xu7WapLT3oGt5d_iZ6_uJ_DI,308
|
|
131
|
+
eva/language/data/datasets/base.py,sha256=BDpyT_mnYuP5qMlGP_vfRejO-gp-bsQYNMBqM0EmXyY,309
|
|
125
132
|
eva/language/data/datasets/classification/__init__.py,sha256=HXtgJpMt9CgqvdeWc147bOn-9YeUMcL8v-0UHHkY_A4,144
|
|
126
|
-
eva/language/data/datasets/classification/base.py,sha256=
|
|
127
|
-
eva/language/data/datasets/classification/pubmedqa.py,sha256=
|
|
128
|
-
eva/language/data/datasets/
|
|
129
|
-
eva/language/
|
|
130
|
-
eva/language/
|
|
131
|
-
eva/language/
|
|
133
|
+
eva/language/data/datasets/classification/base.py,sha256=Xdy8quqx4lSZtS04yJ1WubXREMEnaB7BiCnn-Ao8wIQ,589
|
|
134
|
+
eva/language/data/datasets/classification/pubmedqa.py,sha256=zSmX7eLrMxU0HtFO17zQF3NevNkDEgSNEVZtG27A8OI,6533
|
|
135
|
+
eva/language/data/datasets/prediction.py,sha256=4ZyDFK5IWPuVShKy8z2Bn6Uq0dYgolFhf94EUnzYiC8,5880
|
|
136
|
+
eva/language/data/datasets/schemas.py,sha256=x0IBinezADXzQr71SDFSSeRYXW7uuINmzdPQLemWF-Y,405
|
|
137
|
+
eva/language/data/datasets/text.py,sha256=MpVJa5h7Al572UdU-WtfKwbF7nEAt_jd11rJF3ZIuQk,2778
|
|
138
|
+
eva/language/data/datasets/typings.py,sha256=_JZUD6ZlaCQhvWBD851zQZy3czgCxpsAnbnifSvSRCk,904
|
|
139
|
+
eva/language/data/messages.py,sha256=2x7k-rzZkM8Ow-fIm6cBrsJB6W_vlsjExs6IaQkdDa4,1306
|
|
140
|
+
eva/language/models/__init__.py,sha256=QZHt1uz9bB33Ko5mznlLjY0uGCVmnS7SOLb8Z0Bzgm4,725
|
|
141
|
+
eva/language/models/modules/__init__.py,sha256=Dk2pdjkerDA_Omrue38ia0rYmW84jRvyc9pPKziZH9c,172
|
|
142
|
+
eva/language/models/modules/language.py,sha256=y2UJdTxudcbuGQjWfQ7GMQNy4FVC5wQGjcEaWIAEGRU,3144
|
|
132
143
|
eva/language/models/modules/typings.py,sha256=dWq3FTbvGZGoIMTEIX1yWBk_VFKIHsvxaTvBXlbJfCA,379
|
|
133
|
-
eva/language/models/
|
|
134
|
-
eva/language/models/
|
|
135
|
-
eva/language/models/
|
|
136
|
-
eva/language/models/
|
|
137
|
-
eva/language/
|
|
138
|
-
eva/language/
|
|
144
|
+
eva/language/models/networks/__init__.py,sha256=zrRaiFqcIeFsLm6-yJWUeEgh_1xvBY-5QAdRGjEOysg,374
|
|
145
|
+
eva/language/models/networks/alibaba.py,sha256=kSGPdZWnn0q71Dm03HKmoXWACeEyc8V3HVLuk_fIhno,798
|
|
146
|
+
eva/language/models/networks/api/__init__.py,sha256=NrLiFExfplzbiFqOTgQqSUxeXzlAwCoDcbuBH9hbi58,222
|
|
147
|
+
eva/language/models/networks/api/anthropic.py,sha256=EdIKcFS7RCX_vpiOYMh-tS6rM74orOcNRmhw9pETen8,1194
|
|
148
|
+
eva/language/models/networks/registry.py,sha256=yFA1AhIbgoDLRvn9MUU2FPH25H7BODpN49CN_ya7wrY,106
|
|
149
|
+
eva/language/models/typings.py,sha256=XJbDCYOikgAWAaEQjsFckj5OqE9LhQSelMIRJ_leL_s,1451
|
|
150
|
+
eva/language/models/wrappers/__init__.py,sha256=N5DrkKZs_zE7WHY76bnhViO1hpoO88Sm1BOj12tgwJU,626
|
|
151
|
+
eva/language/models/wrappers/base.py,sha256=r_k44u5XVDw8hxfXWmU13qCejBWQUP00afJi23xm5JM,1693
|
|
152
|
+
eva/language/models/wrappers/from_registry.py,sha256=hdGzLfkgjZLrEb9GyqjF1mNlFMTErQ6sY900_tBJHH8,1793
|
|
153
|
+
eva/language/models/wrappers/huggingface.py,sha256=ihYHQSJGdWgwMTCUyn3WZQmZPa7F7DqqkIwrNWpYGvY,4312
|
|
154
|
+
eva/language/models/wrappers/litellm.py,sha256=kFBEDY7w806vKnZ-H8uGLgO6A3zkgEDhZ3oNhvbjLoI,3792
|
|
155
|
+
eva/language/models/wrappers/vllm.py,sha256=puJVOFeyFrqBplvkjvH5dGALlZD4gduaX3lY5fScbQU,6514
|
|
156
|
+
eva/language/utils/__init__.py,sha256=Bvw7Z5Z-mBQp7rTycycrgrxxrbItD5IqNU4uHRAnD9s,238
|
|
157
|
+
eva/language/utils/str_to_int_tensor.py,sha256=_D2FH_5S1Sc4ywsJ6EWrTwuaw-NJVHygwAaRSRs-NPs,3471
|
|
158
|
+
eva/language/utils/text/__init__.py,sha256=fxMel4GvRx-SKrxGcwXDNG77yj_deEOWc6mkePS2aWo,143
|
|
159
|
+
eva/language/utils/text/messages.py,sha256=9i4AUNjAo8XOF0_gB_MaoQy4SHI2zohz65qtMoTYtWE,3989
|
|
160
|
+
eva/multimodal/__init__.py,sha256=aRq8KCWg4h7XHS68EWSHDepu9VeACxVOU3B4DiQhphE,132
|
|
161
|
+
eva/multimodal/callbacks/__init__.py,sha256=tIwSH9Z1YJfebSU3-rSCGJgaX3Io6rptLX13gmI6Hck,135
|
|
162
|
+
eva/multimodal/callbacks/writers/__init__.py,sha256=6UYVvH3Hbya0haKQh9Dci_lRji9kz1RO4Z_vnTnY24U,154
|
|
163
|
+
eva/multimodal/callbacks/writers/prediction.py,sha256=OSfInVpz2qUDTkzM3MzwWZiJoa3N4y8amMLV5TEK-k0,1316
|
|
164
|
+
eva/multimodal/data/__init__.py,sha256=wL6XCRfIuDp-7YWaHsWZ90CdII-reSW1jQ2dn8_OC0Q,113
|
|
165
|
+
eva/multimodal/data/dataloaders/__init__.py,sha256=OZ4KnLxwfs1ccA6FItyoFBtgUL_vd5JnOycCOhk8H5M,143
|
|
166
|
+
eva/multimodal/data/dataloaders/collate_fn/__init__.py,sha256=1CHJ7cL9ELlo92LakB5ib0YD-kbTjzBrMBZ5j5kYu74,160
|
|
167
|
+
eva/multimodal/data/dataloaders/collate_fn/text_image.py,sha256=Hwf4GOmYtYcJYMTiZSVrSppo_SQqcAmvvahe_4xoVb0,883
|
|
168
|
+
eva/multimodal/data/datasets/__init__.py,sha256=XisAN7MOBncOucelkVOch_rX7KSHPIL7W6lmKUQVQuQ,236
|
|
169
|
+
eva/multimodal/data/datasets/base.py,sha256=mRkxiVpZJ3Rn_YRHvqGGJiAr-I1qY1A2H53vhn59d2g,315
|
|
170
|
+
eva/multimodal/data/datasets/multiple_choice/__init__.py,sha256=tmMLCUQWBAGvDPaUVL4qNoXTabkagoZTgbiAJ9Sci-E,148
|
|
171
|
+
eva/multimodal/data/datasets/multiple_choice/patch_camelyon.py,sha256=r2ZgjStennqHDK4H2Q980sDObvZDjTA6XWSLeBmbWaQ,3100
|
|
172
|
+
eva/multimodal/data/datasets/schemas.py,sha256=44ll-3B8V8ctkmUJ1EuoUSow38EmrRTx9K1nfLw3AgE,366
|
|
173
|
+
eva/multimodal/data/datasets/text_image.py,sha256=CxT8ej6lmcWDdCeimgBcujfgMrdCMEm5LhYnzW0RbL0,2608
|
|
174
|
+
eva/multimodal/data/datasets/typings.py,sha256=dkxszTFljKf8CUlIxblsIlNR0Ckjrl2_NTBq7cAY-fk,641
|
|
175
|
+
eva/multimodal/models/__init__.py,sha256=AILD2D1zLnPW6nelWTjwIBA4jS0kx2iSw3HEQ1wMJTo,130
|
|
176
|
+
eva/multimodal/models/modules/__init__.py,sha256=E6bhjdMGPBEUNI_Lq8foLQjRTbv26B7vgxOB8q3jeSQ,147
|
|
177
|
+
eva/multimodal/models/modules/vision_language.py,sha256=fXNJASE7vszTEcGHeTJvNQYNsYSlsHX_3OLll7biApA,1929
|
|
178
|
+
eva/multimodal/models/networks/__init__.py,sha256=RjW6MZ4lCAAIbstTqIq_rkaZd-fm1_4XwLMetIry9gw,463
|
|
179
|
+
eva/multimodal/models/networks/alibaba.py,sha256=bSc9RuvZU_O8OsrfTCfKToNbLtHVG-aRYiTuHJHU90M,1273
|
|
180
|
+
eva/multimodal/models/networks/api/__init__.py,sha256=eE0nB7XjhuSH1itEyyMtJKxHwHg1IfsHU8S69AvfDo8,224
|
|
181
|
+
eva/multimodal/models/networks/api/anthropic.py,sha256=zlPiML2JL0q-l528x29dez-FofO5ktmOjPLFRh1PwTk,1198
|
|
182
|
+
eva/multimodal/models/networks/others.py,sha256=UvsxxN8d1uxvLcBG6469KifCxiyj_9_RTEG5gf3r2C8,1567
|
|
183
|
+
eva/multimodal/models/networks/registry.py,sha256=beZsRZUrKdUhMPq7UYFOEF7z50FgxGT1OCwE64xBf9A,108
|
|
184
|
+
eva/multimodal/models/typings.py,sha256=bwQbUFIsXhAxk7YTXqRdBYw0RqPA0a6RGNLEt4mBrxk,693
|
|
185
|
+
eva/multimodal/models/wrappers/__init__.py,sha256=RvLw74VGP3mh1CMYPj4Ij09TNkBml4ohvdirXeVBm3I,421
|
|
186
|
+
eva/multimodal/models/wrappers/base.py,sha256=d9OWWknXZmDOBOady1-Jp1L6x7DMg4heFmusA5ElNSU,1769
|
|
187
|
+
eva/multimodal/models/wrappers/from_registry.py,sha256=JBCck-ecIOC9_jSaEVMbU8R2MOgjHQRxzb0SzO4whIQ,1807
|
|
188
|
+
eva/multimodal/models/wrappers/huggingface.py,sha256=Etr2g32vDxHkihp30VKaHRwOmwoKGdqApSR6gtrGbUM,7159
|
|
189
|
+
eva/multimodal/models/wrappers/litellm.py,sha256=SWueKikIvpfZA3QJJP5xqdDH0BhSwG7FLkTzeX-VTVc,2166
|
|
190
|
+
eva/multimodal/utils/__init__.py,sha256=pRJUXvuJtcKOJc1yqKHdQv9dDAn8fOoP0d6Q_9cR7ek,32
|
|
191
|
+
eva/multimodal/utils/batch/__init__.py,sha256=kPXShXXImKsFv4PYKqZohSSexKBLX-uVy9rMTGjmP0M,126
|
|
192
|
+
eva/multimodal/utils/batch/unpack.py,sha256=F6C6OeMqJmA5XCFyVdjkZApwEi40uIVujTdusCrnIaw,447
|
|
193
|
+
eva/multimodal/utils/image/__init__.py,sha256=7DCx0FgFC0CwcR40872P6w1bQWgP8HXuwyy47ZQiv-Q,126
|
|
194
|
+
eva/multimodal/utils/image/encode.py,sha256=q_tq6MJtsy6yWu6Fei1j0mMmyKGBIf1CmvJcK4ev3eU,898
|
|
195
|
+
eva/multimodal/utils/text/__init__.py,sha256=Uk1vnstlU7hLa2Pn4cacVhdhQwe2vsBoPsB0_ZWjOdc,37
|
|
196
|
+
eva/multimodal/utils/text/messages.py,sha256=IIYKXE-6FwoKM3zNt3edKFqiJdEpNLnZXR4yhSZdjkM,2541
|
|
139
197
|
eva/vision/__init__.py,sha256=oUZXFYjwtkWzi8An0uS5Xc84pLKintlXe2iti8zW6BQ,480
|
|
140
198
|
eva/vision/callbacks/__init__.py,sha256=su1V73L0dDVYWSyvV_lnWbszDi2KikRraF7OsgeaKl4,139
|
|
141
199
|
eva/vision/callbacks/loggers/__init__.py,sha256=td1JRJbE08nsGIZdO64_yLC3FUuMDp0kma0HjpUdXT4,161
|
|
@@ -153,51 +211,55 @@ eva/vision/data/datasets/_validators.py,sha256=77WZj8ewsuxUjW5WegJ-7zDuR6WdF5Jba
|
|
|
153
211
|
eva/vision/data/datasets/classification/__init__.py,sha256=5fOGZxKGPeMCf3Jd9qAOYADPrkZnYg97_QE4DC79AMI,1074
|
|
154
212
|
eva/vision/data/datasets/classification/bach.py,sha256=Qzkb0aUNR8yMXwjDx8RmIfvPYVmlUW3dippMKrIVqzU,5410
|
|
155
213
|
eva/vision/data/datasets/classification/bracs.py,sha256=FYe33SmdlFOAl1Ef10uXN7Y8kvlbKuWBqIycFPHtMMU,3325
|
|
156
|
-
eva/vision/data/datasets/classification/breakhis.py,sha256=
|
|
214
|
+
eva/vision/data/datasets/classification/breakhis.py,sha256=fxVH6H7Emd_FGkU_8dBgMXDK_cqxmYsx7rqALUoowo8,6781
|
|
157
215
|
eva/vision/data/datasets/classification/camelyon16.py,sha256=7E0ju4cctUyprBK063TVXLBN4Fp6cKMICoquv3e5JhQ,8261
|
|
158
216
|
eva/vision/data/datasets/classification/crc.py,sha256=sv18Lw4iUqGkYXEQN-kyZV_Foc_X15praVR4nN_klkg,5648
|
|
159
217
|
eva/vision/data/datasets/classification/gleason_arvaniti.py,sha256=z1OQlxZYx-n3S2wcfu-GuchySRw0E70PURJDsvejFjE,5871
|
|
160
218
|
eva/vision/data/datasets/classification/mhist.py,sha256=I-guWIucQZBHdSx-TWP24NXHf9IA9lU4hyfPZbJop0g,3033
|
|
161
|
-
eva/vision/data/datasets/classification/panda.py,sha256=
|
|
162
|
-
eva/vision/data/datasets/classification/patch_camelyon.py,sha256=
|
|
219
|
+
eva/vision/data/datasets/classification/panda.py,sha256=gCYZNpriqIMJTnNovCqTLvP5mgADqXWTFToYVJh9dRg,7674
|
|
220
|
+
eva/vision/data/datasets/classification/patch_camelyon.py,sha256=mzgbVGQtaoer9yBXV8pXZx3DjbCy1w6aHNDJfC6CAOI,7187
|
|
163
221
|
eva/vision/data/datasets/classification/unitopatho.py,sha256=IO3msEsuOnmdcYZxF-eBpo0K97y54rWFmCb_KxuF4bk,5129
|
|
164
222
|
eva/vision/data/datasets/classification/wsi.py,sha256=YMGxU8ECjudizt_uXUevuPS8k66HxtEQ7M2IZJmL6kE,4079
|
|
165
223
|
eva/vision/data/datasets/segmentation/__init__.py,sha256=f0q9tzk4ahaZfrw_SgIE_puk_D7qmkSCKX1FP9aJITU,668
|
|
166
224
|
eva/vision/data/datasets/segmentation/_utils.py,sha256=aXUHrnbefP6-OgSvDQHqssFKhUwETul_8aosqYiOfm8,3065
|
|
167
225
|
eva/vision/data/datasets/segmentation/bcss.py,sha256=rqk6VqK0QCHLFnMnDuHd1JPJVK5_C6WnsmnNSKBw6Uo,8230
|
|
168
|
-
eva/vision/data/datasets/segmentation/btcv.py,sha256=
|
|
169
|
-
eva/vision/data/datasets/segmentation/consep.py,sha256=
|
|
226
|
+
eva/vision/data/datasets/segmentation/btcv.py,sha256=aV4jm2ZEGqm6E-hzZU8fbWaGgu2amRgKcmXk1dKVnlM,8396
|
|
227
|
+
eva/vision/data/datasets/segmentation/consep.py,sha256=6sSHn9hq898Z1IWMyiV-Ep4RPnAppYReO_H7vkfkxb8,6072
|
|
170
228
|
eva/vision/data/datasets/segmentation/embeddings.py,sha256=RsTuAwGEJPnWPY7q3pwcjmqtEj0wtRBNRBD4a0RcGtA,1218
|
|
171
|
-
eva/vision/data/datasets/segmentation/lits17.py,sha256=
|
|
229
|
+
eva/vision/data/datasets/segmentation/lits17.py,sha256=iPPt1bk2mTg0BKo4SWOsihMU63LWDUQEfhw40_vwGrU,7635
|
|
172
230
|
eva/vision/data/datasets/segmentation/metadata/__init__.py,sha256=o9Od0v6N9dNdf8hfefn2QaNNCD2sZMvc2K58zHA_Nrg,24
|
|
173
231
|
eva/vision/data/datasets/segmentation/metadata/_msd_task7_pancreas.py,sha256=O2-ye0A7wIjcI_D857uvpYw-jckTqfhBUrhinqSNWq0,2553
|
|
174
|
-
eva/vision/data/datasets/segmentation/monusac.py,sha256=
|
|
175
|
-
eva/vision/data/datasets/segmentation/msd_task7_pancreas.py,sha256=
|
|
232
|
+
eva/vision/data/datasets/segmentation/monusac.py,sha256=y3HpqWND3wDUXxTg2Gwn5ilvWERYOhFjPItzNLU2Djk,9006
|
|
233
|
+
eva/vision/data/datasets/segmentation/msd_task7_pancreas.py,sha256=3f7XtZ-RLbbZBNB2FTUpX-g4vOGZX9UwG6568rM58x4,8964
|
|
176
234
|
eva/vision/data/datasets/structs.py,sha256=RaTDW-B36PumcR5gymhCiX-r8GiKqIFcjqoEEjjFyUE,389
|
|
177
235
|
eva/vision/data/datasets/vision.py,sha256=-_WRiyICMgqABR6Ay_RKBMfsPGwgx9MQfCA7WChHo24,3219
|
|
178
236
|
eva/vision/data/datasets/wsi.py,sha256=dEAT_Si_Qb3qdSovUPeoiWeoPb7m-NGYqq44e3UXHk8,8384
|
|
179
|
-
eva/vision/data/transforms/__init__.py,sha256=
|
|
180
|
-
eva/vision/data/transforms/base/__init__.py,sha256=
|
|
181
|
-
eva/vision/data/transforms/base/monai.py,sha256=
|
|
237
|
+
eva/vision/data/transforms/__init__.py,sha256=7CpXeo-oSjft1VpzjK-dmozC0Ds-HeBzBU_KYLTnfIo,885
|
|
238
|
+
eva/vision/data/transforms/base/__init__.py,sha256=qH4URP8FGog17Kvb-aAmGglRmCZrKHDYaXvO9p7USHw,248
|
|
239
|
+
eva/vision/data/transforms/base/monai.py,sha256=zeP18Zit_5HCM_vShXu4bxKGgKMIlzZ2P_tDcCfoveQ,1132
|
|
240
|
+
eva/vision/data/transforms/base/torchvision.py,sha256=9i1VL6cqTUxQlMsbwCdXiZ3aHoYxTTlfNYLhJXoq1lM,1065
|
|
182
241
|
eva/vision/data/transforms/common/__init__.py,sha256=LWA5u0VsWzEEugdKpjpePr7fgV_XIGdASGwoaOU29Ac,211
|
|
183
242
|
eva/vision/data/transforms/common/resize_and_crop.py,sha256=GI1HTkbJ9qg4p8c6vk_XkXO0Qi6mBeUeiZIA0jVtmAw,1360
|
|
184
|
-
eva/vision/data/transforms/common/squeeze.py,sha256=
|
|
243
|
+
eva/vision/data/transforms/common/squeeze.py,sha256=F1M5zbS7hUqQBppx_NYKYk4QTmI1kiHNZMA_q-RMurE,800
|
|
185
244
|
eva/vision/data/transforms/croppad/__init__.py,sha256=sa-M4JMdZGB39JqWOLAJvoun4YK3N4hBFuM--DZ8SnE,606
|
|
186
|
-
eva/vision/data/transforms/croppad/crop_foreground.py,sha256=
|
|
187
|
-
eva/vision/data/transforms/croppad/rand_crop_by_label_classes.py,sha256=
|
|
188
|
-
eva/vision/data/transforms/croppad/rand_crop_by_pos_neg_label.py,sha256=
|
|
189
|
-
eva/vision/data/transforms/croppad/rand_spatial_crop.py,sha256=
|
|
190
|
-
eva/vision/data/transforms/croppad/spatial_pad.py,sha256=
|
|
245
|
+
eva/vision/data/transforms/croppad/crop_foreground.py,sha256=jt9zYhwA4pyqOk_ib9MIFjAbNK2oNO1J5Sm8jiET35Q,4896
|
|
246
|
+
eva/vision/data/transforms/croppad/rand_crop_by_label_classes.py,sha256=j5AuN5MN_E8LNpWITaZFbUJ5R0DwoV1hjYmHxJkO6OI,2597
|
|
247
|
+
eva/vision/data/transforms/croppad/rand_crop_by_pos_neg_label.py,sha256=BEcIUKlH4axgA7xEYmtkNtlH106AZmIXiAT8gaJbBtI,5680
|
|
248
|
+
eva/vision/data/transforms/croppad/rand_spatial_crop.py,sha256=zESzeQrhbE-UtoNEp__2OwtcOYXKOSHVAPiIAQ5pJAY,3800
|
|
249
|
+
eva/vision/data/transforms/croppad/spatial_pad.py,sha256=8IC8NkN8iVi9-f2w-my2LhrWD2dXNR6VlKSjDre78y4,2874
|
|
191
250
|
eva/vision/data/transforms/intensity/__init__.py,sha256=mNp6pi0pnHcA24kQuiGHzMb4XLRaR0Lgi-Vb7Nl-Aoo,408
|
|
192
|
-
eva/vision/data/transforms/intensity/rand_scale_intensity.py,sha256=
|
|
193
|
-
eva/vision/data/transforms/intensity/rand_shift_intensity.py,sha256=
|
|
194
|
-
eva/vision/data/transforms/intensity/scale_intensity_ranged.py,sha256=
|
|
195
|
-
eva/vision/data/transforms/spatial/__init__.py,sha256=
|
|
196
|
-
eva/vision/data/transforms/spatial/flip.py,sha256=
|
|
197
|
-
eva/vision/data/transforms/spatial/
|
|
198
|
-
eva/vision/data/transforms/spatial/
|
|
251
|
+
eva/vision/data/transforms/intensity/rand_scale_intensity.py,sha256=L7zZLlh0NhIAEA7cr25Q0m8NlfaDsqPCRR6qYgLzP5s,2181
|
|
252
|
+
eva/vision/data/transforms/intensity/rand_shift_intensity.py,sha256=p9m6-r5TLiVvmpEqGStltbfoshwaKKK1tUfIieHqMuw,2114
|
|
253
|
+
eva/vision/data/transforms/intensity/scale_intensity_ranged.py,sha256=A4MWnWSbJsL2KfyhiHFxXylTF78J-kON-Kqx-IgtGZ4,1891
|
|
254
|
+
eva/vision/data/transforms/spatial/__init__.py,sha256=S2JwmBm98oPWLN497aYM-h1kyPU15Yfg9xPVTvzq6lg,355
|
|
255
|
+
eva/vision/data/transforms/spatial/flip.py,sha256=HpqS3DTuh_ajwZ3C_37r51Guthc2DqTaJnrWOsbzgTQ,2584
|
|
256
|
+
eva/vision/data/transforms/spatial/functional/__init__.py,sha256=OzJ_Hv3CJAvvTQsk6mo_IQS0MqPW2WQ6fwtWE3UQ_Xk,166
|
|
257
|
+
eva/vision/data/transforms/spatial/functional/resize.py,sha256=NBswLluIRs1cJP-dx5Kd3Z01gF57NjPXbtPGKNa0td0,949
|
|
258
|
+
eva/vision/data/transforms/spatial/resize.py,sha256=uG7nV2QjUK1jR5UljQoMmgfGzSWcucGwl-9VzU-Cm0g,2361
|
|
259
|
+
eva/vision/data/transforms/spatial/rotate.py,sha256=Xkl8MFM6OhxdMTxunkkYy8noy6TXkm4v0qdjGEHECh8,1824
|
|
260
|
+
eva/vision/data/transforms/spatial/spacing.py,sha256=n02frUSNfBZP74OMJJKaWh5-WfMOvW0ccE_QlLawJ2E,2727
|
|
199
261
|
eva/vision/data/transforms/utility/__init__.py,sha256=TjncS2aOgRJwjjRuIvmr4eRz2nKVg6b76tThp4UlzII,163
|
|
200
|
-
eva/vision/data/transforms/utility/ensure_channel_first.py,sha256=
|
|
262
|
+
eva/vision/data/transforms/utility/ensure_channel_first.py,sha256=VD3p6nGvA6fgv93YZVFpIS8AfSybKSykurtdd73Bb0c,1962
|
|
201
263
|
eva/vision/data/tv_tensors/__init__.py,sha256=qla_QYWN52vP0IlTmHlTZF4kLh9xj-Zy-WxQgXakYyk,125
|
|
202
264
|
eva/vision/data/tv_tensors/volume.py,sha256=VlWTIbswNv-aUqEWd1EJgoqEH60d-gNALPG815TD_W8,2381
|
|
203
265
|
eva/vision/data/wsi/__init__.py,sha256=vfSfyogsj4OS1sGKfsYWyj2O5ZMT9iqkc1lvcuZJVGI,422
|
|
@@ -253,7 +315,7 @@ eva/vision/models/networks/backbones/registry.py,sha256=ubLPktCXZu_CLTfPk3sO-JzO
|
|
|
253
315
|
eva/vision/models/networks/backbones/timm/__init__.py,sha256=cZH3av9gIZcvEVD0rwKsI-MEq7zPqaW4dQ0E05CksvQ,128
|
|
254
316
|
eva/vision/models/networks/backbones/timm/backbones.py,sha256=ZbF9MMiL4Ylyy79XLew61QxmnH9MPXUHPounzzqOKVc,1638
|
|
255
317
|
eva/vision/models/networks/backbones/universal/__init__.py,sha256=xgn3crSqlmUPYz-t2CR1zDKxhlyAEeApA-a6Y_eWQvc,417
|
|
256
|
-
eva/vision/models/networks/backbones/universal/vit.py,sha256
|
|
318
|
+
eva/vision/models/networks/backbones/universal/vit.py,sha256=-z-k1Q30olx3CFdDn77Jg1pkB6Vmgbw1qmIc2jAbNLo,4508
|
|
257
319
|
eva/vision/models/networks/decoders/__init__.py,sha256=RXFWmoYw2i6E9VOUCJmU8c72icHannVuo-cUKy6fnLM,200
|
|
258
320
|
eva/vision/models/networks/decoders/segmentation/__init__.py,sha256=yVrRo2OisNRAlxDjWJGwipKA9HGeqRXd1ZL88eltoy4,726
|
|
259
321
|
eva/vision/models/networks/decoders/segmentation/base.py,sha256=b2TIJKiJR9vejVRpNyedMJLPTrpHhAEXvco8atb9TPU,411
|
|
@@ -265,8 +327,8 @@ eva/vision/models/networks/decoders/segmentation/semantic/swin_unetr.py,sha256=e
|
|
|
265
327
|
eva/vision/models/networks/decoders/segmentation/semantic/with_image.py,sha256=I5PyGKKo8DcXYcw4xlCFzuavRJNRrzGT-szpDidMPXI,3516
|
|
266
328
|
eva/vision/models/networks/decoders/segmentation/typings.py,sha256=rY4CXp0MNF16SHnx9TgGjXI_r8bVGSqAWdR835hXndg,537
|
|
267
329
|
eva/vision/models/wrappers/__init__.py,sha256=ogmr-eeVuGaOCcsuxSp6PGyauP2QqWTb8dGTtbC7lRU,210
|
|
268
|
-
eva/vision/models/wrappers/from_registry.py,sha256=
|
|
269
|
-
eva/vision/models/wrappers/from_timm.py,sha256=
|
|
330
|
+
eva/vision/models/wrappers/from_registry.py,sha256=aZTbPqlfbxvx5vmh2aUym9njTlEaFwmTL5fU2zPW0To,1761
|
|
331
|
+
eva/vision/models/wrappers/from_timm.py,sha256=vf5ZoEdh-QJW-wGD6PgpqkkgQzXgQ4lT1YIaI_kwnfU,2367
|
|
270
332
|
eva/vision/utils/__init__.py,sha256=vaUovprE743SmyFH8l6uk4pYSWpI4zxn7lN0EwePTJI,96
|
|
271
333
|
eva/vision/utils/colormap.py,sha256=sP1F0JCX3abZfFgdxEjLJO-LhNYKjXZvXxs03ZgrEvI,2876
|
|
272
334
|
eva/vision/utils/convert.py,sha256=fqGmKrg5-JJLrTkTXB4YDcWTudXPrO1gGjsckVRUesU,1881
|
|
@@ -276,8 +338,8 @@ eva/vision/utils/io/image.py,sha256=IdOkr5MYqhYHz8U9drZ7wULTM3YHwCWSjZlu_Qdl4GQ,
|
|
|
276
338
|
eva/vision/utils/io/mat.py,sha256=qpGifyjmpE0Xhv567Si7-zxKrgkgE0sywP70cHiLFGU,808
|
|
277
339
|
eva/vision/utils/io/nifti.py,sha256=TFMgNhLqIK3sl3RjIRXEABM7FmSQjqVOwk1vXkuvX2w,4983
|
|
278
340
|
eva/vision/utils/io/text.py,sha256=qYgfo_ZaDZWfG02NkVVYzo5QFySqdCCz5uLA9d-zXtI,701
|
|
279
|
-
kaiko_eva-0.
|
|
280
|
-
kaiko_eva-0.
|
|
281
|
-
kaiko_eva-0.
|
|
282
|
-
kaiko_eva-0.
|
|
283
|
-
kaiko_eva-0.
|
|
341
|
+
kaiko_eva-0.4.1.dist-info/METADATA,sha256=vPvZCCuuiafyMbByxXGfMaQ_SeY0mWrnOc6Mw7iuiDA,26166
|
|
342
|
+
kaiko_eva-0.4.1.dist-info/WHEEL,sha256=9P2ygRxDrTJz3gsagc0Z96ukrxjr-LFBGOgv3AuKlCA,90
|
|
343
|
+
kaiko_eva-0.4.1.dist-info/entry_points.txt,sha256=6CSLu9bmQYJSXEg8gbOzRhxH0AGs75BB-vPm3VvfcNE,88
|
|
344
|
+
kaiko_eva-0.4.1.dist-info/licenses/LICENSE,sha256=e6AEzr7j_R-PYr2qLO-JwLn8y70jbVD3U2mxbRmwcI4,11338
|
|
345
|
+
kaiko_eva-0.4.1.dist-info/RECORD,,
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"""Collate functions for text data."""
|
|
2
|
-
|
|
3
|
-
from typing import Dict, List, Tuple
|
|
4
|
-
|
|
5
|
-
import torch
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
def text_collate_fn(
|
|
9
|
-
batch: List[Tuple[str, torch.Tensor, Dict]],
|
|
10
|
-
) -> Tuple[List[str], torch.Tensor, List[Dict]]:
|
|
11
|
-
"""Collate function for text data that keeps texts as separate strings.
|
|
12
|
-
|
|
13
|
-
Args:
|
|
14
|
-
batch: List of tuples containing (text, target, metadata) from the dataset
|
|
15
|
-
|
|
16
|
-
Returns:
|
|
17
|
-
Tuple containing:
|
|
18
|
-
- List of text strings
|
|
19
|
-
- Batched tensor of targets
|
|
20
|
-
- List of metadata dictionaries
|
|
21
|
-
"""
|
|
22
|
-
texts, targets, metadata = zip(*batch, strict=False)
|
|
23
|
-
targets = torch.stack(targets)
|
|
24
|
-
return list(texts), targets, list(metadata)
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
"""LLM Text Module for Inference."""
|
|
2
|
-
|
|
3
|
-
from typing import Any, List
|
|
4
|
-
|
|
5
|
-
from lightning.pytorch.utilities.types import STEP_OUTPUT
|
|
6
|
-
from loguru import logger
|
|
7
|
-
from torch import nn
|
|
8
|
-
from typing_extensions import override
|
|
9
|
-
|
|
10
|
-
from eva.core.metrics import structs as metrics_lib
|
|
11
|
-
from eva.core.models.modules import module
|
|
12
|
-
from eva.core.models.modules.utils import batch_postprocess
|
|
13
|
-
from eva.language.models.modules.typings import TEXT_BATCH
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
class TextModule(module.ModelModule):
|
|
17
|
-
"""Text-based LLM module for inference.
|
|
18
|
-
|
|
19
|
-
Uses LLM wrappers for text generation and supports evaluation using
|
|
20
|
-
configurable metrics and post-processing transforms.
|
|
21
|
-
"""
|
|
22
|
-
|
|
23
|
-
def __init__(
|
|
24
|
-
self,
|
|
25
|
-
model: nn.Module,
|
|
26
|
-
prompt: str,
|
|
27
|
-
metrics: metrics_lib.MetricsSchema | None = None,
|
|
28
|
-
postprocess: batch_postprocess.BatchPostProcess | None = None,
|
|
29
|
-
) -> None:
|
|
30
|
-
"""Initializes the text inference module.
|
|
31
|
-
|
|
32
|
-
Args:
|
|
33
|
-
model: An LLM wrapper (PyTorch-compatible) for text generation.
|
|
34
|
-
prompt: The prompt to use for generating text.
|
|
35
|
-
metrics: Metrics schema for evaluation.
|
|
36
|
-
postprocess: A helper function to post-process model outputs before evaluation.
|
|
37
|
-
"""
|
|
38
|
-
super().__init__(metrics=metrics, postprocess=postprocess)
|
|
39
|
-
|
|
40
|
-
self.model = model
|
|
41
|
-
self.prompt = prompt
|
|
42
|
-
|
|
43
|
-
@override
|
|
44
|
-
def forward(self, prompts: List[str], *args: Any, **kwargs: Any) -> List[str]:
|
|
45
|
-
"""Generates text responses for a batch of prompts.
|
|
46
|
-
|
|
47
|
-
Args:
|
|
48
|
-
prompts: List of input texts to generate responses.
|
|
49
|
-
args: Additional arguments.
|
|
50
|
-
kwargs: Additional keyword arguments.
|
|
51
|
-
|
|
52
|
-
Returns:
|
|
53
|
-
List of generated responses.
|
|
54
|
-
"""
|
|
55
|
-
return self.model(prompts)
|
|
56
|
-
|
|
57
|
-
@override
|
|
58
|
-
def validation_step(self, batch: TEXT_BATCH, *args: Any, **kwargs: Any) -> STEP_OUTPUT:
|
|
59
|
-
"""Validation step that runs batch inference and evaluates metrics.
|
|
60
|
-
|
|
61
|
-
Args:
|
|
62
|
-
batch: An input batch.
|
|
63
|
-
args: Additional arguments.
|
|
64
|
-
kwargs: Additional keyword arguments.
|
|
65
|
-
|
|
66
|
-
Returns:
|
|
67
|
-
Dictionary with predictions, ground truth, and evaluation metrics.
|
|
68
|
-
"""
|
|
69
|
-
return self._batch_step(batch)
|
|
70
|
-
|
|
71
|
-
def _batch_step(self, batch: TEXT_BATCH) -> STEP_OUTPUT:
|
|
72
|
-
"""Runs inference on a batch and evaluates model predictions.
|
|
73
|
-
|
|
74
|
-
Args:
|
|
75
|
-
batch: Input batch containing data, targets, and metadata.
|
|
76
|
-
|
|
77
|
-
Returns:
|
|
78
|
-
Dictionary with predictions, ground truth, and evaluation metrics.
|
|
79
|
-
"""
|
|
80
|
-
data, targets, metadata = batch
|
|
81
|
-
messages = [str(d) + "\n" + self.prompt for d in data]
|
|
82
|
-
predictions = self(messages)
|
|
83
|
-
logger.debug(f"Predictions: {predictions}")
|
|
84
|
-
logger.debug(f"Targets: {targets}")
|
|
85
|
-
return {"predictions": predictions, "targets": targets, "metadata": metadata}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|