Skip to content

Commit 447c082

Browse files
committed
Experiment for MLFlow models
1 parent a0139bf commit 447c082

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

dataikuapi/dss/project.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -652,6 +652,21 @@ def get_saved_model(self, sm_id):
652652
"""
653653
return DSSSavedModel(self.client, self.project_key, sm_id)
654654

655+
def create_mlflow_pyfunc_model(self, id):
656+
"""Starts creation of a new external saved model for storing 3rd party models
657+
658+
:param string id:
659+
"""
660+
if len(id) != 8:
661+
raise ValueError("model id must be 8 characters long")
662+
model = {
663+
"projectKey" : self.project_key,
664+
"id": id,
665+
"savedModelType" : "MLFLOW_PYFUNC"
666+
}
667+
self.client._perform_empty("POST", "/projects/%s/savedmodels/" % self.project_key, body = model)
668+
return self.get_saved_model(id)
669+
655670
########################################################
656671
# Managed folders
657672
########################################################

dataikuapi/dss/savedmodel.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,13 @@ def get_origin_ml_task(self):
117117
if fmi is not None:
118118
return DSSMLTask.from_full_model_id(self.client, fmi, project_key=self.project_key)
119119

120+
def import_version_from_folder(self, version_id, folder):
121+
import shutil
122+
shutil.make_archive("tmpmodel", "zip", folder) #[, root_dir[, base_dir[, verbose[, dry_run[, owner[, group[, logger]]]]]]])
123+
124+
with open("tmpmodel.zip", "rb") as fp:
125+
self.client._perform_empty("POST", "/projects/%s/savedmodels/%s/versions/%s" % (self.project_key, self.sm_id, version_id),
126+
files={"file":("tmpmodel.zip", fp)})
120127

121128
########################################################
122129
# Metrics

0 commit comments

Comments
 (0)