1. Test Modules
  2. Network Diagram
  3. Training Characteristics
    1. Input Learning
      1. Gradient Descent
      2. Conjugate Gradient Descent
      3. Limited-Memory BFGS
    2. Results
  4. Results

Subreport: Logs for com.simiacryptus.ref.lang.ReferenceCountingBase

Test Modules

Network Diagram

This is a network apply the following layout:

LayerTests.java:203 executed in 0.07 seconds (0.000 gc):

    return Graphviz.fromGraph((Graph) TestUtil.toGraph(((DAGNetwork) layer).addRef())).height(400).width(600)
        .render(Format.PNG).toImage();
Logging
executing command [/bin/sh, -c, dot -Tsvg /tmp/GraphvizJava/DotEngine996564362688039039/dotfile.dot -ooutfile.svg]

Returns

Result

Using Seed 762518555785205760

Training Characteristics

Input Learning

In this apply, we use a network to learn this target input, given it's pre-evaluated output:

TrainingTester.java:332 executed in 0.01 seconds (0.000 gc):

    return RefArrays.stream(RefUtil.addRef(input_target)).flatMap(RefArrays::stream).map(x -> {
      try {
        return x.prettyPrint();
      } finally {
        x.freeRef();
      }
    }).reduce((a, b) -> a + "\n" + b).orElse("");

Returns

    [
    	[ [ -1.872, 1.372, -0.816, 0.04, 0.768 ], [ -1.508, -1.48, 1.788, 0.224, -0.324 ], [ -0.484, -1.04, 0.496, 0.012, -0.82 ], [ 1.82, -1.884, -1.184, -1.88, -1.068 ], [ 1.228, 0.344, 0.604, -0.76, -1.028 ], [ -1.868, 0.688, -1.796, 1.604, -1.016 ], [ -0.648, 0.856, 0.7, -0.616, -0.156 ], [ -1.776, -0.752, -0.216, -0.4, -1.588 ], ... ],
    	[ [ -0.316, 1.624, -1.152, -0.008, 0.948 ], [ 0.176, 0.676, -1.7, 0.328, -0.928 ], [ -1.284, 0.664, -1.28, -1.172, -1.44 ], [ 0.716, -0.648, -1.952, 1.94, 1.832 ], [ -0.216, 1.256, -1.128, 0.632, 1.452 ], [ 0.204, -1.332, 1.124, 0.232, 1.612 ], [ 0.632, 0.124, 1.544, 0.528, -0.82 ], [ -0.42, 1.768, 0.956, 0.708, -0.384 ], ... ],
    	[ [ -1.82, 1.44, 1.392, -1.996, -1.108 ], [ 1.888, 1.68, 0.24, 0.496, -1.424 ], [ 0.632, 1.624, -1.14, 0.208, 0.756 ], [ -1.748, 0.792, 1.696, 1.188, -1.808 ], [ -0.02, -0.108, 1.988, 0.264, 0.228 ], [ -0.952, -1.244, 0.532, -1.356, 0.864 ], [ -1.38, 1.268, -1.928, -0.072, 1.296 ], [ -1.228, 1.124, -1.132, -0.124, -1.972 ], ... ],
    	[ [ -0.34, 1.508, -1.472, 0.204, -1.188 ], [ -0.616, 1.412, 0.4, 0.304, 0.476 ], [ 1.552, -0.58, -0.464, -1.348, 1.224 ], [ 1.904, 0.544, 1.196, 1.924, -1.208 ], [ -1.588, -0.512, -0.804, 1.032, 1.42 ], [ -0.904, 0.268, 1.952, 0.664, 1.68 ], [ -0.168, 1.056, -1.86, 1.848, -1.676 ], [ 0.956, 0.216, -1.472, -0.128, -1.552 ], ... ],
    	[ [ -1.112, 0.308, -1.396, -1.604, -0.244 ], [ -0.988, 0.824, 0.612, -0.156, 0.388 ], [ -0.12, 1.124, 0.172, -1.388, -1.368 ], [ 0.72, 1.516, 1.84, 1.896, -0.448 ], [ -0.464, -0.708, -0.8, -1.236, 1.208 ], [ -1.168, 0.78, 1.112, -0.124, 1.304 ], [ 1.936, 1.968, 0.564, 1.092, -0.752 ], [ 1.748, 1.976, 0.3, -1.416, 0.44 ], ... ],
    	[ [ -0.52, 0.096, 0.524, -1.004, 1.948 ], [ -1.66, -0.252, 1.016, -1.724, -1.944 ], [ -1.896, 0.828, 1.672, -0.436, 1.788 ], [ 1.94, -1.68, -0.376, 0.948, -1.648 ], [ 1.96, 0.868, 1.256, 0.956, 0.508 ], [ 0.348, 1.668, 1.964, 0.304, -0.684 ], [ -0.1, -1.816, 0.26, 1.728, -1.12 ], [ -0.508, 0.064, -0.592, 0.628, 1.208 ], ... ],
    	[ [ 1.192, -0.444, 0.872, 0.44, -1.532 ], [ 0.524, -0.372, 1.068, -0.936, -1.204 ], [ 1.572, 0.604, -1.448, -0.364, -1.584 ], [ 0.908, 1.34, -1.656, 1.468, -1.18 ], [ -0.892, -1.232, -0.872, 0.076, 1.716 ], [ 1.804, -0.328, -1.608, 1.764, -0.548 ], [ -0.476, -1.884, -0.588, -0.748, -1.876 ], [ -1.708, -0.612, 0.1, -1.38, 1.64 ], ... ],
    	[ [ -0.772, 0.452, 1.804, 1.428, 0.724 ], [ 0.748, -1.692, -0.524, 0.788, 1.048 ], [ -1.84, -1.6, 1.008, 0.224, 1.776 ], [ -0.08, -0.344, 1.636, -1.58, -1.412 ], [ 0.864, 0.124, -0.624, 0.156, -1.796 ], [ 0.968, -0.576, 1.432, 1.256, -0.812 ], [ -0.468, -1.692, -0.972, -1.848, 0.3 ], [ 0.576, -1.464, -1.728, -0.916, 0.196 ], ... ],
    	...
    ]
    [
    	[ [ -0.616, -1.108, -0.708, 0.36, 0.908 ], [ 1.148, 0.516, 0.36, -1.944, -1.512 ], [ -1.948, 0.996, -1.824, 1.148, -1.62 ], [ -1.244, -0.816, 0.172, -1.932, 0.624 ], [ 0.512, 1.592, 1.812, -0.096, 0.58 ], [ -0.856, -0.3, 1.196, -0.496, -0.364 ], [ 1.396, -0.38, -1.276, 0.228, 1.048 ], [ -0.448, -0.532, 0.316, 1.864, -1.872 ], ... ],
    	[ [ -0.624, -0.364, 0.22, 1.388, -1.528 ], [ -0.696, 0.54, -1.292, -0.588, -0.988 ], [ 1.996, -0.732, -0.34, 0.316, 0.196 ], [ -1.876, 0.016, -0.452, -1.6, -1.908 ], [ -1.72, 0.524, -1.76, -0.988, 1.968 ], [ -0.516, -0.82, 0.308, 0.16, -1.116 ], [ 1.216, -1.58, -1.128, -1.836, -1.636 ], [ 1.488, 0.092, 0.76, 1.376, 0.16 ], ... ],
    	[ [ -0.452, -0.28, 1.556, 1.912, 0.856 ], [ -0.896, 0.644, -1.908, 0.812, 1.228 ], [ -0.644, 1.668, 0.424, -1.256, -0.48 ], [ -1.968, 1.86, 0.328, 1.624, -1.244 ], [ -1.572, 0.276, -1.472, -0.016, -1.592 ], [ -1.18, -0.364, -1.068, 0.784, -1.124 ], [ -1.412, 0.072, -1.584, 1.984, 1.796 ], [ -0.368, 1.94, 0.568, -0.476, 0.284 ], ... ],
    	[ [ 1.872, -0.728, 1.008, -1.844, 0.44 ], [ 1.412, 1.188, -0.368, -0.368, -1.916 ], [ 0.94, -0.968, 1.792, 0.92, -1.712 ], [ -1.264, 0.92, -0.728, -1.832, 0.936 ], [ 1.556, -0.56, -0.64, -0.988, -1.072 ], [ 1.272, -0.972, -1.84, 0.148, 0.908 ], [ -0.048, 1.572, -1.236, -1.336, 0.896 ], [ -1.84, -1.32, -0.484, -1.812, -0.276 ], ... ],
    	[ [ 1.1, -0.276, 0.916, -1.668, 1.072 ], [ -0.744, -0.28, -0.428, -0.376, -1.284 ], [ -0.464, -1.92, -1.588, 0.8, -1.284 ], [ -0.756, -1.164, 0.452, 0.264, -1.652 ], [ 1.936, -1.588, 1.748, 1.332, -0.352 ], [ 1.228, 0.492, 1.404, -0.112, 0.052 ], [ -1.656, -0.26, -1.384, -0.9, 0.6 ], [ 0.232, -0.628, 0.46, 1.892, -1.796 ], ... ],
    	[ [ -0.804, -0.3, -0.808, 0.116, 0.228 ], [ 1.844, -1.276, 0.012, -0.028, -0.896 ], [ -0.452, 1.544, -0.332, 1.972, 0.448 ], [ -1.74, 0.608, 0.404, -1.72, 1.068 ], [ -0.732, 1.228, 0.292, 1.688, -0.048 ], [ 1.62, 0.036, 0.848, -0.356, 1.616 ], [ 1.088, -1.764, -0.904, -1.792, -0.048 ], [ 0.768, -0.4, -1.656, -0.616, 0.324 ], ... ],
    	[ [ -0.004, -0.792, -0.268, 0.864, -0.528 ], [ -0.696, 1.02, 0.896, -1.096, -0.832 ], [ 1.528, 1.028, 0.264, -1.672, -1.452 ], [ 1.296, 1.676, -1.168, 1.172, 0.304 ], [ 1.176, 0.82, 0.272, -1.524, -1.948 ], [ 1.692, 0.864, -1.108, 1.64, -0.216 ], [ 1.136, -0.676, -0.852, 0.716, -1.58 ], [ 1.664, 1.476, -1.076, -1.372, -1.948 ], ... ],
    	[ [ 1.104, -0.136, 0.4, 1.6, 0.704 ], [ 0.888, -1.864, 1.292, 1.604, -1.66 ], [ -1.596, 1.176, 1.312, 0.872, 1.4 ], [ 1.088, 0.096, 1.944, 1.224, -0.744 ], [ -1.584, 0.08, -1.676, 0.892, 1.168 ], [ -1.688, 1.508, 0.496, -0.788, -1.012 ], [ -1.732, -1.34, 0.04, -0.192, -1.432 ], [ -1.44, 1.032, -1.468, 0.08, 1.4 ], ... ],
    	...
    ]

Gradient Descent

First, we train using basic gradient descent method apply weak line search conditions.

TrainingTester.java:480 executed in 30.27 seconds (1.033 gc):

    IterativeTrainer iterativeTrainer = new IterativeTrainer(trainable.addRef());
    try {
      iterativeTrainer.setLineSearchFactory(label -> new ArmijoWolfeSearch());
      iterativeTrainer.setOrientation(new GradientDescent());
      iterativeTrainer.setMonitor(TrainingTester.getMonitor(history));
      iterativeTrainer.setTimeout(30, TimeUnit.SECONDS);
      iterativeTrainer.setMaxIterations(250);
      iterativeTrainer.setTerminateThreshold(0);
      return iterativeTrainer.run();
    } finally {
      iterativeTrainer.freeRef();
    }
Logging
Reset training subject: 12606681148368
Reset training subject: 12607215729804
Constructing line search parameters: GD
th(0)=169.04666909854672;dx=-0.031125607009495855
New Minimum: 169.04666909854672 > 168.97961959034035
WOLFE (weak): th(2.154434690031884)=168.97961959034035; dx=-0.03111764270845645 evalInputDelta=0.06704950820636668
New Minimum: 168.97961959034035 > 168.91258724070047
WOLFE (weak): th(4.308869380063768)=168.91258724070047; dx=-0.031109678407417043 evalInputDelta=0.13408185784624038
New Minimum: 168.91258724070047 > 168.64462942780528
WOLFE (weak): th(12.926608140191302)=168.64462942780528; dx=-0.031077821203259418 evalInputDelta=0.40203967074143065
New Minimum: 168.64462942780528 > 167.4422166659324
WOLFE (weak): th(51.70643256076521)=167.4422166659324; dx=-0.030934463784550125 evalInputDelta=1.6044524326143232
New Minimum: 167.4422166659324 > 161.12324027817613
WOLFE (weak): th(258.53216280382605)=161.12324027817613; dx=-0.030169890884767223 evalInputDelta=7.923428820370589
New Minimum: 161.12324027817613 > 125.21234652761188
END: th(1551.1929768229563)=125.21234652761188; dx=-0.025391310261124053 evalInputDelta=43.83432257093483
Fitness changed from 169.04666909854672 to 125.21234652761188
Iteration 1 complete. Error: 125.21234652761188 Total: 4.4726; Orientation: 0.3135; Line Search: 3.2040
th(0)=125.21234652761188;dx=-0.02089503293588738
New Minimum: 125.21234652761188 > 68.17696928702327
END: th(3341.943960201201)=68.17696928702327; dx=-0.013238021310273483 evalInputDelta=57.035377240588616
Fitness changed from 125.21234652761188 to 68.17696928702327
Iteration 2 complete. Error: 68.17696928702327 Total: 0.8725; Orientation: 0.1291; Line Search: 0.5553
th(0)=68.17696928702327;dx=-0.008931757170913613
New Minimum: 68.17696928702327 > 24.07299928850024
END: th(7200.000000000001)=24.07299928850024; dx=-0.00331934560645389 evalInputDelta=44.10396999852303
Fitness changed from 68.17696928702327 to 24.07299928850024
Iteration 3 complete. Error: 24.07299928850024 Total: 0.8886; Orientation: 0.1259; Line Search: 0.5770
th(0)=24.07299928850024;dx=-0.002022524020616084
New Minimum: 24.07299928850024 > 6.782033311652441
END: th(15511.929768229566)=6.782033311652441; dx=-2.0685249606489447E-4 evalInputDelta=17.2909659768478
Fitness changed from 24.07299928850024 to 6.782033311652441
Iteration 4 complete. Error: 6.782033311652441 Total: 0.9384; Orientation: 0.1324; Line Search: 0.5726
th(0)=6.782033311652441;dx=-5.205686698008594E-4
Armijo: th(33419.43960201202)=20.125047420570503; dx=0.0013190867938519127 evalInputDelta=-13.343014108918062
New Minimum: 6.782033311652441 > 5.768508534104567
WOLF (strong): th(16709.71980100601)=5.768508534104567; dx=3.992590620255267E-4 evalInputDelta=1.0135247775478735
New Minimum: 5.768508534104567 > 4.736406867579394
END: th(5569.906600335336)=4.736406867579394; dx=-2.139594258587307E-4 evalInputDelta=2.045626444073047
Fitness changed from 6.782033311652441 to 4.736406867579394
Iteration 5 complete. Error: 4.736406867579394 Total: 1.5539; Orientation: 0.2051; Line Search: 1.1515
th(0)=4.736406867579394;dx=-1.876056221347352E-4
New Minimum: 4.736406867579394 > 2.8949353974723144
END: th(12000.000000000004)=2.8949353974723144; dx=-1.1930628954977775E-4 evalInputDelta=1.8414714701070793
Fitness changed from 4.736406867579394 to 2.8949353974723144
Iteration 6 complete. Error: 2.8949353974723144 Total: 0.9985; Orientation: 0.1499; Line Search: 0.5770
th(0)=2.8949353974723144;dx=-9.549650788444488E-5
New Minimum: 2.8949353974723144 > 1.3080873337133463
END: th(25853.216280382614)=1.3080873337133463; dx=-2.7261763005283184E-5 evalInputDelta=1.5868480637589681
Fitness changed from 2.8949353974723144 to 1.3080873337133463
Iteration 7 complete. Error: 1.3080873337133463 Total: 0.9998; Orientation: 0.1353; Line Search: 0.6613
th(0)=1.3080873337133463;dx=-9.413911065752148E-5
Armijo: th(55699.06600335337)=17.443535194018168; dx=6.735185874815452E-4 evalInputDelta=-16.135447860304822
Armijo: th(27849.533001676686)=4.031084164286983; dx=2.8968973841201186E-4 evalInputDelta=-2.7229968305736367
New Minimum: 1.3080873337133463 > 1.0280358106648309
WOLF (strong): th(9283.177667225562)=1.0280358106648309; dx=3.380383903232298E-5 evalInputDelta=0.28005152304851544
END: th(2320.7944168063905)=1.126725971709993; dx=-6.215337323506036E-5 evalInputDelta=0.1813613620033534
Fitness changed from 1.3080873337133463 to 1.0280358106648309
Iteration 8 complete. Error: 1.0280358106648309 Total: 1.8289; Orientation: 0.1341; Line Search: 1.5007
th(0)=1.0280358106648309;dx=-6.966018527587405E-5
New Minimum: 1.0280358106648309 > 0.8081979283589844
END: th(5000.000000000003)=0.8081979283589844; dx=-1.827496764646445E-5 evalInputDelta=0.21983788230584644
Fitness changed from 1.0280358106648309 to 0.8081979283589844
Iteration 9 complete. Error: 0.8081979283589844 Total: 0.8968; Orientation: 0.1332; Line Search: 0.5697
th(0)=0.8081979283589844;dx=-1.7575444863472042E-5
New Minimum: 0.8081979283589844 > 0.6328695154029074
END: th(10772.173450159426)=0.6328695154029074; dx=-1.4976651288207061E-5 evalInputDelta=0.17532841295607704
Fitness changed from 0.8081979283589844 to 0.6328695154029074
Iteration 10 complete. Error: 0.6328695154029074 Total: 0.9969; Orientation: 0.1308; Line Search: 0.6748
th(0)=0.6328695154029074;dx=-1.2995685375026359E-5
New Minimum: 0.6328695154029074 > 0.37785069142169864
END: th(23207.94416806391)=0.37785069142169864; dx=-8.981170664823656E-6 evalInputDelta=0.25501882398120873
Fitness changed from 0.6328695154029074 to 0.37785069142169864
Iteration 11 complete. Error: 0.37785069142169864 Total: 0.9119; Orientation: 0.1355; Line Search: 0.5766
th(0)=0.37785069142169864;dx=-7.3390241604061116E-6
New Minimum: 0.37785069142169864 > 0.2709992840011011
WOLF (strong): th(50000.00000000004)=0.2709992840011011; dx=3.0649678635822135E-6 evalInputDelta=0.10685140742059751
New Minimum: 0.2709992840011011 > 0.2594000375614728
END: th(25000.00000000002)=0.2594000375614728; dx=-2.137028148411948E-6 evalInputDelta=0.11845065386022585
Fitness changed from 0.37785069142169864 to 0.2594000375614728
Iteration 12 complete. Error: 0.2594000375614728 Total: 1.2215; Orientation: 0.1824; Line Search: 0.8434
th(0)=0.2594000375614728;dx=-1.4286189684705011E-5
Armijo: th(53860.867250797135)=2.6715062394831914; dx=1.0385423138332878E-4 evalInputDelta=-2.4121062019217185
Armijo: th(26930.433625398568)=0.6700599465100014; dx=4.4784020849311884E-5 evalInputDelta=-0.41065990894852866
New Minimum: 0.2594000375614728 > 0.21953263120824223
WOLF (strong): th(8976.81120846619)=0.21953263120824223; dx=5.4038804933006225E-6 evalInputDelta=0.03986740635323055
END: th(2244.2028021165474)=0.23286249447290824; dx=-9.3636721402036E-6 evalInputDelta=0.02653754308856454
Fitness changed from 0.2594000375614728 to 0.21953263120824223
Iteration 13 complete. Error: 0.21953263120824223 Total: 1.6382; Orientation: 0.1254; Line Search: 1.3263
th(0)=0.21953263120824223;dx=-1.0052877019989209E-5
New Minimum: 0.21953263120824223 > 0.18812915174049144
END: th(4834.988368346649)=0.18812915174049144; dx=-2.937218126191822E-6 evalInputDelta=0.031403479467750794
Fitness changed from 0.21953263120824223 to 0.18812915174049144
Iteration 14 complete. Error: 0.18812915174049144 Total: 1.0082; Orientation: 0.1297; Line Search: 0.6898
th(0)=0.18812915174049144;dx=-2.710110156409725E-6
New Minimum: 0.18812915174049144 > 0.16137226916517416
END: th(10416.666666666675)=0.16137226916517416; dx=-2.427211298051187E-6 evalInputDelta=0.026756882575317276
Fitness changed from 0.18812915174049144 to 0.16137226916517416
Iteration 15 complete. Error: 0.16137226916517416 Total: 0.9173; Orientation: 0.1329; Line Search: 0.5859
th(0)=0.16137226916517416;dx=-2.2118556885858174E-6
New Minimum: 0.16137226916517416 > 0.11706920010015473
END: th(22442.028021165475)=0.11706920010015473; dx=-1.7363676202200012E-6 evalInputDelta=0.044303069065019435
Fitness changed from 0.16137226916517416 to 0.11706920010015473
Iteration 16 complete. Error: 0.11706920010015473 Total: 0.8819; Orientation: 0.1353; Line Search: 0.5541
th(0)=0.11706920010015473;dx=-1.4964172732586725E-6
New Minimum: 0.11706920010015473 > 0.07398646545385239
END: th(48349.88368346649)=0.07398646545385239; dx=-2.857063375592262E-7 evalInputDelta=0.04308273464630234
Fitness changed from 0.11706920010015473 to 0.07398646545385239
Iteration 17 complete. Error: 0.07398646545385239 Total: 0.8534; Orientation: 0.1265; Line Search: 0.5398
th(0)=0.07398646545385239;dx=-5.151670315805134E-6
Armijo: th(104166.66666666676)=4.169649612883737; dx=8.378840274645885E-5 evalInputDelta=-4.095663147429885
Armijo: th(52083.33333333338)=0.9637441711705648; dx=3.931836621532686E-5 evalInputDelta=-0.8897577057167124
Armijo: th(17361.111111111128)=0.1132226189153721; dx=9.671675194572198E-6 evalInputDelta=-0.03923615346151971
New Minimum: 0.07398646545385239 > 0.05966896490260252
END: th(4340.277777777782)=0.05966896490260252; dx=-1.4458339382107997E-6 evalInputDelta=0.014317500551249869
Fitness changed from 0.07398646545385239 to 0.05966896490260252
Iteration 18 complete. Error: 0.05966896490260252 Total: 1.8079; Orientation: 0.1274; Line Search: 1.4953
th(0)=0.05966896490260252;dx=-7.281729871866043E-7
New Minimum: 0.05966896490260252 > 0.05446082607869987
END: th(9350.84500881895)=0.05446082607869987; dx=-3.8576673034496866E-7 evalInputDelta=0.0052081388239026485
Fitness changed from 0.05966896490260252 to 0.05446082607869987
Iteration 19 complete. Error: 0.05446082607869987 Total: 0.8945; Orientation: 0.1346; Line Search: 0.5623
th(0)=0.05446082607869987;dx=-5.674947971452832E-7
New Minimum: 0.05446082607869987 > 0.04680625482420547
END: th(20145.78486811104)=0.04680625482420547; dx=-1.9242310177072168E-7 evalInputDelta=0.007654571254494397
Fitness changed from 0.05446082607869987 to 0.04680625482420547
Iteration 20 complete. Error: 0.04680625482420547 Total: 0.8706; Orientation: 0.1278; Line Search: 0.5488
th(0)=0.04680625482420547;dx=-1.005373607674637E-6
Armijo: th(43402.777777777825)=0.11539261693877027; dx=4.165833173913779E-6 evalInputDelta=-0.0685863621145648
Armijo: th(21701.388888888912)=0.05304384353346041; dx=1.5802297831195713E-6 evalInputDelta=-0.006237588709254935
New Minimum: 0.04680625482420547 > 0.04265087498328435
END: th(7233.796296296304)=0.04265087498328435; dx=-1.4350581074323423E-7 evalInputDelta=0.004155379840921125
Fitness changed from 0.04680625482420547 to 0.04265087498328435
Iteration 21 complete. Error: 0.04265087498328435 Total: 1.3671; Orientation: 0.1241; Line Search: 1.0556
th(0)=0.04265087498328435;dx=-4.2535342777277693E-7
New Minimum: 0.04265087498328435 > 0.038087175829708955
END: th(15584.741681364916)=0.038087175829708955; dx=-1.6030904220994003E-7 evalInputDelta=0.004563699153575393
Fitness changed from 0.04265087498328435 to 0.038087175829708955
Iteration 22 complete. Error: 0.038087175829708955 Total: 0.8603; Orientation: 0.1277; Line Search: 0.5464
th(0)=0.038087175829708955;dx=-6.014642037240798E-7
Armijo: th(33576.308113518404)=0.052346603094050745; dx=1.4508385432811255E-6 evalInputDelta=-0.01425942726434179
New Minimum: 0.038087175829708955 > 0.036603295789921476
WOLF (strong): th(16788.154056759202)=0.036603295789921476; dx=4.246871697785229E-7 evalInputDelta=0.0014838800397874788
New Minimum: 0.036603295789921476 > 0.03567841722267794
END: th(5596.051352253067)=0.03567841722267794; dx=-2.59413745889879E-7 evalInputDelta=0.0024087586070310127
Fitness changed from 0.038087175829708955 to 0.03567841722267794
Iteration 23 complete. Error: 0.03567841722267794 Total: 1.4217; Orientation: 0.1269; Line Search: 1.1101
th(0)=0.03567841722267794;dx=-2.767422531802502E-7
New Minimum: 0.03567841722267794 > 0.032476133539323965
WOLFE (weak): th(12056.327160493842)=0.032476133539323965; dx=-2.5447818248397335E-7 evalInputDelta=0.003202283683353978
New Minimum: 0.032476133539323965 > 0.029542272776208665
END: th(24112.654320987684)=0.029542272776208665; dx=-2.3221411178769657E-7 evalInputDelta=0.006136144446469278
Fitness changed from 0.03567841722267794 to 0.029542272776208665
Iteration 24 complete. Error: 0.029542272776208665 Total: 1.1496; Orientation: 0.1254; Line Search: 0.8390
Final threshold in iteration 24: 0.029542272776208665 (> 0.0) after 30.251s (< 30.000s)

Returns

    0.029542272776208665

This training apply resulted in the following configuration:

TrainingTester.java:610 executed in 0.00 seconds (0.000 gc):

    RefList<double[]> state = network.state();
    assert state != null;
    String description = state.stream().map(RefArrays::toString).reduce((a, b) -> a + "\n" + b)
        .orElse("");
    state.freeRef();
    return description;

Returns

    

And regressed input:

TrainingTester.java:622 executed in 0.01 seconds (0.000 gc):

    return RefArrays.stream(RefUtil.addRef(data)).flatMap(x -> {
      return RefArrays.stream(x);
    }).limit(1).map(x -> {
      String temp_18_0015 = x.prettyPrint();
      x.freeRef();
      return temp_18_0015;
    }).reduce((a, b) -> a + "\n" + b).orElse("");

Returns

    [
    	[ [ -1.671620061359183, -1.1162317031695677, -1.0517944370316037, -0.3290702659437882, 2.433644044610425 ], [ -0.509178962670501, -1.4441377926473926, 0.3039482037239692, 0.7828544146978134, 0.8049721677344929 ], [ 0.3654644944747791, 0.5745107077533407, -1.4984670692151267, 0.49890852452981804, -0.9236047381631058 ], [ 1.099707858075619, 0.15525530215670208, 0.43449851981444954, 1.4543445561538033, -0.9809048933340982 ], [ -1.1419296151522285, 1.4806794592436345, 0.8679170633504868, 0.4811455253037732, -1.076868955142908 ], [ -0.18682147186994677, 0.709719226453843, -1.3080064200076316, -0.07218204736178681, 0.3603870242174064 ], [ 0.6063748025895903, -1.9675084339156899, -0.19377076650065087, -2.563513370147746, 1.9979193620170828 ], [ -0.0016006023016711581, -0.344240686579116, -1.0995369930481198, -2.3687614439429363, -0.41021267555825086 ], ... ],
    	[ [ 0.40698760127275824, 1.8667221062936787, -1.9888708691445507, -1.640283109797818, -0.70174294980539 ], [ 0.19446278074520695, -0.21137335467064647, -1.4973979090351874, -0.4033744207991375, -0.24800376004537442 ], [ -1.4367235945792998, -0.6769682079967648, -1.4373108465652829, -0.6326276104165658, -1.0956232767547582 ], [ 1.428183270528034, 0.4157382019629076, -0.9367278878772415, 1.9299545918694088, 0.04676208506053508 ], [ -0.3145512863784451, 0.6443197654160084, -0.7434577356278068, -1.578681404916458, 0.26976460408611563 ], [ 1.27788459255649, 0.5841052180471528, -1.1583713818074566, -1.164340113528843, 0.3510057656537025 ], [ 0.3388035387004626, -0.6233301061848414, 3.098942256936521, 0.48773579174279835, -1.2788342924302307 ], [ -1.906072976411402, -0.056107378586627316, 0.36370635596061507, 0.5241098483337742, -0.9375622741743775 ], ... ],
    	[ [ -1.1222188651892457, 0.656416501515891, -0.11260879806668904, -1.0320497465044443, -0.8147159029957645 ], [ 1.1870422531512752, 3.9037243423014596, -0.2914134614471415, -0.0060460855736675385, 0.915299219620417 ], [ 0.5128683278343391, 0.9368774732855691, -0.8704855618406627, -1.0248562761992974, -0.24459031934323672 ], [ -1.7812378424793385, -0.3803717435172265, 1.619133846265433, 0.5813366373570965, -1.5127089046637636 ], [ -1.1826922482318363, -0.1539731362233167, -0.011169626268453083, -0.22574109461490938, 1.2237748651584215 ], [ -0.7408272045560862, -0.48676735900606355, -1.3443215745453858, -0.014573559824672795, 1.594477795469032 ], [ -1.2090571530181256, 0.8801214453097038, 1.1956496202230908, 1.1806335260662524, -0.4028192644156801 ], [ -0.49477687745656024, -0.23892653092081242, -0.5329325451799112, 0.27634391446321516, -0.349505711834117 ], ... ],
    	[ [ -1.30194887981121, 0.7848844580582092, -1.0605990616242649, 2.497278417994671, 1.0580704947947053 ], [ 0.20681733489722343, 1.3445327500990156, 0.8501799378558113, 0.12543188261009486, -1.5400377583743368 ], [ 0.4319450171570532, -1.68466772986925, -0.4299775467190708, -1.9635850586625374, -1.2030608921950896 ], [ 0.7196132637867342, -1.0416276449726047, -0.713007715907749, 1.1272843176045249, -1.6234263783742289 ], [ 0.0199927328142394, -1.8531102680766076, -1.9792796169668592, -0.319451044203213, 0.03265103524678607 ], [ -0.9616869835794186, -0.3823657120124112, 1.2247627549744746, 1.4034904020959922, 0.20642147824232582 ], [ 0.49390957100992566, 2.244994451378971, 0.4408478470811673, 2.1532134184418776, -3.198106992684447 ], [ -1.5735882442120002, 1.0967191154800848, -0.625595532531888, -0.8922025686556933, -0.2673998441494175 ], ... ],
    	[ [ -0.37211413151885936, 0.3917176973316753, -0.10233237324215222, -2.0224669295806863, 0.0025759584181963054 ], [ -2.446705110513912, 0.93521567186705, -0.15634373970283552, 1.4513258320942113, 0.1662530064211486 ], [ -0.15739685882497784, 1.6169908840250962, 0.9610148430884858, 0.16518991955058063, -0.2744053253137831 ], [ -1.1557106546452283, 0.6320518084494522, 1.1673646158857724, 0.04712811499847493, 0.40660698746579577 ], [ 0.6463202053724126, -0.04535043381431987, -1.5587464172093894, -1.7123770381667547, 1.3910174855070845 ], [ -3.161157962640183, 1.9842471918975924, 0.9940494837481747, -0.8383537275630366, -1.0011059223755083 ], [ 0.7034100990104875, 1.229665672886501, 1.2032757462060797, 0.6550890658274758, -1.2692287031877978 ], [ 2.651903215146523, 0.17110816521729236, -0.034214576356721385, -1.135748437600274, 0.9079126575127152 ], ... ],
    	[ [ -0.6041146938606669, 0.39446967156350166, 0.1852759109584184, -0.56930546120402, 0.7020307481198109 ], [ -0.1209014201432488, 1.190782966724309, -0.7030546788739793, 0.2670055702326786, -0.5259949302245407 ], [ -0.8266990580718091, 1.9201474369546239, 1.237085377449134, -0.27845943407159335, 1.2066802545677284 ], [ -0.15962838607647878, -0.9214354331401414, -0.33689720944129464, 0.9707112176427413, -1.1364190869685513 ], [ 0.6751768450095796, -0.5260011355350835, 0.48150350569143113, 1.4790634251573271, -0.2098006958696655 ], [ -0.40712658110093314, -1.1406564058822533, 1.8975567814708132, -0.024301228594311972, -1.8861744331872354 ], [ -0.05111752166579676, -0.8703910149181753, -0.8608847515330688, -0.3719884807702621, -0.8603072772620454 ], [ -0.8928690785567472, 0.4323605348462626, -0.11603551283382516, -0.24143029051330292, 0.9152862824994351 ], ... ],
    	[ [ 1.7767889033556212, 0.00863669306534148, 1.394707786863064, 0.5453014047450591, 0.631096080704321 ], [ 0.6402009978678752, 1.7851773054207698, 0.6088779492964597, -2.42638728825651, -0.47482943433186586 ], [ 1.053821907048631, 0.045366320012944376, -0.8485684855965903, -0.29447254696669484, -2.0826219024566033 ], [ 1.0773681430086992, 2.4520458080862118, -2.514269912876155, 1.9084180435937417, -1.1826678068637329 ], [ -0.16066709793258832, -0.67248001513696, -0.9610595646379462, -0.9703849458620983, -0.027170493072086063 ], [ 0.19943666142814123, -1.8220242750946263, -1.530176783669836, 1.9190390468368959, 0.2615060825898757 ], [ 0.19938141875169688, -2.6784631597309674, -1.8469428261897982, 0.35580069048602564, -1.8782389265255084 ], [ -0.5757360092767072, 0.5812217638302465, 0.6423509303320104, -1.2834692478277105, 1.3394876229751418 ], ... ],
    	[ [ 0.4415719121005375, 0.08062907526798624, 1.8243132362848022, 0.8036587971932658, 1.6207594538458805 ], [ 0.9408594905732528, -2.236969138083492, -2.062519070935813, -1.058592402162796, 0.2643699658575495 ], [ -0.33015563480452087, -1.855745382201183, 0.08970395303652336, 0.11160683618925317, 2.397150595685389 ], [ 0.5466065875257545, 0.11409803448105109, 0.4276700694394636, -0.8363204895106464, -0.8857193277236948 ], [ 0.4126076103848696, 1.9741391011078235, -1.2678332947670414, 0.026237410345362394, -2.073180770991146 ], [ -0.22463736356723052, 1.364539191500692, 1.205044433424547, -0.28018081215402996, -0.3086673428313891 ], [ -0.31494544999743224, -1.4907516044368399, 0.17646965593736122, -1.0580829711381428, 1.3694287669319936 ], [ 0.5590999454517002, -0.7704730240377414, -0.9320075556647528, 1.314714745121651, -0.6629744982434358 ], ... ],
    	...
    ]

To produce the following output:

TrainingTester.java:633 executed in 0.07 seconds (0.000 gc):

    Result[] array = ConstantResult.batchResultArray(pop(RefUtil.addRef(data)));
    @Nullable
    Result eval = layer.eval(array);
    assert eval != null;
    TensorList tensorList = Result.getData(eval);
    String temp_18_0016 = tensorList.stream().limit(1).map(x -> {
      String temp_18_0017 = x.prettyPrint();
      x.freeRef();
      return temp_18_0017;
    }).reduce((a, b) -> a + "\n" + b).orElse("");
    tensorList.freeRef();
    return temp_18_0016;

Returns

    [
    	[ [ -9.142441752499089, 2.4455958629504133, -1.118944288557357 ], [ -8.528699874373647, 7.639659699772954, 4.391073617973065 ], [ 9.751421994203476, 4.0758994943801845, -1.1075270497767362 ], [ -0.4920748226813716, 4.887729837689442, 11.614602312450511 ], [ 9.65826265653698, 4.2924672073910415, 9.618950599369358 ], [ -2.272808394671734, 0.6979199671779612, -2.4512119335853155 ], [ -8.006846968878177, -5.484666317364292, -6.768252939702547 ], [ 6.231171400328637, -10.99829615881397, -3.3397250920385737 ], ... ],
    	[ [ 1.6511389847522133, -12.027965141351615, -3.419930981102648 ], [ -12.329200444431361, -1.0612739139102443, 2.2553793968985296 ], [ 2.190584579377563, -5.1243152862617265, -3.4628298565110227 ], [ -4.9493820426059845, -9.085127117240223, -10.254268541362372 ], [ -1.2300927543479014, -12.415338803475455, -3.5740910282188225 ], [ -11.485413856043074, -2.7103834795743937, -0.7158182326945557 ], [ -4.163129648454581, 13.337368140694998, 5.449952805797077 ], [ 16.279236268527963, -4.082119121767731, -9.558832544619133 ], ... ],
    	[ [ 1.4748574800310035, -16.182790836776725, 1.0714702194520411 ], [ 9.762646609470972, -18.830851641586, 5.998144086183028 ], [ 16.36202107866168, 5.276572519511514, 3.6952842425829147 ], [ 10.966562965697392, 4.294071080851703, -7.780826570303876 ], [ 6.4453843603477985, -11.198742878530751, -8.582893104613168 ], [ -11.226297037035403, 2.738229035022927, -0.10605487896339039 ], [ -8.586504290282477, -9.285641749633673, -1.8158452320407834 ], [ 0.7774999501842306, -13.257392400842086, 1.1490454927301101 ], ... ],
    	[ [ -7.775645268623552, -2.4519700934381996, -4.4629838402109865 ], [ -6.4141274505473795, -0.3694774976885764, -5.1149108089338196 ], [ -4.133455236615589, -9.71116951605848, 13.994479145376069 ], [ 4.328647381166477, 0.2734389054398245, -4.2449511409711995 ], [ -7.635154606268554, 1.9693000786956998, 6.973234006719155 ], [ -6.048100232476269, 2.894357722751195, 2.9976471809019314 ], [ 5.889760218990972, -12.446018955673019, 1.8631697535262006 ], [ 16.29519645051383, -3.6754445342152167, 7.056957089012602 ], ... ],
    	[ [ -6.421993993729932, -12.046484882390388, 5.628202613756566 ], [ -24.495307694620024, -15.451898557468928, -19.905606427777464 ], [ -7.746727392281818, 3.9108381791750295, 8.959522765270536 ], [ 9.203593631008335, -3.6961684209626386, -13.916345551728782 ], [ 4.7053286637042575, -12.10939556162353, 17.91901292645524 ], [ 2.3488264188139256, -9.741222043542013, -8.690147611379585 ], [ 8.30685744398331, -19.887647189760404, -12.806684359889275 ], [ 14.786438218033169, -2.8329528502308436, 0.8245337498508674 ], ... ],
    	[ [ 2.6458035265468625, -5.742724754288715, 9.366650304620876 ], [ -1.7305209252151457, -7.032024943980697, 10.596291954560005 ], [ 9.717902015723956, 6.575790660693199, -7.224407021620706 ], [ 5.818574076527332, -0.33736341052021124, 9.757711975268212 ], [ 19.32414435145953, 12.979859995777394, 28.26317107601632 ], [ 21.350128005546395, 23.187661197717155, 1.166999240711557 ], [ 6.130153584091201, -0.8735949109814207, -3.478498106185757 ], [ -10.80407075345819, 2.2601199152224822, 6.0531661798099226 ], ... ],
    	[ [ 1.0752921577952659, 6.472039460881849, 9.54408808450658 ], [ 18.624142389972906, 4.102045452410517, 8.679114341281466 ], [ 6.89672751033668, 9.170176481441027, -3.21102972730867 ], [ 2.6250516316499395, 7.7623446124371895, -14.135748456775673 ], [ 0.3777080818289381, 3.0926900744521, 1.1304156732878579 ], [ -4.658282975719122, 2.197116337069094, -3.764553135792477 ], [ 2.0385444658933, 9.809617202454664, 13.510221823881738 ], [ 10.178984194338422, 0.035355364171608894, -11.880171179558097 ], ... ],
    	[ [ 1.0376574348885264, 6.235009511155315, -1.4745443244192045 ], [ -5.976380491515543, 1.1551822379516166, -2.726264726691947 ], [ -17.752988715809156, 8.76797344262511, 5.0769495180386714 ], [ 2.1894028934397385, -8.04695596934288, 11.553013035337656 ], [ 8.927637752386802, -3.8124546355406874, -7.932533927729651 ], [ 1.7601308637233726, 2.774368792237892, -12.907783085897975 ], [ 13.703174240571647, 7.205572083888164, 6.866589476724721 ], [ 0.6849260107112256, 5.752563252086913, -22.129038222864956 ], ... ],
    	...
    ]

Conjugate Gradient Descent

First, we use a conjugate gradient descent method, which converges the fastest for purely linear functions.

TrainingTester.java:452 executed in 31.77 seconds (0.640 gc):

    IterativeTrainer iterativeTrainer = new IterativeTrainer(trainable.addRef());
    try {
      iterativeTrainer.setLineSearchFactory(label -> new QuadraticSearch());
      iterativeTrainer.setOrientation(new GradientDescent());
      iterativeTrainer.setMonitor(TrainingTester.getMonitor(history));
      iterativeTrainer.setTimeout(30, TimeUnit.SECONDS);
      iterativeTrainer.setMaxIterations(250);
      iterativeTrainer.setTerminateThreshold(0);
      return iterativeTrainer.run();
    } finally {
      iterativeTrainer.freeRef();
    }
Logging
Reset training subject: 12637056607152
Reset training subject: 12637243808947
Constructing line search parameters: GD
F(0.0) = LineSearchPoint{point=PointSample{avg=169.04666909854672}, derivative=-0.031125607009495855}
New Minimum: 169.04666909854672 > 169.0466690985436
F(1.0E-10) = LineSearchPoint{point=PointSample{avg=169.0466690985436}, derivative=-0.03112560700949548}, evalInputDelta = -3.126388037344441E-12
New Minimum: 169.0466690985436 > 169.0466690985249
F(7.000000000000001E-10) = LineSearchPoint{point=PointSample{avg=169.0466690985249}, derivative=-0.031125607009493267}, evalInputDelta = -2.1827872842550278E-11
New Minimum: 169.0466690985249 > 169.0466690983942
F(4.900000000000001E-9) = LineSearchPoint{point=PointSample{avg=169.0466690983942}, derivative=-0.03112560700947774}, evalInputDelta = -1.525108928035479E-10
New Minimum: 169.0466690983942 > 169.04666909747908
F(3.430000000000001E-8) = LineSearchPoint{point=PointSample{avg=169.04666909747908}, derivative=-0.031125607009369057}, evalInputDelta = -1.0676330930436961E-9
New Minimum: 169.04666909747908 > 169.04666909107345
F(2.4010000000000004E-7) = LineSearchPoint{point=PointSample{avg=169.04666909107345}, derivative=-0.03112560700860828}, evalInputDelta = -7.47326112104929E-9
New Minimum: 169.04666909107345 > 169.0466690462339
F(1.6807000000000003E-6) = LineSearchPoint{point=PointSample{avg=169.0466690462339}, derivative=-0.031125607003282804}, evalInputDelta = -5.2312827847345034E-8
New Minimum: 169.0466690462339 > 169.04666873235706
F(1.1764900000000001E-5) = LineSearchPoint{point=PointSample{avg=169.04666873235706}, derivative=-0.031125606966004537}, evalInputDelta = -3.661896528228681E-7
New Minimum: 169.04666873235706 > 169.04666653521912
F(8.235430000000001E-5) = LineSearchPoint{point=PointSample{avg=169.04666653521912}, derivative=-0.031125606705056628}, evalInputDelta = -2.563327598181786E-6
New Minimum: 169.04666653521912 > 169.04665115525427
F(5.764801000000001E-4) = LineSearchPoint{point=PointSample{avg=169.04665115525427}, derivative=-0.031125604878421243}, evalInputDelta = -1.7943292448308057E-5
New Minimum: 169.04665115525427 > 169.0465434955255
F(0.004035360700000001) = LineSearchPoint{point=PointSample{avg=169.0465434955255}, derivative=-0.031125592091973603}, evalInputDelta = -1.256030212175574E-4
New Minimum: 169.0465434955255 > 169.0457898786625
F(0.028247524900000005) = LineSearchPoint{point=PointSample{avg=169.0457898786625}, derivative=-0.031125502586840128}, evalInputDelta = -8.792198842115795E-4
New Minimum: 169.0457898786625 > 169.0405146213007
F(0.19773267430000002) = LineSearchPoint{point=PointSample{avg=169.0405146213007}, derivative=-0.03112487605090577}, evalInputDelta = -0.006154477246013812
New Minimum: 169.0405146213007 > 169.00359079304704
F(1.3841287201) = LineSearchPoint{point=PointSample{avg=169.00359079304704}, derivative=-0.031120490299365276}, evalInputDelta = -0.04307830549967662
New Minimum: 169.00359079304704 > 168.74526968594336
F(9.688901040700001) = LineSearchPoint{point=PointSample{avg=168.74526968594336}, derivative=-0.031089790038581783}, evalInputDelta = -0.30139941260335945
New Minimum: 168.74526968594336 > 166.94416077914536
F(67.8223072849) = LineSearchPoint{point=PointSample{avg=166.94416077914536}, derivative=-0.03087488821309734}, evalInputDelta = -2.102508319401352
New Minimum: 166.94416077914536 > 154.68620173501756
F(474.7561509943) = LineSearchPoint{point=PointSample{avg=154.68620173501756}, derivative=-0.02937057543470628}, evalInputDelta = -14.360467363529153
New Minimum: 154.68620173501756 > 86.02085029557433
F(3323.2930569601003) = LineSearchPoint{point=PointSample{avg=86.02085029557433}, derivative=-0.018840385985968815}, evalInputDelta = -83.02581880297238
F(23263.0513987207) = LineSearchPoint{point=PointSample{avg=445.2411218226008}, derivative=0.05487094015519338}, evalInputDelta = 276.1944527240541
F(1789.4654922092848) = LineSearchPoint{point=PointSample{avg=119.26723303100027}, derivative=-0.02451048799682745}, evalInputDelta = -49.77943606754644
New Minimum: 86.02085029557433 > 69.17868782630259
F(12526.258445464993) = LineSearchPoint{point=PointSample{avg=69.17868782630259}, derivative=0.015180226079182967}, evalInputDelta = -99.86798127224412
69.17868782630259 <= 169.04666909854672
New Minimum: 69.17868782630259 > 38.01045715218005
F(8419.833348560232) = LineSearchPoint{point=PointSample{avg=38.01045715218005}, derivative=1.6263032587282567E-19}, evalInputDelta = -131.03621194636668
Right bracket at 8419.833348560232
Converged to right
Fitness changed from 169.04666909854672 to 38.01045715218005
Iteration 1 complete. Error: 38.01045715218005 Total: 7.4917; Orientation: 0.1303; Line Search: 6.7237
F(0.0) = LineSearchPoint{point=PointSample{avg=38.01045715218005}, derivative=-0.005350022028722618}
New Minimum: 38.01045715218005 > 16.041777518117136
F(8419.833348560232) = LineSearchPoint{point=PointSample{avg=16.041777518117136}, derivative=1.3170505625676777E-4}, evalInputDelta = -21.968679634062916
16.041777518117136 <= 38.01045715218005
New Minimum: 16.041777518117136 > 16.028455777095914
F(8217.536771650493) = LineSearchPoint{point=PointSample{avg=16.028455777095914}, derivative=4.472333961502706E-19}, evalInputDelta = -21.98200137508414
Right bracket at 8217.536771650493
Converged to right
Fitness changed from 38.01045715218005 to 16.028455777095914
Iteration 2 complete. Error: 16.028455777095914 Total: 1.4251; Orientation: 0.1333; Line Search: 1.0991
F(0.0) = LineSearchPoint{point=PointSample{avg=16.028455777095914}, derivative=-0.0016993554281217705}
New Minimum: 16.028455777095914 > 8.67940425251031
F(8217.536771650493) = LineSearchPoint{point=PointSample{avg=8.67940425251031}, derivative=-8.927095197279572E-5}, evalInputDelta = -7.3490515245856045
F(57522.757401553456) = LineSearchPoint{point=PointSample{avg=242.43459125757096}, derivative=0.009571235904921052}, evalInputDelta = 226.40613548047503
F(4424.827492427189) = LineSearchPoint{point=PointSample{avg=10.427194328043463}, derivative=-8.323868640415531E-4}, evalInputDelta = -5.601261449052451
F(30973.792446990323) = LineSearchPoint{point=PointSample{avg=57.379538719386375}, derivative=0.004369424520439749}, evalInputDelta = 41.35108294229046
F(2382.5994189992557) = LineSearchPoint{point=PointSample{avg=12.535706043667329}, derivative=-0.0012325262013093458}, evalInputDelta = -3.4927497334285853
F(16678.19593299479) = LineSearchPoint{point=PointSample{avg=14.936815579174073}, derivative=0.001568449159565202}, evalInputDelta = -1.0916401979218406
14.936815579174073 <= 16.028455777095914
New Minimum: 8.67940425251031 > 8.659067419158724
F(8673.157170048036) = LineSearchPoint{point=PointSample{avg=8.659067419158724}, derivative=8.131516293641283E-20}, evalInputDelta = -7.36938835793719
Right bracket at 8673.157170048036
Converged to right
Fitness changed from 16.028455777095914 to 8.659067419158724
Iteration 3 complete. Error: 8.659067419158724 Total: 2.8023; Orientation: 0.1254; Line Search: 2.4891
F(0.0) = LineSearchPoint{point=PointSample{avg=8.659067419158724}, derivative=-7.609779782731403E-4}
New Minimum: 8.659067419158724 > 5.388093857353098
F(8673.157170048036) = LineSearchPoint{point=PointSample{avg=5.388093857353098}, derivative=6.702805421059023E-6}, evalInputDelta = -3.2709735618056257
5.388093857353098 <= 8.659067419158724
Converged to right
Fitness changed from 8.659067419158724 to 5.388093857353098
Iteration 4 complete. Error: 5.388093857353098 Total: 0.9337; Orientation: 0.1378; Line Search: 0.6030
F(0.0) = LineSearchPoint{point=PointSample{avg=5.388093857353098}, derivative=-3.9246660396052347E-4}
New Minimum: 5.388093857353098 > 3.6484311945770838
F(8673.157170048036) = LineSearchPoint{point=PointSample{avg=3.6484311945770838}, derivative=-8.693579965067443E-6}, evalInputDelta = -1.7396626627760146
F(60712.100190336256) = LineSearchPoint{point=PointSample{avg=63.10945406740236}, derivative=0.0022939445640076696}, evalInputDelta = 57.72136021004926
F(4670.161553102789) = LineSearchPoint{point=PointSample{avg=4.037748880062573}, derivative=-1.8581959103989334E-4}, evalInputDelta = -1.3503449772905256
F(32691.130871719524) = Li

...skipping 1710 bytes...

le{avg=3.137249248909055}, derivative=-1.6540258678207528E-4}, evalInputDelta = -0.5103279216533343
F(18001.674101519264) = LineSearchPoint{point=PointSample{avg=3.643913651634046}, derivative=2.310751977306243E-4}, evalInputDelta = -0.003663518928343379
3.643913651634046 <= 3.647577170562389
New Minimum: 2.605142309960333 > 2.6048936248300913
F(9008.757189552016) = LineSearchPoint{point=PointSample{avg=2.6048936248300913}, derivative=-1.7787691892340307E-20}, evalInputDelta = -1.0426835457322978
Left bracket at 9008.757189552016
Converged to left
Fitness changed from 3.647577170562389 to 2.6048936248300913
Iteration 6 complete. Error: 2.6048936248300913 Total: 2.7716; Orientation: 0.1269; Line Search: 2.4582
F(0.0) = LineSearchPoint{point=PointSample{avg=2.6048936248300913}, derivative=-1.494122365841466E-4}
New Minimum: 2.6048936248300913 > 1.929138337983983
F(9008.757189552016) = LineSearchPoint{point=PointSample{avg=1.929138337983983}, derivative=-6.09630500876329E-7}, evalInputDelta = -0.6757552868461083
F(63061.30032686411) = LineSearchPoint{point=PointSample{avg=26.025664111818827}, derivative=8.922060059987453E-4}, evalInputDelta = 23.420770486988737
F(4850.869255912624) = LineSearchPoint{point=PointSample{avg=2.0744510887477996}, derivative=-6.928775638546263E-5}, evalInputDelta = -0.5304425360822917
F(33956.08479138837) = LineSearchPoint{point=PointSample{avg=7.053936802731343}, derivative=4.114591248066414E-4}, evalInputDelta = 4.449043177901252
F(2612.00652241449) = LineSearchPoint{point=PointSample{avg=2.270974028889465}, derivative=-1.0626828570793216E-4}, evalInputDelta = -0.3339195959406265
F(18284.04565690143) = LineSearchPoint{point=PointSample{avg=2.633994356165159}, derivative=1.5259541954935467E-4}, evalInputDelta = 0.029100731335067742
F(1406.4650505308794) = LineSearchPoint{point=PointSample{avg=2.4110875826199347}, derivative=-1.2618087842003115E-4}, evalInputDelta = -0.19380604221015663
F(9845.255353716155) = LineSearchPoint{point=PointSample{avg=1.9344072893770616}, derivative=1.3207270564661754E-5}, evalInputDelta = -0.6704863354530297
1.9344072893770616 <= 2.6048936248300913
New Minimum: 1.929138337983983 > 1.9291270878492566
F(9045.665233720722) = LineSearchPoint{point=PointSample{avg=1.9291270878492566}, derivative=-8.470329472543003E-21}, evalInputDelta = -0.6757665369808348
Left bracket at 9045.665233720722
Converged to left
Fitness changed from 2.6048936248300913 to 1.9291270878492566
Iteration 7 complete. Error: 1.9291270878492566 Total: 3.2014; Orientation: 0.1276; Line Search: 2.8882
F(0.0) = LineSearchPoint{point=PointSample{avg=1.9291270878492566}, derivative=-1.0122548624147043E-4}
New Minimum: 1.9291270878492566 > 1.467098395109252
F(9045.665233720722) = LineSearchPoint{point=PointSample{avg=1.467098395109252}, derivative=-9.292322457092867E-7}, evalInputDelta = -0.4620286927400046
F(63319.65663604505) = LineSearchPoint{point=PointSample{avg=17.7470993333487}, derivative=6.008482917288576E-4}, evalInputDelta = 15.817972245499444
F(4870.742818157311) = LineSearchPoint{point=PointSample{avg=1.5676076551035765}, derivative=-4.7219811012983675E-5}, evalInputDelta = -0.3615194327456801
F(34095.19972710118) = LineSearchPoint{point=PointSample{avg=4.92249390856615}, derivative=2.7681424035793696E-4}, evalInputDelta = 2.993366820716893
F(2622.707671315475) = LineSearchPoint{point=PointSample{avg=1.7017763705132}, derivative=-7.214550727228526E-5}, evalInputDelta = -0.2273507173360565
F(18358.953699208327) = LineSearchPoint{point=PointSample{avg=1.9393060289045305}, derivative=1.0233436654282585E-4}, evalInputDelta = 0.010178941055273949
F(1412.2272076314098) = LineSearchPoint{point=PointSample{avg=1.797230346784234}, derivative=-8.556703602729382E-5}, evalInputDelta = -0.13189674106502247
F(9885.590453419869) = LineSearchPoint{point=PointSample{avg=1.470228978251944}, derivative=8.383665257766034E-6}, evalInputDelta = -0.4588981095973126
1.470228978251944 <= 1.9291270878492566
New Minimum: 1.467098395109252 > 1.4670594570459465
F(9129.472190453322) = LineSearchPoint{point=PointSample{avg=1.4670594570459465}, derivative=-4.446922973085077E-21}, evalInputDelta = -0.46206763080331004
Left bracket at 9129.472190453322
Converged to left
Fitness changed from 1.9291270878492566 to 1.4670594570459465
Iteration 8 complete. Error: 1.4670594570459465 Total: 3.5211; Orientation: 0.1248; Line Search: 3.2119
F(0.0) = LineSearchPoint{point=PointSample{avg=1.4670594570459465}, derivative=-7.187993628698266E-5}
New Minimum: 1.4670594570459465 > 1.138936764924845
F(9129.472190453322) = LineSearchPoint{point=PointSample{avg=1.138936764924845}, derivative=-2.1364716635821293E-9}, evalInputDelta = -0.32812269212110157
F(63906.30533317325) = LineSearchPoint{point=PointSample{avg=12.95053447722169}, derivative=4.312646624202509E-4}, evalInputDelta = 11.483475020175744
F(4915.869641013327) = LineSearchPoint{point=PointSample{avg=1.208837570371132}, derivative=-3.317650561719546E-5}, evalInputDelta = -0.2582218866748145
F(34411.08748709329) = LineSearchPoint{point=PointSample{avg=3.6549876668083336}, derivative=1.990440784015277E-4}, evalInputDelta = 2.1879282097623873
F(2647.0067297764067) = LineSearchPoint{point=PointSample{avg=1.3043750008098862}, derivative=-5.103962746478955E-5}, evalInputDelta = -0.16268445623606032
F(18529.047108434846) = LineSearchPoint{point=PointSample{avg=1.486721455155762}, derivative=7.400222546836907E-5}, evalInputDelta = 0.019661998109815393
F(1425.3113160334497) = LineSearchPoint{point=PointSample{avg=1.3726053818433208}, derivative=-6.065823153657099E-5}, evalInputDelta = -0.09445407520262572
F(9977.179212234147) = LineSearchPoint{point=PointSample{avg=1.1417638087124757}, derivative=6.671996965899033E-6}, evalInputDelta = -0.3252956483334708
1.1417638087124757 <= 1.4670594570459465
New Minimum: 1.138936764924845 > 1.138936764634967
F(9129.743551828997) = LineSearchPoint{point=PointSample{avg=1.138936764634967}, derivative=5.929230630780102E-21}, evalInputDelta = -0.32812269241097947
Right bracket at 9129.743551828997
Converged to right
Fitness changed from 1.4670594570459465 to 1.138936764634967
Iteration 9 complete. Error: 1.138936764634967 Total: 3.1786; Orientation: 0.1236; Line Search: 2.8688
F(0.0) = LineSearchPoint{point=PointSample{avg=1.138936764634967}, derivative=-5.2147002390876756E-5}
New Minimum: 1.138936764634967 > 0.8992835792503324
F(9129.743551828997) = LineSearchPoint{point=PointSample{avg=0.8992835792503324}, derivative=-3.524317989530249E-7}, evalInputDelta = -0.23965318538463465
F(63908.20486280297) = LineSearchPoint{point=PointSample{avg=9.39165855145124}, derivative=3.104149917525893E-4}, evalInputDelta = 8.252721786816274
F(4916.015758677152) = LineSearchPoint{point=PointSample{avg=0.9511336051408223}, derivative=-2.425761822599475E-5}, evalInputDelta = -0.18780315949414472
F(34412.11031074006) = LineSearchPoint{point=PointSample{avg=2.7035123413175337}, derivative=1.430786867632973E-4}, evalInputDelta = 1.5645755766825666
F(2647.0854085184665) = LineSearchPoint{point=PointSample{avg=1.0207753137053295}, derivative=-3.712964168670952E-5}, evalInputDelta = -0.11816145092963759
F(18529.597859629266) = LineSearchPoint{point=PointSample{avg=1.1466035724111574}, derivative=5.2974522538293896E-5}, evalInputDelta = 0.007666807776190332
F(1425.3536815099435) = LineSearchPoint{point=PointSample{avg=1.0703717409729512}, derivative=-4.406073124247901E-5}, evalInputDelta = -0.06856502366201589
F(9977.475770569605) = LineSearchPoint{point=PointSample{avg=0.9010233223730397}, derivative=4.4568956479074396E-6}, evalInputDelta = -0.23791344226192734
0.9010233223730397 <= 1.138936764634967
New Minimum: 0.8992835792503324 > 0.899272632265419
F(9191.866123889717) = LineSearchPoint{point=PointSample{avg=0.899272632265419}, derivative=-2.6469779601696886E-21}, evalInputDelta = -0.2396641323695481
Left bracket at 9191.866123889717
Converged to left
Fitness changed from 1.138936764634967 to 0.899272632265419
Iteration 10 complete. Error: 0.899272632265419 Total: 3.4321; Orientation: 0.1237; Line Search: 3.1248
Final threshold in iteration 10: 0.899272632265419 (> 0.0) after 31.766s (< 30.000s)

Returns

    0.899272632265419

This training apply resulted in the following configuration:

TrainingTester.java:610 executed in 0.00 seconds (0.000 gc):

    RefList<double[]> state = network.state();
    assert state != null;
    String description = state.stream().map(RefArrays::toString).reduce((a, b) -> a + "\n" + b)
        .orElse("");
    state.freeRef();
    return description;

Returns

    

And regressed input:

TrainingTester.java:622 executed in 0.00 seconds (0.000 gc):

    return RefArrays.stream(RefUtil.addRef(data)).flatMap(x -> {
      return RefArrays.stream(x);
    }).limit(1).map(x -> {
      String temp_18_0015 = x.prettyPrint();
      x.freeRef();
      return temp_18_0015;
    }).reduce((a, b) -> a + "\n" + b).orElse("");

Returns

    [
    	[ [ -1.4778961929432357, -1.154234543173164, -0.6087357750330252, -0.2687065757411384, 2.398029101914365 ], [ -0.3552336463016609, -1.7143654509715334, 0.22442401972079784, 0.9541302430567633, 0.5778735282142865 ], [ 0.4977115012088103, 0.7300953453817325, -1.9179568986482254, 0.4042962648046968, -0.5639397713021249 ], [ 0.9867905703911563, -0.10335879665056158, 1.0580852152853464, 1.6229545119895268, -1.110789657945649 ], [ -1.1119829517738822, 1.454687691364113, -0.06105168063551718, 0.3470303956429801, -1.0994762009432144 ], [ -0.2109482179008626, 0.8367121179250118, -0.49642385806238876, 0.09637870453494421, 0.36560606170257415 ], [ 0.8226382976365103, -2.4417389623159433, -0.7164700311844998, -2.6464710721948537, 1.8034055923816543 ], [ -0.3203661225942409, -0.0027821569648232083, -0.8256039008745256, -2.2787210264019486, -0.10824859233897588 ], ... ],
    	[ [ 0.3787484437477619, 2.006526640549466, -1.7932113222563315, -1.4325393927165035, -0.38873549780867017 ], [ -0.6640339080802313, 0.1280927291026698, -0.9666422294811509, -0.255553104830938, 0.08284811916688511 ], [ -0.7672556588230122, -0.7370954001228612, -1.931552810677492, -0.4381088216486238, -1.3810377588844531 ], [ 0.9065683076949302, 0.21557469690039374, -0.5960955057808209, 1.6971710927629897, 0.05897990950649153 ], [ -0.27596218282056684, 0.803045687312614, -0.9041412611274559, -1.2787553735569428, 0.31300871688223614 ], [ 1.3573724850790478, 0.673814304309555, -0.9906820091023361, -1.3368389365538937, 0.36497782838680565 ], [ 0.24685816226707813, -0.5874735944564353, 2.916817770019231, 0.7162499350978336, -1.3308127978882736 ], [ -1.833352909138184, -0.10192901218245214, 0.2847074057695748, 0.49846493932349245, -0.8004767008822663 ], ... ],
    	[ [ -0.7267312290572233, 0.6224919168317834, -0.021110917375011078, -0.5007835648218264, -1.0132378626646503 ], [ 1.2160229588716256, 3.5708599034388, -0.8685558107592943, -0.45830040406412176, 0.9525675521637571 ], [ 0.641369136485335, 1.0407054972640224, -0.06933275256636065, -0.9624356098405346, -0.45321781992959326 ], [ -1.7914503379148228, -0.4374187058463515, 1.1829744835119091, 0.25758501999152456, -1.2525673158605701 ], [ -0.9835250034506061, -0.4185929643359288, 0.05849948275869096, 0.1300440337365063, 1.0387561785492145 ], [ -0.5930092878033176, -0.1326118896047654, -1.091886904937937, -0.39454339414280426, 1.799191317197137 ], [ -1.0100405918470476, 0.49653178102030426, 0.9762483953302223, 1.2104205027396513, -0.7222716741134926 ], [ -0.7239944231215811, -0.20409224251108252, -0.24945768439317062, 0.3025051415087493, 0.0310179554963178 ], ... ],
    	[ [ -1.303444341207089, 0.4918520056166941, -0.8604672462519879, 2.5810927824547947, 0.7326719386164403 ], [ 0.18632068047383366, 1.6500370685783488, 0.8439300214821985, -0.12169712886316583, -1.2122784086200842 ], [ 0.5323339419279258, -1.8219923881681201, -0.6161301999538606, -1.9694588752410793, -1.5867763832535204 ], [ 0.37047739027081183, -0.7029238987157739, -0.5474396341267596, 1.129104464975015, -1.1376796594959544 ], [ 0.22166127433452187, -1.6741826808405154, -1.8437676000810839, -0.046221973885849144, -0.30129203510970703 ], [ -0.7731218437069559, -0.4208259662168918, 1.0319416880107466, 1.0444643607256605, 0.14559528755985549 ], [ 0.21909550418745888, 2.4791282963650785, 0.5758780984573783, 1.99509641441711, -2.9725477847605606 ], [ -1.5906850809619997, 0.8450247630007421, -0.6752464947875755, -0.571608989050399, -0.33507621984799596 ], ... ],
    	[ [ -0.6233694458594913, 0.24753907970339895, -0.04113830901924244, -2.218976024010683, 0.45721320822154515 ], [ -2.644988307854711, 0.411235993746809, -0.28444320227630804, 1.6158695876671483, -0.10849982277288864 ], [ -0.0860557719750801, 1.4840946663860475, 1.2043951349680444, 0.4825965778982726, 0.17760561101811678 ], [ -1.2391752454263119, 0.650630314982483, 0.8489105294410385, -0.082405367385915, 0.16005726402603387 ], [ 0.6261525289460008, -0.3180721695005932, -1.306924691992451, -1.5683521309548665, 1.1131441207377513 ], [ -3.0029253462714984, 2.1949446583972474, 0.8598979468569513, -1.0050924002321038, -0.8588194327248906 ], [ 0.40348864829585795, 1.1237984834206036, 0.7863728046240728, 0.7310015119810891, -1.4452701009351598 ], [ 2.596647456863782, 0.05613146334495617, 0.05071183791744432, -0.9889224387671015, 0.954769424404314 ], ... ],
    	[ [ -0.8195108683835018, 0.4401950803692898, -0.025361245509657335, -0.3434820893126839, 0.6207240178606008 ], [ -0.0027161158210968483, 1.195896167563166, -0.9663875491133644, 0.4119699797317005, -0.49946302256953173 ], [ -0.8577726123936611, 2.064705841257162, 1.5818800165129252, -0.11554960431334013, 1.0320938079046935 ], [ -0.10784575687140967, -0.645027048539688, -0.5390514695454424, 1.0522716067240223, -1.2766374219680552 ], [ 0.6143251616414616, -0.449062052446566, 0.6558928308443491, 1.2493898305579572, 0.02881693513270575 ], [ -0.37931841524161874, -1.2082293345898063, 1.7760831747430352, 0.29701340803564336, -2.083886126249234 ], [ -0.21360175907596196, -0.6982176315245273, -0.7570830455335391, -0.3525926639487612, -0.42190403377863134 ], [ -0.9849124959925086, 0.01380899180317112, -0.06546253064942874, -0.32703896634688795, 0.9696299002187437 ], ... ],
    	[ [ 1.718173101455277, -0.14009397981114974, 1.2258941407246564, 0.45458465001224996, 0.6432573196898806 ], [ 0.5342917267017486, 1.637932998224811, 0.9732404729667107, -2.4349989436537354, -0.3659800534804159 ], [ 1.350557761775242, -0.2400527930535007, -0.7538184339353924, -0.5690375321049423, -2.014978754348228 ], [ 0.8178460162235389, 2.3689392907860065, -2.4878314791997527, 1.6357931108257522, -0.8432031687079617 ], [ 0.13913568766961637, -0.9245513422654196, -0.843330692257834, -0.9741179800874142, -0.12940153060785342 ], [ 0.15902787268039406, -2.0231159677406567, -1.5955108195760876, 1.7501713007400654, 0.48550732407882713 ], [ 0.10194645549068149, -2.6394032945834605, -1.7039894654781285, 0.17694668976108124, -1.7296215247480864 ], [ -0.39194055573446146, 0.5845484867031144, 0.8063469373255642, -1.0143047407176544, 1.1231909178812967 ], ... ],
    	[ [ 0.6503902623266853, 0.6339588080733455, 1.2811719104709889, 0.7104516390936795, 1.228146213103619 ], [ 1.3577959193232516, -2.023344085564285, -1.9970704268845876, -1.2560381188522678, 0.0799331826141716 ], [ -0.5564897939243969, -1.4342093023987543, -0.2505971467115982, 0.11218551297212051, 2.4372730377401193 ], [ 0.6160845084361481, 0.17855008683627802, 0.14335751635378716, -0.614667797477883, -1.110096445243281 ], [ 0.5302922114585866, 2.141509611259588, -1.1138846523914927, -0.02493757341298941, -2.147073782724895 ], [ -0.41514543252020397, 1.2414570755370964, 0.8374169744343759, -0.26550322517523145, -0.43529759239597016 ], [ -0.2604585988872973, -1.4312848415970167, 0.3419464087658242, -0.9178244435783021, 1.3354951193837117 ], [ 0.5851725587937868, -0.6502997528021558, -0.8309403569995404, 1.141542856231261, -0.813828363095962 ], ... ],
    	...
    ]

To produce the following output:

TrainingTester.java:633 executed in 0.06 seconds (0.000 gc):

    Result[] array = ConstantResult.batchResultArray(pop(RefUtil.addRef(data)));
    @Nullable
    Result eval = layer.eval(array);
    assert eval != null;
    TensorList tensorList = Result.getData(eval);
    String temp_18_0016 = tensorList.stream().limit(1).map(x -> {
      String temp_18_0017 = x.prettyPrint();
      x.freeRef();
      return temp_18_0017;
    }).reduce((a, b) -> a + "\n" + b).orElse("");
    tensorList.freeRef();
    return temp_18_0016;

Returns

    [
    	[ [ -10.035326782030802, 2.3361057969137278, -2.214582326373746 ], [ -6.606292484855246, 8.583361331585989, 3.7812998346282205 ], [ 8.24750028090224, 2.3504397418504417, -0.3151437599113709 ], [ 1.563773234311658, 6.917217336890675, 10.726479463664974 ], [ 7.290630620480192, 1.579303382475854, 9.886498050219036 ], [ -0.9969206729027764, 2.87715932997238, -3.009678999661773 ], [ -7.8179560169466535, -5.8908682260147085, -5.5840481243269 ], [ 5.108906393181898, -11.272543139385405, -3.402344483238349 ], ... ],
    	[ [ -0.5117725996768128, -11.236189754199787, -3.7548436752171073 ], [ -10.496806487444985, -2.024563609030074, 3.5374509934926595 ], [ 1.2738350349970569, -5.239755520259564, -4.501400858453322 ], [ -5.545972943293115, -7.699907103984412, -10.006109761035788 ], [ -0.5954679735180111, -13.90067401061136, -4.234736013090739 ], [ -11.488184628220399, -1.0014295607639174, -0.5218082143287237 ], [ -2.9522837728965063, 13.057907040184848, 5.178876121762361 ], [ 15.405388923799949, -3.9810517633623013, -10.436490488763214 ], ... ],
    	[ [ 4.818546733340674, -15.788057942335278, 1.3520258473930233 ], [ 7.019841133234744, -18.7815170873894, 7.06706917286842 ], [ 16.098415611630134, 5.23547365060848, 2.420880153738482 ], [ 12.903313719633063, 4.171895306217392, -7.063907709978258 ], [ 4.803853792755741, -11.58866870741067, -7.970339867057101 ], [ -9.192415238349232, 2.486261272193073, 1.1927154940859568 ], [ -9.092409780246971, -8.599793297717088, -2.1132628180978434 ], [ 0.9046909708359809, -13.579149140655403, 0.3114087356754487 ], ... ],
    	[ [ -9.610148001963722, -1.9673282159902898, -4.461673161596053 ], [ -5.268478009300683, 0.020483002893218583, -7.116692820461132 ], [ -5.243987167589024, -9.890982255593489, 13.582487811877005 ], [ 4.367158797691246, 0.5773673644225967, -4.329951562478415 ], [ -7.165754111406491, 1.4636050127888063, 7.154360572734388 ], [ -7.14215980542727, 3.34024513542139, 3.6806844173359976 ], [ 6.721056384038853, -11.831670160008098, 1.692696897270996 ], [ 15.411845310073419, -4.131216382485247, 7.136866089043274 ], ... ],
    	[ [ -6.052739169410122, -11.088865168087702, 5.2256494189230525 ], [ -25.211554471952205, -16.01379355561119, -19.746528742201424 ], [ -6.327384605703785, 3.477280548182307, 10.0800566198302 ], [ 8.843497287934582, -4.414791711185995, -11.99546084562551 ], [ 3.0420268433644972, -12.05132917163248, 18.10144961032144 ], [ 3.6119747310096124, -10.841375168787827, -8.672187455403126 ], [ 7.954935148843384, -19.86149077296988, -13.170599636522894 ], [ 13.360869397949903, -1.760147349797586, -0.24979812943660273 ], ... ],
    	[ [ 2.639034391841535, -5.570385919695277, 7.759675009219949 ], [ -1.1380932797302847, -6.562277217225685, 10.174857219224354 ], [ 8.978854735987582, 7.211882547299934, -7.597248358055706 ], [ 5.920378291331224, 0.41661858133753604, 7.760908553173445 ], [ 19.325471111985003, 14.444881203369473, 26.818564728699297 ], [ 21.371042754651338, 22.65183752102592, 0.002878074615131787 ], [ 6.389253649422069, -0.12938021077419481, -5.538217174287672 ], [ -10.385201583205447, 2.4892670434066373, 5.436526366168869 ], ... ],
    	[ [ 1.2370404937145913, 5.380025571406082, 10.991578387792693 ], [ 18.894165270374437, 4.813066662131531, 10.141080100291138 ], [ 6.714450782448099, 10.008078068234559, -2.0935399532916263 ], [ 3.1417155302745945, 6.084681923712799, -12.858396150580997 ], [ 0.7591219560683151, 4.012322652522002, 1.8257575789741685 ], [ -3.781782577487427, 1.3766713199569365, -2.5313585667904226 ], [ 1.4624030861296657, 8.296684629606354, 13.628008053306715 ], [ 10.929651621951386, 0.6991226959485695, -11.410622764261223 ], ... ],
    	[ [ 1.7274215637949784, 5.072294674798644, -1.0754541762205316 ], [ -6.780056322012842, 2.5997055165115857, -3.527616803844448 ], [ -16.161945017438832, 8.078659245792155, 4.48511568558077 ], [ -0.002349764768062812, -8.37696523264124, 10.650574677312342 ], [ 9.808493734783198, -3.115617869301736, -8.31098902903764 ], [ 1.4399597738363505, 1.773159716736183, -12.064014979412553 ], [ 12.634027292918825, 7.05679032383056, 7.589460928550443 ], [ 1.0430022110008226, 5.625206128458739, -20.095323784310285 ], ... ],
    	...
    ]

Limited-Memory BFGS

Next, we apply the same optimization using L-BFGS, which is nearly ideal for purely second-order or quadratic functions.

TrainingTester.java:509 executed in 34.72 seconds (0.788 gc):

    IterativeTrainer iterativeTrainer = new IterativeTrainer(trainable.addRef());
    try {
      iterativeTrainer.setLineSearchFactory(label -> new ArmijoWolfeSearch());
      iterativeTrainer.setOrientation(new LBFGS());
      iterativeTrainer.setMonitor(TrainingTester.getMonitor(history));
      iterativeTrainer.setTimeout(30, TimeUnit.SECONDS);
      iterativeTrainer.setIterationsPerSample(100);
      iterativeTrainer.setMaxIterations(250);
      iterativeTrainer.setTerminateThreshold(0);
      return iterativeTrainer.run();
    } finally {
      iterativeTrainer.freeRef();
    }
Logging
Reset training subject: 12668933414002
Reset training subject: 12669122624363
Adding measurement 4dd29ed to history. Total: 0
LBFGS Accumulation History: 1 points
Constructing line search parameters: GD
Non-optimal measurement 169.04666909854672 < 169.04666909854672. Total: 1
th(0)=169.04666909854672;dx=-0.031125607009495855
Adding measurement 29e27439 to history. Total: 1
New Minimum: 169.04666909854672 > 168.97961959034035
WOLFE (weak): th(2.154434690031884)=168.97961959034035; dx=-0.03111764270845645 evalInputDelta=0.06704950820636668
Adding measurement 4591646d to history. Total: 2
New Minimum: 168.97961959034035 > 168.91258724070047
WOLFE (weak): th(4.308869380063768)=168.91258724070047; dx=-0.031109678407417043 evalInputDelta=0.13408185784624038
Adding measurement 7017dded to history. Total: 3
New Minimum: 168.91258724070047 > 168.64462942780528
WOLFE (weak): th(12.926608140191302)=168.64462942780528; dx=-0.031077821203259418 evalInputDelta=0.40203967074143065
Adding measurement 15101010 to history. Total: 4
New Minimum: 168.64462942780528 > 167.4422166659324
WOLFE (weak): th(51.70643256076521)=167.4422166659324; dx=-0.030934463784550125 evalInputDelta=1.6044524326143232
Adding measurement 44207eb1 to history. Total: 5
New Minimum: 167.4422166659324 > 161.12324027817613
WOLFE (weak): th(258.53216280382605)=161.12324027817613; dx=-0.030169890884767223 evalInputDelta=7.923428820370589
Adding measurement 19a7cf2d to history. Total: 6
New Minimum: 161.12324027817613 > 125.21234652761188
END: th(1551.1929768229563)=125.21234652761188; dx=-0.025391310261124053 evalInputDelta=43.83432257093483
Fitness changed from 169.04666909854672 to 125.21234652761188
Iteration 1 complete. Error: 125.21234652761188 Total: 3.2479; Orientation: 0.1588; Line Search: 2.5283
Non-optimal measurement 125.21234652761188 < 125.21234652761188. Total: 7
Rejected: LBFGS Orientation magnitude: 1.523e+03, gradient 1.446e-01, dot -0.967; [1c2514c3-0881-4a68-85d2-e18b166237bd = 1.000/1.000e+00, 139a4bea-4135-40a5-ac08-2a24884b7fb0 = 1.000/1.000e+00]
Orientation rejected. Popping history element from 125.21234652761188, 161.12324027817613, 167.4422166659324, 168.64462942780528, 168.91258724070047, 168.97961959034035, 169.04666909854672
Rejected: LBFGS Orientation magnitude: 1.523e+03, gradient 1.446e-01, dot -0.967; [139a4bea-4135-40a5-ac08-2a24884b7fb0 = 1.000/1.000e+00, 1c2514c3-0881-4a68-85d2-e18b166237bd = 1.000/1.000e+00]
Orientation rejected. Popping history element from 125.21234652761188, 161.12324027817613, 167.4422166659324, 168.64462942780528, 168.91258724070047, 168.97961959034035
Rejected: LBFGS Orientation magnitude: 1.523e+03, gradient 1.446e-01, dot -0.967; [1c2514c3-0881-4a68-85d2-e18b166237bd = 1.000/1.000e+00, 139a4bea-4135-40a5-ac08-2a24884b7fb0 = 1.000/1.000e+00]
Orientation rejected. Popping history element from 125.21234652761188, 161.12324027817613, 167.4422166659324, 168.64462942780528, 168.91258724070047
Rejected: LBFGS Orientation magnitude: 1.523e+03, gradient 1.446e-01, dot -0.967; [1c2514c3-0881-4a68-85d2-e18b166237bd = 1.000/1.000e+00, 139a4bea-4135-40a5-ac08-2a24884b7fb0 = 1.000/1.000e+00]
Orientation rejected. Popping history element from 125.21234652761188, 161.12324027817613, 167.4422166659324, 168.64462942780528
LBFGS Accumulation History: 3 points
Removed measurement 19a7cf2d to history. Total: 6
Removed measurement 44207eb1 to history. Total: 5
Removed measurement 15101010 to history. Total: 4
Removed measurement 7017dded to history. Total: 3
Adding measurement 311cbf1 to history. Total: 3
th(0)=125.21234652761188;dx=-0.02089503293588738
Adding measurement 29da913c to history. Total: 4
New Minimum: 125.21234652761188 > 68.17696928702327
END: th(3341.943960201201)=68.17696928702327; dx=-0.013238021310273483 evalInputDelta=57.035377240588616
Fitness changed from 125.21234652761188 to 68.17696928702327
Iteration 2 complete. Error: 68.17696928702327 Total: 22.0331; Orientation: 21.1042; Line Search: 0.7452
Non-optimal measurement 68.17696928702327 < 68.17696928702327. Total: 5
Rejected: LBFGS Orientation magnitude: 1.109e+03, gradient 9.451e-02, dot -0.987; [139a4bea-4135-40a5-ac08-2a24884b7fb0 = 1.000/1.000e+00, 1c2514c3-0881-4a68-85d2-e18b166237bd = 1.000/1.000e+00]
Orientation rejected. Popping history element from 68.17696928702327, 125.21234652761188, 168.91258724070047, 168.97961959034035, 169.04666909854672
Rejected: LBFGS Orientation magnitude: 1.109e+03, gradient 9.451e-02, dot -0.987; [1c2514c3-0881-4a68-85d2-e18b166237bd = 1.000/1.000e+00, 139a4bea-4135-40a5-ac08-2a24884b7fb0 = 1.000/1.000e+00]
Orientation rejected. Popping history element from 68.17696928702327, 125.21234652761188, 168.91258724070047, 168.97961959034035
LBFGS Accumulation History: 3 points
Removed measurement 29da913c to history. Total: 4
Removed measurement 311cbf1 to history. Total: 3
Adding measurement 761962a5 to history. Total: 3
th(0)=68.17696928702327;dx=-0.008931757170913615
Adding measurement 82f4bb1 to history. Total: 4
New Minimum: 68.17696928702327 > 24.07299928850024
END: th(7200.000000000001)=24.07299928850024; dx=-0.00331934560645389 evalInputDelta=44.10396999852303
Fitness changed from 68.17696928702327 to 24.07299928850024
Iteration 3 complete. Error: 24.07299928850024 Total: 9.4413; Orientation: 8.5405; Line Search: 0.7046
Final threshold in iteration 3: 24.07299928850024 (> 0.0) after 34.723s (< 30.000s)

Returns

    24.07299928850024

This training apply resulted in the following configuration:

TrainingTester.java:610 executed in 0.00 seconds (0.000 gc):

    RefList<double[]> state = network.state();
    assert state != null;
    String description = state.stream().map(RefArrays::toString).reduce((a, b) -> a + "\n" + b)
        .orElse("");
    state.freeRef();
    return description;

Returns

    

And regressed input:

TrainingTester.java:622 executed in 0.00 seconds (0.000 gc):

    return RefArrays.stream(RefUtil.addRef(data)).flatMap(x -> {
      return RefArrays.stream(x);
    }).limit(1).map(x -> {
      String temp_18_0015 = x.prettyPrint();
      x.freeRef();
      return temp_18_0015;
    }).reduce((a, b) -> a + "\n" + b).orElse("");

Returns

    [
    	[ [ -0.507689744132131, -1.565398894450108, 0.5742260984397975, 0.16949341934114198, 2.145344333454109 ], [ 0.7122935932447928, -1.9737127135264256, 0.22592214873981775, 0.8301003632400814, 0.44648454376382063 ], [ 0.12486273486853436, 1.4430344034184983, -1.9241457803562616, 0.6119240118355993, -0.09941701098288172 ], [ 0.8888741213883466, -0.26729094651298324, 1.255474222952875, 0.42943270035232095, -1.1991049023680513 ], [ -1.3476160573189966, 0.7765377422856226, -1.0508022022335906, 0.546068217519602, -0.8386139220655574 ], [ 0.38223363959566725, 0.30765928739533893, 0.9276583704498054, 0.20248896749748013, 0.1412302797995052 ], [ 1.1474231358079976, -2.493832999507846, -0.4833592362998705, -2.2501427630973136, 1.3022220857744318 ], [ -0.5322908494699761, 0.049280126685460834, -0.9640366415959459, -1.9255842757694122, 0.6294926180316661 ], ... ],
    	[ [ 0.36625015772883895, 1.5042871812469427, -1.786591610020025, -1.3785679151411865, -0.9309920748146073 ], [ -1.2662601587456805, 0.34088739702200394, -0.16416183632646064, -0.4742222792884814, 0.9421541630088484 ], [ -0.41496144259969, -1.1000835723532723, -2.3420699794707605, 0.046383664080204945, -1.298624588579933 ], [ -0.3017544131354326, -0.3624255748238774, 0.4871502380386523, 0.28365261480428583, -0.3797206855077983 ], [ -0.32633066230239505, 0.8950017844906103, -0.28941565974795774, -1.0162483428035098, 0.9803706679005528 ], [ 1.4639827270199823, 0.9688219955516993, -0.8789603790841592, -1.394348923225864, 0.2918467390376617 ], [ -0.26963749242997836, -0.4727285335229642, 1.5344110329643423, 1.0902068245351773, -1.5894167573722913 ], [ -1.8689470349643107, -0.6480343082286628, 0.3804552870668433, 1.2765431881401923, -1.0063040850183544 ], ... ],
    	[ [ 0.6126722340203268, 0.978230243218462, 0.12223020416333331, 0.703315424086, -1.107575359612389 ], [ 1.1026692501277233, 2.2682892973857864, -1.190539010651547, -1.3628349849130015, 0.8840282810127438 ], [ 0.40932301508840835, 0.5543406559159942, 1.1769950687010644, -1.0349434614909065, -0.33043266646514663 ], [ -1.3860950480016994, 0.27474481680105045, 1.3611113688102203, -0.8196573020419486, -0.3356436232926955 ], [ 0.09922497569286876, -0.5218475489895644, -0.6351387302846336, 1.0914049761101208, 0.7211396144243607 ], [ -0.2538361490823811, 0.5313097354936756, -1.5726719735749368, -0.9864460275590895, 1.7305192352206067 ], [ -0.23476340280023153, -0.05907297942325079, 1.0819869615316073, 1.120658331806619, -1.0963001420640883 ], [ -1.0469526686852577, -0.6668222777512547, 0.7706894445688173, 1.0208085767971533, 0.9250787352662262 ], ... ],
    	[ [ -1.2158345869747782, -0.4760986275504446, -1.1546619474936128, 2.0313495175072145, 0.3534991489002236 ], [ 0.48530118491325225, 0.9511685006110597, 0.7838498514009429, -0.7903703374487503, -0.4501202276261398 ], [ 0.2903901077267262, -1.7385070068482806, -0.5808572580608977, -1.5693653058588322, -1.8889024858361039 ], [ -0.4093897090267874, 0.13692987895865788, -0.06041148935417813, 0.6535809659487988, -0.4156696919906522 ], [ 0.9519715175325653, -1.3377539401923186, -1.8925152312364422, -0.07347487704657973, -0.6825265081679874 ], [ -0.17543071095799345, -0.2799208689254825, -0.1104583398754656, 0.822856069892439, -0.3585829028404326 ], [ -0.6879584491280448, 2.053950974136848, 0.8989833345935936, 0.7716094496643041, -1.9543404506906463 ], [ -1.9790129521059194, 0.12167240045867495, 0.034315749693106246, 0.03861220217772149, 0.20535047434108766 ], ... ],
    	[ [ -0.37171730358566124, 0.1428223505404008, 0.11177347039094188, -2.3741257764492074, 1.538989315912923 ], [ -2.3632450783513974, -1.2340401827817575, 0.020484902694376805, 1.3925230923215037, 0.0800930008086941 ], [ -0.786978504596628, 0.882403290067522, 0.5764324715473035, 1.1678159736127474, 0.7388538449967614 ], [ -1.6551388655609496, 0.9603767073869807, 0.5463732952024497, -0.05827591926382303, -0.559446099749731 ], [ 0.34577795830487396, -0.6960125619294648, -0.10149671945502348, 0.023731460540863614, -0.08811345193613063 ], [ -2.093736220776763, 2.329060596183995, 0.37029426631608686, -1.6111798297402158, -1.4258578920837348 ], [ -0.06944846341789573, 1.0954180253610506, 0.3370734136153782, 0.1564788195278473, -0.49608673376298534 ], [ 1.6515080646987483, 0.15010697570229425, 0.01600122873350407, 0.2947627401336921, -0.07551594972645037 ], ... ],
    	[ [ -1.1558221013930814, 0.5338009547712771, -0.7597182953474567, -0.19840656520958797, 0.7161768300267183 ], [ 0.17423571117513004, 1.515799791785764, -1.2332026418230344, 0.20448814609317198, -0.6768794741408004 ], [ 0.2480923784955129, 2.299817684944183, 1.6346682987683177, 0.46560407938671294, 0.22589349757111038 ], [ -0.3986424795824173, 0.6302234498787986, -0.7917547739909148, 0.2747325899158274, -0.46529903913359993 ], [ -0.12146577817834237, -1.3655280589103211, 0.7662633306753677, 1.3777851226145192, 0.19515378637284486 ], [ 0.7139142795338543, -1.0157715636972628, 1.7456456333907386, 0.3460749938306948, -1.9994397294485946 ], [ -0.37311549607118444, -0.3223146188274877, -0.4813272753114093, -0.48135817621488197, 1.011292432305506 ], [ -0.6194276693580593, -0.803742744110276, -0.5003530573970039, -0.6934965402511569, 0.6577467485106998 ], ... ],
    	[ [ 1.9926366370620867, -0.5583182767643778, 1.3979165999047867, 0.3027763529064224, 0.22597463960425465 ], [ -0.26827176788718654, 0.6878087923242133, 1.6883717357610315, -1.8835500079073135, 0.23173833854537107 ], [ 1.423455027285001, -1.2799382289296604, -0.5420930500436971, -1.2084419564633266, -1.722385050356341 ], [ -0.11612941574106525, 1.8999367593833822, -2.287353022678685, 0.6858073654070035, 0.67703102180358 ], [ 0.9609229580113701, -1.617532522637376, -0.2042365246137252, 0.10646805470643084, -0.5091500594720315 ], [ 0.23887365543403116, -2.099437912759663, -1.6368871929322057, 1.3135561572339416, 0.8156944044784733 ], [ 0.19938237923589394, -1.9392634704308778, -1.5183249739874363, -0.17743106946500098, -1.522030541590748 ], [ 0.4164844999336249, 0.45651081180268027, 1.2737597978211286, -0.4959975266057173, 0.038480183551500624 ], ... ],
    	[ [ 1.3872527169423237, 1.2154484463192778, 0.16773917729014237, 0.7095046054601064, 1.0517919478232693 ], [ 1.7383750536927458, -1.352001776431233, -1.934077763926465, -1.8097077269144715, -0.2624973115776481 ], [ -0.8979756126298994, -0.15538389935369967, -1.164460179624675, 0.3721945367205559, 1.9682288277458446 ], [ 1.0454656887599894, -0.17699150381270468, -0.8167009583136997, -0.642927126090027, -0.8412087353954865 ], [ 0.6988030990221892, 2.054138250656936, -1.0272270337939424, 0.3299750450750637, -1.8108069052148645 ], [ -0.8990547410545073, 1.1333405661786282, 0.15373939471289133, -0.44551432834093513, -0.9449947322498495 ], [ -0.4138639167326733, -1.1719757996337734, 0.9864142557318379, -0.9565872136673199, 0.601400416257321 ], [ 0.8039276834855871, -0.07003042667288323, -0.05522698848311908, 0.8688921737918948, -1.4327180024206057 ], ... ],
    	...
    ]

To produce the following output:

TrainingTester.java:633 executed in 0.07 seconds (0.000 gc):

    Result[] array = ConstantResult.batchResultArray(pop(RefUtil.addRef(data)));
    @Nullable
    Result eval = layer.eval(array);
    assert eval != null;
    TensorList tensorList = Result.getData(eval);
    String temp_18_0016 = tensorList.stream().limit(1).map(x -> {
      String temp_18_0017 = x.prettyPrint();
      x.freeRef();
      return temp_18_0017;
    }).reduce((a, b) -> a + "\n" + b).orElse("");
    tensorList.freeRef();
    return temp_18_0016;

Returns

    [
    	[ [ -6.516334437302971, 4.031985048736043, -3.306363411944582 ], [ -1.7590917041998906, 10.909890428840813, 8.11310292570434 ], [ 3.55367899490722, 2.302588424617045, -2.022162384288748 ], [ 1.8890701628486846, 2.24102084798303, 5.754559872118104 ], [ -2.8134361448746086, -0.25827867101931234, 3.6371584903917897 ], [ -1.125098566531404, 9.084401830045415, -1.4209329072148584 ], [ 1.414079256903869, -2.0524195990529774, -3.8695946127410936 ], [ 5.6483304327875015, -14.284173621195118, -1.536625922937142 ], ... ],
    	[ [ -5.532517258706733, -7.5120530012286135, -0.8826356833255762 ], [ -6.20363511138056, -4.009268553796935, 6.827181471273799 ], [ -12.398936834241887, -9.096160391640435, -7.4654747626942 ], [ -8.4530489566742, -3.268017243974359, -7.694603458313222 ], [ -3.4436359348351546, -10.703040207173801, -4.939993398918185 ], [ -6.487175403387999, 5.494631322463816, 5.566022546615058 ], [ -0.8173658732778217, 10.445297850665206, 0.9081239227725826 ], [ 7.212940718408306, -2.703285978240966, -7.928710287919355 ], ... ],
    	[ [ 12.38960066456483, -8.65971780056813, 2.0240756828954636 ], [ 6.13856203122778, -8.36775207693488, 9.197800925120216 ], [ 5.457502745133784, 1.3004395045767083, 0.7881567666224198 ], [ 18.519316517889745, 3.6732847277344023, -4.7698226455753945 ], [ 4.499690911534136, -4.541654277632048, -3.799240378974663 ], [ -5.282250589740618, 0.919733324391245, 2.122071333883828 ], [ -5.800425501627698, -6.8418589494013045, -4.059773306029654 ], [ -4.672706903594129, -5.39096707159973, -1.5770527952551765 ], ... ],
    	[ [ -14.220926180146371, -0.6626981214095071, -3.9600794553728544 ], [ -8.493994374995573, 4.935702995123418, -9.584060106953999 ], [ -9.160554537157129, -5.395557954638949, 12.301303485685251 ], [ 6.147635066384484, -1.1637752963167975, -8.636364024198588 ], [ -3.5772785390594652, -8.957263230760297, 7.80848225012628 ], [ -8.096831870189428, -4.020751692593455, 4.393473330744625 ], [ 2.8803801772406388, -4.109092209465778, 2.9652130193635897 ], [ 5.834843330158485, -4.580683200583057, 3.4513089859902317 ], ... ],
    	[ [ -5.912392503171787, -6.115372238321358, 3.127623860215979 ], [ -21.16303969104716, -7.423425317134562, -12.378439402798563 ], [ -9.123788787527072, -2.5478339719792933, 11.94214977653886 ], [ 5.6439581256823095, -3.143326360178714, -5.859961575717923 ], [ 1.5421320977394064, -4.354132448588674, 13.510654553856824 ], [ 8.195426679699622, -17.00847399585013, -3.680680379624687 ], [ 8.359412980848218, -11.799882501147593, -8.29140612552149 ], [ 8.85149794376191, 3.2141846513905064, -2.8302486388485844 ], ... ],
    	[ [ -0.8966585863095917, -7.289042163914665, 2.9925252324746987 ], [ 0.7026915086858558, -6.569833524551453, 7.923493299178078 ], [ 8.648548782852753, 2.1395683982643456, -10.04820910230271 ], [ 11.129674119767948, 8.066349250126565, -1.6700492893819487 ], [ 9.942462755145534, 15.661278970348185, 14.977877644125888 ], [ 25.139806718408686, 17.12706579641521, 3.478301411968162 ], [ 9.578902797841994, 5.979400717583829, -3.056851692988917 ], [ -7.039545693071357, -1.1400927863478438, 3.262762793750553 ], ... ],
    	[ [ 3.050651697518699, 6.471788837792302, 15.776849005535468 ], [ 16.077006254217324, 11.727424322055443, 5.982768018316523 ], [ 3.839250123615666, 7.874555591698004, 4.392765013257949 ], [ 3.3907487492698483, 2.6345072990076233, -10.30697121474676 ], [ -3.012562111778123, 11.592604426539214, 1.9751703983430855 ], [ 2.08521327525491, 1.7587961026224974, 2.248850992185238 ], [ -3.39002424864045, 1.6855818344263618, 14.203337968808741 ], [ 11.00312105927906, 1.8179365152139937, -6.647450789785668 ], ... ],
    	[ [ 1.45700118870311, 7.6450407878545885, 3.7478992617762814 ], [ -7.39914227125128, 8.060724139670606, 1.1525690563546531 ], [ -5.1338223817839275, 5.600045631234605, -3.1403471187346774 ], [ -1.16144138451339, -5.522981131743707, 3.2078191101633946 ], [ 6.526517919173987, -2.708808208638943, -11.572483174369788 ], [ -1.1953137838353562, -3.9421786562681156, -4.9237138646618765 ], [ 5.77648522901281, 4.0994577415001725, 7.879126598604283 ], [ -0.09279010049611269, 2.5451222847724146, -10.580288521649516 ], ... ],
    	...
    ]

TrainingTester.java:432 executed in 0.13 seconds (0.000 gc):

    return TestUtil.compare(title + " vs Iteration", runs);
Logging
Plotting range=[1.0, -1.5295560961535033], [24.0, 2.097647154469005]; valueStats=DoubleSummaryStatistics{count=37, sum=534.592373, min=0.029542, average=14.448443, max=125.212347}
Plotting 24 points for GD
Plotting 10 points for CjGD
Plotting 3 points for LBFGS

Returns

Result

TrainingTester.java:435 executed in 0.01 seconds (0.000 gc):

    return TestUtil.compareTime(title + " vs Time", runs);
Logging
Plotting range=[0.0, -1.5295560961535033], [31.474, 2.097647154469005]; valueStats=DoubleSummaryStatistics{count=37, sum=534.592373, min=0.029542, average=14.448443, max=125.212347}
Plotting 24 points for GD
Plotting 10 points for CjGD
Plotting 3 points for LBFGS

Returns

Result

Results

TrainingTester.java:255 executed in 0.00 seconds (0.000 gc):

    return grid(inputLearning, modelLearning, completeLearning);

Returns

Result

TrainingTester.java:258 executed in 0.00 seconds (0.000 gc):

    return new ComponentResult(null == inputLearning ? null : inputLearning.value,
        null == modelLearning ? null : modelLearning.value, null == completeLearning ? null : completeLearning.value);

Returns

    {"input":{ "LBFGS": { "type": "NonConverged", "value": 24.07299928850024 }, "CjGD": { "type": "NonConverged", "value": 0.899272632265419 }, "GD": { "type": "NonConverged", "value": 0.029542272776208665 } }, "model":null, "complete":null}

LayerTests.java:425 executed in 0.00 seconds (0.000 gc):

    throwException(exceptions.addRef());

Results

detailsresult
{"input":{ "LBFGS": { "type": "NonConverged", "value": 24.07299928850024 }, "CjGD": { "type": "NonConverged", "value": 0.899272632265419 }, "GD": { "type": "NonConverged", "value": 0.029542272776208665 } }, "model":null, "complete":null}OK
  {
    "result": "OK",
    "performance": {
      "execution_time": "98.522",
      "gc_time": "2.701"
    },
    "created_on": 1586747237541,
    "file_name": "trainingTest",
    "report": {
      "simpleName": "IrregularGrid",
      "canonicalName": "com.simiacryptus.mindseye.layers.cudnn.conv.ConvolutionLayerTest.IrregularGrid",
      "link": "https://github.com/SimiaCryptus/mindseye-cudnn/tree/59d5b3318556370acb2d83ee6ec123ce0fc6974f/src/test/java/com/simiacryptus/mindseye/layers/cudnn/conv/ConvolutionLayerTest.java",
      "javaDoc": ""
    },
    "training_analysis": {
      "input": {
        "LBFGS": {
          "type": "NonConverged",
          "value": 24.07299928850024
        },
        "CjGD": {
          "type": "NonConverged",
          "value": 0.899272632265419
        },
        "GD": {
          "type": "NonConverged",
          "value": 0.029542272776208665
        }
      }
    },
    "archive": "s3://code.simiacrypt.us/tests/com/simiacryptus/mindseye/layers/cudnn/conv/ConvolutionLayer/IrregularGrid/trainingTest/202004130717",
    "id": "5d9674de-7c28-4d72-b6b8-86f68af6c8de",
    "report_type": "Components",
    "display_name": "Comparative Training",
    "target": {
      "simpleName": "ConvolutionLayer",
      "canonicalName": "com.simiacryptus.mindseye.layers.cudnn.conv.ConvolutionLayer",
      "link": "https://github.com/SimiaCryptus/mindseye-cudnn/tree/59d5b3318556370acb2d83ee6ec123ce0fc6974f/src/main/java/com/simiacryptus/mindseye/layers/cudnn/conv/ConvolutionLayer.java",
      "javaDoc": ""
    }
  }