mlrun 1.10.0rc9__py3-none-any.whl → 1.10.0rc10__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 mlrun might be problematic. Click here for more details.
- mlrun/common/constants.py +1 -0
- mlrun/common/schemas/__init__.py +1 -0
- mlrun/common/schemas/workflow.py +7 -0
- mlrun/db/base.py +17 -0
- mlrun/db/nopdb.py +9 -0
- mlrun/frameworks/tf_keras/mlrun_interface.py +1 -1
- mlrun/frameworks/tf_keras/model_handler.py +21 -12
- mlrun/projects/__init__.py +1 -0
- mlrun/projects/pipelines.py +34 -0
- mlrun/serving/routers.py +17 -13
- mlrun/serving/system_steps.py +2 -1
- mlrun/serving/v2_serving.py +2 -2
- mlrun/utils/version/version.json +2 -2
- {mlrun-1.10.0rc9.dist-info → mlrun-1.10.0rc10.dist-info}/METADATA +1 -2
- {mlrun-1.10.0rc9.dist-info → mlrun-1.10.0rc10.dist-info}/RECORD +19 -19
- {mlrun-1.10.0rc9.dist-info → mlrun-1.10.0rc10.dist-info}/licenses/LICENSE +1 -1
- {mlrun-1.10.0rc9.dist-info → mlrun-1.10.0rc10.dist-info}/WHEEL +0 -0
- {mlrun-1.10.0rc9.dist-info → mlrun-1.10.0rc10.dist-info}/entry_points.txt +0 -0
- {mlrun-1.10.0rc9.dist-info → mlrun-1.10.0rc10.dist-info}/top_level.txt +0 -0
mlrun/common/constants.py
CHANGED
mlrun/common/schemas/__init__.py
CHANGED
mlrun/common/schemas/workflow.py
CHANGED
|
@@ -46,6 +46,13 @@ class WorkflowRequest(pydantic.v1.BaseModel):
|
|
|
46
46
|
notifications: typing.Optional[list[Notification]] = None
|
|
47
47
|
|
|
48
48
|
|
|
49
|
+
class RerunWorkflowRequest(pydantic.v1.BaseModel):
|
|
50
|
+
run_name: typing.Optional[str] = (None,)
|
|
51
|
+
run_id: typing.Optional[str] = (None,)
|
|
52
|
+
notifications: typing.Optional[list[Notification]] = None
|
|
53
|
+
workflow_runner_node_selector: typing.Optional[dict[str, str]] = None
|
|
54
|
+
|
|
55
|
+
|
|
49
56
|
class WorkflowResponse(pydantic.v1.BaseModel):
|
|
50
57
|
project: str = None
|
|
51
58
|
name: str = None
|
mlrun/db/base.py
CHANGED
|
@@ -638,6 +638,16 @@ class RunDBInterface(ABC):
|
|
|
638
638
|
):
|
|
639
639
|
pass
|
|
640
640
|
|
|
641
|
+
@abstractmethod
|
|
642
|
+
def retry_pipeline(
|
|
643
|
+
self,
|
|
644
|
+
run_id: str,
|
|
645
|
+
project: str,
|
|
646
|
+
namespace: Optional[str] = None,
|
|
647
|
+
timeout: int = 30,
|
|
648
|
+
):
|
|
649
|
+
pass
|
|
650
|
+
|
|
641
651
|
@abstractmethod
|
|
642
652
|
def list_project_secrets(
|
|
643
653
|
self,
|
|
@@ -1034,6 +1044,13 @@ class RunDBInterface(ABC):
|
|
|
1034
1044
|
):
|
|
1035
1045
|
pass
|
|
1036
1046
|
|
|
1047
|
+
def get_project_background_task(
|
|
1048
|
+
self,
|
|
1049
|
+
project: str,
|
|
1050
|
+
name: str,
|
|
1051
|
+
) -> mlrun.common.schemas.BackgroundTask:
|
|
1052
|
+
pass
|
|
1053
|
+
|
|
1037
1054
|
@abstractmethod
|
|
1038
1055
|
def submit_workflow(
|
|
1039
1056
|
self,
|
mlrun/db/nopdb.py
CHANGED
|
@@ -524,6 +524,15 @@ class NopDB(RunDBInterface):
|
|
|
524
524
|
):
|
|
525
525
|
pass
|
|
526
526
|
|
|
527
|
+
def retry_pipeline(
|
|
528
|
+
self,
|
|
529
|
+
run_id: str,
|
|
530
|
+
project: str,
|
|
531
|
+
namespace: Optional[str] = None,
|
|
532
|
+
timeout: int = 30,
|
|
533
|
+
):
|
|
534
|
+
pass
|
|
535
|
+
|
|
527
536
|
def list_pipelines(
|
|
528
537
|
self,
|
|
529
538
|
project: str,
|
|
@@ -280,7 +280,7 @@ class TFKerasMLRunInterface(MLRunInterface, ABC):
|
|
|
280
280
|
print(f"Horovod worker #{self._hvd.rank()} is using CPU")
|
|
281
281
|
|
|
282
282
|
# Adjust learning rate based on the number of GPUs:
|
|
283
|
-
if hasattr(
|
|
283
|
+
if hasattr(optimizer, "lr"):
|
|
284
284
|
optimizer.lr *= self._hvd.size()
|
|
285
285
|
else:
|
|
286
286
|
optimizer.learning_rate *= self._hvd.size()
|
|
@@ -518,7 +518,6 @@ class TFKerasModelHandler(DLModelHandler):
|
|
|
518
518
|
)
|
|
519
519
|
|
|
520
520
|
# Read additional files according to the model format used:
|
|
521
|
-
# # ModelFormats.SAVED_MODEL - Unzip the SavedModel archive:
|
|
522
521
|
if self._model_format == TFKerasModelHandler.ModelFormats.SAVED_MODEL:
|
|
523
522
|
# Unzip the SavedModel directory:
|
|
524
523
|
with zipfile.ZipFile(self._model_file, "r") as zip_file:
|
|
@@ -528,21 +527,17 @@ class TFKerasModelHandler(DLModelHandler):
|
|
|
528
527
|
os.path.dirname(self._model_file), self._model_name
|
|
529
528
|
)
|
|
530
529
|
elif self._model_format == TFKerasModelHandler.ModelFormats.KERAS:
|
|
531
|
-
#
|
|
532
|
-
|
|
533
|
-
self._model_file = self._model_file.rsplit(".pkl", 1)[0] + ".keras"
|
|
530
|
+
# Rename the model file suffix:
|
|
531
|
+
self._rename_model_file_suffix(suffix="keras")
|
|
534
532
|
elif self._model_format == TFKerasModelHandler.ModelFormats.H5:
|
|
535
|
-
#
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
# # ModelFormats.JSON_ARCHITECTURE_H5_WEIGHTS - Get the weights file:
|
|
539
|
-
elif (
|
|
533
|
+
# Rename the model file suffix:
|
|
534
|
+
self._rename_model_file_suffix(suffix="h5")
|
|
535
|
+
elif ( # ModelFormats.JSON_ARCHITECTURE_H5_WEIGHTS
|
|
540
536
|
self._model_format
|
|
541
537
|
== TFKerasModelHandler.ModelFormats.JSON_ARCHITECTURE_H5_WEIGHTS
|
|
542
538
|
):
|
|
543
|
-
#
|
|
544
|
-
|
|
545
|
-
self._model_file = self._model_file.rsplit(".pkl", 1)[0] + ".json"
|
|
539
|
+
# Rename the model file suffix:
|
|
540
|
+
self._rename_model_file_suffix(suffix="json")
|
|
546
541
|
# Get the weights file:
|
|
547
542
|
self._weights_file = self._extra_data[
|
|
548
543
|
self._get_weights_file_artifact_name()
|
|
@@ -551,6 +546,20 @@ class TFKerasModelHandler(DLModelHandler):
|
|
|
551
546
|
# Continue collecting from abstract class:
|
|
552
547
|
super()._collect_files_from_store_object()
|
|
553
548
|
|
|
549
|
+
def _rename_model_file_suffix(self, suffix: str):
|
|
550
|
+
"""
|
|
551
|
+
Rename the model file suffix to the given one.
|
|
552
|
+
|
|
553
|
+
This is used for the case of loading a model from a store object that was saved with a different suffix as when
|
|
554
|
+
keras tries to load it, it validates the suffix. The `artifacts.model.get_model` function is downloading the
|
|
555
|
+
file to a temp file with a `pkl` suffix, so it needs to be replaced:than the one keras expects.
|
|
556
|
+
|
|
557
|
+
:param suffix: The suffix to rename the model file to (without the trailing dot).
|
|
558
|
+
"""
|
|
559
|
+
new_name = self._model_file.rsplit(".", 1)[0] + f".{suffix}"
|
|
560
|
+
os.rename(self._model_file, new_name)
|
|
561
|
+
self._model_file = new_name
|
|
562
|
+
|
|
554
563
|
def _collect_files_from_local_path(self):
|
|
555
564
|
"""
|
|
556
565
|
If the model path given is of a local path, search for the needed model files and collect them into this handler
|
mlrun/projects/__init__.py
CHANGED
mlrun/projects/pipelines.py
CHANGED
|
@@ -1070,6 +1070,40 @@ def github_webhook(request):
|
|
|
1070
1070
|
return {"msg": "pushed"}
|
|
1071
1071
|
|
|
1072
1072
|
|
|
1073
|
+
def rerun_workflow(
|
|
1074
|
+
context: mlrun.execution.MLClientCtx, run_uid: str, project_name: str
|
|
1075
|
+
):
|
|
1076
|
+
"""
|
|
1077
|
+
Re-run a workflow by retrying a previously failed KFP pipeline.
|
|
1078
|
+
|
|
1079
|
+
:param context: MLRun context.
|
|
1080
|
+
:param run_uid: The run UID of the original workflow to retry.
|
|
1081
|
+
:param project_name: The project name.
|
|
1082
|
+
"""
|
|
1083
|
+
|
|
1084
|
+
try:
|
|
1085
|
+
# TODO in followups: handle start and running notifications
|
|
1086
|
+
|
|
1087
|
+
# Retry the pipeline - TODO: add submit-direct flag when created
|
|
1088
|
+
db = mlrun.get_run_db()
|
|
1089
|
+
new_pipeline_id = db.retry_pipeline(run_uid, project_name)
|
|
1090
|
+
|
|
1091
|
+
# Store result for observability
|
|
1092
|
+
context.set_label("workflow-id", new_pipeline_id)
|
|
1093
|
+
context.log_result("workflow_id", new_pipeline_id)
|
|
1094
|
+
|
|
1095
|
+
# wait for pipeline completion so monitor will push terminal notifications
|
|
1096
|
+
wait_for_pipeline_completion(
|
|
1097
|
+
new_pipeline_id,
|
|
1098
|
+
project=project_name,
|
|
1099
|
+
)
|
|
1100
|
+
|
|
1101
|
+
# Temporary exception
|
|
1102
|
+
except Exception as exc:
|
|
1103
|
+
context.logger.error("Failed to rerun workflow", exc=err_to_str(exc))
|
|
1104
|
+
raise
|
|
1105
|
+
|
|
1106
|
+
|
|
1073
1107
|
def load_and_run(context, *args, **kwargs):
|
|
1074
1108
|
"""
|
|
1075
1109
|
This function serves as an alias to `load_and_run_workflow`,
|
mlrun/serving/routers.py
CHANGED
|
@@ -80,10 +80,16 @@ class BaseModelRouter(RouterToDict):
|
|
|
80
80
|
self._input_path = input_path
|
|
81
81
|
self._result_path = result_path
|
|
82
82
|
self._background_task_check_timestamp = None
|
|
83
|
-
self._background_task_terminate = False
|
|
84
83
|
self._background_task_current_state = None
|
|
85
84
|
self.kwargs = kwargs
|
|
86
85
|
|
|
86
|
+
@property
|
|
87
|
+
def background_task_reached_terminal_state(self):
|
|
88
|
+
return (
|
|
89
|
+
self._background_task_current_state
|
|
90
|
+
and self._background_task_current_state != "running"
|
|
91
|
+
)
|
|
92
|
+
|
|
87
93
|
def parse_event(self, event):
|
|
88
94
|
parsed_event = {}
|
|
89
95
|
try:
|
|
@@ -185,35 +191,33 @@ class BaseModelRouter(RouterToDict):
|
|
|
185
191
|
background_task.status.state
|
|
186
192
|
in mlrun.common.schemas.BackgroundTaskState.terminal_states()
|
|
187
193
|
):
|
|
188
|
-
logger.
|
|
194
|
+
logger.info(
|
|
189
195
|
f"Model endpoint creation task completed with state {background_task.status.state}"
|
|
190
196
|
)
|
|
191
|
-
self._background_task_terminate = True
|
|
192
197
|
else: # in progress
|
|
193
|
-
logger.
|
|
198
|
+
logger.info(
|
|
194
199
|
f"Model endpoint creation task is still in progress with the current state: "
|
|
195
|
-
f"{background_task.status.state}. Events will not be monitored for the next
|
|
200
|
+
f"{background_task.status.state}. Events will not be monitored for the next "
|
|
201
|
+
f"{mlrun.mlconf.model_endpoint_monitoring.model_endpoint_creation_check_period} seconds",
|
|
196
202
|
name=self.name,
|
|
197
203
|
background_task_check_timestamp=self._background_task_check_timestamp.isoformat(),
|
|
198
204
|
)
|
|
199
205
|
return background_task.status.state
|
|
200
206
|
else:
|
|
201
|
-
logger.
|
|
202
|
-
"Model endpoint creation task name not provided",
|
|
207
|
+
logger.error(
|
|
208
|
+
"Model endpoint creation task name not provided. This function is not being monitored.",
|
|
203
209
|
)
|
|
204
210
|
elif self.context.monitoring_mock:
|
|
205
|
-
self._background_task_terminate = (
|
|
206
|
-
True # If mock monitoring we return success and terminate task check.
|
|
207
|
-
)
|
|
208
211
|
return mlrun.common.schemas.BackgroundTaskState.succeeded
|
|
209
|
-
self._background_task_terminate = True # If mock without monitoring we return failed and terminate task check.
|
|
210
212
|
return mlrun.common.schemas.BackgroundTaskState.failed
|
|
211
213
|
|
|
212
214
|
def _update_background_task_state(self, event):
|
|
213
|
-
if not self.
|
|
215
|
+
if not self.background_task_reached_terminal_state and (
|
|
214
216
|
self._background_task_check_timestamp is None
|
|
215
217
|
or now_date() - self._background_task_check_timestamp
|
|
216
|
-
>= timedelta(
|
|
218
|
+
>= timedelta(
|
|
219
|
+
seconds=mlrun.mlconf.model_endpoint_monitoring.model_endpoint_creation_check_period
|
|
220
|
+
)
|
|
217
221
|
):
|
|
218
222
|
self._background_task_current_state = self._get_background_task_status()
|
|
219
223
|
if event.body:
|
mlrun/serving/system_steps.py
CHANGED
|
@@ -314,7 +314,8 @@ class BackgroundTaskStatus(storey.MapClass):
|
|
|
314
314
|
else: # in progress
|
|
315
315
|
logger.info(
|
|
316
316
|
f"Model endpoint creation task is still in progress with the current state: "
|
|
317
|
-
f"{background_task_state}. Events will not be monitored for the next
|
|
317
|
+
f"{background_task_state}. Events will not be monitored for the next "
|
|
318
|
+
f"{mlrun.mlconf.model_endpoint_monitoring.model_endpoint_creation_check_period} seconds",
|
|
318
319
|
name=self.name,
|
|
319
320
|
background_task_check_timestamp=self._background_task_check_timestamp.isoformat(),
|
|
320
321
|
)
|
mlrun/serving/v2_serving.py
CHANGED
|
@@ -508,8 +508,8 @@ class V2ModelServer(StepToDict):
|
|
|
508
508
|
name=self.name,
|
|
509
509
|
)
|
|
510
510
|
else:
|
|
511
|
-
logger.
|
|
512
|
-
"Model endpoint creation task name not provided",
|
|
511
|
+
logger.error(
|
|
512
|
+
"Model endpoint creation task name not provided. This function is not being monitored.",
|
|
513
513
|
)
|
|
514
514
|
|
|
515
515
|
|
mlrun/utils/version/version.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mlrun
|
|
3
|
-
Version: 1.10.
|
|
3
|
+
Version: 1.10.0rc10
|
|
4
4
|
Summary: Tracking and config of machine learning runs
|
|
5
5
|
Home-page: https://github.com/mlrun/mlrun
|
|
6
6
|
Author: Yaron Haviv
|
|
@@ -9,7 +9,6 @@ License: Apache License 2.0
|
|
|
9
9
|
Keywords: mlrun,mlops,data-science,machine-learning,experiment-tracking
|
|
10
10
|
Classifier: Development Status :: 4 - Beta
|
|
11
11
|
Classifier: Intended Audience :: Developers
|
|
12
|
-
Classifier: License :: OSI Approved :: Apache Software License
|
|
13
12
|
Classifier: Operating System :: POSIX :: Linux
|
|
14
13
|
Classifier: Operating System :: Microsoft :: Windows
|
|
15
14
|
Classifier: Operating System :: MacOS
|
|
@@ -23,7 +23,7 @@ mlrun/artifacts/manager.py,sha256=ylCmwTSDxPWYTBBW7v90XLYy7CYS7xVydj-D-kWY7bU,16
|
|
|
23
23
|
mlrun/artifacts/model.py,sha256=YlhD0zX8UhuEjTWD7NNnWcRCpjF1S2_6IpE0a1VHEHM,25589
|
|
24
24
|
mlrun/artifacts/plots.py,sha256=wmaxVXiAPSCyn3M7pIlcBu9pP3O8lrq0Ewx6iHRDF9s,4238
|
|
25
25
|
mlrun/common/__init__.py,sha256=kXGBqhLN0rlAx0kTXhozGzFsIdSqW0uTSKMmsLgq_is,569
|
|
26
|
-
mlrun/common/constants.py,sha256=
|
|
26
|
+
mlrun/common/constants.py,sha256=L8mRIFpaob5kw0PVvWqQjvdbXDVweaRZOR187PnAiOc,3644
|
|
27
27
|
mlrun/common/helpers.py,sha256=DIdqs_eN3gO5bZ8iFobIvx8cEiOxYxhFIyut6-O69T0,1385
|
|
28
28
|
mlrun/common/secrets.py,sha256=8g9xtIw-9DGcwiZRT62a5ozSQM-aYo8yK5Ghey9WM0g,5179
|
|
29
29
|
mlrun/common/types.py,sha256=1gxThbmC0Vd0U1ffIkEwz4T4S7JOgHt70rvw8TCO21c,1073
|
|
@@ -41,7 +41,7 @@ mlrun/common/formatters/run.py,sha256=LlqhhVY4dAp5y17k_sWBtHaJogdNdtJWF0iO9sX-bU
|
|
|
41
41
|
mlrun/common/model_monitoring/__init__.py,sha256=kXGBqhLN0rlAx0kTXhozGzFsIdSqW0uTSKMmsLgq_is,569
|
|
42
42
|
mlrun/common/model_monitoring/helpers.py,sha256=AkuHz4u318MEP4ebxmNWlNXh6HiNLrI5oF7QvJiJkYc,2707
|
|
43
43
|
mlrun/common/runtimes/constants.py,sha256=IkKwNHb-PQrpOZvekP4HzxCP5L4ZuIxPYVEzqK6Tegc,11976
|
|
44
|
-
mlrun/common/schemas/__init__.py,sha256=
|
|
44
|
+
mlrun/common/schemas/__init__.py,sha256=wRt0dNWTnews4loHWn5feRegy7QdfNqwzUP56BmlxSU,5426
|
|
45
45
|
mlrun/common/schemas/alert.py,sha256=u6INAHBhQIfm-mMsGqDJo1_JDN6gOuWZa-8fOU-aOUE,10182
|
|
46
46
|
mlrun/common/schemas/api_gateway.py,sha256=bgC3vXbyb1SVwsSZkLXtEoQLCe_QDKpIhAVX3X_HWW4,7126
|
|
47
47
|
mlrun/common/schemas/artifact.py,sha256=JojMRRa4n0Rge2olGOpUyp348hkTGsMEnvUBRSoo4oE,4310
|
|
@@ -73,7 +73,7 @@ mlrun/common/schemas/schedule.py,sha256=L7z9Lp06-xmFmdp0q5PypCU_DCl6zZIyQTVoJa01
|
|
|
73
73
|
mlrun/common/schemas/secret.py,sha256=Td2UAeWHSAdA4nIP3rQv_PIVKVqcBnCnK6xjr528tS8,1486
|
|
74
74
|
mlrun/common/schemas/serving.py,sha256=u_jfGmUB5kTqTR6pGtn7mQvr8wRsoaDrfZz672F1nRE,1199
|
|
75
75
|
mlrun/common/schemas/tag.py,sha256=1wqEiAujsElojWb3qmuyfcaLFjXSNAAQdafkDx7fkn0,891
|
|
76
|
-
mlrun/common/schemas/workflow.py,sha256=
|
|
76
|
+
mlrun/common/schemas/workflow.py,sha256=tFBFhh70cTr2mXcgVoNL2GYzhl4aGWQwqtDU59T7LWQ,2384
|
|
77
77
|
mlrun/common/schemas/model_monitoring/__init__.py,sha256=Hx3IxW63edOSLxMnbQpY3Yv4f-eNnBu4EuVw5bihP8w,1819
|
|
78
78
|
mlrun/common/schemas/model_monitoring/constants.py,sha256=yjTaSGiRs0zYIE20QSuJuMNnS5iuJpnV1wBiq7leVpg,13238
|
|
79
79
|
mlrun/common/schemas/model_monitoring/functions.py,sha256=OKBt029ap6dD-1pFTN4z1u7IkRpiH0HCjbrJoAWUFnE,2123
|
|
@@ -111,10 +111,10 @@ mlrun/datastore/wasbfs/__init__.py,sha256=s5Ul-0kAhYqFjKDR2X0O2vDGDbLQQduElb32Ev
|
|
|
111
111
|
mlrun/datastore/wasbfs/fs.py,sha256=ge8NK__5vTcFT-krI155_8RDUywQw4SIRX6BWATXy9Q,6299
|
|
112
112
|
mlrun/db/__init__.py,sha256=K8Cy-MF7gasYnT7gfE9zP5eOAQV-USsJtuVJRXYQI6s,1187
|
|
113
113
|
mlrun/db/auth_utils.py,sha256=hpg8D2r82oN0BWabuWN04BTNZ7jYMAF242YSUpK7LFM,5211
|
|
114
|
-
mlrun/db/base.py,sha256=
|
|
114
|
+
mlrun/db/base.py,sha256=Kx9ELU06DdsyMGbkRakHF9J6_KOlHcWgkjEivgxaupk,31076
|
|
115
115
|
mlrun/db/factory.py,sha256=yP2vVmveUE7LYTCHbS6lQIxP9rW--zdISWuPd_I3d_4,2111
|
|
116
116
|
mlrun/db/httpdb.py,sha256=8OCLIp--B1Z_AH98XhCm84Ls22IqXLO4OWkd7oQ4UQc,234747
|
|
117
|
-
mlrun/db/nopdb.py,sha256=
|
|
117
|
+
mlrun/db/nopdb.py,sha256=YcPbAutLcd7-CklMR60cckB5tkoAEGwESlD5cDJWHoM,27478
|
|
118
118
|
mlrun/db/sql_types.py,sha256=g-gmiRNr0SpFyV0wPFfvLpB7hB0jdW-WFkt-aoQ_qIU,5399
|
|
119
119
|
mlrun/feature_store/__init__.py,sha256=SlI845bWt6xX34SXunHHqhmFAR9-5v2ak8N-qpcAPGo,1328
|
|
120
120
|
mlrun/feature_store/api.py,sha256=qKj5Tk6prTab6XWatWhBuPRVp0eJEctoxRMN2wz48vA,32168
|
|
@@ -203,8 +203,8 @@ mlrun/frameworks/sklearn/mlrun_interface.py,sha256=Lk1MKzP7d72R6_1PTWO5pKY1VUEHc
|
|
|
203
203
|
mlrun/frameworks/sklearn/model_handler.py,sha256=m7ohGO8sphuVU0vZAzVNBATY0WNUpQb_SmaO6xkZx8U,4752
|
|
204
204
|
mlrun/frameworks/sklearn/utils.py,sha256=OPyuXOwod6Tjs5PcIStwtwZfIaQk-hL9wzNbjQ29LuU,1208
|
|
205
205
|
mlrun/frameworks/tf_keras/__init__.py,sha256=M2sMbYHLrlF-KFR5kvA9mevRo3Nf8U0B5a_DM9rzwCY,10484
|
|
206
|
-
mlrun/frameworks/tf_keras/mlrun_interface.py,sha256=
|
|
207
|
-
mlrun/frameworks/tf_keras/model_handler.py,sha256=
|
|
206
|
+
mlrun/frameworks/tf_keras/mlrun_interface.py,sha256=DDBbcGAZh9h5UKDIQJCnSrliJDNNjVVpauBdmEV373o,16713
|
|
207
|
+
mlrun/frameworks/tf_keras/model_handler.py,sha256=jBTBAS8CtftwFkXwt7mLbJNw_Lbfw3FMgGxoStYoXcA,32169
|
|
208
208
|
mlrun/frameworks/tf_keras/model_server.py,sha256=60iJRl_9ZYPCzxdfiJM_-BtECKZZTOKWBJ36O-GLjEc,9652
|
|
209
209
|
mlrun/frameworks/tf_keras/utils.py,sha256=Z8hA1CgpSJWLC_T6Ay7xZKVyWlX9B85MSmQr2biXRag,4582
|
|
210
210
|
mlrun/frameworks/tf_keras/callbacks/__init__.py,sha256=sd8aWG2jO9mO_noZca0ReVf8X6fSCqO_di1Z-mT8FH8,742
|
|
@@ -271,9 +271,9 @@ mlrun/package/utils/log_hint_utils.py,sha256=oFUrzcJ-AHocXSGIiMP6Yq3IYBgUfnrB-ri
|
|
|
271
271
|
mlrun/package/utils/type_hint_utils.py,sha256=Ic3A7C9KnbfdLe-nUgzGoefBnsvOJJP9ipfuscA8MLU,14694
|
|
272
272
|
mlrun/platforms/__init__.py,sha256=ZuyeHCHHUxYEoZRmaJqzFSfwhaTyUdBZXMeVp75ql1w,3551
|
|
273
273
|
mlrun/platforms/iguazio.py,sha256=6VBTq8eQ3mzT96tzjYhAtcMQ2VjF4x8LpIPW5DAcX2Q,13749
|
|
274
|
-
mlrun/projects/__init__.py,sha256=
|
|
274
|
+
mlrun/projects/__init__.py,sha256=hdCOA6_fp8X4qGGGT7Bj7sPbkM1PayWuaVZL0DkpuZw,1240
|
|
275
275
|
mlrun/projects/operations.py,sha256=Aa3qDjEOLI1JTvm3t3VaESeJ4511e_vOR-GqVaEy-yI,20237
|
|
276
|
-
mlrun/projects/pipelines.py,sha256=
|
|
276
|
+
mlrun/projects/pipelines.py,sha256=Q92dIzs-9zVpFhsWxrtppxqeMlXZE4NMF-6k_2MjBw8,50538
|
|
277
277
|
mlrun/projects/project.py,sha256=UT4DUC2qbJz3lrMykLc_UwtnpXgCZXbCFY_2Ym_qfJM,249447
|
|
278
278
|
mlrun/runtimes/__init__.py,sha256=J9Sy2HiyMlztNv6VUurMzF5H2XzttNil8nRsWDsqLyg,8923
|
|
279
279
|
mlrun/runtimes/base.py,sha256=FmjyXA5MhOUOe8TxNpC3p8nc_IwGGaC2ZPrgTylzFXk,37325
|
|
@@ -307,14 +307,14 @@ mlrun/runtimes/sparkjob/spark3job.py,sha256=FmrfR1lTVeH_F3YOx8vj16QsvN3b7veUS00_
|
|
|
307
307
|
mlrun/serving/__init__.py,sha256=1MjUInuyxsF-dTHZuKelq2XLhg2GInH9LjAY3PcWEzs,1364
|
|
308
308
|
mlrun/serving/merger.py,sha256=pfOQoozUyObCTpqXAMk94PmhZefn4bBrKufO3MKnkAc,6193
|
|
309
309
|
mlrun/serving/remote.py,sha256=Igha2FipK3-6rV_PZ1K464kTbiTu8rhc6SMm-HiEJ6o,18817
|
|
310
|
-
mlrun/serving/routers.py,sha256=
|
|
310
|
+
mlrun/serving/routers.py,sha256=SmBOlHn7rT2gWTa-W8f16UB0UthgIFc4D1cPOZAA9ss,54003
|
|
311
311
|
mlrun/serving/server.py,sha256=WCJqggfZHTa4qbw1UopoZq_X2g-LutPjp35wGfxDsyI,29790
|
|
312
312
|
mlrun/serving/serving_wrapper.py,sha256=UL9hhWCfMPcTJO_XrkvNaFvck1U1E7oS8trTZyak0cA,835
|
|
313
313
|
mlrun/serving/states.py,sha256=mSj9n7BT0CWBD02MTXWBzGr4hwj0Zef9dFUkQY5aXWg,91248
|
|
314
|
-
mlrun/serving/system_steps.py,sha256=
|
|
314
|
+
mlrun/serving/system_steps.py,sha256=s3Grs8DPaQ2CI8EY1IB4IOg-8y-6gRIewQZHkFVFNwg,16429
|
|
315
315
|
mlrun/serving/utils.py,sha256=Zbfqm8TKNcTE8zRBezVBzpvR2WKeKeIRN7otNIaiYEc,4170
|
|
316
316
|
mlrun/serving/v1_serving.py,sha256=c6J_MtpE-Tqu00-6r4eJOCO6rUasHDal9W2eBIcrl50,11853
|
|
317
|
-
mlrun/serving/v2_serving.py,sha256=
|
|
317
|
+
mlrun/serving/v2_serving.py,sha256=257LVOvWxV0KjeY0-Kxro6YgKmPu2QzNne2IORlXi5E,25434
|
|
318
318
|
mlrun/track/__init__.py,sha256=yVXbT52fXvGKRlc_ByHqIVt7-9L3DRE634RSeQwgXtU,665
|
|
319
319
|
mlrun/track/tracker.py,sha256=CyTU6Qd3_5GGEJ_hpocOj71wvV65EuFYUjaYEUKAL6Q,3575
|
|
320
320
|
mlrun/track/tracker_manager.py,sha256=IYBl99I62IC6VCCmG1yt6JoHNOQXa53C4DURJ2sWgio,5726
|
|
@@ -345,11 +345,11 @@ mlrun/utils/notifications/notification/mail.py,sha256=ZyJ3eqd8simxffQmXzqd3bgbAq
|
|
|
345
345
|
mlrun/utils/notifications/notification/slack.py,sha256=kfhogR5keR7Zjh0VCjJNK3NR5_yXT7Cv-x9GdOUW4Z8,7294
|
|
346
346
|
mlrun/utils/notifications/notification/webhook.py,sha256=zxh8CAlbPnTazsk6r05X5TKwqUZVOH5KBU2fJbzQlG4,5330
|
|
347
347
|
mlrun/utils/version/__init__.py,sha256=YnzE6tlf24uOQ8y7Z7l96QLAI6-QEii7-77g8ynmzy0,613
|
|
348
|
-
mlrun/utils/version/version.json,sha256=
|
|
348
|
+
mlrun/utils/version/version.json,sha256=hp-Ml2C1P4UaX8zx2xwNmoAElsJkrIFnTkHAlazKnDo,90
|
|
349
349
|
mlrun/utils/version/version.py,sha256=M2hVhRrgkN3SxacZHs3ZqaOsqAA7B6a22ne324IQ1HE,1877
|
|
350
|
-
mlrun-1.10.
|
|
351
|
-
mlrun-1.10.
|
|
352
|
-
mlrun-1.10.
|
|
353
|
-
mlrun-1.10.
|
|
354
|
-
mlrun-1.10.
|
|
355
|
-
mlrun-1.10.
|
|
350
|
+
mlrun-1.10.0rc10.dist-info/licenses/LICENSE,sha256=zTiv1CxWNkOk1q8eJS1G_8oD4gWpWLwWxj_Agcsi8Os,11337
|
|
351
|
+
mlrun-1.10.0rc10.dist-info/METADATA,sha256=CZ-2JeUcsZRPjlGlC4sfYSX76Q-UGkWFXZHsyWT0kfw,26088
|
|
352
|
+
mlrun-1.10.0rc10.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
353
|
+
mlrun-1.10.0rc10.dist-info/entry_points.txt,sha256=1Owd16eAclD5pfRCoJpYC2ZJSyGNTtUr0nCELMioMmU,46
|
|
354
|
+
mlrun-1.10.0rc10.dist-info/top_level.txt,sha256=NObLzw3maSF9wVrgSeYBv-fgnHkAJ1kEkh12DLdd5KM,6
|
|
355
|
+
mlrun-1.10.0rc10.dist-info/RECORD,,
|
|
@@ -186,7 +186,7 @@
|
|
|
186
186
|
same "printed page" as the copyright notice for easier
|
|
187
187
|
identification within third-party archives.
|
|
188
188
|
|
|
189
|
-
Copyright
|
|
189
|
+
Copyright 2020 Iguazio
|
|
190
190
|
|
|
191
191
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
192
192
|
you may not use this file except in compliance with the License.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|