From e51606a4ab01b264763470b95649444531282f44 Mon Sep 17 00:00:00 2001
From: Yifan Zhao <yifanz16@illinois.edu>
Date: Mon, 22 Mar 2021 10:30:23 -0500
Subject: [PATCH] Save p1 and p2 models properly

---
 predtuner/pipedbin.py | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/predtuner/pipedbin.py b/predtuner/pipedbin.py
index 18237d1..069b42c 100644
--- a/predtuner/pipedbin.py
+++ b/predtuner/pipedbin.py
@@ -101,15 +101,17 @@ class PipedBinaryApp(ModeledApp):
         return qos, time_end - time_begin
 
     def get_models(self) -> List[Union["IPerfModel", "IQoSModel"]]:
-        p2_path = self.model_storage / "p2.json" if self.model_storage else None
+        p1_storage = self.model_storage / "p1.pkl" if self.model_storage else None
+        p2_storage = self.model_storage / "p2.json" if self.model_storage else None
         return [
             LinearPerfModel(self, self.op_costs, self.knob_speedups),
             QoSModelP1(
                 self,
                 lambda conf: self._run_on_knobs(conf, False)[0],
                 self._compute_accuracy,
+                p1_storage
             ),
-            QoSModelP2(self, p2_path),
+            QoSModelP2(self, p2_storage),
         ]
 
     def _compute_accuracy(self, output_tensor: torch.Tensor) -> float:
-- 
GitLab