protected static void InitializeJurassic() { if (jurassicScriptEngine == null) { jurassicScriptEngine = new Jurassic.ScriptEngine(); testingContext = new TestingContext(jurassicScriptEngine); jurassicScriptEngine.SetGlobalValue("testingContext", testingContext); } testingContext.Clear(); }
void _TestNode(INode node, IMatrix forwardInput, IMatrix expectedForwardOutput, IMatrix backwardInput, IMatrix expectedBackwardOutput) { var context = new TestingContext(_cpu); var matrix = forwardInput.AsIndexable(); context.Data = matrix.AsGraphData(); node.ExecuteForward(context, 0); var output = context.Forward.First(); var outputMatrix = output.Item1.Data.GetMatrix(); FloatingPointHelper.AssertEqual(outputMatrix.AsIndexable(), expectedForwardOutput.AsIndexable()); output.Item2.Backward(null, backwardInput.Clone().AsGraphData(), context, new[] { node }); var bpOutput = context.Backward.First().Item1.GetMatrix(); FloatingPointHelper.AssertEqual(bpOutput.AsIndexable(), expectedBackwardOutput.AsIndexable()); }