[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); }
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)); }
/// <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)); } }
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(); }
//create network synaptic connections per NetConfigData //this method is called when synapses are changing public void ConnectLayers() { Lr.ConnectColumns(Ip); }
//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; } }
//network parameter automatic adjustments at end of epoch private void adjustNetworkParams() { Lr.AdjustSparseness(Lr.SparsenessTarget); Lr.ConnectColumns(Ip); Lr.AdjustBoostFactors(); }
// 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()