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 6553204019547984896

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.07 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.972 ], [ 1.448 ], [ -0.256 ], [ 0.828 ], [ 0.612 ], [ -0.376 ], [ 0.784 ], [ 0.604 ], ... ],
    	[ [ -1.9 ], [ -1.74 ], [ -0.112 ], [ -1.996 ], [ -0.248 ], [ -1.96 ], [ -0.296 ], [ 0.552 ], ... ],
    	[ [ -0.952 ], [ -1.332 ], [ 0.396 ], [ 1.008 ], [ 0.128 ], [ -1.32 ], [ 0.828 ], [ 1.036 ], ... ],
    	[ [ 1.5 ], [ 1.312 ], [ 1.8 ], [ 1.164 ], [ 1.716 ], [ 0.1 ], [ -0.656 ], [ 1.944 ], ... ],
    	[ [ -1.096 ], [ 1.352 ], [ 1.352 ], [ -0.268 ], [ 1.6 ], [ 0.468 ], [ 0.876 ], [ -0.884 ], ... ],
    	[ [ 0.564 ], [ 0.144 ], [ -1.492 ], [ -1.252 ], [ 0.752 ], [ 1.264 ], [ 0.52 ], [ -0.844 ], ... ],
    	[ [ -0.804 ], [ 1.148 ], [ -1.476 ], [ -1.08 ], [ -0.848 ], [ -0.416 ], [ -1.312 ], [ -0.532 ], ... ],
    	[ [ -0.62 ], [ 0.532 ], [ 1.868 ], [ -1.884 ], [ 1.428 ], [ 0.404 ], [ -1.636 ], [ -0.88 ], ... ],
    	...
    ]
    [
    	[ [ -1.744 ], [ 1.444 ], [ -1.144 ], [ -1.212 ], [ -0.672 ], [ -1.784 ], [ -1.184 ], [ -0.8 ], ... ],
    	[ [ -1.16 ], [ 1.732 ], [ 1.492 ], [ 1.288 ], [ 1.944 ], [ -0.02 ], [ -0.3 ], [ 0.708 ], ... ],
    	[ [ -0.856 ], [ 1.304 ], [ -1.296 ], [ -1.736 ], [ -0.164 ], [ -1.128 ], [ -0.244 ], [ -0.888 ], ... ],
    	[ [ -1.632 ], [ 0.992 ], [ 1.256 ], [ 1.952 ], [ -1.536 ], [ 1.384 ], [ 0.752 ], [ 0.168 ], ... ],
    	[ [ -0.804 ], [ 1.14 ], [ 1.48 ], [ -0.008 ], [ 1.352 ], [ 0.892 ], [ -0.172 ], [ 1.636 ], ... ],
    	[ [ -1.212 ], [ -0.192 ], [ -0.44 ], [ 1.16 ], [ -1.504 ], [ -0.672 ], [ 0.1 ], [ -1.652 ], ... ],
    	[ [ 1.9 ], [ -1.884 ], [ 0.444 ], [ -1.056 ], [ -0.232 ], [ 0.4 ], [ -0.612 ], [ 0.752 ], ... ],
    	[ [ 0.752 ], [ 0.184 ], [ -1.252 ], [ -0.352 ], [ -1.228 ], [ -1.816 ], [ -0.832 ], [ -0.024 ], ... ],
    	...
    ]
    [
    	[ [ -1.344 ], [ 1.172 ], [ -0.788 ], [ -0.544 ], [ -0.544 ], [ -1.404 ], [ -0.824 ], [ 0.452 ], ... ],
    	[ [ -1.62 ], [ -1.62 ], [ 1.38 ], [ -0.864 ], [ 0.572 ], [ -0.84 ], [ 0.92 ], [ 1.688 ], ... ],
    	[ [ 0.016 ], [ -1.228 ], [ -1.26 ], [ 1.112 ], [ -0.428 ], [ 0.6 ], [ -0.94 ], [ -1.372 ], ... ],
    	[ [ -1.504 ], [ 0.564 ], [ -0.568 ], [ -1.54 ], [ -1.552 ], [ 1.716 ], [ 0.172 ], [ -0.504 ], ... ],
    	[ [ -0.876 ], [ 1.452 ], [ -1.024 ], [ 1.068 ], [ 0.676 ], [ -0.684 ], [ -0.348 ], [ 2.0 ], ... ],
    	[ [ 0.236 ], [ -1.36 ], [ 0.208 ], [ -0.168 ], [ -0.396 ], [ 0.248 ], [ -1.052 ], [ 0.612 ], ... ],
    	[ [ -0.396 ], [ 1.096 ], [ 0.696 ], [ 0.988 ], [ -0.64 ], [ -0.16 ], [ 0.108 ], [ -0.98 ], ... ],
    	[ [ 1.0 ], [ -0.976 ], [ 1.608 ], [ -1.512 ], [ -0.476 ], [ 0.984 ], [ 1.456 ], [ 0.436 ], ... ],
    	...
    ]
    [
    	[ [ -1.348 ], [ 0.364 ], [ 0.352 ], [ 0.512 ], [ -0.956 ], [ -0.032 ], [ 0.656 ], [ 1.74 ], ... ],
    	[ [ 0.612 ], [ 1.856 ], [ -0.504 ], [ 1.432 ], [ -1.396 ], [ -0.156 ], [ 1.216 ], [ -1.6 ], ... ],
    	[ [ 1.14 ], [ -1.196 ], [ 1.8 ], [ 1.02 ], [ 1.02 ], [ 0.512 ], [ -0.244 ], [ 0.568 ], ... ],
    	[ [ 0.92 ], [ 0.152 ], [ 0.324 ], [ -1.5 ], [ 0.616 ], [ 0.408 ], [ -0.932 ], [ -1.12 ], ... ],
    	[ [ -0.704 ], [ 0.492 ], [ 1.772 ], [ -1.392 ], [ 0.508 ], [ -1.708 ], [ -1.984 ], [ -0.092 ], ... ],
    	[ [ -1.312 ], [ 1.312 ], [ 1.428 ], [ -1.072 ], [ -1.844 ], [ -0.616 ], [ 0.34 ], [ 1.176 ], ... ],
    	[ [ -0.496 ], [ 0.52 ], [ -1.968 ], [ 0.06 ], [ 0.54 ], [ 1.948 ], [ 1.044 ], [ 0.148 ], ... ],
    	[ [ 0.948 ], [ 1.216 ], [ -0.944 ], [ 1.62 ], [ 0.632 ], [ -1.96 ], [ 0.144 ], [ -0.604 ], ... ],
    	...
    ]
    [
    	[ [ 1.836 ], [ -0.872 ], [ 0.72 ], [ 0.284 ], [ 0.032 ], [ -0.792 ], [ -0.792 ], [ -1.424 ], ... ],
    	[ [ 1.192 ], [ -1.8 ], [ 1.888 ], [ 1.992 ], [ -1.108 ], [ 0.436 ], [ -1.748 ], [ 0.48 ], ... ],
    	[ [ 0.316 ], [ 1.524 ], [ -0.132 ], [ -1.832 ], [ -0.528 ], [ -1.22 ], [ -1.504 ], [ 1.6 ], ... ],
    	[ [ 1.14 ], [ 0.784 ], [ -1.768 ], [ 0.896 ], [ 0.624 ], [ 0.92 ], [ 0.936 ], [ 0.42 ], ... ],
    	[ [ 1.52 ], [ -1.416 ], [ 1.38 ], [ -0.256 ], [ -1.324 ], [ 1.14 ], [ -1.816 ], [ 0.328 ], ... ],
    	[ [ -0.492 ], [ -0.432 ], [ 0.224 ], [ -0.52 ], [ 1.864 ], [ -1.956 ], [ 0.876 ], [ -1.676 ], ... ],
    	[ [ -1.92 ], [ 1.132 ], [ -0.776 ], [ 1.32 ], [ 1.452 ], [ -1.304 ], [ -0.596 ], [ 1.804 ], ... ],
    	[ [ 1.08 ], [ -0.896 ], [ -1.3 ], [ 1.528 ], [ -1.148 ], [ 0.384 ], [ -1.964 ], [ 0.356 ], ... ],
    	...
    ]
    [
    	[ [ -0.532 ], [ 0.428 ], [ -0.908 ], [ 0.288 ], [ -1.632 ], [ 0.588 ], [ -1.64 ], [ 1.44 ], ... ],
    	[ [ -0.52 ], [ 1.164 ], [ 1.996 ], [ -1.392 ], [ 1.832 ], [ 1.66 ], [ -0.992 ], [ -0.968 ], ... ],
    	[ [ 1.432 ], [ -0.528 ], [ -0.92 ], [ 0.952 ], [ -0.988 ], [ 0.24 ], [ 1.48 ], [ 0.984 ], ... ],
    	[ [ 1.792 ], [ 0.0 ], [ 1.268 ], [ -1.144 ], [ -0.028 ], [ 1.58 ], [ 0.004 ], [ -0.676 ], ... ],
    	[ [ -1.416 ], [ 1.764 ], [ -1.656 ], [ -0.16 ], [ 1.4 ], [ -1.632 ], [ -0.532 ], [ -0.12 ], ... ],
    	[ [ -1.16 ], [ 1.784 ], [ 1.384 ], [ 1.228 ], [ 0.852 ], [ -1.324 ], [ -0.296 ], [ 0.072 ], ... ],
    	[ [ 0.264 ], [ 0.408 ], [ -1.48 ], [ 1.348 ], [ -0.252 ], [ 0.588 ], [ 1.616 ], [ 0.672 ], ... ],
    	[ [ -0.556 ], [ 0.152 ], [ -1.992 ], [ 1.416 ], [ 0.152 ], [ -0.5 ], [ 1.1 ], [ 1.588 ], ... ],
    	...
    ]
    [
    	[ [ -0.704 ], [ -0.216 ], [ -0.32 ], [ 1.404 ], [ -1.06 ], [ 1.144 ], [ 0.408 ], [ -1.56 ], ... ],
    	[ [ -1.396 ], [ -0.972 ], [ 0.144 ], [ 0.992 ], [ 0.964 ], [ -0.028 ], [ 0.096 ], [ -1.34 ], ... ],
    	[ [ 1.928 ], [ -1.488 ], [ -1.72 ], [ -0.592 ], [ -0.584 ], [ 1.352 ], [ 1.964 ], [ 0.208 ], ... ],
    	[ [ -1.592 ], [ -1.424 ], [ -1.628 ], [ -1.072 ], [ -1.268 ], [ 0.58 ], [ 0.88 ], [ 1.952 ], ... ],
    	[ [ 0.544 ], [ -1.908 ], [ 0.572 ], [ -1.028 ], [ -0.176 ], [ 0.268 ], [ 1.584 ], [ 1.692 ], ... ],
    	[ [ -1.144 ], [ -1.604 ], [ -1.856 ], [ 0.136 ], [ -1.256 ], [ -1.392 ], [ -0.972 ], [ -1.136 ], ... ],
    	[ [ 0.7 ], [ 1.192 ], [ -1.28 ], [ 0.612 ], [ 1.004 ], [ 1.58 ], [ 1.02 ], [ 1.752 ], ... ],
    	[ [ 1.256 ], [ 0.96 ], [ -0.404 ], [ -1.132 ], [ 0.596 ], [ 1.144 ], [ 1.876 ], [ 0.34 ], ... ],
    	...
    ]
    [
    	[ [ -1.372 ], [ -0.468 ], [ 1.62 ], [ 1.684 ], [ -0.096 ], [ 1.82 ], [ 1.24 ], [ 1.044 ], ... ],
    	[ [ 1.0 ], [ -0.664 ], [ 0.668 ], [ -0.712 ], [ -0.964 ], [ 1.948 ], [ -0.668 ], [ -1.984 ], ... ],
    	[ [ -0.388 ], [ -1.076 ], [ -1.448 ], [ -0.148 ], [ 1.488 ], [ -0.676 ], [ 0.948 ], [ 1.388 ], ... ],
    	[ [ -0.648 ], [ 0.164 ], [ -0.1 ], [ 1.448 ], [ 0.576 ], [ 1.824 ], [ 0.928 ], [ 0.424 ], ... ],
    	[ [ -1.988 ], [ 1.548 ], [ 1.852 ], [ 1.3 ], [ -0.592 ], [ -0.984 ], [ -0.72 ], [ -1.276 ], ... ],
    	[ [ 0.624 ], [ -1.408 ], [ -0.364 ], [ 1.38 ], [ -0.268 ], [ 1.388 ], [ 0.352 ], [ 0.32 ], ... ],
    	[ [ -0.86 ], [ -1.424 ], [ 0.488 ], [ -1.04 ], [ -0.856 ], [ 0.384 ], [ 0.328 ], [ 0.136 ], ... ],
    	[ [ -0.364 ], [ 1.424 ], [ 0.268 ], [ 1.448 ], [ 1.376 ], [ 0.624 ], [ -0.9 ], [ 0.408 ], ... ],
    	...
    ]
    [
    	[ [ -0.928 ], [ -1.728 ], [ -0.832 ], [ -1.068 ], [ -0.136 ], [ 0.392 ], [ -0.272 ], [ 0.092 ], ... ],
    	[ [ -0.656 ], [ 1.584 ], [ 1.948 ], [ 1.88 ], [ -0.736 ], [ -0.644 ], [ 1.272 ], [ -0.548 ], ... ],
    	[ [ 0.92 ], [ -0.484 ], [ 1.804 ], [ -1.124 ], [ -1.048 ], [ -1.072 ], [ -1.816 ], [ -0.408 ], ... ],
    	[ [ 1.772 ], [ -0.356 ], [ -0.712 ], [ 1.68 ], [ -0.752 ], [ 1.936 ], [ 0.612 ], [ -0.552 ], ... ],
    	[ [ 1.852 ], [ 0.472 ], [ -0.54 ], [ 0.792 ], [ 1.656 ], [ 0.16 ], [ 1.82 ], [ -0.792 ], ... ],
    	[ [ -1.84 ], [ -1.404 ], [ -1.232 ], [ -1.9 ], [ -1.092 ], [ -1.716 ], [ 1.564 ], [ 0.54 ], ... ],
    	[ [ -0.428 ], [ -0.216 ], [ -1.576 ], [ 1.044 ], [ -0.472 ], [ 0.192 ], [ 0.86 ], [ -1.492 ], ... ],
    	[ [ -1.776 ], [ 0.584 ], [ -1.396 ], [ -0.024 ], [ 0.24 ], [ 1.596 ], [ 0.196 ], [ -0.568 ], ... ],
    	...
    ]
    [
    	[ [ -0.16 ], [ 0.344 ], [ 1.536 ], [ 0.98 ], [ -0.212 ], [ 0.292 ], [ 0.048 ], [ 0.412 ], ... ],
    	[ [ -1.756 ], [ 1.396 ], [ -0.176 ], [ -0.14 ], [ 0.932 ], [ 1.976 ], [ -1.912 ], [ 1.472 ], ... ],
    	[ [ -1.944 ], [ 0.8 ], [ -1.512 ], [ -1.444 ], [ 1.452 ], [ -1.04 ], [ -1.86 ], [ 1.62 ], ... ],
    	[ [ -1.164 ], [ -0.212 ], [ -1.648 ], [ -1.828 ], [ -0.628 ], [ 1.088 ], [ -1.588 ], [ -0.444 ], ... ],
    	[ [ 1.82 ], [ -1.748 ], [ 0.884 ], [ 0.24 ], [ -1.488 ], [ -0.472 ], [ 1.264 ], [ -0.32 ], ... ],
    	[ [ -0.988 ], [ 1.2 ], [ -0.652 ], [ -1.916 ], [ 1.18 ], [ 1.428 ], [ 0.076 ], [ 1.148 ], ... ],
    	[ [ 0.38 ], [ -0.664 ], [ 1.696 ], [ -0.54 ], [ -0.732 ], [ -0.684 ], [ -0.792 ], [ -0.996 ], ... ],
    	[ [ 1.936 ], [ -1.132 ], [ 1.156 ], [ 0.896 ], [ -0.424 ], [ -0.556 ], [ 1.38 ], [ -1.572 ], ... ],
    	...
    ]

Gradient Descent

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

TrainingTester.java:480 executed in 30.49 seconds (3.030 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: 7261561288247
Reset training subject: 7262103398878
Constructing line search parameters: GD
th(0)=5.3368153576539274;dx=-5.929794841837686E-6
New Minimum: 5.3368153576539274 > 5.336802582134621
WOLFE (weak): th(2.154434690031884)=5.336802582134621; dx=-5.929787744322725E-6 evalInputDelta=1.27755193064516E-5
New Minimum: 5.336802582134621 > 5.336789806989663
WOLFE (weak): th(4.308869380063768)=5.336789806989663; dx=-5.929780647007223E-6 evalInputDelta=2.5550664264351042E-5
New Minimum: 5.336789806989663 > 5.336738705777437
WOLFE (weak): th(12.926608140191302)=5.336738705777437; dx=-5.929752257308954E-6 evalInputDelta=7.665187649052996E-5
New Minimum: 5.336738705777437 > 5.336508753631853
WOLFE (weak): th(51.70643256076521)=5.336508753631853; dx=-5.9296245038233275E-6 evalInputDelta=3.0660402207427495E-4
New Minimum: 5.336508753631853 > 5.335282424996739
WOLFE (weak): th(258.53216280382605)=5.335282424996739; dx=-5.928943151419985E-6 evalInputDelta=0.001532932657188013
New Minimum: 5.335282424996739 > 5.327621064951659
WOLFE (weak): th(1551.1929768229563)=5.327621064951659; dx=-5.92468469955399E-6 evalInputDelta=0.00919429270226857
New Minimum: 5.327621064951659 > 5.272621771891916
WOLFE (weak): th(10858.350837760694)=5.272621771891916; dx=-5.894023845852095E-6 evalInputDelta=0.06419358576201173
New Minimum: 5.272621771891916 > 4.83414226408143
WOLFE (weak): th(86866.80670208555)=4.83414226408143; dx=-5.643626873863965E-6 evalInputDelta=0.502673093572497
New Minimum: 4.83414226408143 > 1.707663427839663
END: th(781801.26031877)=1.707663427839663; dx=-3.354283130234547E-6 evalInputDelta=3.6291519298142645
Fitness changed from 5.3368153576539274 to 1.707663427839663
Iteration 1 complete. Error: 1.707663427839663 Total: 11.2831; Orientation: 0.5664; Line Search: 9.3553
th(0)=1.707663427839663;dx=-1.8974038087107365E-6
New Minimum: 1.707663427839663 > 0.007050590249864409
END: th(1684339.7559414052)=0.007050590249864409; dx=-1.2191899311401026E-7 evalInputDelta=1.7006128375897986
Fitness changed from 1.707663427839663 to 0.007050590249864409
Iteration 2 complete. Error: 0.007050590249864409 Total: 2.2792; Orientation: 0.5068; Line Search: 1.4187
th(0)=0.007050590249864409;dx=-7.833989166516001E-9
Armijo: th(3628800.0)=0.007278014095079775; dx=7.95933299652054E-9 evalInputDelta=-2.2742384521536561E-4
New Minimum: 0.007050590249864409 > 4.5123775316002883E-7
WOLF (strong): th(1814400.0)=4.5123775316002883E-7; dx=6.267191127118955E-11 evalInputDelta=0.007050139012111249
END: th(604800.0)=0.003108577047409277; dx=-5.2017688137606896E-9 evalInputDelta=0.003942013202455132
Fitness changed from 0.007050590249864409 to 4.5123775316002883E-7
Iteration 3 complete. Error: 4.5123775316002883E-7 Total: 4.2261; Orientation: 0.5243; Line Search: 3.3440
Low gradient: 7.080785841196731E-7
th(0)=4.5123775316002883E-7;dx=-5.013752812889205E-13
New Minimum: 4.5123775316002883E-7 > 3.4400874459961864E-8
END: th(1303002.1005312833)=3.4400874459961864E-8; dx=-1.3843468023347124E-13 evalInputDelta=4.16836878700067E-7
Fitness changed from 4.5123775316002883E-7 to 3.4400874459961864E-8
Iteration 4 complete. Error: 3.4400874459961864E-8 Total: 2.3038; Orientation: 0.5143; Line Search: 1.4325
Low gradient: 1.9550752886884454E-7
th(0)=3.4400874459961864E-8;dx=-3.822319384440206E-14
New Minimum: 3.4400874459961864E-8 > 1.0771709750157874E-8
WOLF (strong): th(2807232.9265690087)=1.0771709750157874E-8; dx=2.138870116805343E-14 evalInputDelta=2.362916470980399E-8
New Minimum: 1.0771709750157874E-8 > 1.6682378610924262E-9
END: th(1403616.4632845044)=1.6682378610924262E-9; dx=-8.417251666693295E-15 evalInputDelta=3.2732636598869435E-8
Fitness changed from 3.4400874459961864E-8 to 1.6682378610924262E-9
Iteration 5 complete. Error: 1.6682378610924262E-9 Total: 3.8508; Orientation: 0.5729; Line Search: 2.8453
Low gradient: 4.3053427545737044E-8
th(0)=1.6682378610924262E-9;dx=-1.8535976234360292E-15
New Minimum: 1.6682378610924262E-9 > 7.714045878191185E-10
WOLF (strong): th(3024000.0)=7.714045878191185E-10; dx=1.2604500310271436E-15 evalInputDelta=8.968332732733077E-10
New Minimum: 7.714045878191185E-10 > 4.271299214842188E-11
END: th(1512000.0)=4.271299214842188E-11; dx=-2.9657267346377145E-16 evalInputDelta=1.6255248689440042E-9
Fitness changed from 1.6682378610924262E-9 to 4.271299214842188E-11
Iteration 6 complete. Error: 4.271299214842188E-11 Total: 3.0233; Orientation: 0.5160; Line Search: 2.1467
Low gradient: 6.889040583776031E-9
th(0)=4.271299214842188E-11;dx=-4.7458880164913465E-17
New Minimum: 4.271299214842188E-11 > 2.8018270763612768E-11
WOLF (strong): th(3257505.2513282085)=2.8018270763612768E-11; dx=3.843300219928413E-17 evalInputDelta=1.469472138480911E-11
New Minimum: 2.8018270763612768E-11 > 3.9285932074563E-13
END: th(1628752.6256641042)=3.9285932074563E-13; dx=-4.511049772503615E-18 evalInputDelta=4.232013282767625E-11
Fitness changed from 4.271299214842188E-11 to 3.9285932074563E-13
Iteration 7 complete. Error: 3.9285932074563E-13 Total: 3.5153; Orientation: 0.5150; Line Search: 2.6434
Final threshold in iteration 7: 3.9285932074563E-13 (> 0.0) after 30.483s (< 30.000s)

Returns

    3.9285932074563E-13

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 31.16 seconds (0.811 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: 7292137080416
Reset training subject: 7292491385844
Constructing line search parameters: GD
F(0.0) = LineSearchPoint{point=PointSample{avg=5.3368153576539274}, derivative=-5.929794841837686E-6}
F(1.0E-10) = LineSearchPoint{point=PointSample{avg=5.3368153576539274}, derivative=-5.929794841837686E-6}, evalInputDelta = 0.0
F(7.000000000000001E-10) = LineSearchPoint{point=PointSample{avg=5.3368153576539274}, derivative=-5.929794841837686E-6}, evalInputDelta = 0.0
F(4.900000000000001E-9) = LineSearchPoint{point=PointSample{avg=5.3368153576539274}, derivative=-5.929794841837686E-6}, evalInputDelta = 0.0
F(3.430000000000001E-8) = LineSearchPoint{point=PointSample{avg=5.3368153576539274}, derivative=-5.929794841837686E-6}, evalInputDelta = 0.0
F(2.4010000000000004E-7) = LineSearchPoint{point=PointSample{avg=5.3368153576539274}, derivative=-5.929794841837686E-6}, evalInputDelta = 0.0
F(1.6807000000000003E-6) = LineSearchPoint{point=PointSample{avg=5.3368153576539274}, derivative=-5.929794841837686E-6}, evalInputDelta = 0.0
F(1.1764900000000001E-5) = LineSearchPoint{point=PointSample{avg=5.3368153576539274}, derivative=-5.929794841837686E-6}, evalInputDelta = 0.0
New Minimum: 5.3368153576539274 > 5.336815357616302
F(8.235430000000001E-5) = LineSearchPoint{point=PointSample{avg=5.336815357616302}, derivative=-5.929794841816782E-6}, evalInputDelta = -3.7625014215336705E-11
New Minimum: 5.336815357616302 > 5.336815354422921
F(5.764801000000001E-4) = LineSearchPoint{point=PointSample{avg=5.336815354422921}, derivative=-5.9297948400426814E-6}, evalInputDelta = -3.2310065734009186E-9
New Minimum: 5.336815354422921 > 5.336815333434399
F(0.004035360700000001) = LineSearchPoint{point=PointSample{avg=5.336815333434399}, derivative=-5.929794828382391E-6}, evalInputDelta = -2.4219528604874085E-8
New Minimum: 5.336815333434399 > 5.336815189739108
F(0.028247524900000005) = LineSearchPoint{point=PointSample{avg=5.336815189739108}, derivative=-5.929794748551673E-6}, evalInputDelta = -1.679148198263647E-7
New Minimum: 5.336815189739108 > 5.336814185084139
F(0.19773267430000002) = LineSearchPoint{point=PointSample{avg=5.336814185084139}, derivative=-5.929794190409991E-6}, evalInputDelta = -1.1725697888209652E-6
New Minimum: 5.336814185084139 > 5.336807150218069
F(1.3841287201) = LineSearchPoint{point=PointSample{avg=5.336807150218069}, derivative=-5.929790282149358E-6}, evalInputDelta = -8.207435858054168E-6
New Minimum: 5.336807150218069 > 5.336757904500416
F(9.688901040700001) = LineSearchPoint{point=PointSample{avg=5.336757904500416}, derivative=-5.929762923333174E-6}, evalInputDelta = -5.745315351113334E-5
New Minimum: 5.336757904500416 > 5.336413192753994
F(67.8223072849) = LineSearchPoint{point=PointSample{avg=5.336413192753994}, derivative=-5.9295714126839825E-6}, evalInputDelta = -4.0216489993305515E-4
New Minimum: 5.336413192753994 > 5.334000522241043
F(474.7561509943) = LineSearchPoint{point=PointSample{avg=5.334000522241043}, derivative=-5.9282308381304275E-6}, evalInputDelta = -0.00281483541288452
New Minimum: 5.334000522241043 > 5.31712710335382
F(3323.2930569601003) = LineSearchPoint{point=PointSample{avg=5.31712710335382}, derivative=-5.918846816255012E-6}, evalInputDelta = -0.019688254300107566
New Minimum: 5.31712710335382 > 5.1997616309931605
F(23263.0513987207) = LineSearchPoint{point=PointSample{avg=5.1997616309931605}, derivative=-5.853158662755313E-6}, evalInputDelta = -0.13705372666076698
New Minimum: 5.1997616309931605 > 4.414877890776415
F(162841.3597910449) = LineSearchPoint{point=PointSample{avg=4.414877890776415}, derivative=-5.393341588793561E-6}, evalInputDelta = -0.9219374668775124
New Minimum: 4.414877890776415 > 0.717745411149615
F(1139889.5185373144) = LineSearchPoint{point=PointSample{avg=0.717745411149615}, derivative=-2.1746220710703393E-6}, evalInputDelta = -4.619069946504313
F(7979226.6297612) = LineSearchPoint{point=PointSample{avg=62.89344944788263}, derivative=2.035641455336032E-5}, evalInputDelta = 57.556634090228705
F(613786.6638277846) = LineSearchPoint{point=PointSample{avg=2.3177296247089036}, derivative=-3.907778734406719E-6}, evalInputDelta = -3.019085732945024
F(4296506.646794492) = LineSearchPoint{point=PointSample{avg=10.266032163741455}, derivative=8.224317909623181E-6}, evalInputDelta = 4.929216806087528
F(330500.511291884) = LineSearchPoint{point=PointSample{avg=3.556935957416021}, derivative=-4.841016937819818E-6}, evalInputDelta = -1.7798794002379066
New Minimum: 0.717745411149615 > 0.43433428948671066
F(2313503.579043188) = LineSearchPoint{point=PointSample{avg=0.43433428948671066}, derivative=1.6916504857786027E-6}, evalInputDelta = -4.902481068167217
0.43433428948671066 <= 5.3368153576539274
New Minimum: 0.43433428948671066 > 5.225035154945444E-15
F(1799999.999983468) = LineSearchPoint{point=PointSample{avg=5.225035154945444E-15}, derivative=-1.3245137836816067E-16}, evalInputDelta = -5.336815357653922
Left bracket at 1799999.999983468
Converged to left
Fitness changed from 5.3368153576539274 to 5.225035154945444E-15
Iteration 1 complete. Error: 5.225035154945444E-15 Total: 22.8936; Orientation: 0.5239; Line Search: 21.3197
Zero gradient: 7.619445266294686E-11
F(0.0) = LineSearchPoint{point=PointSample{avg=5.225035154945444E-15}, derivative=-5.80559461660615E-21}
New Minimum: 5.225035154945444E-15 > 3.5487322457726648E-15
F(1799999.999983468) = LineSearchPoint{point=PointSample{avg=3.5487322457726648E-15}, derivative=3.2498073815260964E-21}, evalInputDelta = -1.6763029091727795E-15
3.5487322457726648E-15 <= 5.225035154945444E-15
New Minimum: 3.5487322457726648E-15 > 2.6764214961289987E-15
F(1154015.0632683684) = LineSearchPoint{point=PointSample{avg=2.6764214961289987E-15}, derivative=1.2731704515204706E-21}, evalInputDelta = -2.5486136588164455E-15
Right bracket at 1154015.0632683684
New Minimum: 2.6764214961289987E-15 > 2.4993364301517985E-15
F(946456.5604755006) = LineSearchPoint{point=PointSample{avg=2.4993364301517985E-15}, derivative=4.489147233764992E-22}, evalInputDelta = -2.7256987247936458E-15
Right bracket at 946456.5604755006
New Minimum: 2.4993364301517985E-15 > 2.4666071162764694E-15
F(878525.0470764159) = LineSearchPoint{point=PointSample{avg=2.4666071162764694E-15}, derivative=1.5828336415007725E-22}, evalInputDelta = -2.758428038668975E-15
Right bracket at 878525.0470764159
New Minimum: 2.4666071162764694E-15 > 2.4591145158550568E-15
F(855208.691445054) = LineSearchPoint{point=PointSample{avg=2.4591145158550568E-15}, derivative=3.8130489896178356E-23}, evalInputDelta = -2.7659206390903874E-15
Right bracket at 855208.691445054
Converged to right
Fitness changed from 5.225035154945444E-15 to 2.4591145158550568E-15
Iteration 2 complete. Error: 2.4591145158550568E-15 Total: 8.2630; Orientation: 0.5935; Line Search: 7.2949
Final threshold in iteration 2: 2.4591145158550568E-15 (> 0.0) after 31.157s (< 30.000s)

Returns

    2.4591145158550568E-15

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 196.87 seconds (3.182 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: 7323386963295
Reset training subject: 7323737347073
Adding measurement 460d70c4 to history. Total: 0
LBFGS Accumulation History: 1 points
Constructing line search parameters: GD
Non-optimal measurement 5.3368153576539274 < 5.3368153576539274. Total: 1
th(0)=5.3368153576539274;dx=-5.929794841837686E-6
Adding measurement 2219d1cc to history. Total: 1
New Minimum: 5.3368153576539274 > 5.336802582134621
WOLFE (weak): th(2.154434690031884)=5.336802582134621; dx=-5.929787744322725E-6 evalInputDelta=1.27755193064516E-5
Adding measurement 7a36efb2 to history. Total: 2
New Minimum: 5.336802582134621 > 5.336789806989663
WOLFE (weak): th(4.308869380063768)=5.336789806989663; dx=-5.929780647007223E-6 evalInputDelta=2.5550664264351042E-5
Adding measurement c726ce4 to history. Total: 3
New Minimum: 5.336789806989663 > 5.336738705777437
WOLFE (weak): th(12.926608140191302)=5.336738705777437; dx=-5.929752257308954E-6 evalInputDelta=7.665187649052996E-5
Adding measurement 3978513c to history. Total: 4
New Minimum: 5.336738705777437 > 5.336508753631853
WOLFE (weak): th(51.70643256076521)=5.336508753631853; dx=-5.9296245038233275E-6 evalInputDelta=3.0660402207427495E-4
Adding measurement 138992f2 to history. Total: 5
New Minimum: 5.336508753631853 > 5.335282424996739
WOLFE (weak): th(258.53216280382605)=5.335282424996739; dx=-5.928943151419985E-6 evalInputDelta=0.001532932657188013
Adding measurement 2bc4e0ca to history. Total: 6
New Minimum: 5.335282424996739 > 5.327621064951659
WOLFE (weak): th(1551.1929768229563)=5.327621064951659; dx=-5.92468469955399E-6 evalInputDelta=0.00919429270226857
Adding measurement 41065af1 to history. Total: 7
New Minimum: 5.327621064951659 > 5.272621771891916
WOLFE (weak): th(10858.350837760694)=5.272621771891916; dx=-5.894023845852095E-6 evalInputDelta=0.06419358576201173
Adding measurement 6bd7ccb6 to history. Total: 8
New Minimum: 5.272621771891916 > 4.83414226408143
WOLFE (weak): th(86866.80670208555)=4.83414226408143; dx=-5.643626873863965E-6 evalInputDelta=0.502673093572497
Adding measurement 6acb086c to history. Total: 9
New Minimum: 4.83414226408143 > 1.707663427839663
END: th(781801.26031877)=1.707663427839663; dx=-3.354283130234547E-6 evalInputDelta=3.6291519298142645
Fitness changed from 5.3368153576539274 to 1.707663427839663
Iteration 1 complete. Error: 1.707663427839663 Total: 12.9985; Orientation: 0.5838; Line Search: 11.3737
Non-optimal measurement 1.707663427839663 < 1.707663427839663. Total: 10
Rejected: LBFGS Orientation magnitude: 2.483e+03, gradient 1.377e-03, dot -1.000; [253387b8-16ff-4819-8fba-073fb20d98ae = 1.000/1.000e+00, 55d0c98d-0fe4-47b9-8637-ff5fcea82450 = 1.000/1.000e+00, ef4429a3-9be2-4ea8-932a-e6260d035d7a = 1.000/1.000e+00, 7de8c8bc-d109-46e1-b8fe-5a047206b316 = 1.000/1.000e+00, 20337bc7-6edf-4d7b-8064-3fe728945f6e = 1.000/1.000e+00, 2f7b7c4c-d4a0-4d6b-a889-4f238829fe9a = 1.000/1.000e+00, 95010937-48ac-4a72-9b44-7a9f1d627563 = 1.000/1.000e+00, bf971cde-fb9b-4dc7-8943-d3c8289a6142 = 1.000/1.000e+00, 8e1c3b82-0b97-4d50-9acf-0ec46995221a = 1.000/1.000e+00, a2aca15e-e8e8-4c0b-97ee-2063670b2a1b = 1.000/1.000e+00]
Orientation rejected. Popping history element from 1.707663427839663, 4.83414226408143, 5.272621771891916, 5.327621064951659, 5.335282424996739, 5.336508753631853, 5.336738705777437, 5.336789806989663, 5.336802582134621, 5.3368153576539274
Rejected: LBFGS Orientation magnitude: 2.483e+03, gradient 1.377e-03, dot -1.000; [95010937-48ac-4a72-9b44-7a9f1d627563 = 1.000/1.000e+00, 8e1c3b82-0b97-4d50-9acf-0ec46995221a = 1.000/1.000e+00, 20337bc7-6edf-4d7b-8064-3fe728945f6e = 1.000/1.000e+00, 253387b8-16ff-4819-8fba-073fb20d98ae = 1.000/1.000e+00, bf971cde-fb9b-4dc7-8943-d3c8289a6142 = 1.000/1.000e+00, 2f7b7c4c-d4a0-4d6b-a889-4f238829fe9a = 1.000/1.000e+00, 7de8c8bc-d109-46e1-b8fe-5a047206b316 = 1.000/1.000e+00, 55d0c98d-0fe4-47b9-8637-ff5fcea82450 = 1.000/1.000e+00, ef4429a3-9be2-4ea8-932a-e6260d035d7a = 1.000/1.000e+00, a2aca15e-e8e8-4c0b-97ee-2063670b2a1b = 1.000/1.000e+00]
Orientation rejected. Popping history element from 1.707663427839663, 4.83414226408143, 5.272621771891916, 5.327621064951659, 5.335282424996739, 5.336508753631853, 5.336738705777437, 5.336789806989663, 5.336802582134621
Rejected: LBFGS Orientation magnitude: 2.480e+03, gradient 1.377e-03, dot -1.000; [a2aca15e-e8e8-4c0b-97ee-2063670b2a1b = 1.000/1.000e+00, 2f7b7c4c-d4a0-4d6b-a889-4f238829fe9a = 1.000/1.000e+00, 7de8c8bc-d109-46e1-b8fe-5a047206b316 = 1.000/1.000e+00, ef4429a3-9be2-4ea8-932a-e6260d035d7a = 1.000/1.000e+00, bf971cde-fb9b-4dc7-8943-d3c8289a6142 = 1.000/1.000e+00, 55d0c98d-0fe4-47b9-8637-ff5fcea82450 = 1.000/1.000e+00, 20337bc7-6edf-4d7b-8064-3fe728945f6e = 1.000/1.000e+00, 95010937-48ac-4a72-9b44-7a9f1d627563 = 1.000/1.000e+00, 253387b8-16ff-4819-8fba-073fb20d98ae = 1.000/1.000e+00, 8e1c3b82-0b97-4d50-9acf-0ec46995221a = 1.000/1.000e+00]
Orientation rejected. Popping history element from 1.707663427839663, 4.83414226408143, 5.272621771891916, 5.327621064951659, 5.335282424996739, 5.336508753631853, 5.336738705777437, 5.336789806989663
Rejected: LBFGS Orientation magnitude: 2.479e+03, gradient 1.377e-03, dot -1.000; [95010937-48ac-4a72-9b44-7a9f1d627563 = 1.000/1.000e+00, 2f7b7c4c-d4a0-4d6b-a889-4f238829fe9a = 1.000/1.000e+00, 20337bc7-6edf-4d7b-8064-3fe728945f6e = 1.000/1.000e+00, a2aca15e-e8e8-4c0b-97ee-2063670b2a1b = 1.000/1.000e+00, 8e1c3b82-0b97-4d50-9acf-0ec46995221a = 1.000/1.000e+00, ef4429a3-9be2-4ea8-932a-e6260d035d7a = 1.000/1.000e+00, 253387b8-16ff-4819-8fba-073fb20d98ae = 1.000/1.000e+00, 55d0c98d-0fe4-47b9-8637-ff5fcea82450 = 1.000/1.000e+00, 7de8c8bc-d109-46e1-b8fe-5a047206b316 = 1.000/1.000e+00, bf971cde-fb9b-4dc7-8943-d3c8289a6142 = 1.000/1.000e+00]
Orientation rejected. Popping history element from 1.707663427839663, 4.83414226408143, 5.272621771891916, 5.327621064951659, 5.335282424996739, 5.336508753631853, 5.336738705777437
Rejected: LBFGS Orientation magnitude: 2.479e+03, gradient 1.377e-03, dot -1.000; [bf971cde-fb9b-4dc7-8943-d3c8289a6142 = 1.000/1.000e+00, 20337bc7-6edf-4d7b-8064-3fe728945f6e = 1.000/1.000e+00, 2f7b7c4c-d4a0-4d6b-a889-4f238829fe9a = 1.000/1.000e+00, 95010937-48ac-4a72-9b44-7a9f1d627563 = 1.000/1.000e+00, 8e1c3b82-0b97-4d50-9acf-0ec46995221a = 1.000/1.000e+00, a2aca15e-e8e8-4c0b-97ee-2063670b2a1b = 1.000/1.000e+00, 7de8c8bc-d109-46e1-b8fe-5a047206b316 = 1.000/1.000e+00, ef4429a3-9be2-4ea8-932a-e6260d035d7a = 1.000/1.000e+00, 55d0c98d-0fe4-47b9-8637-ff5fcea82450 = 1.000/1.000e+00, 253387b8-16ff-4819-8fba-073fb20d98ae = 1.000/1.000e+00]
Orientation rejected. Popping history element from 1.707663427839663, 4.83414226408143, 5.272621771891916, 5.327621064951659, 5.335282424996739, 5.336508753631853
Rejected: LBFGS Orientation magnitude: 2.479e+03, gradient 1.377e-03, dot -1.000; [2f7b7c4c-d4a0-4d6b-a889-4f238829fe9a = 1.000/1.000e+00, bf971cde-fb9b-4dc7-8943-d3c8289a6142 = 1.000/1.000e+00, 55d0c98d-0fe4-47b9-8637-ff5fcea82450 = 1.000/1.000e+00, 95010937-48ac-4a72-9b44-7a9f1d627563 = 1.000/1.000e+00, 7de8c8bc-d109-46e1-b8fe-5a047206b316 = 1.000/1.000e+00, ef4429a3-9be2-4ea8-932a-e6260d035d7a = 1.000/1.000e+00, a2aca15e-e8e8-4c0b-97ee-2063670b2a1b = 1.000/1.000e+00, 20337bc7-6edf-4d7b-8064-3fe728945f6e = 1.000/1.000e+00, 8e1c3b82-0b97-4d50-9acf-0ec46995221a = 1.000/1.000e+00, 253387b8-16ff-4819-8fba-073fb20d98ae = 1.000/1.000e+00]
Orientation rejected. Popping history element from 1.707663427839663, 4.83414226408143, 5.272621771891916, 5.327621064951659, 5.335282424996739
Rejected: LBFGS Orientation magnitude: 2.479e+03, gradient 1.377e-03, dot -1.000; [55d0c98d-0fe4-47b9-8637-ff5fcea82450 = 1.000/1.000e+00, 8e1c3b82-0b97-4d50-9acf-0ec46995221a = 1.000/1.000e+00, 20337bc7-6edf-4d7b-8064-3fe728945f6e = 1.000/1.000e+00, 95010937-48ac-4a72-9b44-7a9f1d627563 = 1.000/1.000e+00, 7de8c8bc-d109-46e1-b8fe-5a047206b316 = 1.000/1.000e+00, 2f7b7c4c-d4a0-4d6b-a889-4f238829fe9a = 1.000/1.000e+00, ef4429a3-9be2-4ea8-932a-e6260d035d7a = 1.000/1.000e+00, bf971cde-fb9b-4dc7-8943-d3c8289a6142 = 1.000/1.000e+00, 253387b8-16ff-4819-8fba-073fb20d98ae = 1.000/1.000e+00, a2aca15e-e8e8-4c0b-97ee-2063670b2a1b = 1.000/1.000e+00]
Orientation rejected. Popping history element from 1.707663427839663, 4.83414226408143, 5.272621771891916, 5.327621064951659
LBFGS Accumulation History: 3 points
Removed measurement 6acb086c to history. Total: 9
Removed measurement 6bd7ccb6 to history. Total: 8
Removed measurement 41065af1 to history. Total: 7
Removed measurement 2bc4e0ca to history. Total: 6
Removed measurement 138992f2 to history. Total: 5
Removed measurement 3978513c to history. Total: 4
Removed measurement c726ce4 to history. Total: 3
Adding measurement 7daa1c78 to history. Total: 3
th(0)=1.707663427839663;dx=-1.8974038087107365E-6
Adding measurement 34ac44da to history. Total: 4
New Minimum: 1.707663427839663 > 0.007050590249864409
END: th(1684339.7559414052)=0.007050590249864409; dx=-1.2191899311401026E-7 evalInputDelta=1.7006128375897986
Fitness changed from 1.707663427839663 to 0.007050590249864409
Iteration 2 complete. Error: 0.007050590249864409 Total: 183.8658; Orientation: 181.4334; Line Search: 2.0938
Final threshold in iteration 2: 0.007050590249864409 (> 0.0) after 196.865s (< 30.000s)

Returns

    0.007050590249864409

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.15135115156114365 ], [ 0.7719542787803777 ], [ -1.7749330677588433 ], [ 0.43961553209836746 ], [ -0.5080192097760248 ], [ -1.6874593587044537 ], [ 0.91184378577457 ], [ -0.5829450475847072 ], ... ],
    	[ [ -0.7450573229393647 ], [ -1.01943287514821 ], [ -0.1790423674719887 ], [ -0.6507095360709899 ], [ 0.26873771731450924 ], [ -1.0581400008631254 ], [ -0.9220210727883938 ], [ -0.5749750778969185 ], ... ],
    	[ [ 0.16261335458262927 ], [ 0.6683051696138314 ], [ 0.29781196116885983 ], [ -0.09017960476173026 ], [ -0.6136136997096358 ], [ -1.3143213849751638 ], [ -0.038288971194717504 ], [ 1.3696329645231118 ], ... ],
    	[ [ 1.8318545734258338 ], [ 1.011373938979031 ], [ 2.098888507827926 ], [ 1.95400787390009 ], [ 1.525062169421291 ], [ 2.374705865820959 ], [ -0.2374719277050535 ], [ 1.7570910055598745 ], ... ],
    	[ [ -1.009206361989827 ], [ 0.9648903773123763 ], [ 1.5309558252903497 ], [ -0.09537277021873092 ], [ 1.5308765887495803 ], [ 1.834418716807094 ], [ 1.0109678469472438 ], [ -0.16026914335708942 ], ... ],
    	[ [ -1.1081490111631085 ], [ 0.5092928837557075 ], [ -1.9203904837869232 ], [ -0.1462997757881996 ], [ 0.3418227538176928 ], [ -0.3297302395808212 ], [ 0.5320901267705812 ], [ -2.133859947360223 ], ... ],
    	[ [ 1.2248903170646157 ], [ 0.24037610155157857 ], [ 0.5666398640271988 ], [ -1.2753475888624717 ], [ 1.0514413082181062 ], [ -0.427538621633306 ], [ 0.36772120239299844 ], [ 1.428030014369507 ], ... ],
    	[ [ 0.6759470886622192 ], [ 0.6652292420158822 ], [ 0.5750567930128757 ], [ -1.3002787976070016 ], [ 0.9374646449787272 ], [ -1.7167041014138416 ], [ -1.6430891863775636 ], [ -0.865189530565919 ], ... ],
    	...
    ]

To produce the following output:

TrainingTester.java:633 executed in 0.08 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

    [
    	[ [ -0.7972977161407471 ], [ 2.7719085216522217 ], [ -1.2938661575317383 ], [ -0.4527689516544342 ], [ -0.1360384225845337 ], [ -2.13891863822937 ], [ -0.35231244564056396 ], [ -0.19789010286331177 ], ... ],
    	[ [ -2.8861145973205566 ], [ 0.057134270668029785 ], [ 1.3259153366088867 ], [ -0.625419020652771 ], [ 1.649475336074829 ], [ -2.0042800903320312 ], [ -0.6640421748161316 ], [ 1.2300498485565186 ], ... ],
    	[ [ -1.7867732048034668 ], [ -0.09138965606689453 ], [ -0.8723760843276978 ], [ -0.576359212398529 ], [ 0.024772584438323975 ], [ -2.312642812728882 ], [ 0.5754220485687256 ], [ 0.16326594352722168 ], ... ],
    	[ [ -0.13229084014892578 ], [ 2.338747978210449 ], [ 2.985776901245117 ], [ 2.920015811920166 ], [ 0.14612436294555664 ], [ 1.4174116849899292 ], [ 0.17305614054203033 ], [ 1.9501820802688599 ], ... ],
    	[ [ -1.7104127407073975 ], [ 2.413780689239502 ], [ 2.7859115600585938 ], [ -0.15474554896354675 ], [ 2.7737531661987305 ], [ 1.2768374681472778 ], [ 0.7659357190132141 ], [ 0.6554617285728455 ], ... ],
    	[ [ -0.6322980523109436 ], [ -0.13741421699523926 ], [ -1.8127809762954712 ], [ -0.05259955674409866 ], [ -0.7723544836044312 ], [ 0.5245394706726074 ], [ 0.7041802406311035 ], [ -2.471719741821289 ], ... ],
    	[ [ 1.0177806615829468 ], [ -0.7912477254867554 ], [ -0.9667202830314636 ], [ -2.126695156097412 ], [ -1.0211173295974731 ], [ -0.12707725167274475 ], [ -1.81655752658844 ], [ 0.24805998802185059 ], ... ],
    	[ [ 0.043894171714782715 ], [ 0.5864585041999817 ], [ 0.606113612651825 ], [ -2.1285576820373535 ], [ 0.1549292802810669 ], [ -1.3534082174301147 ], [ -2.314178466796875 ], [ -0.9503790736198425 ], ... ],
    	...
    ]

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

    return TestUtil.compare(title + " vs Iteration", runs);
Logging
Plotting range=[1.0, -14.609221246598441], [7.0, 0.23240227745609535]; valueStats=DoubleSummaryStatistics{count=11, sum=3.429429, min=0.000000, average=0.311766, max=1.707663}
Plotting 7 points for GD
Plotting 2 points for CjGD
Plotting 2 points for LBFGS

Returns

Result

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

    return TestUtil.compareTime(title + " vs Time", runs);
Logging
Plotting range=[0.0, -14.609221246598441], [183.866, 0.23240227745609535]; valueStats=DoubleSummaryStatistics{count=11, sum=3.429429, min=0.000000, average=0.311766, max=1.707663}
Plotting 7 points for GD
Plotting 2 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": "NonConverged", "value": 0.007050590249864409 }, "CjGD": { "type": "Converged", "value": 2.4591145158550568E-15 }, "GD": { "type": "Converged", "value": 3.9285932074563E-13 } }, "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": 0.007050590249864409 }, "CjGD": { "type": "Converged", "value": 2.4591145158550568E-15 }, "GD": { "type": "Converged", "value": 3.9285932074563E-13 } }, "model":null, "complete":null}OK
  {
    "result": "OK",
    "performance": {
      "execution_time": "261.477",
      "gc_time": "7.315"
    },
    "created_on": 1586741891431,
    "file_name": "trainingTest",
    "report": {
      "simpleName": "Float_Add",
      "canonicalName": "com.simiacryptus.mindseye.layers.cudnn.SumInputsLayerTest.Float_Add",
      "link": "https://github.com/SimiaCryptus/mindseye-cudnn/tree/59d5b3318556370acb2d83ee6ec123ce0fc6974f/src/test/java/com/simiacryptus/mindseye/layers/cudnn/SumInputsLayerTest.java",
      "javaDoc": ""
    },
    "training_analysis": {
      "input": {
        "LBFGS": {
          "type": "NonConverged",
          "value": 0.007050590249864409
        },
        "CjGD": {
          "type": "Converged",
          "value": 2.4591145158550568E-15
        },
        "GD": {
          "type": "Converged",
          "value": 3.9285932074563E-13
        }
      }
    },
    "archive": "s3://code.simiacrypt.us/tests/com/simiacryptus/mindseye/layers/cudnn/SumInputsLayer/Float_Add/trainingTest/202004133811",
    "id": "1154ffa9-5000-446e-aa40-7c18b3c83a76",
    "report_type": "Components",
    "display_name": "Comparative Training",
    "target": {
      "simpleName": "SumInputsLayer",
      "canonicalName": "com.simiacryptus.mindseye.layers.cudnn.SumInputsLayer",
      "link": "https://github.com/SimiaCryptus/mindseye-cudnn/tree/59d5b3318556370acb2d83ee6ec123ce0fc6974f/src/main/java/com/simiacryptus/mindseye/layers/cudnn/SumInputsLayer.java",
      "javaDoc": ""
    }
  }