예제 #1
0
        public void GenerateRecurrentInput()
        {
            var inputTensor = new Tensor()
            {
                Shape = new long[] { 2, 5 }
            };
            var batchSize  = 4;
            var agentInfos = GetFakeAgentInfos();

            var generator = new RecurrentInputGenerator();

            generator.Generate(inputTensor, batchSize, agentInfos);
            Assert.IsNotNull(inputTensor.Data as float[, ]);
            Assert.AreEqual((inputTensor.Data as float[, ])[0, 0], 0);
            Assert.AreEqual((inputTensor.Data as float[, ])[0, 4], 0);
            Assert.AreEqual((inputTensor.Data as float[, ])[1, 0], 1);
            Assert.AreEqual((inputTensor.Data as float[, ])[1, 4], 0);
        }
        public void GenerateRecurrentInput()
        {
            var inputTensor = new TensorProxy()
            {
                Shape = new long[] { 2, 5 }
            };
            var batchSize  = 4;
            var agentInfos = GetFakeAgentInfos();
            var alloc      = new TensorCachingAllocator();
            var generator  = new RecurrentInputGenerator(alloc);

            generator.Generate(inputTensor, batchSize, agentInfos);
            Assert.IsNotNull(inputTensor.Data);
            Assert.AreEqual(inputTensor.Data[0, 0], 0);
            Assert.AreEqual(inputTensor.Data[0, 4], 0);
            Assert.AreEqual(inputTensor.Data[1, 0], 1);
            Assert.AreEqual(inputTensor.Data[1, 4], 0);
            alloc.Dispose();
        }