def runCurrentExperiment(self, expType="Standard", isLoad=False): """ Creates an experiment runner for the current model and starts running the model in a seperate thread """ if self.experimentRunner: self.stopCurrentExperiment() self.datasets[self.currentDataset].rewind() if isLoad: modelInfo = json.loads(ExperimentDB.get(self.name)['metadata']) modelDescriptionText = modelInfo['modelDescriptionText'] subDescriptionText = modelInfo['subDescriptionText'] self.loadDescriptionFile(modelDescriptionText, subDescriptionText) else: data = dict( modelDescriptionText=self.descriptionText, subDescriptionText=self.subDescriptionText ) ExperimentDB.add(self.name, data) self.__currentModelData = [] if expType == "Standard": self.experimentRunner = ExperimentRunner( name = self.name, modelDescription=self.models[self.currentModel], control= self.control, dataset=self.datasets[self.currentDataset]) elif expType == "Anomaly": self.experimentRunner = AnomalyRunner( name = self.name, modelDescription=self.models[self.currentModel], control= self.control, dataset=self.datasets[self.currentDataset]) if isLoad: self.experimentRunner.load() else: self.experimentRunner.run() return self.getExperimentInfo(self.models[self.currentModel])