def evaluation(): uniquemodelid = get_request_value('uniqueid') modeldir = storage.get_model_dir('dirhash') minscore = get_request_value('minscore', pattern='[^0-9.$]') maxdeviation = get_request_value('maxdeviation', pattern='[^0-9.$]') niterations = get_request_value('niterations', pattern='[^0-9$]') datasetpath = get_file_path(storage.get_localbasedir(), 'dataset') trainedmodeldirhash = get_request_value('trainedmodeldirhash', exception=False) if trainedmodeldirhash is not False: # The trained model dir in the server is namespaced by uniquemodelid # and the trainedmodeldirhash which determines where should the results # be stored. trainedmodeldir = storage.get_model_dir('trainedmodeldirhash', fetch_model=True) else: trainedmodeldir = False classifier = estimator.Classifier(uniquemodelid, modeldir, datasetpath) result = classifier.evaluate_dataset(datasetpath, float(minscore), float(maxdeviation), int(niterations), trainedmodeldir) return json.dumps(result)
def prediction(): uniquemodelid = get_request_value('uniqueid') modeldir = storage.get_model_dir('dirhash') datasetpath = get_file_path(storage.get_localbasedir(), 'dataset') classifier = estimator.Classifier(uniquemodelid, modeldir, datasetpath) result = classifier.predict_dataset(datasetpath) return json.dumps(result)
def import_model(): uniquemodelid = get_request_value('uniqueid') modeldir = storage.get_model_dir('dirhash') importzippath = get_file_path(storage.get_localbasedir(), 'importzip') with zipfile.ZipFile(importzippath, 'r') as zipobject: importtempdir = tempfile.TemporaryDirectory() zipobject.extractall(importtempdir.name) classifier = estimator.Classifier(uniquemodelid, modeldir) classifier.import_classifier(importtempdir.name) return 'Ok', 200