예제 #1
0
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)
예제 #2
0
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)
예제 #3
0
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