コード例 #1
0
from fibertree import Tensor

print("----------------------------------------")
print("    Convolution 1-D Input Stationary")
print("----------------------------------------")
print("")

data_dir = "../../data"

w = Tensor.fromYAMLfile(os.path.join(data_dir, "conv-weights-a.yaml"))
i = Tensor.fromYAMLfile(os.path.join(data_dir, "conv-activations-a.yaml"))
o = Tensor(rank_ids=["Q"])

w.print("W Tensor")
i.print("I Tensor")
o.print("O Tensor")

w_r = w.getRoot()
i_h = i.getRoot()
o_q = o.getRoot()

W = w_r.maxCoord() + 1
I = i_h.maxCoord() + 1
Q = I - W + 1

w_r.print("W Tensor - R rank - size=%s" % W)
i_h.print("I Tensor - H rank - size=%s" % I)
o_q.print("O Tensor - Q rank - size=%s" % I)

print("Convolution")
コード例 #2
0
print("--------------------------------------")
print("      C-stationary spMspV")
print("--------------------------------------")
print("")

data_dir = "../../data"

a = Tensor.fromYAMLfile(os.path.join(data_dir, "spMspV-a.yaml"))
b = Tensor.fromYAMLfile(os.path.join(data_dir, "spMspV-b.yaml"))

z = Tensor(rank_ids=["M"])

a.print("A Tensor")
b.print("B Tensor")
z.print("Z Tensor")

a_m = a.getRoot()
b_k = b.getRoot()
z_m = z.getRoot()

a_m.print("A Tensor - Rank M")
b_k.print("B Tensor - Rank K")
z_m.print("Z Tensor - Rank M")

for m_coord, (z_ref, a_k) in (z_m << a_m):
    for k_coord, (a_val, b_val) in (a_k & b_k):
        z_ref += a_val * b_val  # reducing a scalar

z.print("\nZ Tensor")
コード例 #3
0
#!/usr/bin/python3

import os
import argparse

from fibertree import Tensor, TensorImage

data_dir = "../examples/data"
example_file = os.path.join(data_dir, "draw-a.yaml")

parser = argparse.ArgumentParser(description='Display a tensor')
parser.add_argument("tensorfile", nargs="?", default=example_file)
args = parser.parse_args()

filename = args.tensorfile

a = Tensor(filename)
a.print(filename)

i = TensorImage(a)
i.show()