Skip to content

Commit 424a65d

Browse files
authored
Fix: Reading Model from Object Storage (#1340)
2 parents 9b99894 + 8ead1a7 commit 424a65d

File tree

1 file changed

+17
-7
lines changed

1 file changed

+17
-7
lines changed

ads/opctl/operator/lowcode/forecast/whatifserve/deployment_manager.py

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
import tempfile
1010

1111
import cloudpickle
12+
import fsspec
13+
import tempfile
1214
import oci
1315
import pandas as pd
1416
from oci.data_science import DataScienceClient, DataScienceClientCompositeOperations
@@ -38,10 +40,10 @@
3840

3941
class ModelDeploymentManager:
4042
def __init__(
41-
self,
42-
spec: ForecastOperatorSpec,
43-
additional_data: AdditionalData,
44-
previous_model_version=None,
43+
self,
44+
spec: ForecastOperatorSpec,
45+
additional_data: AdditionalData,
46+
previous_model_version=None,
4547
):
4648
self.spec = spec
4749
self.model_name = spec.model
@@ -61,7 +63,9 @@ def __init__(
6163
)
6264
if self.project_id is None or self.compartment_id is None:
6365
raise ValueError("Either project_id or compartment_id cannot be None.")
64-
self.path_to_artifact = f"{self.spec.output_directory.url}/artifacts/"
66+
67+
tmp_dir_obj = tempfile.TemporaryDirectory()
68+
self.path_to_artifact = tmp_dir_obj.name
6569
self.pickle_file_path = f"{self.spec.output_directory.url}/model.pkl"
6670
self.model_version = previous_model_version + 1 if previous_model_version else 1
6771
self.catalog_id = None
@@ -121,8 +125,14 @@ def _copy_score_file(self):
121125

122126
def save_to_catalog(self):
123127
"""Save the model to a model catalog"""
124-
with open(self.pickle_file_path, "rb") as file:
125-
self.model_obj = pickle.load(file)
128+
with fsspec.open(
129+
self.pickle_file_path,
130+
"rb",
131+
**(
132+
default_signer() if ObjectStorageDetails.is_oci_path(self.pickle_file_path) else {}
133+
),
134+
) as f:
135+
self.model_obj = pickle.load(f)
126136

127137
if not os.path.exists(self.path_to_artifact):
128138
os.mkdir(self.path_to_artifact)

0 commit comments

Comments
 (0)