Skip to content

Commit 845ca6a

Browse files
jianhao2016jianhao peng
andauthored
bug fix: generate directory if path not exist in compile_mmap_model (#281)
Generate directory if path not exist in compile_mmap_model when saving a XLinearModel. Co-authored-by: jianhao peng <jianhaop@amazon.com>
1 parent c181496 commit 845ca6a

File tree

2 files changed

+3
-4
lines changed

2 files changed

+3
-4
lines changed

pecos/xmc/xlinear/model.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,8 @@ def save(self, model_folder):
9595
Args:
9696
model_folder (str): dir to save the model
9797
"""
98-
if not path.exists(model_folder):
99-
os.makedirs(model_folder)
98+
99+
os.makedirs(model_folder, exist_ok=True)
100100
param = self.append_meta({})
101101
with open(f"{model_folder}/param.json", "w", encoding="utf-8") as fout:
102102
fout.write(json.dumps(param, indent=True))
@@ -144,6 +144,7 @@ def compile_mmap_model(cls, npz_folder, mmap_folder):
144144
"""
145145
import shutil
146146

147+
os.makedirs(mmap_folder, exist_ok=True)
147148
shutil.copyfile(path.join(npz_folder, "param.json"), path.join(mmap_folder, "param.json"))
148149
HierarchicalMLModel.compile_mmap_model(
149150
path.join(npz_folder, "ranker"), path.join(mmap_folder, "ranker")

test/pecos/xmc/xlinear/test_xlinear.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1138,7 +1138,6 @@ def test_on_model(model, X):
11381138

11391139

11401140
def test_mmap(tmpdir):
1141-
from pathlib import Path
11421141
from pecos.utils import smat_util
11431142
from pecos.xmc.xlinear import XLinearModel
11441143
from pecos.xmc import PostProcessor
@@ -1153,7 +1152,6 @@ def test_mmap(tmpdir):
11531152

11541153
npz_model_folder = str(tmpdir.join("save_model_npz"))
11551154
mmap_model_folder = str(tmpdir.join("save_model_mmap"))
1156-
Path(mmap_model_folder).mkdir(parents=True, exist_ok=True)
11571155
py_model.save(npz_model_folder)
11581156
XLinearModel.compile_mmap_model(npz_model_folder, mmap_model_folder)
11591157
mmap_model = XLinearModel.load(mmap_model_folder, is_predict_only=True)

0 commit comments

Comments
 (0)