Exemple #1
0
def setup_cfg(nid, role, job_id, method, table_name=None, y_id=-1, model_name=None):
    cfg = base_cfg.copy()
    cfg['local'] = {'role': role, 'party_id': ROLES[role]}
    cfg['role'] = {key: [value] for key, value in ROLES.items()}
    cfg['WorkFlowParam']['method'] = method
    data_namespace = gen_data_namespace(nid)
    if table_name is not None:
        cfg['WorkFlowParam']['data_input_table'] = table_name
        cfg['WorkFlowParam']['train_input_table'] = table_name
        cfg['WorkFlowParam']['predict_input_table'] = table_name
        cfg['WorkFlowParam']['predict_output_table'] = role + '_predict_table_' + job_id
        cfg['WorkFlowParam']['evaluation_output_table'] = role + '_evaluation_table_' + job_id
        cfg['WorkFlowParam']['train_input_namespace'] = data_namespace
        cfg['WorkFlowParam']['predict_input_namespace'] = data_namespace
        cfg['WorkFlowParam']['data_input_namespace'] = data_namespace
    if model_name is not None:
        cfg['WorkFlowParam']['model_table'] = model_name
        cfg['WorkFlowParam']['model_namespace'] = gen_model_namespace(nid)
    cfg['DataIOParam']['with_label'] = (y_id >= 0)
    cfg['DataIOParam']['label_idx'] = y_id
    cfg['DataIOParam']['label_type'] = 'int'

    # if role == consts.GUEST:
    #     if method == 'predict':
    #         cfg['DataIOParam']['with_label'] = False
    #     else:
    #         cfg['DataIOParam']['with_label'] = True
    #     cfg['DataIOParam']['missing_fill'] = True
    #     cfg['DataIOParam']['label_idx'] = 0
    #     cfg['DataIOParam']['label_type'] = 'int'
    return json.loads(json.dumps(cfg))
Exemple #2
0
def upload_csv(nid, path, table_name):
    eggroll_init()
    # df = pd.read_csv(path, index_col=id_col)
    # if label_col is not None:
    #     df[label_col] = df[label_col].astype('bool')
    # kv_data = [(idx, ','.join(row.astype(str).values)) for idx, row in df.iterrows()]
    kv_data = csv_read_data(path)
    namespace = gen_data_namespace(nid)
    return save_data(kv_data, name=table_name, namespace=namespace, error_if_exist=True)
Exemple #3
0
def setup_cfg_json(nid, role, job_id, table, roles):
    party_id = ROLES[role]
    cfg = base_cfg.copy()
    cfg['local'] = {'role': role, 'party_id': party_id}
    cfg['role'] = {key: [ROLES[key]] for key in (consts.GUEST, consts.HOST)}
    cfg['WorkFlowParam']['data_input_table'] = table
    cfg['WorkFlowParam']['data_input_namespace'] = gen_data_namespace(nid)
    cfg['WorkFlowParam'][
        'intersect_data_output_table'] = role + '_intersect_output_' + job_id
    return json.loads(json.dumps(cfg))
Exemple #4
0
def show_table(nid, table_name):
    eggroll_init()
    table = eggroll.table(table_name, gen_data_namespace(nid))
    data = list(table.collect())
    print(data)
Exemple #5
0
def del_table(nid, name):
    eggroll_init()
    eggroll.cleanup(name, gen_data_namespace(nid), True)
Exemple #6
0
def list_tables(nid):
    return list_files(gen_data_namespace(nid))