code-loader 1.0.132__py3-none-any.whl → 1.0.132.dev1__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 code-loader might be problematic. Click here for more details.
- code_loader/contract/mapping.py +11 -0
- code_loader/inner_leap_binder/leapbinder_decorators.py +14 -4
- code_loader/mixpanel_tracker.py +5 -1
- {code_loader-1.0.132.dist-info → code_loader-1.0.132.dev1.dist-info}/METADATA +1 -1
- {code_loader-1.0.132.dist-info → code_loader-1.0.132.dev1.dist-info}/RECORD +7 -7
- {code_loader-1.0.132.dist-info → code_loader-1.0.132.dev1.dist-info}/LICENSE +0 -0
- {code_loader-1.0.132.dist-info → code_loader-1.0.132.dev1.dist-info}/WHEEL +0 -0
code_loader/contract/mapping.py
CHANGED
|
@@ -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
|
|
@@ -69,6 +69,11 @@ def integration_test():
|
|
|
69
69
|
|
|
70
70
|
return decorating_function
|
|
71
71
|
|
|
72
|
+
def _safe_get_item(key):
|
|
73
|
+
try:
|
|
74
|
+
return NodeMappingType[f'Input{str(key)}']
|
|
75
|
+
except ValueError:
|
|
76
|
+
raise Exception(f'Tensorleap currently supports models with no more then 10 inputs')
|
|
72
77
|
|
|
73
78
|
def tensorleap_load_model(prediction_types: Optional[List[PredictionTypeHandler]] = None):
|
|
74
79
|
for i, prediction_type in enumerate(prediction_types):
|
|
@@ -159,15 +164,20 @@ def tensorleap_load_model(prediction_types: Optional[List[PredictionTypeHandler]
|
|
|
159
164
|
f'Expected key to be an int, got {type(key)} instead.'
|
|
160
165
|
|
|
161
166
|
ret = TempMapping()
|
|
162
|
-
|
|
167
|
+
try:
|
|
168
|
+
ret.node_mapping = NodeMapping('', NodeMappingType(f'Prediction{str(key)}'))
|
|
169
|
+
except ValueError as e:
|
|
170
|
+
raise Exception(f'Tensorleap currently supports models with no more then 10 active predictions,'
|
|
171
|
+
f' {key} not supported.')
|
|
163
172
|
return ret
|
|
164
173
|
|
|
165
174
|
class ModelPlaceholder:
|
|
175
|
+
|
|
166
176
|
# keras interface
|
|
167
177
|
def __call__(self, arg):
|
|
168
178
|
if isinstance(arg, list):
|
|
169
179
|
for i, elem in enumerate(arg):
|
|
170
|
-
elem.node_mapping.type =
|
|
180
|
+
elem.node_mapping.type = _safe_get_item(i)
|
|
171
181
|
else:
|
|
172
182
|
arg.node_mapping.type = NodeMappingType.Input0
|
|
173
183
|
|
|
@@ -182,14 +192,14 @@ def tensorleap_load_model(prediction_types: Optional[List[PredictionTypeHandler]
|
|
|
182
192
|
if isinstance(input_key, NodeMappingType):
|
|
183
193
|
elem.node_mapping.type = input_key
|
|
184
194
|
else:
|
|
185
|
-
elem.node_mapping.type =
|
|
195
|
+
elem.node_mapping.type = _safe_get_item(i)
|
|
186
196
|
|
|
187
197
|
return ModelOutputPlaceholder()
|
|
188
198
|
|
|
189
199
|
def get_inputs(self):
|
|
190
200
|
class FollowIndex:
|
|
191
201
|
def __init__(self, index):
|
|
192
|
-
self.name =
|
|
202
|
+
self.name = _safe_get_item(index)
|
|
193
203
|
|
|
194
204
|
class FollowInputIndex:
|
|
195
205
|
def __init__(self):
|
code_loader/mixpanel_tracker.py
CHANGED
|
@@ -8,11 +8,13 @@ import uuid
|
|
|
8
8
|
from typing import Optional, Dict, Any
|
|
9
9
|
import mixpanel # type: ignore[import]
|
|
10
10
|
|
|
11
|
+
TRACKING_VERSION = '1'
|
|
12
|
+
|
|
11
13
|
|
|
12
14
|
class MixpanelTracker:
|
|
13
15
|
"""Handles Mixpanel event tracking for code-loader."""
|
|
14
16
|
|
|
15
|
-
def __init__(self, token: str = "
|
|
17
|
+
def __init__(self, token: str = "0c1710c9656bbfb1056bb46093e23ca1"):
|
|
16
18
|
self.token = token
|
|
17
19
|
self.mp = mixpanel.Mixpanel(token)
|
|
18
20
|
self._user_id: Optional[str] = None
|
|
@@ -106,6 +108,8 @@ class MixpanelTracker:
|
|
|
106
108
|
device_id = self._get_or_create_device_id()
|
|
107
109
|
|
|
108
110
|
properties = {
|
|
111
|
+
'tracking_version': TRACKING_VERSION,
|
|
112
|
+
'service': 'code-loader',
|
|
109
113
|
'whoami': whoami,
|
|
110
114
|
'$device_id': device_id, # Always use device_id for $device_id
|
|
111
115
|
'python_version': f"{sys.version_info.major}.{sys.version_info.minor}.{sys.version_info.micro}",
|
|
@@ -4,7 +4,7 @@ code_loader/contract/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
|
|
|
4
4
|
code_loader/contract/datasetclasses.py,sha256=u0gfDDy02skhFG3ejJOxqxCnykhAcBPGJfv8Bi4s9eQ,8966
|
|
5
5
|
code_loader/contract/enums.py,sha256=GEFkvUMXnCNt-GOoz7NJ9ecQZ2PPDettJNOsxsiM0wk,1622
|
|
6
6
|
code_loader/contract/exceptions.py,sha256=jWqu5i7t-0IG0jGRsKF4DjJdrsdpJjIYpUkN1F4RiyQ,51
|
|
7
|
-
code_loader/contract/mapping.py,sha256=
|
|
7
|
+
code_loader/contract/mapping.py,sha256=sWJhpng-IkOzQnWQdMT5w2ZZ3X1Z_OOzSwCLXIS7oxE,1446
|
|
8
8
|
code_loader/contract/responsedataclasses.py,sha256=6-5DJkYBdXb3UB1eNidTTPPBIYxMjEoMdYDkp9VhH8o,4223
|
|
9
9
|
code_loader/contract/visualizer_classes.py,sha256=Wz9eItmoRaKEHa3p0aW0Ypxx4_xUmaZyLBznnTuxwi0,15425
|
|
10
10
|
code_loader/default_losses.py,sha256=NoOQym1106bDN5dcIk56Elr7ZG5quUHArqfP5-Nyxyo,1139
|
|
@@ -21,17 +21,17 @@ code_loader/experiment_api/utils.py,sha256=XZHtxge12TS4H4-8PjV3sKuhp8Ud6ojAiIzTZ
|
|
|
21
21
|
code_loader/experiment_api/workingspace_config_utils.py,sha256=DLzXQCg4dgTV_YgaSbeTVzq-2ja_SQw4zi7LXwKL9cY,990
|
|
22
22
|
code_loader/inner_leap_binder/__init__.py,sha256=koOlJyMNYzGbEsoIbXathSmQ-L38N_pEXH_HvL7beXU,99
|
|
23
23
|
code_loader/inner_leap_binder/leapbinder.py,sha256=Q3D9yVM-GNEJfYRFvMV__BoZbcWOgnWKhrZXAv6Tu7o,33232
|
|
24
|
-
code_loader/inner_leap_binder/leapbinder_decorators.py,sha256=
|
|
24
|
+
code_loader/inner_leap_binder/leapbinder_decorators.py,sha256=WnHy5tdSwPI3RRFMcIHG_SYw0vaqE7t5URyhEtO635E,49896
|
|
25
25
|
code_loader/leaploader.py,sha256=85XUWd7Y8kup76xeqefgd8db7pGaeHMhE7QlmYlNFMw,29747
|
|
26
26
|
code_loader/leaploaderbase.py,sha256=LIFcC6xo6V_iiGN3BjibXETu_l84EWM_WIOKAvkfTiM,4458
|
|
27
|
-
code_loader/mixpanel_tracker.py,sha256=
|
|
27
|
+
code_loader/mixpanel_tracker.py,sha256=l9z_szKKQ7apEbdNZpGH1TKAiT_TsBHb9AQnePaWTyo,4942
|
|
28
28
|
code_loader/plot_functions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
29
29
|
code_loader/plot_functions/plot_functions.py,sha256=VyVWxd7R3lALIo2z8oZlYybbN0Ip6G0OiKNTNZ77xHk,14557
|
|
30
30
|
code_loader/plot_functions/visualize.py,sha256=gsBAYYkwMh7jIpJeDMPS8G4CW-pxwx6LznoQIvi4vpo,657
|
|
31
31
|
code_loader/utils.py,sha256=gXENTYpjdidq2dx0gVbXlErPeHoNs-4TYAZbLRe0y2c,2712
|
|
32
32
|
code_loader/visualizers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
33
33
|
code_loader/visualizers/default_visualizers.py,sha256=onRnLE_TXfgLN4o52hQIOOhUcFexGlqJ3xSpQDVLuZM,2604
|
|
34
|
-
code_loader-1.0.132.dist-info/LICENSE,sha256=qIwWjdspQeSMTtnFZBC8MuT-95L02FPvzRUdWFxrwJY,1067
|
|
35
|
-
code_loader-1.0.132.dist-info/METADATA,sha256=
|
|
36
|
-
code_loader-1.0.132.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
37
|
-
code_loader-1.0.132.dist-info/RECORD,,
|
|
34
|
+
code_loader-1.0.132.dev1.dist-info/LICENSE,sha256=qIwWjdspQeSMTtnFZBC8MuT-95L02FPvzRUdWFxrwJY,1067
|
|
35
|
+
code_loader-1.0.132.dev1.dist-info/METADATA,sha256=Ay8oSYnVpGPGak8xrsh8k4L7Yv5yM8cn4_l_uqPUpLU,1095
|
|
36
|
+
code_loader-1.0.132.dev1.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
37
|
+
code_loader-1.0.132.dev1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|