Exemplo n.º 1
0
        [Test] public void ExtractInfoFromRootObj()
        {
            // ARANGE
            MapQuestApiProcessor mapQuestApiProcessor = new MapQuestApiProcessor();
            Root        testObj            = new Root();
            Route       testRouteObj       = new Route();
            BoundingBox testBoundingBoxObj = new BoundingBox();
            Ul          testUlObj          = new Ul();
            Lr          testLrObj          = new Lr();

            testObj.route                    = testRouteObj;
            testObj.route.boundingBox        = testBoundingBoxObj;
            testObj.route.boundingBox.ul     = testUlObj;
            testObj.route.boundingBox.lr     = testLrObj;
            testObj.route.sessionId          = "testSessionId";
            testObj.route.boundingBox.ul.lat = 123;
            testObj.route.boundingBox.ul.lng = 123;
            testObj.route.boundingBox.lr.lat = 123;
            testObj.route.boundingBox.lr.lng = 123;
            string testBoundingBox             = "123,123,123,123";
            Tuple <string, string> actualTuple = new Tuple <string, string>(testObj.route.sessionId, testBoundingBox);

            // ACT
            Tuple <string, string> t = mapQuestApiProcessor.ExtractInfoFromRootObj(testObj);

            // ASSERT
            Assert.AreEqual(t, actualTuple);
        }
Exemplo n.º 2
0
        public void Test_01()
        {
            // airquality (R x64 2.14.1)
            var y = File.ReadAllText("data/airquality/data_y.csv", Encoding.UTF8)
                    .Split(',')
                    .Select(s => Double.Parse(s))
                    .ToVector();
            var xs = File.ReadLines("data/airquality/data_xs.csv", Encoding.UTF8)
                     .Select(line =>
                             line.Split(',').Select(s => Double.Parse(s)).ToRow())
                     .ToMatrix();

            Assert.That(y.Size, Is.EqualTo(xs.RowSize));

            Lr result = Func.Lr(y, xs);

            // (Intercept)      Solar.R         Wind         Temp
            var expect = new[] { -64.34208, 0.05982, -3.33359, 1.65209 };

            Func <double, double>           abs         = v => Math.Abs(v);
            Action <double, double, double> AssertEqual = (ac, ex, ep) => Assert.That(ac, Is.EqualTo(ex).Within(ep));

            var a = result.CoefficientVector;

            AssertEqual(a[0], expect[0], Ep);
            AssertEqual(a[1], expect[1], Ep);
            AssertEqual(a[2], expect[2], Ep);
            AssertEqual(a[3], expect[3], Ep);

            Assert.That(result.R2, Is.EqualTo(0.6059).Within(1e-4));
            Assert.That(result.Rc2, Is.EqualTo(0.5948).Within(1e-4));
            Assert.That(result.DofP, Is.EqualTo(3));
            Assert.That(result.DofE, Is.EqualTo(107));
        }
Exemplo n.º 3
0
 /// <summary>
 /// 转换为字符串,保留到小数点后n位
 /// </summary>
 /// <param name="n">保留到小数点后n位</param>
 /// <param name="mode">0表示返回度分秒,1表示返回ddffmm.mmm,其他返回表示弧度</param>
 /// <returns></returns>
 public string ToFormatString(int n, int mode = 0)
 {
     if (mode == 0)
     {
         return(B.ToFormatString(n) + "," + L.ToFormatString(n) + "," + H.ToFormatString(n));
     }
     else
     if (mode == 1)
     {
         return(B.ChangeToDouble().ToFormatString(n) + "," + L.ChangeToDouble().ToFormatString(n) + "," + H.ToFormatString(n));
     }
     else
     {
         return(Br.ToFormatString(n) + "," + Lr.ToFormatString(n) + "," + H.ToFormatString(n));
     }
 }
Exemplo n.º 4
0
        public void TrainCase()
        {
            if (Trainer.CurrCaseNum == 0 && Trainer.CurrCaseNum != Trainer.LastCaseNum)               //new epoch
            {
                statsInitialiseEpoch();
            }

            Lr.Update();
            statsUpdate_Case();

            //when back at case 0 - perform epoch end tasks
            if (Trainer.CurrCaseNum == Trainer.NumCases - 1)
            {
                statsUpdate_Epoch();
                adjustNetworkParams();
            }

            ScreenUpdateData.DataChanged();
        }
Exemplo n.º 5
0
 //create network synaptic connections per NetConfigData
 //this method is called when synapses are changing
 public void ConnectLayers()
 {
     Lr.ConnectColumns(Ip);
 }
Exemplo n.º 6
0
        //event handler for configuration data changes.
        //this may be extended later and split up for specific parts of the network
        //eg. change Dendrite params only, without affecting others
        public void NetConfigDataChanged(NetConfigDataItem changedItem)
        {
            switch (changedItem)
            {
            //Synapse parameters
            //-SynapsePermanenceIncrease - used directly
            case NetConfigDataItem.SynapsePermanenceThreshold:
                break;

            //-SynapsePermanenceDecrease - used directly
            case NetConfigDataItem.SynapsePermanenceIncrease:
                break;

            //-SynapsePermanenceThreshold - used directly
            case NetConfigDataItem.SynapsePermanenceDecrease:
                break;

            //Dendrite parameters
            //-DendriteActivationThreshold_Proximal - DendriteProximal property
            case NetConfigDataItem.DendriteActivationThreshold_Proximal:
                for (int x = 0; x < Lr.NumColumnsX; x++)
                {
                    for (int y = 0; y < Lr.NumColumnsY; y++)
                    {
                        Column col = Lr.Columns[x][y];
                        col.ProximalDendrite.ActivationThreshold = NetConfigData.DendriteActivationThresholdProximal;
                    }
                }
                break;

            //-DendriteActivationThreshold_Basal - DendriteBasal property
            case NetConfigDataItem.DendriteActivationThreshold_Basal:
                for (int x = 0; x < Lr.NumColumnsX; x++)
                {
                    for (int y = 0; y < Lr.NumColumnsY; y++)
                    {
                        Column col = Lr.Columns[x][y];
                        foreach (Cell cell in col.Cells)
                        {
                            cell.BasalDendrite.ActivationThreshold = NetConfigData.DendriteActivationThresholdBasal;
                        }
                    }
                }
                break;

            //-DendriteActivationThreshold_Apical - DendriteApical property
            case NetConfigDataItem.DendriteActivationThreshold_Apical:
                for (int x = 0; x < Lr.NumColumnsX; x++)
                {
                    for (int y = 0; y < Lr.NumColumnsY; y++)
                    {
                        Column col = Lr.Columns[x][y];
                        col.ApicalDendrite.ActivationThreshold = NetConfigData.DendriteActivationThresholdApical;
                    }
                }
                break;

            //Column parameters
            //-ColumnStimulusThreshold - used directly
            case NetConfigDataItem.ColumnStimulusThreshold:
                break;

            //Layer parameters
            //-ZoneSizePercProximal - used in Layer
            case NetConfigDataItem.ZoneSizePercProximal:
                Lr.ZoneSizePercProximal = NetConfigData.ZoneSizePercProximal;
                Lr.ConnectColumns(Ip);
                break;

            //-ZoneCoveragePercProximal - used in Layer
            case NetConfigDataItem.ZoneCoveragePercProximal:
                Lr.ZoneCoveragePercProximal = NetConfigData.ZoneCoveragePercProximal;
                Lr.ConnectColumns(Ip);
                break;

            //-ZoneSizePercBasal - used in Layer
            case NetConfigDataItem.ZoneSizePercBasal:
                Lr.ZoneSizePercBasal = NetConfigData.ZoneSizePercBasal;
                Lr.ConnectColumns(Ip);
                break;

            //-ZoneCoveragePercBasal - used in Layer
            case NetConfigDataItem.ZoneCoveragePercBasal:
                Lr.ZoneCoveragePercBasal = NetConfigData.ZoneCoveragePercBasal;
                Lr.ConnectColumns(Ip);
                break;


            //Network parameters
            //-NumCellsPerColumn - used in Layer
            case NetConfigDataItem.NumCellsPerColumn:
                Lr.NumCellsInColumn = NetConfigData.NumCellsInColumn;
                Lr.CreateColumns();
                Lr.ConnectColumns(Ip);
                break;

            //-ColumnsTopPercentile - used directly
            case NetConfigDataItem.ColumnsTopPercentile:
                Lr.ZoneCoveragePercBasal = NetConfigData.ColumnsTopPercentile;
                break;
            }
        }
Exemplo n.º 7
0
 //network parameter automatic adjustments at end of epoch
 private void adjustNetworkParams()
 {
     Lr.AdjustSparseness(Lr.SparsenessTarget);
     Lr.ConnectColumns(Ip);
     Lr.AdjustBoostFactors();
 }
Exemplo n.º 8
0
        // Example:
        //
        //    0:009> r
        //     r0=00000000  r1=00000000  r2=00000000  r3=76fdcf09  r4=00000000  r5=028df6e0
        //     r6=028df730  r7=00000000  r8=00000001  r9=01507858 r10=015156a8 r11=028df8e8
        //    r12=00000000  sp=028df6c8  lr=00000000  pc=76ccce24 psr=600f0030 -ZC-- Thumb
        //    KERNELBASE!RaiseFailFastException+0x60:
        //    76ccce24 f000f846 bl          KERNELBASE!SignalStartWerSvc (76ccceb4)
        //
        public override ColorString ToColorString()
        {
            if (null == m_colorString)
            {
                ConsoleColor color;
                ColorString  cs = new ColorString(" r0=");
                color = GetColorForDiffAgainstBaseline("r0");
                cs.Append(R0.GetColorizedValueString(color));
                cs.Append("  r1=");
                color = GetColorForDiffAgainstBaseline("r1");
                cs.Append(R1.GetColorizedValueString(color));
                cs.Append("  r2=");
                color = GetColorForDiffAgainstBaseline("r2");
                cs.Append(R2.GetColorizedValueString(color));
                cs.Append("  r3=");
                color = GetColorForDiffAgainstBaseline("r3");
                cs.Append(R3.GetColorizedValueString(color));
                cs.Append("  r4=");
                color = GetColorForDiffAgainstBaseline("r4");
                cs.Append(R4.GetColorizedValueString(color));
                cs.Append("  r5=");
                color = GetColorForDiffAgainstBaseline("r5");
                cs.Append(R5.GetColorizedValueString(color));
                cs.AppendLine();

                cs.Append(" r6=");
                color = GetColorForDiffAgainstBaseline("r6");
                cs.Append(R6.GetColorizedValueString(color));
                cs.Append("  r7=");
                color = GetColorForDiffAgainstBaseline("r7");
                cs.Append(R7.GetColorizedValueString(color));
                cs.Append("  r8=");
                color = GetColorForDiffAgainstBaseline("r8");
                cs.Append(R8.GetColorizedValueString(color));
                cs.Append("  r9=");
                color = GetColorForDiffAgainstBaseline("r9");
                cs.Append(R9.GetColorizedValueString(color));
                cs.Append(" r10=");
                color = GetColorForDiffAgainstBaseline("r10");
                cs.Append(R10.GetColorizedValueString(color));
                cs.Append(" r11=");
                color = GetColorForDiffAgainstBaseline("r11");
                cs.Append(R11.GetColorizedValueString(color));
                cs.AppendLine();

                cs.Append("r12=");
                color = GetColorForDiffAgainstBaseline("r12");
                cs.Append(R12.GetColorizedValueString(color));
                cs.Append("  sp=");
                color = GetColorForDiffAgainstBaseline("sp");
                cs.Append(Sp.GetColorizedValueString(color));
                cs.Append("  lr=");
                color = GetColorForDiffAgainstBaseline("lr");
                cs.Append(Lr.GetColorizedValueString(color));
                cs.Append("  pc=");
                color = GetColorForDiffAgainstBaseline("pc");
                cs.Append(Pc.GetColorizedValueString(color));
                cs.Append(" psr=");
                color = GetColorForDiffAgainstBaseline("psr");
                cs.Append(Psr.GetColorizedValueString(color));

                // TODO:
                cs.AppendLine(" TBD: flags and mode");

                cs.Append(DbgProvider.ColorizeSymbol(StackFrame.SymbolName));
                if (0 != StackFrame.Displacement)
                {
                    cs.Append("+0x");
                    cs.Append(StackFrame.Displacement.ToString("x"));
                }
                cs.AppendLine(":");
                cs.Append(Disasm(Pc.ValueAsPointer));

                m_colorString = cs;
            }
            return(m_colorString);
        } // end ToString()