Linear

linear operator

struct Linear (
T
alias Storage
) if (
isFloatingPoint!T
) {
Variable!(T, 2, Storage) weight;
Variable!(T, 1, Storage) bias;
int nInput;
int nOutput;
bool useBias;
}

Examples

1 import grain.testing;
2 import grain.utility;
3 import numir;
4 import mir.ndslice;
5 
6 auto f = Linear!(float, HostStorage)(2, 3);
7 auto x = uniform!float(2, 2).slice.variable(true);
8 auto y = f(x);
9 auto gy = uniform!float(y.shape.castArray!size_t).slice.variable;
10 gradCheckChain!f(x, gy, 1e-3, 5e-2, 5e-2);

Meta