Skip to content

Commit 3a5a7c5

Browse files
authored
[HWORKS-135] Models backend should store metadata in tables instead of opensearch (logicalclocks#202)
1 parent cb37ad4 commit 3a5a7c5

File tree

8 files changed

+39
-13
lines changed

8 files changed

+39
-13
lines changed

python/hsml/engine/hopsworks_engine.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -16,22 +16,22 @@
1616

1717
import os
1818

19-
from hsml.core import native_hdfs_api
19+
from hsml.core import native_hdfs_api, model_api
2020
from hsml import client
2121

2222

2323
class HopsworksEngine:
2424
def __init__(self):
2525
self._native_hdfs_api = native_hdfs_api.NativeHdfsApi()
26+
self._model_api = model_api.ModelApi()
2627

2728
def mkdir(self, remote_path: str):
2829
remote_path = self._prepend_project_path(remote_path)
2930
self._native_hdfs_api.mkdir(remote_path)
3031
self._native_hdfs_api.chmod(remote_path, "ug+rwx")
3132

32-
def delete(self, remote_path: str):
33-
remote_path = self._prepend_project_path(remote_path)
34-
self._native_hdfs_api.rm(remote_path)
33+
def delete(self, model_instance):
34+
self._model_api.delete(model_instance)
3535

3636
def upload(self, local_path: str, remote_path: str):
3737
local_path = self._get_abs_path(local_path)

python/hsml/engine/local_engine.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -16,21 +16,21 @@
1616

1717
import os
1818

19-
from hsml.core import dataset_api
19+
from hsml.core import dataset_api, model_api
2020
from hsml import client
2121

2222

2323
class LocalEngine:
2424
def __init__(self):
2525
self._dataset_api = dataset_api.DatasetApi()
26+
self._model_api = model_api.ModelApi()
2627

2728
def mkdir(self, remote_path: str):
2829
remote_path = self._prepend_project_path(remote_path)
2930
self._dataset_api.mkdir(remote_path)
3031

31-
def delete(self, remote_path: str):
32-
remote_path = self._prepend_project_path(remote_path)
33-
self._dataset_api.rm(remote_path)
32+
def delete(self, model_instance):
33+
self._model_api.delete(model_instance)
3434

3535
def upload(self, local_path: str, remote_path: str):
3636
local_path = self._get_abs_path(local_path)

python/hsml/engine/model_engine.py

+2-5
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,12 @@
1818
import tempfile
1919
import uuid
2020
import time
21-
import importlib
2221
import os
23-
22+
import importlib
2423
from tqdm.auto import tqdm
2524

2625
from hsml.client.exceptions import RestAPIError, ModelRegistryException
27-
2826
from hsml import client, util, constants
29-
3027
from hsml.core import model_api, dataset_api
3128

3229
from hsml.engine import local_engine, hopsworks_engine
@@ -493,7 +490,7 @@ def read_json(self, model_instance, resource):
493490
tmp_dir.cleanup()
494491

495492
def delete(self, model_instance):
496-
self._engine.delete(model_instance.version_path)
493+
self._engine.delete(model_instance)
497494

498495
def set_tag(self, model_instance, name, value):
499496
"""Attach a name/value tag to a model."""

python/hsml/model.py

+13
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ def __init__(
3838
name,
3939
version=None,
4040
created=None,
41+
creator=None,
4142
environment=None,
4243
description=None,
4344
experiment_id=None,
@@ -51,6 +52,8 @@ def __init__(
5152
input_example=None,
5253
framework=None,
5354
model_registry_id=None,
55+
tags=None,
56+
href=None,
5457
**kwargs,
5558
):
5659
self._id = id
@@ -63,6 +66,7 @@ def __init__(
6366
self._description = description
6467

6568
self._created = created
69+
self._creator = creator
6670
self._environment = environment
6771
self._experiment_id = experiment_id
6872
self._project_name = project_name
@@ -267,6 +271,15 @@ def created(self):
267271
def created(self, created):
268272
self._created = created
269273

274+
@property
275+
def creator(self):
276+
"""Creator of the model."""
277+
return self._creator
278+
279+
@creator.setter
280+
def creator(self, creator):
281+
self._creator = creator
282+
270283
@property
271284
def environment(self):
272285
"""Input example of the model."""

python/hsml/python/model.py

+4
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ def __init__(
2828
name,
2929
version=None,
3030
created=None,
31+
creator=None,
3132
environment=None,
3233
description=None,
3334
experiment_id=None,
@@ -40,13 +41,16 @@ def __init__(
4041
training_dataset=None,
4142
input_example=None,
4243
model_registry_id=None,
44+
tags=None,
45+
href=None,
4346
**kwargs,
4447
):
4548
super().__init__(
4649
id,
4750
name,
4851
version=version,
4952
created=created,
53+
creator=creator,
5054
environment=environment,
5155
description=description,
5256
experiment_id=experiment_id,

python/hsml/sklearn/model.py

+4
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ def __init__(
2828
name,
2929
version=None,
3030
created=None,
31+
creator=None,
3132
environment=None,
3233
description=None,
3334
experiment_id=None,
@@ -40,13 +41,16 @@ def __init__(
4041
training_dataset=None,
4142
input_example=None,
4243
model_registry_id=None,
44+
tags=None,
45+
href=None,
4346
**kwargs,
4447
):
4548
super().__init__(
4649
id,
4750
name,
4851
version=version,
4952
created=created,
53+
creator=creator,
5054
environment=environment,
5155
description=description,
5256
experiment_id=experiment_id,

python/hsml/tensorflow/model.py

+4
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ def __init__(
2828
name,
2929
version=None,
3030
created=None,
31+
creator=None,
3132
environment=None,
3233
description=None,
3334
experiment_id=None,
@@ -40,13 +41,16 @@ def __init__(
4041
training_dataset=None,
4142
input_example=None,
4243
model_registry_id=None,
44+
tags=None,
45+
href=None,
4346
**kwargs,
4447
):
4548
super().__init__(
4649
id,
4750
name,
4851
version=version,
4952
created=created,
53+
creator=creator,
5054
environment=environment,
5155
description=description,
5256
experiment_id=experiment_id,

python/hsml/torch/model.py

+4
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ def __init__(
2828
name,
2929
version=None,
3030
created=None,
31+
creator=None,
3132
environment=None,
3233
description=None,
3334
experiment_id=None,
@@ -40,13 +41,16 @@ def __init__(
4041
training_dataset=None,
4142
input_example=None,
4243
model_registry_id=None,
44+
tags=None,
45+
href=None,
4346
**kwargs,
4447
):
4548
super().__init__(
4649
id,
4750
name,
4851
version=version,
4952
created=created,
53+
creator=creator,
5054
environment=environment,
5155
description=description,
5256
experiment_id=experiment_id,

0 commit comments

Comments
 (0)