コード例 #1
0
        public void ApplyMemoryOutput()
        {
            var inputTensor = new TensorProxy()
            {
                shape = new long[] { 2, 5 },
                data  = new Tensor(
                    2,
                    5,
                    new[] { 0.5f, 22.5f, 0.1f, 5f, 1f, 4f, 5f, 6f, 7f, 8f })
            };
            var agentInfos = GetFakeAgentInfos();

            var applier = new MemoryOutputApplier();

            applier.Apply(inputTensor, agentInfos);
            var agents = agentInfos;

            var agent = agents[0] as TestAgent;

            Assert.NotNull(agent);
            var action = agent.GetAction();

            Assert.AreEqual(action.memories[0], 0.5f);
            Assert.AreEqual(action.memories[1], 22.5f);

            agent = agents[1] as TestAgent;
            Assert.NotNull(agent);
            action = agent.GetAction();
            Assert.AreEqual(action.memories[2], 6);
            Assert.AreEqual(action.memories[3], 7);
        }
コード例 #2
0
        public void ApplyMemoryOutput()
        {
            var inputTensor = new Tensor()
            {
                Shape = new long[] { 2, 5 },
                Data  = new float[, ] {
                    { 0.5f, 22.5f, 0.1f, 5f, 1f },
                    { 4f, 5f, 6f, 7f, 8f }
                }
            };
            var agentInfos = GetFakeAgentInfos();

            var applier = new MemoryOutputApplier();

            applier.Apply(inputTensor, agentInfos);
            var agents = agentInfos.Keys.ToList();
            var agent  = agents[0] as TestAgent;
            var action = agent.GetAction();

            Assert.AreEqual(action.memories[0], 0.5f);
            Assert.AreEqual(action.memories[1], 22.5f);
            agent  = agents[1] as TestAgent;
            action = agent.GetAction();
            Assert.AreEqual(action.memories[2], 6);
            Assert.AreEqual(action.memories[3], 7);
        }