Example #1
0
def infer(params, info, pre_res, **kwargs):
    res = params_handler(params, info, pre_res)
    embeds = dh.get_tagonehot(
        os.path.join(info["network_folder"]["name"],
                     info["network_folder"]["mix_edge"]))
    dh.save_as_pickle(embeds, res["entity_embedding_path"])

    return res
Example #2
0
def infer(params, info, pre_res, **kwargs):
    res, G_entity, G_tag, features = params_handler(params, info, pre_res)

    model_handler = __import__("model." + params["embedding_model"]["func"],
                               fromlist=["model"])
    model = model_handler.TagConditionedEmbedding(params["embedding_model"],
                                                  features)
    bs_handler = __import__("batch_strategy." + params["batch_strategy"],
                            fromlist=["batch_strategy"])
    bs = bs_handler.BatchStrategy(G_tag, G_entity, params)
    embeds = model.infer(bs.get_all(), params["embedding_model"]["model_path"])
    dh.save_as_pickle(embeds, res["entity_embedding_path"])

    return res
Example #3
0
def optimize(params, info, pre_res, **kwargs):
    #pdb.set_trace()
    res, G_entity, G_tag = params_handler(params, info, pre_res)

    # get features
    gf_handler = __import__("get_features." + params["get_features"]["func"], fromlist = ["sget_features"])

    # if "dim" not in params["get_features"]:
    #    params["get_features"]["dim"] = params["tag_num"]

    features = gf_handler.get_features(params["get_features"], info)  # return numpy
    
    if "dim" not in params["get_features"]:
        params["get_features"]["dim"] = features.shape[1]

    # model init
    print ("[+] The embedding model is model.%s" % (params["embedding_model"]["func"]))
    info["logger"].info("[+] The embedding model is model.%s" % (params["embedding_model"]["func"]))

    params["embedding_model"]["aggregator"]["feature_num"] = params["get_features"]["dim"]

    model_handler = __import__("model." + params["embedding_model"]["func"], fromlist=["model"])
    model = model_handler.TagConditionedEmbedding(params["embedding_model"], features)

    # batch generator
    print ("[+] The batch strategy is batch_strategy.%s" % (params["batch_strategy"]))
    info["logger"].info("[+] The batch strategy is batch_strategy.%s\n" % (params["batch_strategy"]))
    bs_handler = __import__("batch_strategy." + params["batch_strategy"], fromlist=["batch_strategy"])
    bs = bs_handler.BatchStrategy(G_tag, G_entity, params)

    # train model
    res["model_path"] = model.train(bs.get_batch)
    
    if info["debug_level"] == "DEBUG":
        pdb.set_trace()
    # infer model
    embeds = model.infer(bs.get_all(), res["model_path"])
    dh.save_as_pickle(embeds, res["entity_embedding_path"])
    print ("[+] The entity embedding result is saved at %s" % (res["entity_embedding_path"]))
    info["logger"].info("[+] The entity embedding result is saved at %s" % (res["entity_embedding_path"]))

    return res