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); }
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); }