From 981e0c788ef950bd356afe5d87ff9744655f849a Mon Sep 17 00:00:00 2001 From: Baptiste Bauvin <baptiste.bauvin@lis-lab.fr> Date: Mon, 1 Apr 2019 23:32:36 -0400 Subject: [PATCH] Avoid multiple temp file to crush themselves --- .../MonoviewClassifiers/SCMPregen.py | 14 +++++++++++--- .../MonoviewClassifiers/SCMPregenTree.py | 14 +++++++++++--- .../MonoviewClassifiers/SCMSparsity.py | 14 +++++++++++--- .../MonoviewClassifiers/SCMSparsityTree.py | 14 +++++++++++--- 4 files changed, 44 insertions(+), 12 deletions(-) diff --git a/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/SCMPregen.py b/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/SCMPregen.py index f35c0d52..b79606df 100644 --- a/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/SCMPregen.py +++ b/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/SCMPregen.py @@ -33,9 +33,17 @@ class SCMPregen(scm, BaseMonoviewClassifier, PregenClassifier): def fit(self, X, y, tiebreaker=None, iteration_callback=None, **fit_params): pregen_X, _ = self.pregen_voters(X, y) - np.savetxt("pregen_x.csv", pregen_X, delimiter=',') - place_holder = np.genfromtxt("pregen_x.csv", delimiter=',') - os.remove("pregen_x.csv") + list_files = os.listdir(".") + if "pregen_x.csv" in list_files: + i = 0 + file_name = "pregen_x" + str(i) + ".csv" + while file_name in list_files: + i += 1 + else: + file_name="pregen_x.csv" + np.savetxt(file_name, pregen_X, delimiter=',') + place_holder = np.genfromtxt(file_name, delimiter=',') + os.remove(file_name) super(SCMPregen, self).fit(place_holder, y, tiebreaker=tiebreaker, iteration_callback=iteration_callback, **fit_params) return self diff --git a/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/SCMPregenTree.py b/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/SCMPregenTree.py index ad735836..234ca0c3 100644 --- a/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/SCMPregenTree.py +++ b/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/SCMPregenTree.py @@ -43,9 +43,17 @@ class SCMPregenTree(scm, BaseMonoviewClassifier, PregenClassifier): def predict(self, X): pregen_X, _ = self.pregen_voters(X, generator="Trees") - np.savetxt("pregen_x.csv", pregen_X, delimiter=',') - place_holder = np.genfromtxt("pregen_x.csv", delimiter=',') - os.remove("pregen_x.csv") + list_files = os.listdir(".") + if "pregen_x.csv" in list_files: + i = 0 + file_name = "pregen_x" + str(i) + ".csv" + while file_name in list_files: + i += 1 + else: + file_name="pregen_x.csv" + np.savetxt(file_name, pregen_X, delimiter=',') + place_holder = np.genfromtxt(file_name, delimiter=',') + os.remove(file_name) return self.classes_[self.model_.predict(place_holder)] def get_params(self, deep=True): diff --git a/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/SCMSparsity.py b/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/SCMSparsity.py index 31951785..bd354136 100644 --- a/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/SCMSparsity.py +++ b/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/SCMSparsity.py @@ -55,9 +55,17 @@ class SCMSparsity(BaseMonoviewClassifier, PregenClassifier): def predict(self, X): pregen_X, _ = self.pregen_voters(X,) - np.savetxt("pregen_x.csv", pregen_X, delimiter=',') - place_holder = np.genfromtxt("pregen_x.csv", delimiter=',') - os.remove("pregen_x.csv") + list_files = os.listdir(".") + if "pregen_x.csv" in list_files: + i = 0 + file_name = "pregen_x" + str(i) + ".csv" + while file_name in list_files: + i += 1 + else: + file_name="pregen_x.csv" + np.savetxt(file_name, pregen_X, delimiter=',') + place_holder = np.genfromtxt(file_name, delimiter=',') + os.remove(file_name) self.preds = [scm_estimator.predict(place_holder) for scm_estimator in self.scm_estimators] return self.preds[-1] diff --git a/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/SCMSparsityTree.py b/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/SCMSparsityTree.py index 4e717c38..2fbd7c39 100644 --- a/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/SCMSparsityTree.py +++ b/multiview_platform/MonoMultiViewClassifiers/MonoviewClassifiers/SCMSparsityTree.py @@ -55,9 +55,17 @@ class SCMSparsityTree(BaseMonoviewClassifier, PregenClassifier): def predict(self, X): pregen_X, _ = self.pregen_voters(X, generator="Trees") - np.savetxt("pregen_x.csv", pregen_X, delimiter=',') - place_holder = np.genfromtxt("pregen_x.csv", delimiter=',') - os.remove("pregen_x.csv") + list_files = os.listdir(".") + if "pregen_x.csv" in list_files: + i=0 + file_name="pregen_x"+str(i)+".csv" + while file_name in list_files: + i+=1 + else: + file_name="pregen_x.csv" + np.savetxt(file_name, pregen_X, delimiter=',') + place_holder = np.genfromtxt(file_name, delimiter=',') + os.remove(file_name) self.preds = [scm_estimator.predict(place_holder) for scm_estimator in self.scm_estimators] return self.preds[-1] -- GitLab