コード例 #1
0
def load_model_and_weights(args, mode, appcfg):
    log.debug("---------------------------->")
    from falcon.arch import Model as M

    archcfg = M.get_archcfg(appcfg)
    log.debug("archcfg: {}".format(archcfg))
    cmdcfg = archcfg

    # modelcfg_path = os.path.join(appcfg.PATHS.AI_MODEL_CFG_PATH, cmdcfg.model_info)
    modelcfg_path = apputil.get_abs_path(appcfg, cmdcfg, 'AI_MODEL_CFG_PATH')
    log.info("modelcfg_path: {}".format(modelcfg_path))
    modelcfg = M.get_modelcfg(modelcfg_path)

    log.info("modelcfg: {}".format(modelcfg))

    num_classes_model = apputil.get_num_classes(modelcfg)
    name = modelcfg.name

    cmdcfg.name = name
    cmdcfg.config.NAME = name
    cmdcfg.config.NUM_CLASSES = num_classes_model

    dnnmod = M.get_module(cmdcfg.dnnarch)
    load_model_and_weights = M.get_module_fn(dnnmod, "load_model_and_weights")
    model = load_model_and_weights(args, mode, cmdcfg, modelcfg, appcfg)

    status = True
    return status
コード例 #2
0
def test_load_model(args, mode, appcfg):
    log.debug("---------------------------->")
    from falcon.arch import Model as M

    archcfg = M.get_archcfg(appcfg)
    log.debug("archcfg: {}".format(archcfg))
    cmdcfg = archcfg

    modelcfg_path = os.path.join(appcfg.PATHS.AI_MODEL_CFG_PATH,
                                 cmdcfg.model_info)
    log.info("modelcfg_path: {}".format(modelcfg_path))
    modelcfg = M.get_modelcfg(modelcfg_path)
    class_names = apputil.get_class_names(modelcfg)
    log.debug("class_names: {}".format(class_names))

    num_classes = len(class_names)
    name = modelcfg.name

    cmdcfg.name = name
    cmdcfg.config.NAME = name
    cmdcfg.config.NUM_CLASSES = num_classes

    dnnmod = M.get_module(cmdcfg.dnnarch)

    weights_path = apputil.get_abs_path(appcfg, modelcfg, 'AI_WEIGHTS_PATH')
    cmdcfg['weights_path'] = weights_path

    load_model_and_weights = M.get_module_fn(dnnmod, "load_model_and_weights")
    model = load_model_and_weights(mode, cmdcfg, appcfg)

    log.debug("model: {}".format(model))

    # modelsummary_path = os.path.join(appcfg.PATHS.AI_LOGS, name+"-summary.txt")
    # log.debug("modelsummary_path: {}".format(modelsummary_path))

    # # msummary = model.keras_model.summary()
    # # log.debug("model.keras_model.summary(): {}".format(msummary))
    # # with open(modelsummary_path, 'w') as fw:
    # #   fw.write(msummary)

    return
コード例 #3
0
def load_and_display(args, mode, appcfg):
    log.debug("---------------------------->")
    from falcon.arch import Model as M
    from importlib import import_module

    datacfg = M.get_datacfg(appcfg)
    log.debug("datacfg: {}".format(datacfg))
    datamod = import_module(datacfg.dataclass)
    datamodcls = getattr(datamod, datacfg.dataclass)
    dataset = datamodcls(datacfg.name)

    subset = args.eval_on
    log.debug("subset: {}".format(subset))

    # total_img, total_annotation, total_classes = dataset.load_data(appcfg, datacfg, subset)
    # log.debug("total_img, total_annotation, total_classes: {}, {}, {}".format(total_img, total_annotation, total_classes))

    dataset, num_classes, num_images, class_names, total_stats, total_verify = M.get_dataset_instance(
        dataset, appcfg, datacfg, subset)

    # colors = viz.random_colors(len(class_names))
    # log.debug("len(colors), colors: {},{}".format(len(colors), colors))

    log.info("class_names: {}".format(class_names))
    log.info("len(class_names): {}".format(len(class_names)))
    log.info("num_classes: {}".format(num_classes))
    log.info("num_images: {}".format(num_images))

    name = dataset.name
    log.info("dataset.name: {}".format(name))
    # datacfg.name = name
    # datacfg.classes = class_names
    # datacfg.num_classes = num_classes

    # # log.debug("dataset: {}".format(vars(dataset)))
    # log.debug("len(dataset.image_info): {}".format(len(dataset.image_info)))
    # log.debug("len(dataset.image_ids): {}".format(len(dataset.image_ids)))

    return
コード例 #4
0
def setAndLoadModel(args):
    print("Inside setAndLoadModel::")
    print("args.ORG_NAME - args.ID - args.REL_NUM:: {} {} {}".format(
        args.ORG_NAME, args.ID, args.REL_NUM))

    # get model details
    modelDtls = Model.getDetails(args)

    if modelDtls is not None:
        app.config["MODEL_DTLS"] = modelDtls
        print("setAndLoadModel:Model Details: {}".format(
            app.config["MODEL_DTLS"]))

        args.DNNARCH = app.config["MODEL_DTLS"]["DNNARCH"]
        ## TBD Null check doe DNN_MODULE
        app.config["DNN_MODULE"] = Util.getDnnModule(
            args)  ## "pixel.faster_rcnn_end2end"
        # load model
        app.config["NET"] = Model.load(app.config["DNN_MODULE"],
                                       app.config["MODEL_DTLS"], args)
        return True

    return False
コード例 #5
0
def detect_in_image(filename):
    t1 = time.time()

    print('detect_in_image: filename: {}'.format(filename))

    all_rows_for_all_classes = Model.exec_prediction(
        app.config["DNN_MODULE"], app.config["MODEL_DTLS"], app.config["NET"],
        [filename], appcfg.UPLOAD_FOLDER, appcfg.LOG_FOLDER, appcfg)

    t2 = time.time()
    time_taken = (t2 - t1)
    print('Total time taken in detect_in_image: %f seconds' % (time_taken))

    return all_rows_for_all_classes
コード例 #6
0
def inspect_annon(args, mode, appcfg):
    log.debug("---------------------------->")
    from falcon.arch import Model as M
    M.inspect_annon(args, mode, appcfg)
コード例 #7
0
def viz_annon(args, mode, appcfg):
    log.debug("---------------------------->")
    from falcon.arch import Model as M
    M.viz_annon(args, mode, appcfg)
コード例 #8
0
def train(args, mode, appcfg):
    log.debug("---------------------------->")
    from falcon.arch import Model as M
    M.train(args, mode, appcfg)