def __init__(self, instances, feature, output_directory): self.feature = feature self.output_directory = path.join(output_directory, self.feature) dir_tools.createDirectory(self.output_directory) self.has_ground_truth = instances.hasGroundTruth() self.generatePlotDatasets(instances) self.setFeatureType()
def getOutputDirectories(self, al_dir, iteration_dir): monitoring_dir = path.join(iteration_dir, 'labels_monitoring') dir_tools.createDirectory(monitoring_dir) evolution_dir = path.join(al_dir, 'labels_monitoring') if self.monitoring.iteration_number == 1: dir_tools.createDirectory(evolution_dir) return monitoring_dir, evolution_dir
def display(self, directory): testing_dir = path.join(directory, self.monitoring_type) dir_tools.createDirectory(testing_dir) self.finalComputations() self.predictions_monitoring.display(testing_dir) if self.has_ground_truth: self.performance_monitoring.display(testing_dir) if self.families_monitoring is not None: families_dir = path.join(testing_dir, 'families') dir_tools.createDirectory(families_dir) self.families_monitoring.display(families_dir)
def display(self, directory): training_dir = path.join(directory, self.monitoring_type) dir_tools.createDirectory(training_dir) self.finalComputations() self.performance_monitoring.display(training_dir) if not self.conf.families_supervision: self.predictions_monitoring.display(training_dir) self.coefficients.display(training_dir) if self.families_monitoring is not None: families_dir = path.join(training_dir, 'families') dir_tools.createDirectory(families_dir) self.families_monitoring.display(families_dir)
def createDataset(project, dataset): dataset_dir = getDatasetDirectory(project, dataset) dir_tools.createDirectory(dataset_dir) features_dir = path.join(dataset_dir, 'features') dir_tools.createDirectory(features_dir) annotations_dir = path.join(dataset_dir, 'annotations') dir_tools.createDirectory(annotations_dir) return dataset_dir, features_dir, annotations_dir
def dumpModel(self): # check added for Sssvdd that has no dump model function if self.classifier.pipeline is not None: model_dir = path.join(self.output_directory, 'model') dir_tools.createDirectory(model_dir) self.classifier.dumpModel(path.join(model_dir, 'model.out'))
def exportAlerts(self, datasets): if self.classifier.alerts is None: return alerts_directory = path.join(self.output_directory, 'alerts') dir_tools.createDirectory(alerts_directory) self.classifier.alerts.export(alerts_directory)
def initComputations(self): Iteration.initComputations(self) dir_tools.createDirectory(self.iteration_dir) self.monitoring.exportStartMonitoring(self.al_dir, self.iteration_dir)
def export(self): experiment_dir = self.getOutputDirectory() dir_tools.createDirectory(experiment_dir) conf_filename = path.join(experiment_dir, 'conf.json') with open(conf_filename, 'w') as f: json.dump(self.toJson(), f, indent=2)
def setOutputDirectory(self): self.output_directory = path.join(self.monitoring.iteration_dir, 'clustering_evaluation') dir_tools.createDirectory(self.output_directory)
def createDatasetOutputDirectory(project, dataset): dir_tools.createDirectory(getDatasetOutputDirectory(project, dataset))
def getEvolutionDir(self, al_dir): evolution_dir = path.join(al_dir, 'models_performance') if self.monitoring.iteration_number == 1: dir_tools.createDirectory(evolution_dir) return evolution_dir
def getMonitoringDir(self, iteration_dir): monitoring_dir = path.join(iteration_dir, 'models_performance') dir_tools.createDirectory(monitoring_dir) return monitoring_dir
def createDatasetOutputDirectory(secuml_conf, project, dataset): dir_tools.createDirectory(getDatasetOutputDirectory(secuml_conf, project, dataset))