示例#1
0
        public void Const()
        {
            var op = new Const <double>(1.0, "one");

            var xml          = op.ToXml();
            var deserialized = SerializationExtensions.FromXml <double>(xml) as Const <double>;

            Assert.IsNotNull(deserialized);
            Assert.AreEqual(op.Name, deserialized.Name);
        }
示例#2
0
        public void PlaceHolder()
        {
            var op = new PlaceHolder <double>("one");

            var xml          = op.ToXml();
            var deserialized = SerializationExtensions.FromXml <double>(xml) as PlaceHolder <double>;

            Assert.IsNotNull(deserialized);
            Assert.AreEqual(op.Name, deserialized.Name);
        }
示例#3
0
 public static AesKeyVectorPair Load(string filePath)
 {
     using (StreamReader sr = new StreamReader(filePath))
     {
         string xmlBase64 = sr.ReadToEnd();
         byte[] xmlBytes  = Convert.FromBase64String(xmlBase64);
         string xml       = Encoding.UTF8.GetString(xmlBytes);
         return(SerializationExtensions.FromXml <AesKeyVectorPair>(xml));
     }
 }
示例#4
0
文件: Aes.cs 项目: ThreeHeadz/Bam.Net
        public static T Deserialize <T>(string base64EncryptedXmlString, AesKeyVectorPair key)
        {
            AesManaged rKey = new AesManaged();

            rKey.IV  = Convert.FromBase64String(key.IV);
            rKey.Key = Convert.FromBase64String(key.Key);

            string xml = Decrypt(base64EncryptedXmlString, key.Key, key.IV);

            return(SerializationExtensions.FromXml <T>(xml));
        }
        public void Variable()
        {
            var cns = new ConvNetSharp <double>();
            var op  = cns.Variable(1.0, "one");

            var xml          = op.ToXml();
            var deserialized = SerializationExtensions.FromXml <double>(xml) as Variable <double>;

            Assert.IsNotNull(deserialized);
            Assert.AreEqual(op.Name, deserialized.Name);
        }
示例#6
0
        public void Softmax()
        {
            var x  = new Const <double>(1.0, "x");
            var op = new Softmax <double>(x);

            var xml          = op.ToXml();
            var deserialized = SerializationExtensions.FromXml <double>(xml) as Softmax <double>;

            Assert.IsNotNull(deserialized);
            Assert.AreEqual(1, deserialized.Parents.Count);
            Assert.AreEqual("x", (deserialized.Parents[0] as Const <double>).Name);
        }
        public void Tile()
        {
            var cns = new ConvNetSharp <double>();
            var x   = cns.Const(1.0, "x");
            var a   = cns.Const(1.0, "a");
            var op  = cns.Tile(x, cns.Shape(a));

            var xml          = op.ToXml();
            var deserialized = SerializationExtensions.FromXml <double>(xml) as Tile <double>;

            Assert.IsNotNull(deserialized);
        }
示例#8
0
        public void Exp()
        {
            var a  = new Const <double>(1.0, "one");
            var op = new Exp <double>(a);

            var xml          = op.ToXml();
            var deserialized = SerializationExtensions.FromXml <double>(xml) as Exp <double>;

            Assert.IsNotNull(deserialized);
            Assert.AreEqual(1, deserialized.Parents.Count);
            Assert.AreEqual("one", (deserialized.Parents[0] as Const <double>).Name);
        }
示例#9
0
        public void Reshape1()
        {
            var x  = new Const <double>(1.0, "x");
            var op = new Reshape <double>(x, new Shape(1, 2, 3, 4));

            var xml          = op.ToXml();
            var deserialized = SerializationExtensions.FromXml <double>(xml) as Reshape <double>;

            Assert.IsNotNull(deserialized);
            Assert.AreEqual(1, deserialized.Parents.Count);
            Assert.AreEqual("x", (deserialized.Parents[0] as Const <double>).Name);
            Assert.AreEqual(op.OutputShape, deserialized.OutputShape);
        }
示例#10
0
        public void Activation()
        {
            var x  = new Const <double>(1.0, "x");
            var op = new Activation <double>(x, ActivationType.Relu);

            var xml          = op.ToXml();
            var deserialized = SerializationExtensions.FromXml <double>(xml) as Activation <double>;

            Assert.IsNotNull(deserialized);
            Assert.AreEqual(1, deserialized.Parents.Count);
            Assert.AreEqual("x", (deserialized.Parents[0] as Const <double>).Name);
            Assert.AreEqual(ActivationType.Relu, deserialized.Type);
        }
        public void Shape()
        {
            var cns = new ConvNetSharp <double>();
            var x   = cns.Const(1.0, "x");
            var op  = cns.Shape(x);

            var xml          = op.ToXml();
            var deserialized = SerializationExtensions.FromXml <double>(xml) as Shape <double>;

            Assert.IsNotNull(deserialized);
            Assert.AreEqual(1, deserialized.Parents.Count);
            Assert.AreEqual("x", (deserialized.Parents[0] as Const <double>).Name);
        }
        public void Transpose()
        {
            var cns = new ConvNetSharp <double>();
            var a   = cns.Const(1.0, "one");
            var op  = cns.Transpose(a);

            var xml          = op.ToXml();
            var deserialized = SerializationExtensions.FromXml <double>(xml) as Transpose <double>;

            Assert.IsNotNull(deserialized);
            Assert.AreEqual(1, deserialized.Parents.Count);
            Assert.AreEqual("one", (deserialized.Parents[0] as Const <double>).Name);
        }
        public void Sqrt()
        {
            var cns = new ConvNetSharp <double>();
            var a   = cns.Const(9.0, "input");
            var op  = cns.Sqrt(a);

            var xml          = op.ToXml();
            var deserialized = SerializationExtensions.FromXml <double>(xml) as Sqrt <double>;

            Assert.IsNotNull(deserialized);
            Assert.AreEqual(1, deserialized.Parents.Count);
            Assert.AreEqual("input", (deserialized.Parents[0] as Const <double>).Name);
        }
        public void Dropout()
        {
            var cns = new ConvNetSharp <double>();
            var x   = cns.Const(1.0, "x");
            var dropoutProbability = 0.5;
            var op = cns.Dropout(x, dropoutProbability);

            var xml          = op.ToXml();
            var deserialized = SerializationExtensions.FromXml <double>(xml) as Dropout <double>;

            Assert.IsNotNull(deserialized);
            Assert.AreEqual(dropoutProbability, ((Const <double>)deserialized.DropoutProbability).Value);
        }
示例#15
0
        public void Reshape2()
        {
            var x     = new Const <double>(1.0, "x");
            var shape = new Const <double>(new[] { 1.0, 2.0, 3.0, 4.0 }, "shape");
            var op    = new Reshape <double>(x, shape);

            var xml          = op.ToXml();
            var deserialized = SerializationExtensions.FromXml <double>(xml) as Reshape <double>;

            Assert.IsNotNull(deserialized);
            Assert.AreEqual(2, deserialized.Parents.Count);
            Assert.AreEqual("x", (deserialized.Parents[0] as Const <double>).Name);
            Assert.AreEqual("shape", (deserialized.Parents[1] as Const <double>).Name);
        }
示例#16
0
        public void SoftmaxCrossEntropy()
        {
            var softmax = new Const <double>(1.0, "softmax");
            var y       = new Const <double>(1.0, "y");
            var op      = new SoftmaxCrossEntropy <double>(softmax, y);

            var xml          = op.ToXml();
            var deserialized = SerializationExtensions.FromXml <double>(xml) as SoftmaxCrossEntropy <double>;

            Assert.IsNotNull(deserialized);
            Assert.AreEqual(2, deserialized.Parents.Count);
            Assert.AreEqual("softmax", (deserialized.Parents[0] as Const <double>).Name);
            Assert.AreEqual("y", (deserialized.Parents[1] as Const <double>).Name);
        }
示例#17
0
        public void Div()
        {
            var a  = new Const <double>(1.0, "one");
            var b  = new Const <double>(2.0, "two");
            var op = new Div <double>(a, b);

            var xml          = op.ToXml();
            var deserialized = SerializationExtensions.FromXml <double>(xml) as Div <double>;

            Assert.IsNotNull(deserialized);
            Assert.AreEqual(2, deserialized.Parents.Count);
            Assert.AreEqual("one", (deserialized.Parents[0] as Const <double>).Name);
            Assert.AreEqual("two", (deserialized.Parents[1] as Const <double>).Name);
        }
        public void Add()
        {
            var cns = new ConvNetSharp <double>();
            var a   = cns.Const(1.0, "one");
            var b   = cns.Const(2.0, "two");
            var op  = a + b;

            var xml          = op.ToXml();
            var deserialized = SerializationExtensions.FromXml <double>(xml) as Add <double>;

            Assert.IsNotNull(deserialized);
            Assert.AreEqual(2, deserialized.Parents.Count);
            Assert.AreEqual("one", (deserialized.Parents[0] as Const <double>).Name);
            Assert.AreEqual("two", (deserialized.Parents[1] as Const <double>).Name);
        }
示例#19
0
        public void Convolution()
        {
            var x  = new Const <double>(1.0, "x");
            var op = new Convolution <double>(x, 5, 5, 16, 2, 1);

            var xml          = op.ToXml();
            var deserialized = SerializationExtensions.FromXml <double>(xml) as Convolution <double>;

            Assert.IsNotNull(deserialized);
            Assert.AreEqual(2, deserialized.Parents.Count); // input and filters
            Assert.AreEqual("x", (deserialized.Parents[0] as Const <double>).Name);
            Assert.AreEqual(5, deserialized.Width);
            Assert.AreEqual(5, deserialized.Height);
            Assert.AreEqual(16, deserialized.FilterCount);
            Assert.AreEqual(2, deserialized.Stride);
            Assert.AreEqual(1, deserialized.Pad);
        }
        public void Dense()
        {
            var cns = new ConvNetSharp <double>();
            var x   = cns.Const(1.0, "x");
            var op  = new Dense <double>(cns, x, 16);

            var xml          = op.ToXml();
            var deserialized = SerializationExtensions.FromXml <double>(xml) as Dense <double>;

            Assert.IsNotNull(deserialized);
            Assert.AreEqual(2, deserialized.Parents.Count); // input and filters
            Assert.AreEqual("x", (deserialized.Parents[0] as Const <double>).Name);
            Assert.AreEqual(1, deserialized.Width);
            Assert.AreEqual(1, deserialized.Height);
            Assert.AreEqual(16, deserialized.FilterCount);
            Assert.AreEqual(1, deserialized.Stride);
            Assert.AreEqual(0, deserialized.Pad);
        }
示例#21
0
        public void Pool()
        {
            var x  = new Const <double>(1.0, "x");
            var op = new Pool <double>(x, 3, 4, 1, 2, 1, 2);

            var xml          = op.ToXml();
            var deserialized = SerializationExtensions.FromXml <double>(xml) as Pool <double>;

            Assert.IsNotNull(deserialized);
            Assert.AreEqual(1, deserialized.Parents.Count);
            Assert.AreEqual("x", (deserialized.Parents[0] as Const <double>).Name);
            Assert.AreEqual(3, deserialized.Width);
            Assert.AreEqual(4, deserialized.Height);
            Assert.AreEqual(1, deserialized.HorizontalPad);
            Assert.AreEqual(2, deserialized.VerticalPad);
            Assert.AreEqual(1, deserialized.HorizontalStride);
            Assert.AreEqual(2, deserialized.VerticalStride);
        }