Ejemplo n.º 1
0
        public void Reset()
        {
            BeginDate = DateTime.Parse("20.12.2016");
            EndDate   = DateTime.Now;
            Plotnost.Clear();
            General.Clear();
            AllLayer.Clear();
            General.Clear();
            Layer1.Clear();
            Layer2.Clear();
            Layer3.Clear();

            InfoVision       = false;
            ButtonVisibility = false;
            RegulationAll    = false;
            RegulationCoun   = false;
            RegulationGen    = false;
            RegulationLayer1 = false;
            RegulationLayer2 = false;
            RegulationLayer3 = false;
            RegulationPlotn  = false;
            var tempTime = string.Format("{0} {1}:{2}:{3}", DateTime.Now.ToShortDateString(), DateTime.Now.Hour,
                                         DateTime.Now.Minute, DateTime.Now.Second);
            var startstop = new ReadStartStop("20.12.2016 18:00:00", tempTime);

            _startStops = startstop.GetMassurm3();
            Get();
        }
 protected override void WriteData(ESPWriter writer)
 {
     Layer0.WriteBinary(writer);
     Layer1.WriteBinary(writer);
     Layer2.WriteBinary(writer);
     Layer3.WriteBinary(writer);
 }
Ejemplo n.º 3
0
        public void BackPropagationIsCorrect()
        {
            NetworkMatrix weights = new NetworkMatrix(new double[, ] {
                { 1, 2 }, { 3, 5 }
            });
            Layer2 layer = Layer2.CreateLinearLayer(weights);

            NetworkVector layerinput = new NetworkVector(new double[] { 1, -1 });

            layer.Run(layerinput);

            NetworkVector outputgradient = new NetworkVector(new double[] { 7, 11 });

            NetworkMatrix weightsGradientCheck = new NetworkMatrix(new double[, ] {
                { 7, -7 }, { 11, -11 }
            });

            Assert.AreEqual(weightsGradientCheck, layer.WeightsGradient(outputgradient));

            NetworkVector biasesGradientCheck = new NetworkVector(new double[] { 7, 11 });

            Assert.AreEqual(biasesGradientCheck, layer.BiasesGradient(outputgradient));

            NetworkVector inputGradientCheck = new NetworkVector(new double[] { 40, 69 });

            Assert.AreEqual(inputGradientCheck, layer.InputGradient(outputgradient));
        }
Ejemplo n.º 4
0
        public void CanUseBigSigmoidLayer()
        {
            double[,] weights = new double[2000, 1000];
            double[] input = new double[1000];

            for (int i = 0; i < 1000; i++)
            {
                weights[i, i] = 1.0;
                input[i]      = (double)i;
            }

            NetworkVector inputvector = new NetworkVector(input);
            Layer2        layer       = Layer2.CreateLogisticLayer(new NetworkMatrix(weights));

            layer.Run(inputvector);

            double[] result = layer.Output.ToArray();
            double   sig0   = logistic(0.0);

            for (int i = 0, j = 1000; i < 1000; i++, j++)
            {
                Assert.AreEqual(logistic((double)i), result[i], "Failed for i = " + i);
                Assert.AreEqual(sig0, result[j], "Failed for j = " + j);
            }
        }
Ejemplo n.º 5
0
        public void CanMakeSigmoidLayer()
        {
            NetworkMatrix weights = new NetworkMatrix(new double[, ] {
                { 1, 2 }, { 3, 4 }
            });
            Layer2 layer = Layer2.CreateLogisticLayer(weights);

            Assert.IsNotNull(layer);
        }
Ejemplo n.º 6
0
        static void DecodeLayer2()
        {
            var payload = GetPayload(Layer2Data);
            var decoded = Ascii85.Decode(payload);

            decoded = Layer2.ParityFilter(decoded);
            var output = Encoding.ASCII.GetString(decoded, 0, decoded.Length);

            File.WriteAllText($"{DataDirectory}{Layer3Data}", output);
        }
Ejemplo n.º 7
0
 public void ClearInterface()
 {
     ClearChildren();
     Layer1.ClearChildren();
     Layer2.ClearChildren();
     Layer3.ClearChildren();
     AddChild(Layer1);
     AddChild(Layer2);
     AddChild(Layer3);
 }
Ejemplo n.º 8
0
        public void InputGradientRuns()
        {
            NetworkMatrix weights = new NetworkMatrix(new double[, ] {
                { 1 }
            });
            NetworkVector outputgradient = new NetworkVector(new double[] { 1 });
            Layer2        layer          = Layer2.CreateLogisticLayer(weights);

            NetworkVector inputGradientCheck = new NetworkVector(new double[] { 0 });

            Assert.AreEqual(inputGradientCheck, layer.InputGradient(outputgradient));
        }
Ejemplo n.º 9
0
        public void SigmoidLayerHasRightRun()
        {
            NetworkMatrix weights = new NetworkMatrix(new double[, ] {
                { 1, 0, 1 }, { 1, 1, 0 }
            });
            NetworkVector inputvector = new NetworkVector(new double[] { 1, 2, 3 });
            Layer2        layer       = Layer2.CreateLogisticLayer(weights);

            layer.Run(inputvector);

            NetworkVector expectedResult = new NetworkVector(new double[] { logistic(4), logistic(3) });

            Assert.AreEqual(expectedResult, layer.Output);
        }
Ejemplo n.º 10
0
        public void LinearLayerWithBiasesHasRightRun()
        {
            NetworkMatrix weights = new NetworkMatrix(new double[, ] {
                { 1, 0, 1 }, { 1, 1, 0 }
            });
            NetworkVector biases      = new NetworkVector(new double[] { 4, 3 });
            NetworkVector inputvector = new NetworkVector(new double[] { 1, 2, 3 });
            Layer2        layer       = Layer2.CreateLinearLayer(weights, biases);

            layer.Run(inputvector);

            NetworkVector expectedResult = new NetworkVector(new double[] { 8, 6 });

            Assert.AreEqual(expectedResult, layer.Output);
        }
Ejemplo n.º 11
0
        // If Equals() returns true for a pair of objects
        // then GetHashCode() must return the same value for these objects.

        public override int GetHashCode()
        {
            //Get hash code for the Name field if it is not null.
            int hashIzolName = Type == null ? 0 : Type.GetHashCode();

            //Get hash code for the Code field.
            int hashTube   = Tube.GetHashCode();
            int hashLayer1 = Layer1.GetHashCode();
            int hashLayer2 = Layer2.GetHashCode();
            int hashLayer3 = Layer3.GetHashCode();

            //Calculate the hash code for the product.
            //return hashProductName ^ hashProductCode;
            return(hashIzolName ^ hashTube ^ hashLayer1 ^ hashLayer2 ^ hashLayer3);
        }
        protected override void WriteDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            ele.TryPathTo("Layer0", true, out subEle);
            Layer0.WriteXML(subEle, master);

            ele.TryPathTo("Layer1", true, out subEle);
            Layer1.WriteXML(subEle, master);

            ele.TryPathTo("Layer2", true, out subEle);
            Layer2.WriteXML(subEle, master);

            ele.TryPathTo("Layer3", true, out subEle);
            Layer3.WriteXML(subEle, master);
        }
Ejemplo n.º 13
0
        protected override void WriteDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            ele.TryPathTo("Layer0", true, out subEle);
            subEle.Value = Layer0.ToString();

            ele.TryPathTo("Layer1", true, out subEle);
            subEle.Value = Layer1.ToString();

            ele.TryPathTo("Layer2", true, out subEle);
            subEle.Value = Layer2.ToString();

            ele.TryPathTo("Layer3", true, out subEle);
            subEle.Value = Layer3.ToString();
        }
Ejemplo n.º 14
0
        public void BackpropagateRunsWithNonzeroLayerInput()
        {
            NetworkMatrix weights = new NetworkMatrix(new double[, ] {
                { 1 }
            });
            Layer2 layer = Layer2.CreateLinearLayer(weights);

            NetworkVector layerinput = new NetworkVector(new double[] { 2 });

            layer.Run(layerinput);

            NetworkVector outputgradient = new NetworkVector(new double[] { 1 });

            NetworkVector inputGradientCheck = new NetworkVector(new double[] { 1 });

            Assert.AreEqual(inputGradientCheck, layer.InputGradient(outputgradient));
        }
Ejemplo n.º 15
0
        public void InputGradientRunsTwoByThree()
        {
            NetworkMatrix weights = new NetworkMatrix(new double[, ] {
                { 1, 2, 3 }, { 2, 3, 4 }
            });
            Layer2 layer = Layer2.CreateLinearLayer(weights);

            NetworkVector layerinput = new NetworkVector(new double[] { 1, 0, -1 });

            layer.Run(layerinput);

            NetworkVector outputgradient = new NetworkVector(new double[] { 1, 1 });

            NetworkVector inputGradientCheck = new NetworkVector(new double[] { 3, 5, 7 });

            Assert.AreEqual(inputGradientCheck, layer.InputGradient(outputgradient));
        }
Ejemplo n.º 16
0
        public bool Equals(Izolation other)
        {
            //Check whether the compared object is null.
            if (Object.ReferenceEquals(other, null))
            {
                return(false);
            }

            //Check whether the compared object references the same data.
            if (Object.ReferenceEquals(this, other))
            {
                return(true);
            }

            //Check whether the products' properties are equal.
            return(Type.Equals(other.Type) && Tube.Equals(other.Tube) && Layer1.Equals(other.Layer1) &&
                   Layer2.Equals(other.Layer2) && Layer3.Equals(other.Layer3));
        }
 protected override void ReadData(ESPReader reader)
 {
     using (MemoryStream stream = new MemoryStream(reader.ReadBytes(size)))
         using (ESPReader subReader = new ESPReader(stream, reader.Plugin))
         {
             try
             {
                 Layer0.ReadBinary(subReader);
                 Layer1.ReadBinary(subReader);
                 Layer2.ReadBinary(subReader);
                 Layer3.ReadBinary(subReader);
             }
             catch
             {
                 return;
             }
         }
 }
Ejemplo n.º 18
0
        public void InputGradientRunsTwoByThree()
        {
            NetworkMatrix weights = new NetworkMatrix(new double[, ] {
                { 1, 2, 3 }, { 2, 3, 4 }
            });
            Layer2 layer = Layer2.CreateLogisticLayer(weights);

            NetworkVector layerinput = new NetworkVector(new double[] { 1, 0, -1 });

            layer.Run(layerinput);

            NetworkVector outputgradient = new NetworkVector(new double[] { 1, 1 });

            NetworkVector inputGradientCheck = new NetworkVector(
                new double[] { 0.31498075621051952, 0.52496792701753248, 0.7349550978245456 }
                );

            Assert.AreEqual(inputGradientCheck, layer.InputGradient(outputgradient));
        }
Ejemplo n.º 19
0
        /// <summary>
        /// Кнопка сброса графиков
        /// </summary>
        public void Vision()
        {
            Plotnost.Clear();
            General.Clear();
            AllLayer.Clear();
            General.Clear();
            Layer1.Clear();
            Layer2.Clear();
            Layer3.Clear();

            InfoVision       = false;
            ButtonVisibility = false;
            RegulationAll    = false;
            RegulationCoun   = false;
            RegulationGen    = false;
            RegulationLayer1 = false;
            RegulationLayer2 = false;
            RegulationLayer3 = false;
            RegulationPlotn  = false;
        }
        protected override void ReadDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            if (ele.TryPathTo("Layer0", false, out subEle))
            {
                Layer0.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("Layer1", false, out subEle))
            {
                Layer1.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("Layer2", false, out subEle))
            {
                Layer2.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("Layer3", false, out subEle))
            {
                Layer3.ReadXML(subEle, master);
            }
        }
Ejemplo n.º 21
0
        public void CanUseBigLinearLayer()
        {
            double[,] matrix = new double[2000, 1000];
            double[] input = new double[1000];

            for (int i = 0; i < 1000; i++)
            {
                matrix[i, i] = 1.0;
                input[i]     = (double)i;
            }

            NetworkMatrix weights     = new NetworkMatrix(matrix);
            NetworkVector inputvector = new NetworkVector(input);
            Layer2        layer       = Layer2.CreateLinearLayer(weights);

            layer.Run(inputvector);
            double[] result = layer.Output.ToArray();

            for (int i = 0, j = 1000; i < 1000; i++, j++)
            {
                Assert.AreEqual((double)i, result[i], "Failed for i = " + i);
                Assert.AreEqual(0.0, result[j], "Failed for j = " + j);
            }
        }
Ejemplo n.º 22
0
            public T GetOrGen(ushort x, ushort y, ushort z)
            {
                var indx = (x & 192) >> 6 | (y & 192) >> 4 | (z & 192) >> 2;

                return((layers[indx] ?? (layers[indx] = new Layer2())).GetOrGen(x, y, z));
            }
Ejemplo n.º 23
0
            public void Gen(ushort x, ushort y, ushort z)
            {
                var indx = (x & 192) >> 6 | (y & 192) >> 4 | (z & 192) >> 2;

                (layers[indx] ?? (layers[indx] = new Layer2())).Gen(x, y, z);
            }
Ejemplo n.º 24
0
 private void btnAlert_Click(object sender, EventArgs e)
 {
     Layer2.Alert(pnlContent, "发生错误", new Size(300, 100), 2000);
 }