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

Target Description: The type Bias meta layer.

Report Description: The type Basic.

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

Test Modules

Using Seed 339295736332483584

Training Characteristics

Input Learning

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

TrainingTester.java:445 executed in 0.00 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.08, -0.128, 0.7 ]
    [ 1.764, -0.608, 0.496 ]
    [ -0.128, 0.08, 0.7 ]
    [ 1.764, -0.608, 0.496 ]
    [ -0.128, 0.08, 0.7 ]
    [ 1.764, -0.608, 0.496 ]
    [ 0.7, -0.128, 0.08 ]
    [ -0.608, 0.496, 1.764 ]
    [ 0.08, -0.128, 0.7 ]
    [ 1.764, -0.608, 0.496 ]

Gradient Descent

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

TrainingTester.java:638 executed in 0.30 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: 2406388311244
BACKPROP_AGG_SIZE = 3
THREADS = 64
SINGLE_THREADED = false
Initialized CoreSettings = {
"backpropAggregationSize" : 3,
"jvmThreads" : 64,
"singleThreaded" : false
}
Reset training subject: 2406426391166
Constructing line search parameters: GD
th(0)=0.26390822058814;dx=-6.782304071851852
New Minimum: 0.26390822058814 > 0.0
WOLFE (weak): th(2.154434690031884)=0.0; dx=-6.134537404444444 evalInputDelta=0.26390822058814
WOLFE (weak): th(4.308869380063768)=0.0; dx=-6.134537404444445 evalInputDelta=0.26390822058814
WOLFE (weak): th(12.926608140191302)=0.0; dx=-6.134537404444445 evalInputDelta=0.26390822058814
WOLFE (weak): th(51.70643256076521)=0.0; dx=-6.134537404444445 evalInputDelta=0.26390822058814
WOLFE (weak): th(258.53216280382605)=0.0; dx=-6.134537404444444 evalInputDelta=0.26390822058814
WOLFE (weak): th(1551.1929768229563)=0.0; dx=-6.134537404444444 evalInputDelta=0.26390822058814
WOLFE (weak): th(10858.350837760694)=0.0; dx=-6.134537404444445 evalInputDelta=0.26390822058814
Armijo: th(86866.80670208555)=0.0; dx=-6.134537404444444 evalInputDelta=0.26390822058814
Armijo: th(48862.57876992312)=0.0; dx=-6.134537404444444 evalInputDelta=0.26390822058814
WOLFE (weak): th(29860.464803841907)=0.0; dx=-6.134537404444444 evalInputDelta=0.26390822058814
Armijo: th(39361.52178688251)=0.0; dx=-6.134537404444444 evalInputDelta=0.26390822058814
WOLFE (weak): th(34610.99329536221)=0.0; dx=-6.134537404444445 evalInputDelta=0.26390822058814
WOLFE (weak): th(36986.257541122366)=0.0; dx=-6.134537404444444 evalInputDelta=0.26390822058814
WOLFE (weak): th(38173.88966400244)=0.0; dx=-6.134537404444444 evalInputDelta=0.26390822058814
WOLFE (weak): th(38767.70572544247)=0.0; dx=-6.134537404444445 evalInputDelta=0.26390822058814
Armijo: th(39064.61375616249)=0.0; dx=-6.134537404444444 evalInputDelta=0.26390822058814
mu ~= nu (38767.70572544247): th(2.154434690031884)=0.0
Fitness changed from 0.26390822058814 to 0.0
Iteration 1 complete. Error: 0.0 Total: 0.1976; Orientation: 0.0045; Line Search: 0.1390
th(0)=0.0;dx=-5.67279104
Armijo: th(83842.32454840708)=0.0; dx=-5.67279104 evalInputDelta=0.0
Armijo: th(41921.16227420354)=0.0; dx=-5.67279104 evalInputDelta=0.0
Armijo: th(13973.720758067846)=0.0; dx=-5.67279104 evalInputDelta=0.0
Armijo: th(3493.4301895169615)=0.0; dx=-5.67279104 evalInputDelta=0.0
Armijo: th(698.6860379033923)=0.0; dx=-5.67279104 evalInputDelta=0.0
Armijo: th(116.44767298389871)=0.0; dx=-5.672791039999999 evalInputDelta=0.0
Armijo: th(16.635381854842674)=0.0; dx=-5.672791039999999 evalInputDelta=0.0
Armijo: th(2.079422731855334)=0.0; dx=-5.67279104 evalInputDelta=0.0
Armijo: th(0.23104697020614826)=0.0; dx=-5.67279104 evalInputDelta=0.0
Armijo: th(0.023104697020614826)=0.0; dx=-5.67279104 evalInputDelta=0.0
Armijo: th(0.0021004270018740753)=0.0; dx=-5.67279104 evalInputDelta=0.0
Armijo: th(1.7503558348950628E-4)=0.0; dx=-5.67279104 evalInputDelta=0.0
Armijo: th(1.3464275653038945E-5)=0.0; dx=-5.67279104 evalInputDelta=0.0
Armijo: th(9.617339752170676E-7)=0.0; dx=-5.672791039999999 evalInputDelta=0.0
Armijo: th(6.41155983478045E-8)=0.0; dx=-5.67279104 evalInputDelta=0.0
Armijo: th(4.007224896737781E-9)=0.0; dx=-5.67279104 evalInputDelta=0.0
Armijo: th(2.357191115728107E-10)=0.0; dx=-5.67279104 evalInputDelta=0.0
Armijo: th(1.3095506198489482E-11)=0.0; dx=-5.672791039999999 evalInputDelta=0.0
Armijo: th(6.892371683415517E-13)=0.0; dx=-5.67279104 evalInputDelta=0.0
Armijo: th(3.446185841707758E-14)=0.0; dx=-5.67279104 evalInputDelta=0.0
Armijo: th(1.6410408770036945E-15)=0.0; dx=-5.67279104 evalInputDelta=0.0
MIN ALPHA (7.459276713653156E-17): th(0.0)=0.0
Fitness changed from 0.0 to 0.0
Static Iteration Total: 0.0925; Orientation: 0.0012; Line Search: 0.0870
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.291s (< 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:603 executed in 0.17 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: 2406684885108
Reset training subject: 2406687122419
Constructing line search parameters: GD
F(0.0) = LineSearchPoint{point=PointSample{avg=0.26390822058814}, derivative=-6.782304071851852}
New Minimum: 0.26390822058814 > 0.26390822043536477
F(1.0E-10) = LineSearchPoint{point=PointSample{avg=0.26390822043536477}, derivative=-6.782304071363971}, evalInputDelta = -1.5277523690571115E-10
New Minimum: 0.26390822043536477 > 0.26390821951871385
F(7.000000000000001E-10) = LineSearchPoint{point=PointSample{avg=0.26390821951871385}, derivative=-6.782304068436683}, evalInputDelta = -1.069426158739617E-9
New Minimum: 0.26390821951871385 > 0.26390821310215734
F(4.900000000000001E-9) = LineSearchPoint{point=PointSample{avg=0.26390821310215734}, derivative=-6.7823040479456616}, evalInputDelta = -7.485982667088109E-9
New Minimum: 0.26390821310215734 > 0.2639081681862639
F(3.430000000000001E-8) = LineSearchPoint{point=PointSample{avg=0.2639081681862639}, derivative=-6.782303904508532}, evalInputDelta = -5.240187611610381E-8
New Minimum: 0.2639081681862639 > 0.26390785377512765
F(2.4010000000000004E-7) = LineSearchPoint{point=PointSample{avg=0.26390785377512765}, derivative=-6.782302900449381}, evalInputDelta = -3.668130123535285E-7
New Minimum: 0.26390785377512765 > 0.2639056529029601
F(1.6807000000000003E-6) = LineSearchPoint{point=PointSample{avg=0.2639056529029601}, derivative=-6.782295872072278}, evalInputDelta = -2.567685179921675E-6
New Minimum: 0.2639056529029601 > 0.26389024708128306
F(1.1764900000000001E-5) = LineSearchPoint{point=PointSample{avg=0.26389024708128306}, derivative=-6.782246675243198}, evalInputDelta = -1.797350685694976E-5
New Minimum: 0.26389024708128306 > 0.26378242021840587
F(8.235430000000001E-5) = LineSearchPoint{point=PointSample{avg=0.26378242021840587}, derivative=-6.781902386137665}, evalInputDelta = -1.2580036973414144E-4
New Minimum: 0.26378242021840587 > 0.26302831190087284
F(5.764801000000001E-4) = LineSearchPoint{point=PointSample{avg=0.26302831190087284}, derivative=-6.779496700638986}, evalInputDelta = -8.799086872671724E-4
New Minimum: 0.26302831190087284 > 0.25778257755834766
F(0.004035360700000001) = LineSearchPoint{point=PointSample{avg=0.25778257755834766}, derivative=-6.762866779260481}, evalInputDelta = -0.006125643029792349
New Minimum: 0.25778257755834766 > 0.2225898096100769
F(0.028247524900000005) = LineSearchPoint{point=PointSample{avg=0.2225898096100769}, derivative=-6.655892858596064}, evalInputDelta = -0.0413184109780631
New Minimum: 0.2225898096100769 > 0.029745716095371244
F(0.19773267430000002) = LineSearchPoint{point=PointSample{avg=0.029745716095371244}, derivative=-6.190989505404692}, evalInputDelta = -0.23416250449276876
New Minimum: 0.029745716095371244 > 0.0
F(1.3841287201) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-6.134537404444445}, evalInputDelta = -0.26390822058814
F(9.688901040700001) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-6.134537404444444}, evalInputDelta = -0.26390822058814
F(67.8223072849) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-6.134537404444444}, evalInputDelta = -0.26390822058814
F(474.7561509943) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-6.134537404444445}, evalInputDelta = -0.26390822058814
F(3323.2930569601003) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-6.134537404444444}, evalInputDelta = -0.26390822058814
F(23263.0513987207) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-6.134537404444445}, evalInputDelta = -0.26390822058814
F(162841.3597910449) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-6.134537404444445}, evalInputDelta = -0.26390822058814
F(1139889.5185373144) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-6.134537404444444}, evalInputDelta = -0.26390822058814
F(7979226.6297612) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-6.134537404444444}, evalInputDelta = -0.26390822058814
F(5.58545864083284E7) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-6.134537404444445}, evalInputDelta = -0.26390822058814
F(3.909821048582988E8) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-6.134537404444445}, evalInputDelta = -0.26390822058814
F(2.7368747340080914E9) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-6.134537404444444}, evalInputDelta = -0.26390822058814
F(1.915812313805664E10) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-6.134537404444444}, evalInputDelta = -0.26390822058814
0.0 <= 0.26390822058814
F(1.0E10) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-6.134537404444444}, evalInputDelta = -0.26390822058814
Right bracket at 1.0E10
Converged to right
Fitness changed from 0.26390822058814 to 0.0
Iteration 1 complete. Error: 0.0 Total: 0.0961; Orientation: 0.0010; Line Search: 0.0887
F(0.0) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-5.67279104}
F(1.0E10) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-5.67279104}, evalInputDelta = 0.0
0.0 <= 0.0
F(5.0E9) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-5.67279104}, evalInputDelta = 0.0
Right bracket at 5.0E9
F(2.5E9) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-5.67279104}, evalInputDelta = 0.0
Right bracket at 2.5E9
F(1.25E9) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-5.67279104}, evalInputDelta = 0.0
Right bracket at 1.25E9
F(6.25E8) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-5.672791039999999}, evalInputDelta = 0.0
Right bracket at 6.25E8
F(1.0E10) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-5.67279104}, evalInputDelta = 0.0
Right bracket at 1.0E10
F(5.0E9) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-5.67279104}, evalInputDelta = 0.0
Right bracket at 5.0E9
F(2.5E9) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-5.67279104}, evalInputDelta = 0.0
Right bracket at 2.5E9
F(1.25E9) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-5.672791039999999}, evalInputDelta = 0.0
Right bracket at 1.25E9
F(1.0E10) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-5.67279104}, evalInputDelta = 0.0
Right bracket at 1.0E10
F(5.0E9) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-5.67279104}, evalInputDelta = 0.0
Right bracket at 5.0E9
F(2.5E9) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-5.67279104}, evalInputDelta = 0.0
Right bracket at 2.5E9
F(1.25E9) = LineSearchPoint{point=PointSample{avg=0.0}, derivative=-5.672791039999999}, evalInputDelta = 0.0
Loops = 12
Fitness changed from 0.0 to 0.0
Static Iteration Total: 0.0739; Orientation: 0.0009; Line Search: 0.0709
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.170s (< 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:674 executed in 0.11 seconds (0.000 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: 2406859848460
Reset training subject: 2406861514755
Adding measurement 16b31939 to history. Total: 0
LBFGS Accumulation History: 1 points
Constructing line search parameters: GD
Non-optimal measurement 0.26390822058814 < 0.26390822058814. Total: 1
th(0)=0.26390822058814;dx=-6.782304071851852
Adding measurement 7db875a9 to history. Total: 1
New Minimum: 0.26390822058814 > 0.0
WOLFE (weak): th(2.154434690031884)=0.0; dx=-6.134537404444444 evalInputDelta=0.26390822058814
Non-optimal measurement 0.0 < 0.0. Total: 2
WOLFE (weak): th(4.308869380063768)=0.0; dx=-6.134537404444444 evalInputDelta=0.26390822058814
Non-optimal measurement 0.0 < 0.0. Total: 2
WOLFE (weak): th(12.926608140191302)=0.0; dx=-6.134537404444444 evalInputDelta=0.26390822058814
Non-optimal measurement 0.0 < 0.0. Total: 2
WOLFE (weak): th(51.70643256076521)=0.0; dx=-6.134537404444444 evalInputDelta=0.26390822058814
Non-optimal measurement 0.0 < 0.0. Total: 2
WOLFE (weak): th(258.53216280382605)=0.0; dx=-6.134537404444444 evalInputDelta=0.26390822058814
Non-optimal measurement 0.0 < 0.0. Total: 2
WOLFE (weak): th(1551.1929768229563)=0.0; dx=-6.134537404444444 evalInputDelta=0.26390822058814
Non-optimal measurement 0.0 < 0.0. Total: 2
WOLFE (weak): th(10858.350837760694)=0.0; dx=-6.134537404444444 evalInputDelta=0.26390822058814
Non-optimal measurement 0.0 < 0.0. Total: 2
Armijo: th(86866.80670208555)=0.0; dx=-6.134537404444445 evalInputDelta=0.26390822058814
Non-optimal measurement 0.0 < 0.0. Total: 2
Armijo: th(48862.57876992312)=0.0; dx=-6.134537404444445 evalInputDelta=0.26390822058814
Non-optimal measurement 0.0 < 0.0. Total: 2
WOLFE (weak): th(29860.464803841907)=0.0; dx=-6.134537404444444 evalInputDelta=0.26390822058814
Non-optimal measurement 0.0 < 0.0. Total: 2
Armijo: th(39361.52178688251)=0.0; dx=-6.134537404444444 evalInputDelta=0.26390822058814
Non-optimal measurement 0.0 < 0.0. Total: 2
WOLFE (weak): th(34610.99329536221)=0.0; dx=-6.134537404444444 evalInputDelta=0.26390822058814
Non-optimal measurement 0.0 < 0.0. Total: 2
WOLFE (weak): th(36986.257541122366)=0.0; dx=-6.134537404444444 evalInputDelta=0.26390822058814
Non-optimal measurement 0.0 < 0.0. Total: 2
WOLFE (weak): th(38173.88966400244)=0.0; dx=-6.134537404444444 evalInputDelta=0.26390822058814
Non-optimal measurement 0.0 < 0.0. Total: 2
WOLFE (weak): th(38767.70572544247)=0.0; dx=-6.134537404444444 evalInputDelta=0.26390822058814
Non-optimal measurement 0.0 < 0.0. Total: 2
Armijo: th(39064.61375616249)=0.0; dx=-6.134537404444445 evalInputDelta=0.26390822058814
Non-optimal measurement 0.0 < 0.0. Total: 2
mu ~= nu (38767.70572544247): th(2.154434690031884)=0.0
Fitness changed from 0.26390822058814 to 0.0
Iteration 1 complete. Error: 0.0 Total: 0.0602; Orientation: 0.0029; Line Search: 0.0531
Non-optimal measurement 0.0 < 0.0. Total: 2
LBFGS Accumulation History: 2 points
Non-optimal measurement 0.0 < 0.0. Total: 2
th(0)=0.0;dx=-5.67279104
Non-optimal measurement 0.0 < 0.0. Total: 2
Armijo: th(83842.32454840708)=0.0; dx=-5.672791039999999 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 2
Armijo: th(41921.16227420354)=0.0; dx=-5.67279104 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 2
Armijo: th(13973.720758067846)=0.0; dx=-5.67279104 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 2
Armijo: th(3493.4301895169615)=0.0; dx=-5.672791039999999 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 2
Armijo: th(698.6860379033923)=0.0; dx=-5.67279104 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 2
Armijo: th(116.44767298389871)=0.0; dx=-5.67279104 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 2
Armijo: th(16.635381854842674)=0.0; dx=-5.67279104 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 2
Armijo: th(2.079422731855334)=0.0; dx=-5.67279104 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 2
Armijo: th(0.23104697020614826)=0.0; dx=-5.67279104 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 2
Armijo: th(0.023104697020614826)=0.0; dx=-5.67279104 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 2
Armijo: th(0.0021004270018740753)=0.0; dx=-5.67279104 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 2
Armijo: th(1.7503558348950628E-4)=0.0; dx=-5.67279104 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 2
Armijo: th(1.3464275653038945E-5)=0.0; dx=-5.67279104 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 2
Armijo: th(9.617339752170676E-7)=0.0; dx=-5.672791039999999 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 2
Armijo: th(6.41155983478045E-8)=0.0; dx=-5.672791039999999 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 2
Armijo: th(4.007224896737781E-9)=0.0; dx=-5.67279104 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 2
Armijo: th(2.357191115728107E-10)=0.0; dx=-5.67279104 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 2
Armijo: th(1.3095506198489482E-11)=0.0; dx=-5.672791039999999 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 2
Armijo: th(6.892371683415517E-13)=0.0; dx=-5.67279104 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 2
Armijo: th(3.446185841707758E-14)=0.0; dx=-5.67279104 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 2
Armijo: th(1.6410408770036945E-15)=0.0; dx=-5.67279104 evalInputDelta=0.0
Non-optimal measurement 0.0 < 0.0. Total: 2
MIN ALPHA (7.459276713653156E-17): th(0.0)=0.0
Fitness changed from 0.0 to 0.0
Static Iteration Total: 0.0476; Orientation: 0.0013; Line Search: 0.0447
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.108s (< 30.000s)

Returns

    0.0

Training Converged

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

    return TestUtil.compare(title + " vs Iteration", runs);
Logging
Plotting range=[0.0, 0.0], [2.0, 1.0]; valueStats=DoubleSummaryStatistics{count=0, sum=0.000000, min=Infinity, average=0.000000, max=-Infinity}
Only 0 points for GD
Only 0 points for CjGD
Only 0 points for LBFGS

Returns

Result

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

    return TestUtil.compareTime(title + " vs Time", runs);
Logging
No Data

Results

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

    return grid(inputLearning, modelLearning, completeLearning);

Returns

Result

TrainingTester.java:353 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:605 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": "1.123",
      "gc_time": "0.212"
    },
    "created_on": 1587004425718,
    "file_name": "trainingTest",
    "report": {
      "simpleName": "Basic",
      "canonicalName": "com.simiacryptus.mindseye.layers.java.BiasMetaLayerTest.Basic",
      "link": "https://github.com/SimiaCryptus/mindseye-java/tree/c9a1867488dc7e77a975f095285b5882c0486db6/src/test/java/com/simiacryptus/mindseye/layers/java/BiasMetaLayerTest.java",
      "javaDoc": "The type Basic."
    },
    "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/BiasMetaLayer/Basic/trainingTest/202004163345",
    "id": "06dff235-f902-4f3c-81da-4a40c8478470",
    "report_type": "Components",
    "display_name": "Comparative Training",
    "target": {
      "simpleName": "BiasMetaLayer",
      "canonicalName": "com.simiacryptus.mindseye.layers.java.BiasMetaLayer",
      "link": "https://github.com/SimiaCryptus/mindseye-java/tree/c9a1867488dc7e77a975f095285b5882c0486db6/src/main/java/com/simiacryptus/mindseye/layers/java/BiasMetaLayer.java",
      "javaDoc": "The type Bias meta layer."
    }
  }