예제 #1
0
파일: mlapi.py 프로젝트: wgb128/sia-cog
def modellist(name):
    message = "Success"
    code = 200
    result = []
    try:
        service = projectmgr.GetService(name,
                                        constants.ServiceTypes.MachineLearning)
        servicedata = json.loads(service.servicedata)
        modeltype = servicedata["model_type"]
        if modeltype == "mlp":
            models = projectmgr.GetDeepModels(
                name, constants.ServiceTypes.MachineLearning)
            for m in models:
                result.append({
                    "name": m.modelname,
                    "modifiedon": m.modifiedon
                })
        elif modeltype == "general":
            models = scikitlearn.getModels()
            for m in models:
                result.append({"name": m, "modifiedon": datetime.utcnow()})

    except Exception as e:
        code = 500
        message = str(e)

    return jsonify({"statuscode": code, "message": message, "result": result})
예제 #2
0
def Validate(id, name):
    results = {}
    status = "Completed"
    message = "Completed"
    try:
        srvjson = json.loads(projectmgr.GetService(name, "ml").servicedata)

        model_type = srvjson["model_type"]
        pipeline.init(pipeline, name, model_type, id)
        pipelinejson = pipeline.getPipelineData()
        pipeline.Run()

        for p in pipelinejson:
            if p["module"] == "return_result":
                mlist = p["input"]["module_output"]
                for m in mlist:
                    r = pipeline.Output(m)
                    results[m] = json.loads(r)

    except Exception as e:
        results["message"] = pipeline.lastpipeline + ": " + str(e)
        message = str(e)
        status = "Error"

    projectmgr.EndJob(id, status, message, json.dumps(results))
예제 #3
0
파일: utility.py 프로젝트: wgb128/sia-cog
def getServiceJson(srvname, srvpath):
    result = {}
    service = projectmgr.GetService(srvname, srvpath)
    if not service is None:
        result = json.loads(service.servicedata)

    return result
예제 #4
0
파일: siacogapi.py 프로젝트: wgb128/sia-cog
def apilistwithname(srvtype, srvname):
    message = "Success"
    code = 200
    result = []
    try:
        service = projectmgr.GetService(srvtype, srvname)
        if service is None:
            raise Exception("Service API not found")

        result = json.loads(service.servicedata)

    except Exception as e:
        code = 500
        message = str(e)

    return jsonify({"statuscode": code, "message": message, "result": result})
예제 #5
0
def predict(name, text):
    botfolder = "./data/__chatbot/" + name
    service = projectmgr.GetService(name, constants.ServiceTypes.ChatBot)
    botjson = json.loads(service.servicedata)
    bot = getBot(name)
    response = bot.get_response(text.lower())
    result = {
        "confidence": response.confidence,
        "response_text": response.text
    }
    if float(response.confidence) < float(botjson["threshold"]):
        result = {
            "confidence": response.confidence,
            "response_text": botjson["default_response"]
        }
    return result
예제 #6
0
파일: mlapi.py 프로젝트: wgb128/sia-cog
def predict(name):
    message = "Success"
    code = 200
    result = []
    try:
        start = datetime.now()
        data = json.loads(request.data)
        service = projectmgr.GetService(name,
                                        constants.ServiceTypes.MachineLearning)
        servicejson = json.loads(service.servicedata)

        savePrediction = False
        if "save_prediction" in data:
            savePrediction = data['save_prediction']
        result = {}
        if servicejson["data_format"] == "image":
            testfile = data['imagepath']
        elif servicejson["data_format"] == "csv":
            testfile = data['testfile']

        pipeline.init(pipeline, name, servicejson["model_type"])
        predictions = pipeline.Predict(testfile, savePrediction)
        predictions = json.loads(predictions)
        if servicejson["data_format"] == "csv":
            result = predictions["0"]
        else:
            result = predictions

        logmgr.LogPredSuccess(name, constants.ServiceTypes.MachineLearning,
                              start)
    except Exception as e:
        code = 500
        message = str(e)
        logmgr.LogPredError(name, constants.ServiceTypes.MachineLearning,
                            start, message)

    return jsonify({"statuscode": code, "message": message, "result": result})