Esempio n. 1
0
    cpuW = np.ones(dimW, dtype=np.float32)
else:
    cpuI = np.random.uniform(-1.0, 1.0, dimI).astype(dtype).astype(np.float32)
    cpuE = np.random.uniform(-1.0, 1.0, dimO).astype(dtype).astype(np.float32)
    cpuW = np.random.uniform(-1.0, 1.0, dimW).astype(dtype).astype(np.float32)

devI = ng.array(cpuI, dtype=dtype)
devE = ng.array(cpuE, dtype=dtype)
devW = ng.array(cpuW, dtype=dtype)

devO = ng.empty(dimO, dtype=dtype)
devB = ng.empty(dimI, dtype=dtype)
devU = ng.empty(dimW, dtype=dtype)

if Nin:
    ng.batched_dot(devW, devI, devO, repeat=repeat, size=size)  # fprop
    ng.batched_dot(devW.T, devE, devB, repeat=repeat, size=size)  # bprop
    ng.batched_dot(devE, devI.T, devU, repeat=repeat, size=size)  # update
else:
    ng.batched_dot(devI, devW.T, devO, repeat=repeat, size=size)  # fprop
    ng.batched_dot(devE, devW, devB, repeat=repeat, size=size)  # bprop
    ng.batched_dot(devE.T, devI, devU, repeat=repeat, size=size)  # update

if cpu:

    cpuO = np.empty(dimO, dtype=np.float32)
    cpuB = np.empty(dimI, dtype=np.float32)
    cpuU = np.zeros(dimW, dtype=np.float32)

    if Nin:
        for i in range(X):
Esempio n. 2
0
    cpuW = np.ones(dimW, dtype=np.float32)
else:
    cpuI = np.random.uniform(-1.0, 1.0, dimI).astype(dtype).astype(np.float32)
    cpuE = np.random.uniform(-1.0, 1.0, dimO).astype(dtype).astype(np.float32)
    cpuW = np.random.uniform(-1.0, 1.0, dimW).astype(dtype).astype(np.float32)

devI = ng.array(cpuI, dtype=dtype)
devE = ng.array(cpuE, dtype=dtype)
devW = ng.array(cpuW, dtype=dtype)

devO = ng.empty(dimO, dtype=dtype)
devB = ng.empty(dimI, dtype=dtype)
devU = ng.empty(dimW, dtype=dtype)

if Nin:
    ng.batched_dot(devW,   devI,   devO, repeat=repeat, size=size) # fprop
    ng.batched_dot(devW.T, devE,   devB, repeat=repeat, size=size) # bprop
    ng.batched_dot(devE,   devI.T, devU, repeat=repeat, size=size) # update
else:
    ng.batched_dot(devI,   devW.T, devO, repeat=repeat, size=size) # fprop
    ng.batched_dot(devE,   devW,   devB, repeat=repeat, size=size) # bprop
    ng.batched_dot(devE.T, devI,   devU, repeat=repeat, size=size) # update

if cpu:

    cpuO = np.empty(dimO, dtype=np.float32)
    cpuB = np.empty(dimI, dtype=np.float32)
    cpuU = np.zeros(dimW, dtype=np.float32)

    if Nin:
        for i in range(X):