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

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

Test Modules

Using Seed 2986472990657831936

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

    [
    	[ [ -0.608, -0.852 ], [ -0.768, 0.028 ], [ 1.356, 1.108 ], [ 1.556, 1.524 ] ],
    	[ [ 0.048, 1.208 ], [ 1.032, 0.788 ], [ 1.512, 1.556 ], [ -0.068, -0.804 ] ],
    	[ [ 0.3, -0.712 ], [ 0.496, -0.176 ], [ -0.128, -0.384 ], [ 1.764, 0.08 ] ],
    	[ [ -1.688, 0.7 ], [ -1.616, 1.048 ], [ -1.028, 1.912 ], [ 0.636, -1.72 ] ]
    ]
    [
    	[ [ 0.08, 0.3 ], [ 1.356, -1.028 ], [ 1.108, -0.176 ], [ 1.764, -1.688 ] ],
    	[ [ 0.496, 1.032 ], [ 0.048, 1.556 ], [ -0.384, 1.524 ], [ 1.912, 1.512 ] ],
    	[ [ 1.208, -0.128 ], [ -0.852, -0.608 ], [ 0.7, 1.048 ], [ 0.636, -0.804 ] ],
    	[ [ -1.72, 0.788 ], [ -0.068, 0.028 ], [ -1.616, -0.768 ], [ 1.556, -0.712 ] ]
    ]
    [
    	[ [ 0.636, -0.712 ], [ -0.176, -0.608 ], [ 1.032, 0.3 ], [ 1.208, -0.068 ] ],
    	[ [ -1.028, 1.912 ], [ 0.7, -0.768 ], [ 0.08, 1.048 ], [ -1.616, 1.556 ] ],
    	[ [ 0.028, -1.688 ], [ -0.804, -0.852 ], [ 1.108, 0.048 ], [ -0.384, 1.524 ] ],
    	[ [ 1.764, 0.496 ], [ 1.512, 1.356 ], [ -0.128, -1.72 ], [ 0.788, 1.556 ] ]
    ]
    [
    	[ [ -0.384, 1.356 ], [ 1.556, -0.176 ], [ 0.08, 1.048 ], [ -0.068, 1.556 ] ],
    	[ [ 0.7, -1.028 ], [ 0.048, 1.912 ], [ 1.032, 0.3 ], [ 1.764, -0.128 ] ],
    	[ [ -1.616, -0.804 ], [ -0.712, 1.108 ], [ -1.72, -0.852 ], [ 0.636, 0.788 ] ],
    	[ [ -0.608, 1.524 ], [ 0.028, -0.768 ], [ 1.512, 1.208 ], [ -1.688, 0.496 ] ]
    ]
    [
    	[ [ -0.176, 0.3 ], [ 1.524, 1.556 ], [ -0.852, 1.356 ], [ 0.028, -0.608 ] ],
    	[ [ -1.72, 0.7 ], [ -1.616, -0.768 ], [ 0.08, 1.912 ], [ -0.712, 0.496 ] ],
    	[ [ -0.384, 1.032 ], [ 1.208, 0.636 ], [ 0.788, -0.804 ], [ -1.028, -1.688 ] ],
    	[ [ 1.764, 0.048 ], [ 1.048, 1.108 ], [ -0.068, 1.512 ], [ -0.128, 1.556 ] ]
    ]

Gradient Descent

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

TrainingTester.java:480 executed in 0.56 seconds (0.000 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: 1210735607540
BACKPROP_AGG_SIZE = 3
THREADS = 64
SINGLE_THREADED = false
Initialized CoreSettings = {
"backpropAggregationSize" : 3,
"jvmThreads" : 64,
"singleThreaded" : false
}
Reset training subject: 1210768543346
Constructing line search parameters: GD
th(0)=197.0759373817139;dx=-1.87740416E24
New Minimum: 197.0759373817139 > 0.014417252769141964
Armijo: th(2.154434690031884)=0.014417252769141964; dx=-1.8774041600150413E12 evalInputDelta=197.06152012894478
Armijo: th(1.077217345015942)=0.14006007257612202; dx=-1.8774041600150845E12 evalInputDelta=196.9358773091378
Armijo: th(0.3590724483386473)=1.0133667314475292; dx=-1.8774041600157524E12 evalInputDelta=196.0625706502664
Armijo: th(0.08976811208466183)=2.956011279609877; dx=-1.8774041600245332E12 evalInputDelta=194.11992610210405
Armijo: th(0.017953622416932366)=5.666424378031552; dx=-1.877404160074497E12 evalInputDelta=191.40951300368235
Armijo: th(0.002992270402822061)=7.264058916235122; dx=-1.87740416017457E12 evalInputDelta=189.8118784654788
Armijo: th(4.2746720040315154E-4)=7.791039777754811; dx=-1.8774041602519148E12 evalInputDelta=189.2848976039591
Armijo: th(5.343340005039394E-5)=7.8883542862516665; dx=-1.877404160272494E12 evalInputDelta=189.18758309546226
Armijo: th(5.9370444500437714E-6)=7.901287791196161; dx=-1.8774041602754502E12 evalInputDelta=189.17464959051776
Armijo: th(5.937044450043771E-7)=7.9027516509257065; dx=-1.8774041602757883E12 evalInputDelta=189.17318573078822
Armijo: th(5.397313136403428E-8)=7.902899616088479; dx=-1.8774041602758228E12 evalInputDelta=189.17303776562542
Armijo: th(4.4977609470028565E-9)=7.902913180485953; dx=-1.8774041602758257E12 evalInputDelta=189.17302420122797
Armijo: th(3.4598161130791205E-10)=7.9106888452129125; dx=-1.8774984931581785E12 evalInputDelta=189.165248536501
Armijo: th(2.4712972236279432E-11)=9.515794477899338; dx=-7.276800018801885E20 evalInputDelta=187.56014290381458
Armijo: th(1.6475314824186289E-12)=151.7341503427847; dx=-1.426031360006303E24 evalInputDelta=45.341787038929226
Armijo: th(1.029707176511643E-13)=197.07593738168566; dx=-1.87740416E24 evalInputDelta=2.8251179173821583E-11
Armijo: th(6.057101038303783E-15)=197.07593738171224; dx=-1.87740416E24 evalInputDelta=1.6768808563938364E-12
MIN ALPHA (3.3650561323909904E-16): th(2.154434690031884)=0.014417252769141964
Fitness changed from 197.0759373817139 to 0.014417252769141964
Iteration 1 complete. Error: 0.014417252769141964 Total: 0.2822; Orientation: 0.0032; Line Search: 0.2346
th(0)=0.014417252769141964;dx=-4.954269072932772
WOLFE (weak): th(2.154434690031884E-15)=0.014417252769141964; dx=-4.954269072932772 evalInputDelta=0.0
New Minimum: 0.014417252769141964 > 0.014417252769141959
WOLFE (weak): th(4.308869380063768E-15)=0.014417252769141959; dx=-4.954269072932772 evalInputDelta=5.204170427930421E-18
New Minimum: 0.014417252769141959 > 0.014417252769141947
WOLFE (weak): th(1.2926608140191303E-14)=0.014417252769141947; dx=-4.954269072932772 evalInputDelta=1.734723475976807E-17
New Minimum: 0.014417252769141947 > 0.0144172527691419
WOLFE (weak): th(5.1706432560765214E-14)=0.0144172527691419; dx=-4.954269072932772 evalInputDelta=6.418476861114186E-17
New Minimum: 0.0144172527691419 > 0.014417252769141653
WOLFE (weak): th(2.5853216280382605E-13)=0.014417252769141653; dx=-4.954269072932772 evalInputDelta=3.1051550219984847E-16
New Minimum: 0.014417252769141653 > 0.014417252769140104
WOLFE (weak): th(1.5511929768229563E-12)=0.014417252769140104; dx=-4.954269072932772 evalInputDelta=1.8596235662471372E-15
New Minimum: 0.014417252769140104 > 0.014417252769128936
WOLFE (weak): th(1.0858350837760695E-11)=0.014417252769128936; dx=-4.954269072932772 evalInputDelta=1.3027773304585821E-14
New Minimum: 0.014417252769128936 > 0.014417252769037752
WOLFE (weak): th(8.686680670208556E-11)=0.014417252769037752; dx=-4.954269072932769 evalInputDelta=1.0421177809583071E-13
New Minimum: 0.014417252769037752 > 0.014417252768204089
WOLFE (weak): th(7.8180126031877E-10)=0.014417252768204089; dx=-4.954269072932744 evalInputDelta=9.378747778399088E-13
New Minimum: 0.014417252768204089 > 0.01441725275976322
WOLFE (weak): th(7.818012603187701E-9)=0.01441725275976322; dx=-4.954269072932495 evalInputDelta=9.378744308952136E-12
New Minimum: 0.01441725275976322 > 0.014417252665975766
WOLFE (weak): th(8.599813863506471E-8)=0.014417252665975766; dx=-4.954269072929721 evalInputDelta=1.0316619780681435E-10
New Minimum: 0.014417252665975766 > 0.01441725153114759
WOLFE (weak): th(1.0319776636207765E-6)=0.01441725153114759; dx=-4.954269072896161 evalInputDelta=1.2379943736817722E-9
New Minimum: 0.01441725153114759 > 0.014417236675218072
WOLFE (weak): th(1.3415709627070094E-5)=0.014417236675218072; dx=-4.954269072456829 evalInputDelta=1.6093923891485895E-8
New Minimum: 0.014417236675218072 > 0.014417027454788511
WOLFE (weak): th(1.878199347789813E-4)=0.014417027454788511; dx=-4.954269066269607 evalInputDelta=2.253143534525215E-7
New Minimum: 0.014417027454788511 > 0.014413873185237852
WOLFE (weak): th(0.0028172990216847197)=0.014413873185237852; dx=-4.954268972993241 evalInputDelta=3.379583904112096E-6
New Minimum: 0.014413873185237852 > 0.01436321318413512
WOLFE (weak): th(0.045076784346955515)=0.01436321318413512; dx=-4.9542674759390275 evalInputDelta=5.403958500684383E-5
New Minimum: 0.01436321318413512 > 0.01350822600791247
WOLFE (weak): th(0.7663053338982437)=0.01350822600791247; dx=-4.954242501982765 evalInputDelta=9.090267612294946E-4
New Minimum: 0.01350822600791247 > 0.0013745561122228286
WOLFE (weak): th(13.793496010168386)=0.0013745561122228286; dx=-4.953941103436575 evalInputDelta=0.013042696656919135
New Minimum: 0.0013745561122228286 > 0.0
WOLFE (weak): th(262.07642419319933)=0.0; dx=-4.953919881639825 evalInputDelta=0.014417252769141964
Armijo: th(5241.528483863986)=0.0; dx=-4.953919881639825 evalInputDelta=0.014417252769141964
WOLFE (weak): th(2751.802454028593)=0.0; dx=-4.953919881639825 evalInputDelta=0.014417252769141964
Armijo: th(3996.6654689462894)=0.0; dx=-4.953919881639825 evalInputDelta=0.014417252769141964
Armijo: th(3374.233961487441)=0.0; dx=-4.953919881639825 evalInputDelta=0.014417252769141964
Armijo: th(3063.0182077580166)=0.0; dx=-4.953919881639825 evalInputDelta=0.014417252769141964
WOLFE (weak): th(2907.4103308933045)=0.0; dx=-4.953919881639825 evalInputDelta=0.014417252769141964
Armijo: th(2985.2142693256606)=0.0; dx=-4.953919881639825 evalInputDelta=0.014417252769141964
Armijo: th(2946.3123001094827)=0.0; dx=-4.953919881639825 evalInputDelta=0.014417252769141964
Armijo: th(2926.8613155013936)=0.0; dx=-4.953919881639825 evalInputDelta=0.014417252769141964
mu ~= nu (2907.4103308933045): th(262.07642419319933)=0.0
Fitness changed from 0.014417252769141964 to 0.0
Iteration 2 complete. Error: 0.0 Total: 0.1113; Orientation: 0.0010; Line Search: 0.1074
th(0)=0.0;dx=-4.9536736
Armijo: th(6284.778613031085)=0.0; dx=-4.9536736 evalInputDelta=0.0
Armijo: th(3142.3893065155426)=0.0; dx=-4.9536736 evalInputDelta=0.0
Armijo: th(1047.4631021718476)=0.0; dx=-4.9536736 evalInputDelta=0.0
Armijo: th(261.8657755429619)=0.0; dx=-4.9536736 evalInputDelta=0.0
Armijo: th(52.37315510859238)=0.0; dx=-4.9536736 evalInputDelta=0.0
Armijo: th(8.728859184765396)=0.0; dx=-4.9536736 evalInputDelta=0.0
Armijo: th(1.2469798835379138)=0.0; dx=-4.9536736 evalInputDelta=0.0
Armijo: th(0.15587248544223922)=0.0; dx=-4.9536736 evalInputDelta=0.0
Armijo: th(0.01731916504913769)=0.0; dx=-4.9536736 evalInputDelta=0.0
Armijo: th(0.0017319165049137692)=0.0; dx=-4.9536736 evalInputDelta=0.0
Armijo: th(1.5744695499216084E-4)=0.0; dx=-4.9536736 evalInputDelta=0.0
Armijo: th(1.312057958268007E-5)=0.0; dx=-4.9536736 evalInputDelta=0.0
Armijo: th(1.0092753525138514E-6)=0.0; dx=-4.9536736 evalInputDelta=0.0
Armijo: th(7.209109660813225E-8)=0.0; dx=-4.9536736 evalInputDelta=0.0
Armijo: th(4.8060731072088165E-9)=0.0; dx=-4.9536736 evalInputDelta=0.0
Armijo: th(3.0037956920055103E-10)=0.0; dx=-4.9536736 evalInputDelta=0.0
Armijo: th(1.7669386423561826E-11)=0.0; dx=-4.9536736 evalInputDelta=0.0
Armijo: th(9.816325790867682E-13)=0.0; dx=-4.9536736 evalInputDelta=0.0
Armijo: th(5.166487258351412E-14)=0.0; dx=-4.9536736 evalInputDelta=0.0
Armijo: th(2.5832436291757057E-15)=0.0; dx=-4.9536736 evalInputDelta=0.0
MIN ALPHA (1.2301160138931933E-16): th(0.0)=0.0
Fitness changed from 0.0 to 0.0
Static Iteration Total: 0.1612; Orientation: 0.0010; Line Search: 0.1587
Iteration 3 failed. Error: 0.0
Previous Error: 0.0 -> 0.0
Optimization terminated 3
Final threshold in iteration 3: 0.0 (> 0.0) after 0.555s (< 30.000s)

Returns

    0.0

Training Converged

Conjugate Gradient Descent

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

TrainingTester.java:452 executed in 0.32 seconds (0.000 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: 1211295974678
Reset training subject: 1211297667551
Constructing line search parameters: GD
F(0.0) = LineSearchPoint{point=PointSample{avg=197.0759373817139}, derivative=-1.87740416E24}
New Minimum: 197.0759373817139 > 8.973202834464473
F(1.0E-10) = LineSearchPoint{point=PointSample{avg=8.973202834464473}, derivative=-5.4336000187773105E20}, evalInputDelta = -188.10273454724944
New Minimum: 8.973202834464473 > 7.902914221704158
F(7.000000000000001E-10) = LineSearchPoint{point=PointSample{avg=7.902914221704158}, derivative=-1.877404160275826E12}, evalInputDelta = -189.17302316000976
New Minimum: 7.902914221704158 > 7.902913070205599
F(4.900000000000001E-9) = LineSearchPoint{point=PointSample{avg=7.902913070205599}, derivative=-1.8774041602758257E12}, evalInputDelta = -189.1730243115083
New Minimum: 7.902913070205599 > 7.902905009747006
F(3.430000000000001E-8) = LineSearchPoint{point=PointSample{avg=7.902905009747006}, derivative=-1.8774041602758237E12}, evalInputDelta = -189.1730323719669
New Minimum: 7.902905009747006 > 7.902848588071609
F(2.4010000000000004E-7) = LineSearchPoint{point=PointSample{avg=7.902848588071609}, derivative=-1.8774041602758108E12}, evalInputDelta = -189.1730887936423
New Minimum: 7.902848588071609 > 7.902453711519534
F(1.6807000000000003E-6) = LineSearchPoint{point=PointSample{avg=7.902453711519534}, derivative=-1.8774041602757195E12}, evalInputDelta = -189.17348367019437
New Minimum: 7.902453711519534 > 7.899693250129204
F(1.1764900000000001E-5) = LineSearchPoint{point=PointSample{avg=7.899693250129204}, derivative=-1.8774041602750825E12}, evalInputDelta = -189.17624413158472
New Minimum: 7.899693250129204 > 7.8805470041243835
F(8.235430000000001E-5) = LineSearchPoint{point=PointSample{avg=7.8805470041243835}, derivative=-1.8774041602707363E12}, evalInputDelta = -189.19539037758952
New Minimum: 7.8805470041243835 > 7.754283401968482
F(5.764801000000001E-4) = LineSearchPoint{point=PointSample{avg=7.754283401968482}, derivative=-1.8774041602448271E12}, evalInputDelta = -189.32165397974543
New Minimum: 7.754283401968482 > 7.093145702211101
F(0.004035360700000001) = LineSearchPoint{point=PointSample{avg=7.093145702211101}, derivative=-1.8774041601572053E12}, evalInputDelta = -189.9827916795028
New Minimum: 7.093145702211101 > 5.024373925737997
F(0.028247524900000005) = LineSearchPoint{point=PointSample{avg=5.024373925737997}, derivative=-1.8774041600556357E12}, evalInputDelta = -192.05156345597592
New Minimum: 5.024373925737997 > 1.6571440283305054
F(0.19773267430000002) = LineSearchPoint{point=PointSample{avg=1.6571440283305054}, derivative=-1.877404160017123E12}, evalInputDelta = -195.41879335338342
New Minimum: 1.6571440283305054 > 0.0702175706791633
F(1.3841287201) = LineSearchPoint{point=PointSample{avg=0.0702175706791633}, derivative=-1.8774041600150564E12}, evalInputDelta = -197.00571981103474
New Minimum: 0.0702175706791633 > 0.005716284662338695
F(9.688901040700001) = LineSearchPoint{point=PointSample{avg=0.005716284662338695}, derivative=-1.877404160015041E12}, evalInputDelta = -197.0702210970516
New Minimum: 0.005716284662338695 > 0.0
F(67.8223072849) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-1.877404160015041E12}, evalInputDelta = -197.0759373817139
F(474.7561509943) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-1.877404160015041E12}, evalInputDelta = -197.0759373817139
F(3323.2930569601003) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-1.877404160015041E12}, evalInputDelta = -197.0759373817139
F(23263.0513987207) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-1.877404160015041E12}, evalInputDelta = -197.0759373817139
F(162841.3597910449) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-1.877404160015041E12}, evalInputDelta = -197.0759373817139
F(1139889.5185373144) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-1.877404160015041E12}, evalInputDelta = -197.0759373817139
F(7979226.6297612) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-1.877404160015041E12}, evalInputDelta = -197.0759373817139
F(5.58545864083284E7) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-1.877404160015041E12}, evalInputDelta = -197.0759373817139
F(3.909821048582988E8) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-1.877404160015041E12}, evalInputDelta = -197.0759373817139
F(2.7368747340080914E9) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-1.877404160015041E12}, evalInputDelta = -197.0759373817139
F(1.915812313805664E10) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-1.877404160015041E12}, evalInputDelta = -197.0759373817139
0.0 <= 197.0759373817139
F(1.0E10) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-1.877404160015041E12}, evalInputDelta = -197.0759373817139
Right bracket at 1.0E10
Converged to right
Fitness changed from 197.0759373817139 to 0.0
Iteration 1 complete. Error: 0.0 Total: 0.1708; Orientation: 0.0008; Line Search: 0.1648
F(0.0) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-4.9536736}
F(1.0E10) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-4.9536736}, evalInputDelta = 0.0
0.0 <= 0.0
F(5.0E9) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-4.9536736}, evalInputDelta = 0.0
Right bracket at 5.0E9
F(2.5E9) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-4.9536736}, evalInputDelta = 0.0
Right bracket at 2.5E9
F(1.25E9) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-4.9536736}, evalInputDelta = 0.0
Right bracket at 1.25E9
F(6.25E8) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-4.9536736}, evalInputDelta = 0.0
Right bracket at 6.25E8
F(3.125E8) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-4.9536736}, evalInputDelta = 0.0
Right bracket at 3.125E8
F(1.5625E8) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-4.9536736}, evalInputDelta = 0.0
Right bracket at 1.5625E8
F(7.8125E7) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-4.9536736}, evalInputDelta = 0.0
Right bracket at 7.8125E7
F(3.90625E7) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-4.9536736}, evalInputDelta = 0.0
Right bracket at 3.90625E7
F(1.953125E7) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-4.9536736}, evalInputDelta = 0.0
Right bracket at 1.953125E7
F(9765625.0) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-4.9536736}, evalInputDelta = 0.0
Right bracket at 9765625.0
F(4882812.5) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-4.9536736}, evalInputDelta = 0.0
Right bracket at 4882812.5
F(2441406.25) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-4.9536736}, evalInputDelta = 0.0
Loops = 12
Fitness changed from 0.0 to 0.0
Static Iteration Total: 0.1526; Orientation: 0.0009; Line Search: 0.1491
Iteration 2 failed. Error: 0.0
Previous Error: 0.0 -> 0.0
Optimization terminated 2
Final threshold in iteration 2: 0.0 (> 0.0) after 0.324s (< 30.000s)

Returns

    0.0

Training Converged

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 4.91 seconds (0.069 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: 1211624164929
Reset training subject: 1211625578913
Adding measurement 6c93c4f7 to history. Total: 0
LBFGS Accumulation History: 1 points
Constructing line search parameters: GD
Non-optimal measurement 197.0759373817139 < 197.0759373817139. Total: 1
th(0)=197.0759373817139;dx=-1.87740416E24
Adding measurement af3216 to history. Total: 1
New Minimum: 197.0759373817139 > 0.014417252769141964
Armijo: th(2.154434690031884)=0.014417252769141964; dx=-1.8774041600150413E12 evalInputDelta=197.06152012894478
Non-optimal measurement 0.14006007257612202 < 0.014417252769141964. Total: 2
Armijo: th(1.077217345015942)=0.14006007257612202; dx=-1.8774041600150845E12 evalInputDelta=196.9358773091378
Non-optimal measurement 1.0133667314475292 < 0.014417252769141964. Total: 2
Armijo: th(0.3590724483386473)=1.0133667314475292; dx=-1.8774041600157524E12 evalInputDelta=196.0625706502664
Non-optimal measurement 2.956011279609877 < 0.014417252769141964. Total: 2
Armijo: th(0.08976811208466183)=2.956011279609877; dx=-1.8774041600245332E12 evalInputDelta=194.11992610210405
Non-optimal measurement 5.666424378031552 < 0.014417252769141964. Total: 2
Armijo: th(0.017953622416932366)=5.666424378031552; dx=-1.877404160074497E12 evalInputDelta=191.40951300368235
Non-optimal measurement 7.264058916235122 < 0.014417252769141964. Total: 2
Armijo: th(0.002992270402822061)=7.264058916235122; dx=-1.87740416017457E12 evalInputDelta=189.8118784654788
Non-optimal measurement 7.791039777754811 < 0.014417252769141964. Total: 2
Armijo: th(4.2746720040315154E-4)=7.791039777754811; dx=-1.8774041602519148E12 evalInputDelta=189.2848976039591
Non-optimal measurement 7.8883542862516665 < 0.014417252769141964. Total: 2
Armijo: th(5.343340005039394E-5)=7.8883542862516665; dx=-1.877404160272494E12 evalInputDelta=189.18758309546226
Non-optimal measurement 7.901287791196161 < 0.014417252769141964. Total: 2
Armijo: th(5.9370444500437714E-6)=7.901287791196161; dx=-1.8774041602754502E12 evalInputDelta=189.17464959051776
Non-optimal measurement 7.9027516509257065 < 0.014417252769141964. Total: 2
Armijo: th(5.937044450043771E-7)=7.9027516509257065; dx=-1.8774041602757883E12 evalInputDelta=189.17318573078822
Non-optimal measurement 7.902899616088479 < 0.014417252769141964. Total: 2
Armijo: th(5.397313136403428E-8)=7.902899616088479; dx=-1.8774041602758228E12 evalInputDelta=189.17303776562542
Non-optimal measurement 7.902913180485953 < 0.014417252769141964. Total: 2
Armijo: th(4.4977609470028565E-9)=7.902913180485953; dx=-1.8774041602758257E12 evalInputDelta=189.17302420122797
Non-optimal measurement 7.9106888452129125 < 0.014417252769141964. Total: 2
Armijo: th(3.4598161130791205E-10)=7.9106888452129125; dx=-1.8774984931581785E12 evalInputDelta=189.165248536501
Non-optimal measurement 9.515794477899338 < 0.014417252769141964. Total: 2
Armijo: th(2.4712972236279432E-11)=9.515794477899338; dx=-7.276800018801885E20 evalInputDelta=187.56014290381458
Non-optimal measurement 151.7341503427847 < 0.014417252769141964. Total: 2
Armijo: th(1.6475314824186289E-12)=151.7341503427847; dx=-1.426031360006303E24 evalInputDelta=45.341787038929226
Non-optimal measurement 197.07593738168566 < 0.014417252769141964. Total: 2
Armijo: th(1.029707176511643E-13)=197.07593738168566; dx=-1.87740416E24 evalInputDelta=2.8251179173821583E-11
Non-optimal measurement 197.07593738171224 < 0.014417252769141964. Total: 2
Armijo: th(6.057101038303783E-15)=197.07593738171224; dx=-1.87740416E24 evalInputDelta=1.6768808563938364E-12
Non-optimal measurement 0.014417252769141964 < 0.014417252769141964. Total: 2
MIN ALPHA (3.3650561323909904E-16): th(2.154434690031884)=0.014417252769141964
Fitness changed from 197.0759373817139 to 0.014417252769141964
Iteration 1 complete. Error: 0.014417252769141964 Total: 0.0770; Orientation: 0.0035; Line Search: 0.0693
Non-optimal measurement 0.014417252769141964 < 0.014417252769141964. Total: 2
LBFGS Accumulation History: 2 points
Non-optimal measurement 0.014417252769141964 < 0.014417252769141964. Total: 2
th(0)=0.014417252769141964;dx=-4.954269072932772
Non-optimal measurement 0.014417252769141964 < 0.014417252769141964. Total: 2
WOLFE (weak): th(2.154434690031884E-15)=0.014417252769141964; dx=-4.954269072932772 evalInputDelta=0.0
Adding measurement 3970dcab to history. Total: 2
New Minimum: 0.014417252769141964 > 0.014417252769141959
WOLFE (weak): th(4.308869380063768E-15)=0.014417252769141959; dx=-4.954269072932772 evalInputDelta=5.204170427930421E-18
Adding measurement 62e8e2e2 to history. Total: 3
New Minimum: 0.014417252769141959 > 0.014417252769141947
WOLFE (weak): th(1.2926608140191303E-14)=0.014417252769141947; dx=-4.954269072932772 evalInputDelta=1.734723475976807E-17
Adding measurement 4e6b9c82 to history. Total: 4
New Minimum: 0.014417252769141947 > 0.0144172527691419
WOLFE (weak): th(5.1706432560765214E-14)=0.0144172527691419; dx=-4.954269072932772 evalInputDelta=6.418476861114186E-17
Adding measurement de462c to history. Total: 5
New Minimum: 0.0144172527691419 > 0.014417252769141653
WOLFE (weak): th(2.5853216280382605E-13)=0.014417252769141653; dx=-4.954269072932772 evalInputDelta=3.1051550219984847E-16
Adding measurement 350d9a03 to history. Total: 6
New Minimum: 0.014417252769141653 > 0.014417252769140104
WOLFE (weak): th(1.5511929768229563E-12)=0.014417252769140104; dx=-4.954269072932772 evalInputDelta=1.8596235662471372E-15
Adding measurement 152e3215 to history. Total: 7
New Minimum: 0.014417252769140104 > 0.014417252769128936
WOLFE (weak): th(1.0858350837760695E-11)=0.014417252769128936; dx=-4.954269072932772 evalInputDelta=1.3027773304585821E-14
Adding measurement 6fac578c to history. Total: 8
New Minimum: 0.014417252769128936 > 0.014417252769037752
WOLFE (weak): th(8.686680670208556E-11)=0.014417252769037752; dx=-4.954269072932769 evalInputDelta=1.0421177809583071E-13
Adding measurement 4a266714 to history. Total: 9
New Minimum: 0.014417252769037752 > 0.014417252768204089
WOLFE (weak): th(7.8180126031877E-10)=0.014417252768204089; dx=-4.954269072932744 evalInputDelta=9.378747778399088E-13
Adding measurement 1b24e5d to history. Total: 10
New Minimum: 0.014417252768204089 > 0.01441725275976322
WOLFE (weak): th(7.818012603187701E-9)=0.01441725275976322; dx=-4.954269072932495 evalInputDelta=9.378744308952136E-12
Adding measurement 23a0c3e3 to history. Total: 11
New Minimum: 0.01441725275976322 > 0.014417252665975766
WOLFE (weak): th(8.599813863506471E-8)=0.014417252665975766; dx=-4.954269072929721 evalInputDelta=1.0316619780681435E-10
Adding measurement 3fa1a8cf to history. Total: 12
New Minimum: 0.014417252665975766 > 0.01441725153114759
WOLFE (weak): th(1.0319776636207765E-6)=0.01441725153114759; dx=-4.954269072896161 evalInputDelta=1.2379943736817722E-9
Adding measurement 57f58f3e to history. Total: 13
New Minimum: 0.01441725153114759 > 0.014417236675218072
WOLFE (weak): th(1.3415709627070094E-5)=0.014417236675218072; dx=-4.954269072456829 evalInputDelta=1.6093923891485895E-8
Adding measurement 7fb7d452 to history. Total: 14
New Minimum: 0.014417236675218072 > 0.014417027454788511
WOLFE (weak): th(1.878199347789813E-4)=0.014417027454788511; dx=-4.954269066269607 evalInputDelta=2.253143534525215E-7
Adding measurement 1cb52c95 to history. Total: 15
New Minimum: 0.014417027454788511 > 0.014413873185237852
WOLFE (weak): th(0.0028172990216847197)=0.014413873185237852; dx=-4.954268972993241 evalInputDelta=3.379583904112096E-6
Adding measurement 7fada2eb to history. Total: 16
New Minimum: 0.014413873185237852 > 0.01436321318413512
WOLFE (weak): th(0.045076784346955515)=0.01436321318413512; dx=-4.9542674759390275 evalInputDelta=5.403958500684383E-5
Adding measurement 3a45c99c to history. Total: 17
New Minimum: 0.01436321318413512 > 0.01350822600791247
WOLFE (weak): th(0.7663053338982437)=0.01350822600791247; dx=-4.954242501982765 evalInputDelta=9.090267612294946E-4
Adding measurement 7bbec20b to history. Total: 18
New Minimum: 0.01350822600791247 > 0.0013745561122228286
WOLFE (weak): th(13.793496010168386)=0.0013745561122228286; dx=-4.953941103436575 evalInputDelta=0.013042696656919135
Adding measurement 27d5ca6f to history. Total: 19
New Minimum: 0.0013745561122

...skipping 8241 bytes...

2, 0.01441725153114759, 0.014417252665975766, 0.01441725275976322, 0.014417252768204089, 0.014417252769037752
Rejected: LBFGS Orientation magnitude: 4.694e+05, gradient 2.226e+00, dot -0.990; [c7775f05-586b-49d1-a8f8-6bd1673d2897 = 1.000/1.000e+00, cf5e015f-67e2-4509-be4a-86c305d66574 = 1.000/1.000e+00, 6b26db4f-f616-4b8c-bd42-d0d073c01895 = 1.000/1.000e+00, db43f9dc-7094-4bfe-b43f-4993b8bd39b4 = 1.000/1.000e+00, 11ca1f72-1b39-46ae-bc6d-8992d068a696 = 1.000/1.000e+00]
Orientation rejected. Popping history element from 0.0, 0.0013745561122228286, 0.01350822600791247, 0.01436321318413512, 0.014413873185237852, 0.014417027454788511, 0.014417236675218072, 0.01441725153114759, 0.014417252665975766, 0.01441725275976322, 0.014417252768204089
Rejected: LBFGS Orientation magnitude: 4.694e+05, gradient 2.226e+00, dot -0.990; [cf5e015f-67e2-4509-be4a-86c305d66574 = 1.000/1.000e+00, 11ca1f72-1b39-46ae-bc6d-8992d068a696 = 1.000/1.000e+00, db43f9dc-7094-4bfe-b43f-4993b8bd39b4 = 1.000/1.000e+00, 6b26db4f-f616-4b8c-bd42-d0d073c01895 = 1.000/1.000e+00, c7775f05-586b-49d1-a8f8-6bd1673d2897 = 1.000/1.000e+00]
Orientation rejected. Popping history element from 0.0, 0.0013745561122228286, 0.01350822600791247, 0.01436321318413512, 0.014413873185237852, 0.014417027454788511, 0.014417236675218072, 0.01441725153114759, 0.014417252665975766, 0.01441725275976322
Rejected: LBFGS Orientation magnitude: 4.694e+05, gradient 2.226e+00, dot -0.990; [11ca1f72-1b39-46ae-bc6d-8992d068a696 = 1.000/1.000e+00, 6b26db4f-f616-4b8c-bd42-d0d073c01895 = 1.000/1.000e+00, db43f9dc-7094-4bfe-b43f-4993b8bd39b4 = 1.000/1.000e+00, c7775f05-586b-49d1-a8f8-6bd1673d2897 = 1.000/1.000e+00, cf5e015f-67e2-4509-be4a-86c305d66574 = 1.000/1.000e+00]
Orientation rejected. Popping history element from 0.0, 0.0013745561122228286, 0.01350822600791247, 0.01436321318413512, 0.014413873185237852, 0.014417027454788511, 0.014417236675218072, 0.01441725153114759, 0.014417252665975766
Rejected: LBFGS Orientation magnitude: 4.694e+05, gradient 2.226e+00, dot -0.990; [cf5e015f-67e2-4509-be4a-86c305d66574 = 1.000/1.000e+00, 6b26db4f-f616-4b8c-bd42-d0d073c01895 = 1.000/1.000e+00, 11ca1f72-1b39-46ae-bc6d-8992d068a696 = 1.000/1.000e+00, c7775f05-586b-49d1-a8f8-6bd1673d2897 = 1.000/1.000e+00, db43f9dc-7094-4bfe-b43f-4993b8bd39b4 = 1.000/1.000e+00]
Orientation rejected. Popping history element from 0.0, 0.0013745561122228286, 0.01350822600791247, 0.01436321318413512, 0.014413873185237852, 0.014417027454788511, 0.014417236675218072, 0.01441725153114759
Rejected: LBFGS Orientation magnitude: 6.087e+05, gradient 2.226e+00, dot -0.970; [db43f9dc-7094-4bfe-b43f-4993b8bd39b4 = 1.000/1.000e+00, c7775f05-586b-49d1-a8f8-6bd1673d2897 = 1.000/1.000e+00, cf5e015f-67e2-4509-be4a-86c305d66574 = 1.000/1.000e+00, 6b26db4f-f616-4b8c-bd42-d0d073c01895 = 1.000/1.000e+00, 11ca1f72-1b39-46ae-bc6d-8992d068a696 = 1.000/1.000e+00]
Orientation rejected. Popping history element from 0.0, 0.0013745561122228286, 0.01350822600791247, 0.01436321318413512, 0.014413873185237852, 0.014417027454788511, 0.014417236675218072
Rejected: LBFGS Orientation magnitude: 6.230e+05, gradient 2.226e+00, dot -1.000; [cf5e015f-67e2-4509-be4a-86c305d66574 = 1.000/1.000e+00, 6b26db4f-f616-4b8c-bd42-d0d073c01895 = 1.000/1.000e+00, 11ca1f72-1b39-46ae-bc6d-8992d068a696 = 1.000/1.000e+00, c7775f05-586b-49d1-a8f8-6bd1673d2897 = 1.000/1.000e+00, db43f9dc-7094-4bfe-b43f-4993b8bd39b4 = 1.000/1.000e+00]
Orientation rejected. Popping history element from 0.0, 0.0013745561122228286, 0.01350822600791247, 0.01436321318413512, 0.014413873185237852, 0.014417027454788511
Rejected: LBFGS Orientation magnitude: 6.225e+05, gradient 2.226e+00, dot -1.000; [11ca1f72-1b39-46ae-bc6d-8992d068a696 = 1.000/1.000e+00, cf5e015f-67e2-4509-be4a-86c305d66574 = 1.000/1.000e+00, c7775f05-586b-49d1-a8f8-6bd1673d2897 = 1.000/1.000e+00, 6b26db4f-f616-4b8c-bd42-d0d073c01895 = 1.000/1.000e+00, db43f9dc-7094-4bfe-b43f-4993b8bd39b4 = 1.000/1.000e+00]
Orientation rejected. Popping history element from 0.0, 0.0013745561122228286, 0.01350822600791247, 0.01436321318413512, 0.014413873185237852
Rejected: LBFGS Orientation magnitude: 6.369e+05, gradient 2.226e+00, dot -1.000; [cf5e015f-67e2-4509-be4a-86c305d66574 = 1.000/1.000e+00, c7775f05-586b-49d1-a8f8-6bd1673d2897 = 1.000/1.000e+00, db43f9dc-7094-4bfe-b43f-4993b8bd39b4 = 1.000/1.000e+00, 11ca1f72-1b39-46ae-bc6d-8992d068a696 = 1.000/1.000e+00, 6b26db4f-f616-4b8c-bd42-d0d073c01895 = 1.000/1.000e+00]
Orientation rejected. Popping history element from 0.0, 0.0013745561122228286, 0.01350822600791247, 0.01436321318413512
LBFGS Accumulation History: 3 points
Removed measurement 27d5ca6f to history. Total: 19
Removed measurement 7bbec20b to history. Total: 18
Removed measurement 3a45c99c to history. Total: 17
Removed measurement 7fada2eb to history. Total: 16
Removed measurement 1cb52c95 to history. Total: 15
Removed measurement 7fb7d452 to history. Total: 14
Removed measurement 57f58f3e to history. Total: 13
Removed measurement 3fa1a8cf to history. Total: 12
Removed measurement 23a0c3e3 to history. Total: 11
Removed measurement 1b24e5d to history. Total: 10
Removed measurement 4a266714 to history. Total: 9
Removed measurement 6fac578c to history. Total: 8
Removed measurement 152e3215 to history. Total: 7
Removed measurement 350d9a03 to history. Total: 6
Removed measurement de462c to history. Total: 5
Removed measurement 4e6b9c82 to history. Total: 4
Removed measurement 62e8e2e2 to history. Total: 3
Adding measurement 8ff74f7 to history. Total: 3
th(0)=0.0;dx=-4.9536736
Non-optimal measurement 0.0 < 0.0. Total: 4
Armijo: th(6284.778613031085)=0.0; dx=-4.9536736 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 4
Armijo: th(3142.3893065155426)=0.0; dx=-4.9536736 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 4
Armijo: th(1047.4631021718476)=0.0; dx=-4.9536736 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 4
Armijo: th(261.8657755429619)=0.0; dx=-4.9536736 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 4
Armijo: th(52.37315510859238)=0.0; dx=-4.9536736 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 4
Armijo: th(8.728859184765396)=0.0; dx=-4.9536736 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 4
Armijo: th(1.2469798835379138)=0.0; dx=-4.9536736 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 4
Armijo: th(0.15587248544223922)=0.0; dx=-4.9536736 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 4
Armijo: th(0.01731916504913769)=0.0; dx=-4.9536736 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 4
Armijo: th(0.0017319165049137692)=0.0; dx=-4.9536736 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 4
Armijo: th(1.5744695499216084E-4)=0.0; dx=-4.9536736 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 4
Armijo: th(1.312057958268007E-5)=0.0; dx=-4.9536736 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 4
Armijo: th(1.0092753525138514E-6)=0.0; dx=-4.9536736 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 4
Armijo: th(7.209109660813225E-8)=0.0; dx=-4.9536736 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 4
Armijo: th(4.8060731072088165E-9)=0.0; dx=-4.9536736 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 4
Armijo: th(3.0037956920055103E-10)=0.0; dx=-4.9536736 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 4
Armijo: th(1.7669386423561826E-11)=0.0; dx=-4.9536736 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 4
Armijo: th(9.816325790867682E-13)=0.0; dx=-4.9536736 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 4
Armijo: th(5.166487258351412E-14)=0.0; dx=-4.9536736 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 4
Armijo: th(2.5832436291757057E-15)=0.0; dx=-4.9536736 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 4
MIN ALPHA (1.2301160138931933E-16): th(0.0)=0.0
Fitness changed from 0.0 to 0.0
Static Iteration Total: 4.7307; Orientation: 4.6727; Line Search: 0.0563
Iteration 3 failed. Error: 0.0
Previous Error: 0.0 -> 0.0
Optimization terminated 3
Final threshold in iteration 3: 0.0 (> 0.0) after 4.908s (< 30.000s)

Returns

    0.0

Training Converged

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

    return TestUtil.compare(title + " vs Iteration", runs);
Logging
Plotting range=[1.0, -2.841117487249682], [2.0, -0.8411174872496823]; valueStats=DoubleSummaryStatistics{count=2, sum=0.028835, min=0.014417, average=0.014417, max=0.014417}
Plotting 2 points for GD
Only 1 points for CjGD
Plotting 2 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, -2.841117487249682], [0.11, -0.8411174872496823]; valueStats=DoubleSummaryStatistics{count=2, sum=0.028835, min=0.014417, average=0.014417, max=0.014417}
Plotting 2 points for GD
Only 1 points for CjGD
Plotting 2 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": "Converged", "value": 0.0 }, "CjGD": { "type": "Converged", "value": 0.0 }, "GD": { "type": "Converged", "value": 0.0 } }, "model":null, "complete":null}

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

    throwException(exceptions.addRef());

Results

detailsresult
{"input":{ "LBFGS": { "type": "Converged", "value": 0.0 }, "CjGD": { "type": "Converged", "value": 0.0 }, "GD": { "type": "Converged", "value": 0.0 } }, "model":null, "complete":null}OK
  {
    "result": "OK",
    "performance": {
      "execution_time": "6.446",
      "gc_time": "0.287"
    },
    "created_on": 1586735798538,
    "file_name": "trainingTest",
    "report": {
      "simpleName": "Basic",
      "canonicalName": "com.simiacryptus.mindseye.layers.java.UnpoolingLayerTest.Basic",
      "link": "https://github.com/SimiaCryptus/mindseye-java/tree/93db34cedee48c0202777a2b25deddf1dfaf5731/src/test/java/com/simiacryptus/mindseye/layers/java/UnpoolingLayerTest.java",
      "javaDoc": ""
    },
    "training_analysis": {
      "input": {
        "LBFGS": {
          "type": "Converged",
          "value": 0.0
        },
        "CjGD": {
          "type": "Converged",
          "value": 0.0
        },
        "GD": {
          "type": "Converged",
          "value": 0.0
        }
      }
    },
    "archive": "s3://code.simiacrypt.us/tests/com/simiacryptus/mindseye/layers/java/UnpoolingLayer/Basic/trainingTest/202004125638",
    "id": "aa4323cb-d792-4ce9-85a9-3741d11b1b40",
    "report_type": "Components",
    "display_name": "Comparative Training",
    "target": {
      "simpleName": "UnpoolingLayer",
      "canonicalName": "com.simiacryptus.mindseye.layers.java.UnpoolingLayer",
      "link": "https://github.com/SimiaCryptus/mindseye-java/tree/93db34cedee48c0202777a2b25deddf1dfaf5731/src/main/java/com/simiacryptus/mindseye/layers/java/UnpoolingLayer.java",
      "javaDoc": ""
    }
  }