コード例 #1
0
ファイル: test_dag.py プロジェクト: vishalbelsare/py-bbn
def test_csv_serde():
    """
    Tests CSV serde.
    :return: None.
    """
    try:
        lhs = BbnUtil.get_huang_graph()
        Bbn.to_csv(lhs, 'huang.csv')

        rhs = Bbn.from_csv('huang.csv')

        assert len(lhs.get_nodes()) == len(rhs.get_nodes())
        assert len(lhs.get_edges()) == len(rhs.get_edges())

        lhs_nodes = set([str(node) for node in lhs.get_nodes()])
        rhs_nodes = set([str(node) for node in rhs.get_nodes()])
        for n in lhs_nodes:
            assert n in rhs_nodes

        lhs_edges = set([str(edge) for edge in lhs.get_edges()])
        rhs_edges = set([str(edge) for edge in rhs.get_edges()])
        for e in lhs_edges:
            assert e in rhs_edges
    except:
        assert False
    finally:
        import os

        try:
            os.remove('huang.csv')
        except:
            pass
コード例 #2
0
ファイル: query.py プロジェクト: vishalbelsare/py-bbn
def get_bbn(fpath):
    with open(fpath, 'r') as f:
        start = time.time()
        bbn = Bbn.from_dict(json.loads(f.read())) if fpath.endswith('.json') else Bbn.from_csv(fpath)
        stop = time.time()
        diff = stop - start
        print(f'{diff:.5f} : load time')

        start = time.time()
        jt = InferenceController.apply(bbn)
        stop = time.time()
        diff = stop - start
        print(f'{diff:.5f} : inference time')

        return bbn, jt
コード例 #3
0
from pybbn.graph.dag import Bbn

# deserialize
bbn = Bbn.from_csv('simple-bbn.csv')