Beispiel #1
0
        public void TestNodeGroup()
        {
            NodeGroup group = null;
            Function  n     = null;

            try
            {
                group = NodeGroup.EnterNewGroup("test");

                n = CNTKLib.InputVariable(new int[] { 2 }, DataType.Float);
                NodeGroup.Current.Add(n);

                n = CNTKLib.ReLU(n);
                NodeGroup.Current.Add(n);
            }
            finally
            {
                NodeGroup.LeaveGroup();
            }

            var g = NodeGroup.Groups.ToArray();

            Assert.AreEqual(1, g.Length);
            Assert.AreEqual(group, g[0]);

            var nodes = g[0].Nodes.ToArray();

            Assert.AreEqual(2, nodes.Length);
            Assert.AreEqual(n.Inputs[0].Uid, nodes[0].Uid);
            Assert.AreEqual(n.RootFunction.Uid, nodes[1].Uid);

            var f = NodeGroup.FindGroup(n.RootFunction.Uid);

            Assert.AreEqual("test", f.Name);
        }