コード例 #1
0
ファイル: test_matrix.py プロジェクト: yyht/pygraphblas
def test_matrix_gb_type():
    v = Matrix.from_type(bool, 10)
    assert v.gb_type == lib.GrB_BOOL
    v = Matrix.from_type(int, 10)
    assert v.gb_type == lib.GrB_INT64
    v = Matrix.from_type(float, 10)
    assert v.gb_type == lib.GrB_FP64
コード例 #2
0
ファイル: test_matrix.py プロジェクト: yyht/pygraphblas
def test_matrix_create_from_type():
    m = Matrix.from_type(int)
    assert m.nrows == 0
    assert m.ncols == 0
    assert m.nvals == 0
    m = Matrix.from_type(int, 10, 10)
    assert m.nrows == 10
    assert m.ncols == 10
    assert m.nvals == 0
コード例 #3
0
ファイル: dnn.py プロジェクト: neuroradiology/pygraphblas
def generate_bias():
    for i in range(nneurons):
        bias = Matrix.from_type(lib.GrB_FP32, nneurons, nneurons)
        for i in range(nneurons):
            bias[i, i] = 0.3
        bias.nvals  # causes async completion
        yield bias
コード例 #4
0
ファイル: test_matrix.py プロジェクト: yyht/pygraphblas
def test_matrix_assign():

    m = Matrix.from_lists(list(range(3)), list(range(3)), list(range(3)))
    assert m.nvals == 3

    m[2] = Vector.from_list(list(repeat(6, 3)))
    assert m.nvals == 5
    assert m == Matrix.from_lists([0, 1, 2, 2, 2], [0, 1, 0, 1, 2],
                                  [0, 1, 6, 6, 6], 3, 3)

    m = Matrix.from_lists(list(range(3)), list(range(3)), list(range(3)))
    assert m.nvals == 3

    m[2, :] = Vector.from_list(list(repeat(6, 3)))
    assert m.nvals == 5
    assert m == Matrix.from_lists([0, 1, 2, 2, 2], [0, 1, 0, 1, 2],
                                  [0, 1, 6, 6, 6], 3, 3)

    m = Matrix.from_lists(list(range(3)), list(range(3)), list(range(3)))

    assert m.nvals == 3
    m[:, 2] = Vector.from_list(list(repeat(6, 3)))
    assert m.nvals == 5
    assert m == Matrix.from_lists([0, 1, 0, 1, 2], [0, 1, 2, 2, 2],
                                  [0, 1, 6, 6, 6], 3, 3)

    m = Matrix.from_type(int, 3, 3)
    assert m.nvals == 0
    n = Matrix.from_lists([0, 1, 2], [0, 1, 2], [0, 1, 2])
    m[:, :] = n
    assert m == n
コード例 #5
0
ファイル: test_matrix.py プロジェクト: yyht/pygraphblas
def test_matrix_get_set_element():
    m = Matrix.from_type(int, 10, 10)
    m[3, 3] = 3
    assert m.nrows == 10
    assert m.ncols == 10
    assert m.nvals == 1
    assert m[3, 3] == 3
コード例 #6
0
ファイル: test_matrix.py プロジェクト: yyht/pygraphblas
def test_matrix_create_dup():
    m = Matrix.from_type(int, 10, 10)
    m[3, 3] = 3
    n = Matrix.dup(m)
    assert n.nrows == 10
    assert n.ncols == 10
    assert n.nvals == 1
    assert n[3, 3] == 3
コード例 #7
0
ファイル: test_matrix.py プロジェクト: yyht/pygraphblas
def test_matrix_reduce_float():
    v = Matrix.from_type(float, 10, 10)
    r = v.reduce_float()
    assert type(r) is float
    assert r == 0.0
    v[3, 3] = 3.3
    v[4, 4] = 4.4
    assert v.reduce_float() == 7.7
コード例 #8
0
ファイル: test_matrix.py プロジェクト: yyht/pygraphblas
def test_matrix_reduce_int():
    v = Matrix.from_type(int, 10, 10)
    r = v.reduce_int()
    assert type(r) is int
    assert r == 0
    v[3, 3] = 3
    v[4, 4] = 4
    assert v.reduce_int() == 7
コード例 #9
0
def generate_bias(neurons, nlayers):
    result = []
    for i in range(nlayers):
        bias = Matrix.from_type(lib.GrB_FP32, neurons, neurons)
        for i in range(neurons):
            bias[i,i] = BIAS[neurons]
        bias.nvals # causes async completion
        result.append(bias)
    return result
コード例 #10
0
ファイル: rdflib.py プロジェクト: szarnyasg/pygraphblas
    def __init__(self, configuration=None, identifier=None, weight_type=bool):
        super(Memory, self).__init__(configuration)
        self.identifier = identifier

        self._weight_type = weight_type
        self._max_index = 16
        self._node_count = 0

        self._node_id = {}  # {node -> id}
        self._id_node = {}  # {id -> node}
        self._edge_graph = defaultdict(lambda: Matrix.from_type(
            self._weight_type, self._max_index, self._max_index))
コード例 #11
0
ファイル: dnn.py プロジェクト: neuroradiology/pygraphblas
def dnn(W, Bias, Y0):
    Y = Matrix.from_type(Y0.gb_type, nfeatures, nneurons)

    for layer, (w, b) in enumerate(zip(W, Bias)):
        with plus_times_fp32:
            print('Y @= w')
            (Y0 if layer == 0 else Y).mxm(w, out=Y)
        with plus_plus_fp32:
            print('Y @= b')
            Y @= b
        Y.select(lib.GxB_GT_ZERO, out=Y)
        Y.apply(lib.LAGraph_YMAX_FP32, out=Y)
    return Y
コード例 #12
0
ファイル: rdf.py プロジェクト: oleksandr-pavlyk/pygraphblas
    def __init__(self, weight_type=bool):
        self._weight_type = weight_type
        self._max_index = 16
        self._node_count = 0

        self._node_id = {}  # {node -> id}
        self._id_node = {}  # {id -> node}
        self._edge_graph = defaultdict(
            lambda: Matrix.from_type(
                self._weight_type,
                self._max_index,
                self._max_index)
        )
コード例 #13
0
ファイル: test_matrix.py プロジェクト: yyht/pygraphblas
def test_matrix_reduce_bool():
    v = Matrix.from_type(bool, 10, 10)
    assert not v.reduce_bool()
    v[3, 3] = True
    assert v.reduce_bool()