Example #1
0
        public void MotionSequenceのシリアライズ()
        {
            var a = new MotionTarget(0.0f, new List <float> {
                0.0f, 1.0f, 2.0f
            });
            var b = new MotionTarget(1.0f, new List <float> {
                0.0f, 2.0f, 4.0f
            });

            var src = new MotionSequence(new List <MotionTarget> {
                a, b
            });
            var dst = new MotionSequence(MotionGeneratorSerialization.DeepClone(src.Save()));

            Assert.AreEqual(src.Sequences.Length, dst.Sequences.Length);
            for (int n = 0; n < src.Sequences.Length; ++n)
            {
                var s = src[n];
                var d = dst[n];
                Assert.AreEqual(s.Time, d.Time);
                Assert.AreEqual(s.Values.Length, d.Values.Length);
                for (int m = 0; m < s.Values.Length; ++m)
                {
                    Assert.AreEqual(s.Values[m], d.Values[m]);
                }
            }
        }
Example #2
0
 public override SequenceMakerSaveData SaveAsInterface()
 {
     return(new SequenceMakerSaveData(GetType(), MotionGeneratorSerialization.Serialize(
                                          new FixedSequenceMakerSaveData(
                                              _motionDict.ToDictionary(
                                                  kv => kv.Key,
                                                  kv => kv.Value.ToDictionary(x => x.Key, x => x.Value.Save())
                                                  )
                                              ))));
 }
Example #3
0
        public void CanSerializeAndDeserializeParameters()
        {
            var parameter = new TemporalDifferenceQTrainerParameter(
                new float[] { 1, 2, 3 }, action: 3,
                state: MathNet.Numerics.LinearAlgebra.Single.DenseMatrix.CreateRandom(3, 3, new Normal()),
                nextState: MathNet.Numerics.LinearAlgebra.Single.DenseMatrix.CreateRandom(3, 3, new Normal())
                );

            var saveData       = parameter.Save();
            var copiedSaveData = MotionGeneratorSerialization.DeepClone(saveData);

            Assert.IsNotNull(new TemporalDifferenceQTrainerParameter(saveData));
            var copiedParameter = new TemporalDifferenceQTrainerParameter(copiedSaveData);

            chainer.Helper.AssertMatrixAlmostEqual(copiedParameter.State, parameter.State);
            chainer.Helper.AssertMatrixAlmostEqual(copiedParameter.NextState, parameter.NextState);
        }
Example #4
0
 public override SoulSaveData SaveAsInterface()
 {
     return(new SoulSaveData(GetType(), MotionGeneratorSerialization.Serialize(Save())));
 }
Example #5
0
 public override DecisionMakerSaveData SaveAsInterface()
 {
     return(new DecisionMakerSaveData(GetType(), MotionGeneratorSerialization.Serialize(Save())));
 }
Example #6
0
 public override ActionSaveData SaveAsInterface()
 {
     return(new ActionSaveData(GetType(), MotionGeneratorSerialization.Serialize(SaveAsLocomotion())));
 }