Esempio n. 1
0
        public void TensorDot3Dx2DAsEinsteinMatchesTensorDot()
        {
            int n = 6, m = 4, l = 2;
            var x = T.Matrix <float>("x");
            var W = T.Shared(NN.Random.Uniform(-1f, 1f, l, m, n).As <float>(), "W");

            var loss = T.Norm2(T.EinsteinSum(W, x, "lmn,nx->lmx") - T.Dot(W, x));
            var err  = T.Function(input: x, output: loss);

            for (int i = 0; i < 10; ++i)
            {
                AssertArray.IsLessThan(err(NN.Random.Uniform(-1f, 1f, n, 10)), 1e-5);
            }
        }