code-loader 1.0.112.dev0__tar.gz → 1.0.157.dev13__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 code-loader might be problematic. Click here for more details.
- {code_loader-1.0.112.dev0 → code_loader-1.0.157.dev13}/PKG-INFO +4 -2
- {code_loader-1.0.112.dev0 → code_loader-1.0.157.dev13}/code_loader/__init__.py +6 -0
- {code_loader-1.0.112.dev0 → code_loader-1.0.157.dev13}/code_loader/contract/datasetclasses.py +26 -6
- {code_loader-1.0.112.dev0 → code_loader-1.0.157.dev13}/code_loader/contract/enums.py +3 -1
- {code_loader-1.0.112.dev0 → code_loader-1.0.157.dev13}/code_loader/contract/mapping.py +11 -0
- {code_loader-1.0.112.dev0 → code_loader-1.0.157.dev13}/code_loader/contract/responsedataclasses.py +1 -0
- {code_loader-1.0.112.dev0 → code_loader-1.0.157.dev13}/code_loader/inner_leap_binder/leapbinder.py +14 -1
- code_loader-1.0.157.dev13/code_loader/inner_leap_binder/leapbinder_decorators.py +1805 -0
- {code_loader-1.0.112.dev0 → code_loader-1.0.157.dev13}/code_loader/leaploader.py +55 -27
- {code_loader-1.0.112.dev0 → code_loader-1.0.157.dev13}/code_loader/leaploaderbase.py +30 -5
- code_loader-1.0.157.dev13/code_loader/mixpanel_tracker.py +230 -0
- {code_loader-1.0.112.dev0 → code_loader-1.0.157.dev13}/code_loader/plot_functions/plot_functions.py +1 -2
- {code_loader-1.0.112.dev0 → code_loader-1.0.157.dev13}/code_loader/utils.py +19 -1
- {code_loader-1.0.112.dev0 → code_loader-1.0.157.dev13}/pyproject.toml +7 -3
- code_loader-1.0.112.dev0/code_loader/inner_leap_binder/leapbinder_decorators.py +0 -915
- {code_loader-1.0.112.dev0 → code_loader-1.0.157.dev13}/LICENSE +0 -0
- {code_loader-1.0.112.dev0 → code_loader-1.0.157.dev13}/README.md +0 -0
- {code_loader-1.0.112.dev0 → code_loader-1.0.157.dev13}/code_loader/contract/__init__.py +0 -0
- {code_loader-1.0.112.dev0 → code_loader-1.0.157.dev13}/code_loader/contract/exceptions.py +0 -0
- {code_loader-1.0.112.dev0 → code_loader-1.0.157.dev13}/code_loader/contract/visualizer_classes.py +0 -0
- {code_loader-1.0.112.dev0 → code_loader-1.0.157.dev13}/code_loader/default_losses.py +0 -0
- {code_loader-1.0.112.dev0 → code_loader-1.0.157.dev13}/code_loader/default_metrics.py +0 -0
- {code_loader-1.0.112.dev0 → code_loader-1.0.157.dev13}/code_loader/experiment_api/__init__.py +0 -0
- {code_loader-1.0.112.dev0 → code_loader-1.0.157.dev13}/code_loader/experiment_api/api.py +0 -0
- {code_loader-1.0.112.dev0 → code_loader-1.0.157.dev13}/code_loader/experiment_api/cli_config_utils.py +0 -0
- {code_loader-1.0.112.dev0 → code_loader-1.0.157.dev13}/code_loader/experiment_api/client.py +0 -0
- {code_loader-1.0.112.dev0 → code_loader-1.0.157.dev13}/code_loader/experiment_api/epoch.py +0 -0
- {code_loader-1.0.112.dev0 → code_loader-1.0.157.dev13}/code_loader/experiment_api/experiment.py +0 -0
- {code_loader-1.0.112.dev0 → code_loader-1.0.157.dev13}/code_loader/experiment_api/experiment_context.py +0 -0
- {code_loader-1.0.112.dev0 → code_loader-1.0.157.dev13}/code_loader/experiment_api/types.py +0 -0
- {code_loader-1.0.112.dev0 → code_loader-1.0.157.dev13}/code_loader/experiment_api/utils.py +0 -0
- {code_loader-1.0.112.dev0 → code_loader-1.0.157.dev13}/code_loader/experiment_api/workingspace_config_utils.py +0 -0
- {code_loader-1.0.112.dev0 → code_loader-1.0.157.dev13}/code_loader/inner_leap_binder/__init__.py +0 -0
- {code_loader-1.0.112.dev0 → code_loader-1.0.157.dev13}/code_loader/plot_functions/__init__.py +0 -0
- {code_loader-1.0.112.dev0 → code_loader-1.0.157.dev13}/code_loader/plot_functions/visualize.py +0 -0
- {code_loader-1.0.112.dev0 → code_loader-1.0.157.dev13}/code_loader/visualizers/__init__.py +0 -0
- {code_loader-1.0.112.dev0 → code_loader-1.0.157.dev13}/code_loader/visualizers/default_visualizers.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: code-loader
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.157.dev13
|
|
4
4
|
Summary:
|
|
5
5
|
Home-page: https://github.com/tensorleap/code-loader
|
|
6
6
|
License: MIT
|
|
@@ -14,7 +14,9 @@ Classifier: Programming Language :: Python :: 3.9
|
|
|
14
14
|
Classifier: Programming Language :: Python :: 3.10
|
|
15
15
|
Classifier: Programming Language :: Python :: 3.11
|
|
16
16
|
Classifier: Programming Language :: Python :: 3.12
|
|
17
|
-
Requires-Dist:
|
|
17
|
+
Requires-Dist: mixpanel (>=4.10.0,<5.0.0)
|
|
18
|
+
Requires-Dist: numpy (>=1.22.3,<2.0.0) ; python_version >= "3.8" and python_version < "3.11"
|
|
19
|
+
Requires-Dist: numpy (>=2.3.2,<3.0.0) ; python_version >= "3.11" and python_version < "3.13"
|
|
18
20
|
Requires-Dist: psutil (>=5.9.5,<6.0.0)
|
|
19
21
|
Requires-Dist: pyyaml (>=6.0.2,<7.0.0)
|
|
20
22
|
Requires-Dist: requests (>=2.32.3,<3.0.0)
|
|
@@ -2,3 +2,9 @@ from code_loader.leaploader import LeapLoader
|
|
|
2
2
|
from code_loader.inner_leap_binder import global_leap_binder as leap_binder
|
|
3
3
|
from code_loader.experiment_api.experiment import init_experiment
|
|
4
4
|
from code_loader.experiment_api.client import Client
|
|
5
|
+
|
|
6
|
+
try:
|
|
7
|
+
from code_loader.mixpanel_tracker import track_code_loader_loaded
|
|
8
|
+
track_code_loader_loaded({'event_type': 'module_import'})
|
|
9
|
+
except Exception:
|
|
10
|
+
pass
|
{code_loader-1.0.112.dev0 → code_loader-1.0.157.dev13}/code_loader/contract/datasetclasses.py
RENAMED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import warnings
|
|
1
2
|
from dataclasses import dataclass, field
|
|
2
|
-
from typing import Any, Callable, List, Optional, Dict, Union, Type
|
|
3
|
+
from typing import Any, Callable, List, Optional, Dict, Union, Type, Literal
|
|
3
4
|
import re
|
|
4
5
|
import numpy as np
|
|
5
6
|
import numpy.typing as npt
|
|
@@ -56,7 +57,19 @@ class PreprocessResponse:
|
|
|
56
57
|
for sample_id in self.sample_ids:
|
|
57
58
|
assert isinstance(sample_id, str), f"Sample id should be of type str. Got: {type(sample_id)}"
|
|
58
59
|
else:
|
|
59
|
-
raise Exception("length is deprecated.")
|
|
60
|
+
raise Exception("length is deprecated, please use sample_ids instead.")
|
|
61
|
+
|
|
62
|
+
if self.state is None:
|
|
63
|
+
from code_loader.inner_leap_binder.leapbinder_decorators import store_warning_by_param
|
|
64
|
+
store_warning_by_param(
|
|
65
|
+
param_name="PreprocessResponse.state",
|
|
66
|
+
user_func_name="tensorleap_preprocess",
|
|
67
|
+
default_value=str("specific order"),
|
|
68
|
+
link_to_docs="https://docs.tensorleap.ai/tensorleap-integration/writing-integration-code/preprocess-function",
|
|
69
|
+
)
|
|
70
|
+
|
|
71
|
+
else:
|
|
72
|
+
assert isinstance(self.state, DataStateType), f"PreprocessResponse.state must be of type {DataStateType.__name__} but got {type(self.state)}"
|
|
60
73
|
|
|
61
74
|
def __hash__(self) -> int:
|
|
62
75
|
return id(self)
|
|
@@ -69,12 +82,12 @@ class PreprocessResponse:
|
|
|
69
82
|
class ElementInstance:
|
|
70
83
|
name: str
|
|
71
84
|
mask: npt.NDArray[np.float32]
|
|
85
|
+
instance_metadata: Dict[str, Union[Optional[str], int, bool, Optional[float]]]
|
|
72
86
|
|
|
73
87
|
SectionCallableInterface = Callable[[Union[int, str], PreprocessResponse], npt.NDArray[np.float32]]
|
|
74
|
-
InstanceCallableInterface = Callable[[Union[int, str], PreprocessResponse,
|
|
88
|
+
InstanceCallableInterface = Callable[[Union[int, str], PreprocessResponse, int], Optional[ElementInstance]]
|
|
75
89
|
InstanceLengthCallableInterface = Callable[[Union[int, str], PreprocessResponse], int]
|
|
76
90
|
|
|
77
|
-
|
|
78
91
|
MetadataSectionCallableInterface = Union[
|
|
79
92
|
Callable[[Union[int, str], PreprocessResponse], int],
|
|
80
93
|
Callable[[Union[int, str], PreprocessResponse], Dict[str, int]],
|
|
@@ -86,7 +99,6 @@ MetadataSectionCallableInterface = Union[
|
|
|
86
99
|
Callable[[Union[int, str], PreprocessResponse], Dict[str, float]]
|
|
87
100
|
]
|
|
88
101
|
|
|
89
|
-
|
|
90
102
|
@dataclass
|
|
91
103
|
class PreprocessHandler:
|
|
92
104
|
function: Callable[[], List[PreprocessResponse]]
|
|
@@ -212,11 +224,17 @@ class MetadataHandler:
|
|
|
212
224
|
metadata_type: Optional[Union[DatasetMetadataType, Dict[str, DatasetMetadataType]]] = None
|
|
213
225
|
|
|
214
226
|
|
|
227
|
+
@dataclass
|
|
228
|
+
class CustomLatentSpaceHandler:
|
|
229
|
+
function: SectionCallableInterface
|
|
230
|
+
name: str = 'custom_latent_space'
|
|
231
|
+
|
|
215
232
|
@dataclass
|
|
216
233
|
class PredictionTypeHandler:
|
|
217
234
|
name: str
|
|
218
235
|
labels: List[str]
|
|
219
|
-
channel_dim: int =
|
|
236
|
+
channel_dim: Union[int, Literal["tl_default_value"]]= "tl_default_value"
|
|
237
|
+
|
|
220
238
|
|
|
221
239
|
|
|
222
240
|
@dataclass
|
|
@@ -241,6 +259,7 @@ class DatasetIntegrationSetup:
|
|
|
241
259
|
custom_loss_handlers: List[CustomLossHandler] = field(default_factory=list)
|
|
242
260
|
metrics: List[MetricHandler] = field(default_factory=list)
|
|
243
261
|
custom_layers: Dict[str, CustomLayerHandler] = field(default_factory=dict)
|
|
262
|
+
custom_latent_space: Optional[CustomLatentSpaceHandler] = None
|
|
244
263
|
|
|
245
264
|
|
|
246
265
|
@dataclass
|
|
@@ -251,5 +270,6 @@ class DatasetSample:
|
|
|
251
270
|
metadata_is_none: Dict[str, bool]
|
|
252
271
|
index: Union[int, str]
|
|
253
272
|
state: DataStateEnum
|
|
273
|
+
custom_latent_space: Optional[npt.NDArray[np.float32]] = None
|
|
254
274
|
instance_masks: Optional[Dict[str, ElementInstance]] = None
|
|
255
275
|
|
|
@@ -46,7 +46,8 @@ class DataStateType(Enum):
|
|
|
46
46
|
training = "training"
|
|
47
47
|
validation = "validation"
|
|
48
48
|
test = "test"
|
|
49
|
-
unlabeled = "unlabeled"
|
|
49
|
+
unlabeled = "unlabeled",
|
|
50
|
+
additional = "additional"
|
|
50
51
|
|
|
51
52
|
|
|
52
53
|
class DataStateEnum(IntEnum):
|
|
@@ -54,6 +55,7 @@ class DataStateEnum(IntEnum):
|
|
|
54
55
|
validation = 1
|
|
55
56
|
test = 2
|
|
56
57
|
unlabeled = 3
|
|
58
|
+
additional = 4
|
|
57
59
|
|
|
58
60
|
|
|
59
61
|
class ConfusionMatrixValue(Enum):
|
|
@@ -21,12 +21,22 @@ class NodeMappingType(Enum):
|
|
|
21
21
|
Prediction1 = 'Prediction1'
|
|
22
22
|
Prediction2 = 'Prediction2'
|
|
23
23
|
Prediction3 = 'Prediction3'
|
|
24
|
+
Prediction4 = 'Prediction4'
|
|
25
|
+
Prediction5 = 'Prediction5'
|
|
26
|
+
Prediction6 = 'Prediction6'
|
|
27
|
+
Prediction7 = 'Prediction7'
|
|
28
|
+
Prediction8 = 'Prediction8'
|
|
29
|
+
Prediction9 = 'Prediction9'
|
|
24
30
|
Input0 = 'Input0'
|
|
25
31
|
Input1 = 'Input1'
|
|
26
32
|
Input2 = 'Input2'
|
|
27
33
|
Input3 = 'Input3'
|
|
28
34
|
Input4 = 'Input4'
|
|
29
35
|
Input5 = 'Input5'
|
|
36
|
+
Input6 = 'Input6'
|
|
37
|
+
Input7 = 'Input7'
|
|
38
|
+
Input8 = 'Input8'
|
|
39
|
+
Input9 = 'Input9'
|
|
30
40
|
PredictionLabels = 'PredictionLabels'
|
|
31
41
|
|
|
32
42
|
|
|
@@ -39,6 +49,7 @@ class NodeMapping:
|
|
|
39
49
|
arg_names: Optional[List[str]] = None
|
|
40
50
|
|
|
41
51
|
|
|
52
|
+
|
|
42
53
|
@dataclass
|
|
43
54
|
class NodeConnection:
|
|
44
55
|
node: NodeMapping
|
{code_loader-1.0.112.dev0 → code_loader-1.0.157.dev13}/code_loader/inner_leap_binder/leapbinder.py
RENAMED
|
@@ -11,7 +11,7 @@ from code_loader.contract.datasetclasses import SectionCallableInterface, InputH
|
|
|
11
11
|
CustomCallableInterfaceMultiArgs, ConfusionMatrixCallableInterfaceMultiArgs, LeapData, \
|
|
12
12
|
CustomMultipleReturnCallableInterfaceMultiArgs, DatasetBaseHandler, custom_latent_space_attribute, \
|
|
13
13
|
RawInputsForHeatmap, VisualizerHandlerData, MetricHandlerData, CustomLossHandlerData, SamplePreprocessResponse, \
|
|
14
|
-
ElementInstanceMasksHandler, InstanceCallableInterface
|
|
14
|
+
ElementInstanceMasksHandler, InstanceCallableInterface, CustomLatentSpaceHandler
|
|
15
15
|
from code_loader.contract.enums import LeapDataType, DataStateEnum, DataStateType, MetricDirection, DatasetMetadataType
|
|
16
16
|
from code_loader.contract.mapping import NodeConnection, NodeMapping, NodeMappingType
|
|
17
17
|
from code_loader.contract.responsedataclasses import DatasetTestResultPayload
|
|
@@ -421,6 +421,19 @@ class LeapBinder:
|
|
|
421
421
|
"""
|
|
422
422
|
self.setup_container.metadata.append(MetadataHandler(name, function, metadata_type))
|
|
423
423
|
|
|
424
|
+
def set_custom_latent_space(self, function: SectionCallableInterface) -> None:
|
|
425
|
+
"""
|
|
426
|
+
Set a custom latent space function.
|
|
427
|
+
|
|
428
|
+
Args:
|
|
429
|
+
function (SectionCallableInterface): The metadata handler function.
|
|
430
|
+
This function receives:
|
|
431
|
+
subset (PreprocessResponse): The subset of the data.
|
|
432
|
+
index (int): The index of the sample within the subset.
|
|
433
|
+
This function should numpy float32 array contains the latent space vec of the sample.
|
|
434
|
+
"""
|
|
435
|
+
self.setup_container.custom_latent_space = CustomLatentSpaceHandler(function)
|
|
436
|
+
|
|
424
437
|
def set_custom_layer(self, custom_layer: Type[Any], name: str, inspect_layer: bool = False,
|
|
425
438
|
kernel_index: Optional[int] = None, use_custom_latent_space: bool = False) -> None:
|
|
426
439
|
"""
|