def testBaselineScoreLoading(self): """Tests that we fail apropriately if baseline scores are absent.""" testRunner = Runner(dataDir=None, resultsDir="", labelPath=None, profilesPath=None, thresholdPath=None) # Should fail due to resultsDir/baseline not being a directory. with self.assertRaises(IOError): testRunner.normalize() tmpResultsDir = self._createTemporaryResultsDir() os.makedirs(os.path.join(tmpResultsDir, "baseline")) testRunner2 = createRunner(tmpResultsDir, "standard") # Should fail due to resultsDir/baseline being empty. with self.assertRaises(IOError): testRunner2.normalize()
def main(args): root = os.path.dirname(os.path.realpath(__file__)) numCPUs = int(args.numCPUs) if args.numCPUs is not None else None dataDir = os.path.join(root, args.dataDir) windowsFile = os.path.join(root, args.windowsFile) resultsDir = os.path.join(root, args.resultsDir) profilesFile = os.path.join(root, args.profilesFile) thresholdsFile = os.path.join(root, args.thresholdsFile) runner = Runner(dataDir=dataDir, labelPath=windowsFile, resultsDir=resultsDir, profilesPath=profilesFile, thresholdPath=thresholdsFile, numCPUs=numCPUs) runner.initialize() if args.detect: detectorConstructors = getDetectorClassConstructors(args.detectors) print("Starting Evaluation!!\n") start_time = datetime.datetime.now() runner.detect(detectorConstructors) delta = datetime.datetime.now() - start_time print("Total time for classification in milliseconds " + str(int(delta.total_seconds() * 1000)) + '\n') #print("Total time for classification: " + str(delta) + '\n') if args.optimize: runner.optimize(args.detectors) if args.score: with open(args.thresholdsFile) as thresholdConfigFile: detectorThresholds = json.load(thresholdConfigFile) runner.score(args.detectors, detectorThresholds) if args.normalize: try: runner.normalize() except AttributeError("Error: you must run the scoring step with the " "normalization step."): return
def testNullScoreLoading(self): """Tests that we fail apropriately if null detector scores are absent.""" testRunner = Runner(dataDir=None, resultsDir='', labelPath=None, profilesPath=None, thresholdPath=None) # Should fail due to resultsDir/null not being a directory. with self.assertRaises(IOError): testRunner.normalize() tmpResultsDir = self._createTemporaryResultsDir() os.makedirs(os.path.join(tmpResultsDir,'null')) testRunner2 = createRunner(tmpResultsDir, 'standard') # Should fail due to resultsDir/null being empty. with self.assertRaises(IOError): testRunner2.normalize()
def testBaselineScoreLoading(self): """Tests that we fail apropriately if baseline scores are absent.""" testRunner = Runner(dataDir=None, resultsDir='', labelPath=None, profilesPath=None, thresholdPath=None) # Should fail due to resultsDir/baseline not being a directory. with self.assertRaises(IOError): testRunner.normalize() tmpResultsDir = self._createTemporaryResultsDir() os.makedirs(os.path.join(tmpResultsDir, 'baseline')) testRunner2 = createRunner(tmpResultsDir, 'standard') # Should fail due to resultsDir/baseline being empty. with self.assertRaises(IOError): testRunner2.normalize()
def main(args): root = os.path.dirname(os.path.realpath(__file__)) numCPUs = int(args.numCPUs) if args.numCPUs is not None else None dataDir = os.path.join(root, args.dataDir) labelFile = os.path.join(root, args.labelFile) resultsDir = os.path.join(root, args.resultsDir) profilesFile = os.path.join(root, args.profilesFile) thresholdsFile = os.path.join(root, args.thresholdsFile) runner = Runner(dataDir=dataDir, labelPath=labelFile, resultsDir=resultsDir, profilesPath=profilesFile, thresholdPath=thresholdsFile, numCPUs=numCPUs) runner.initialize() if args.detect: detectorConstructors = getDetectorClassConstructors( args.detectors[0].split(',')) runner.detect(detectorConstructors) if args.optimize: runner.optimize(args.detectors) if args.score: with open(args.thresholdsFile) as thresholdConfigFile: detectorThresholds = json.load(thresholdConfigFile) runner.score(args.detectors, detectorThresholds) if args.normalize: try: runner.normalize() except AttributeError("Error: you must run the scoring step with the " "normalization step."): return
def main(args): numCPUs = int(args.numCPUs) if args.numCPUs is not None else None dataDir = args.dataDir windowsFile = args.windowsFile resultsDir = args.resultsDir profilesFile = args.profilesFile thresholdsFile = args.thresholdsFile runner = Runner(dataDir=dataDir, labelPath=windowsFile, resultsDir=resultsDir, profilesPath=profilesFile, thresholdPath=thresholdsFile, numCPUs=numCPUs) runner.initialize() if args.detect: detectorConstructors = getDetectorClassConstructors(args.detectors) runner.detect(detectorConstructors) if args.optimize: runner.optimize(args.detectors) if args.score: with open(args.thresholdsFile) as thresholdConfigFile: detectorThresholds = json.load(thresholdConfigFile) runner.score(args.detectors, detectorThresholds) if args.normalize: try: runner.normalize() except AttributeError("Error: you must run the scoring step with the " "normalization step."): return