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 1068498000360902656

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.03 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.284, 0.036, -0.976 ], [ -1.892, 0.492, -1.7 ], [ 0.392, -1.648, 1.436 ], [ 1.936, 0.304, -1.904 ], [ 0.532, -1.924, -0.04 ], [ -1.084, -1.864, -0.224 ], [ -0.812, -1.46, -0.076 ], [ -0.548, 0.704, 0.4 ], ... ],
    	[ [ -0.752, -1.308, -1.124 ], [ -0.936, 0.428, 0.672 ], [ -1.724, -0.632, 0.8 ], [ -1.648, -1.128, 0.936 ], [ -0.688, 0.444, -1.024 ], [ 1.532, 1.136, 0.784 ], [ 1.968, -0.292, -1.76 ], [ -1.472, 1.992, -1.86 ], ... ],
    	[ [ -0.836, 0.292, 0.096 ], [ 0.716, -1.028, -0.02 ], [ -1.508, 1.804, -0.328 ], [ -0.896, 1.592, -0.364 ], [ -0.512, -0.084, 0.696 ], [ -1.296, 1.468, 1.672 ], [ -1.028, -0.728, -0.124 ], [ -0.06, -0.72, -0.276 ], ... ],
    	[ [ -0.432, -1.444, -0.288 ], [ 0.308, -1.516, -0.548 ], [ -0.756, -0.764, -1.404 ], [ 1.656, 1.5, -0.548 ], [ 1.212, 0.188, 1.984 ], [ -0.144, 1.008, -1.524 ], [ -1.652, 1.232, -0.152 ], [ 1.772, 1.976, -0.016 ], ... ],
    	[ [ -0.736, 0.32, -0.156 ], [ -0.076, -0.828, -0.584 ], [ -0.904, -1.256, -1.444 ], [ -1.296, 1.356, -1.74 ], [ -1.252, -1.016, -1.576 ], [ 1.436, -1.916, -1.008 ], [ -1.788, -1.156, -0.096 ], [ -1.908, -0.828, -1.396 ], ... ],
    	[ [ 1.484, -1.692, -1.76 ], [ 0.188, 1.76, 1.276 ], [ 0.572, 1.536, -1.9 ], [ 0.076, 0.148, -0.864 ], [ -0.008, -1.176, -0.004 ], [ 0.672, -0.752, 0.848 ], [ -1.78, -0.156, 0.996 ], [ -1.004, 0.132, -1.972 ], ... ],
    	[ [ 1.124, 0.148, 1.648 ], [ 0.6, -1.944, 1.036 ], [ -1.084, -0.916, 1.404 ], [ 0.344, -1.592, -1.84 ], [ -0.796, -0.9, 0.14 ], [ -0.356, -1.64, 0.732 ], [ 0.444, -1.152, 1.268 ], [ 1.224, -0.9, 1.272 ], ... ],
    	[ [ 1.912, 0.244, -1.388 ], [ 1.776, -0.968, 1.172 ], [ 0.22, -0.444, 0.528 ], [ -1.484, -1.512, -0.128 ], [ -1.22, -1.308, -1.64 ], [ 1.304, 0.016, 0.396 ], [ 0.984, 1.104, -0.86 ], [ 1.072, -1.464, 1.76 ], ... ],
    	...
    ]
    [
    	[ [ -1.472, -1.172, -1.892 ], [ 0.3, 0.308, -1.972 ], [ 1.904, -1.604, 0.788 ], [ 0.348, 1.608, 0.668 ], [ 1.496, -1.032, -1.404 ], [ -1.036, 0.064, 0.568 ], [ 0.408, 0.208, -1.552 ], [ 0.316, -1.444, 0.768 ], ... ],
    	[ [ -0.456, -0.416, 0.404 ], [ 1.14, -1.036, -0.484 ], [ -1.796, -1.952, -0.908 ], [ -1.268, 0.436, 0.528 ], [ -0.244, 1.392, 0.804 ], [ -1.028, 1.356, -1.088 ], [ -0.352, -1.148, -1.208 ], [ 0.26, 0.376, -1.348 ], ... ],
    	[ [ -1.34, -1.964, -1.54 ], [ -0.22, -0.808, -1.6 ], [ -1.008, -1.812, 0.064 ], [ -1.956, -1.592, -0.724 ], [ 0.292, 0.008, -0.928 ], [ -0.852, -1.996, -0.068 ], [ -1.092, 0.804, 0.0 ], [ -1.9, -1.116, -1.208 ], ... ],
    	[ [ -0.552, -0.112, 0.352 ], [ 0.544, -1.932, 0.768 ], [ -1.656, 0.792, -1.984 ], [ -0.1, 0.436, 1.592 ], [ -0.748, -0.756, -0.3 ], [ 0.812, 0.58, -1.064 ], [ 0.636, -1.02, -0.98 ], [ 1.684, 1.732, -0.12 ], ... ],
    	[ [ 1.388, -1.504, -1.668 ], [ 0.932, 0.16, 1.6 ], [ 1.5, -1.892, 0.644 ], [ 1.668, -0.404, 1.004 ], [ -0.152, 1.712, 0.388 ], [ 0.668, 0.668, -0.44 ], [ -0.644, -0.648, -0.764 ], [ 1.292, 0.036, -1.936 ], ... ],
    	[ [ 1.584, -1.516, 0.584 ], [ -1.284, 0.928, -1.652 ], [ 1.152, 1.28, 1.768 ], [ 0.752, -1.208, -0.328 ], [ 0.936, -1.788, 0.772 ], [ 0.6, 1.824, 1.3 ], [ 1.076, -0.276, -1.528 ], [ -1.124, -0.528, -0.876 ], ... ],
    	[ [ -0.16, 1.088, -1.904 ], [ -0.956, 1.408, 0.888 ], [ -0.904, 1.02, -1.656 ], [ -0.908, -1.308, -1.3 ], [ -1.788, 0.316, 1.912 ], [ 0.872, -1.644, 1.992 ], [ 0.632, -0.268, -1.268 ], [ -0.56, -0.544, 0.732 ], ... ],
    	[ [ 0.328, -0.404, 1.712 ], [ 0.476, -0.652, -0.852 ], [ -1.712, 1.832, 1.004 ], [ 1.612, 0.788, -1.968 ], [ -1.348, 1.304, 1.704 ], [ -1.568, -0.328, 1.568 ], [ 0.26, 0.792, -1.26 ], [ 1.36, 0.388, 1.332 ], ... ],
    	...
    ]
    [
    	[ [ -1.124, 1.336, -1.332 ], [ 0.76, 1.012, -1.848 ], [ -0.64, 0.396, 0.536 ], [ -0.552, -0.576, -0.788 ], [ -0.284, -0.548, -0.52 ], [ -1.972, -0.016, 1.612 ], [ -1.024, 1.288, -1.688 ], [ -1.7, 1.152, 1.724 ], ... ],
    	[ [ 0.808, 0.228, -1.74 ], [ -0.276, -0.976, -0.652 ], [ -0.548, -0.092, 0.252 ], [ 1.224, -1.552, -0.552 ], [ 0.448, 0.544, 0.312 ], [ 1.248, 0.248, 0.948 ], [ -1.704, 1.104, 1.492 ], [ -0.74, 0.908, -0.372 ], ... ],
    	[ [ -0.16, 1.312, 0.316 ], [ 1.94, 0.288, 0.088 ], [ 1.14, 1.352, 1.868 ], [ -0.032, 1.896, -0.964 ], [ 1.712, 0.172, 1.52 ], [ -0.768, -0.18, 1.628 ], [ -0.08, 1.756, 0.056 ], [ 0.136, 1.32, 0.436 ], ... ],
    	[ [ 0.676, 1.908, 1.38 ], [ -1.688, -0.58, 1.744 ], [ -1.132, 1.908, -0.384 ], [ -1.456, -0.76, 0.576 ], [ 0.116, -1.736, -0.196 ], [ -0.616, 0.7, -1.272 ], [ 1.476, 0.32, 0.444 ], [ 0.016, -1.912, -0.724 ], ... ],
    	[ [ -1.228, -1.376, -1.544 ], [ -1.2, 1.28, 0.992 ], [ 1.428, 0.78, 1.508 ], [ -1.496, -0.652, 1.788 ], [ 0.4, 1.188, -0.372 ], [ 2.0, -0.964, -1.732 ], [ -0.364, -1.224, 1.932 ], [ -0.204, -0.992, 1.14 ], ... ],
    	[ [ -1.552, -1.028, -1.708 ], [ -0.62, -1.808, 0.908 ], [ -0.308, 0.564, 0.824 ], [ 0.256, -0.496, -0.028 ], [ -1.772, 0.796, -1.444 ], [ -1.112, 1.032, -1.892 ], [ 0.4, 0.172, 1.256 ], [ 1.464, 1.216, -0.964 ], ... ],
    	[ [ -1.928, 0.768, -1.692 ], [ 0.98, -1.604, 0.124 ], [ 0.808, -0.712, 0.936 ], [ -0.796, -1.312, -1.38 ], [ 0.9, -0.508, -0.488 ], [ 0.352, 1.908, 0.468 ], [ 1.956, 0.668, -1.796 ], [ 0.884, -1.236, 1.32 ], ... ],
    	[ [ 0.676, 0.456, 0.424 ], [ -1.748, -1.508, -1.636 ], [ -0.704, -0.116, -1.524 ], [ -0.06, -1.516, 1.356 ], [ -0.792, -1.412, 0.336 ], [ -1.224, -1.888, -1.416 ], [ 0.388, 1.684, -0.908 ], [ 1.304, -0.924, 0.5 ], ... ],
    	...
    ]
    [
    	[ [ 0.852, -0.928, -0.4 ], [ 1.088, -0.248, 1.584 ], [ 0.62, -0.624, -0.536 ], [ -0.04, -0.776, -1.892 ], [ -1.312, 0.62, 0.132 ], [ 0.28, 1.636, -1.24 ], [ -1.336, 0.52, 0.936 ], [ 0.616, 1.356, 1.96 ], ... ],
    	[ [ -1.692, 0.596, 1.484 ], [ -1.428, -0.596, -1.752 ], [ 0.2, -0.8, 0.444 ], [ -1.048, 1.604, -1.984 ], [ -1.452, -1.476, 0.256 ], [ -1.424, -0.492, -0.116 ], [ 0.016, 1.7, -0.316 ], [ -1.524, 0.508, -0.54 ], ... ],
    	[ [ -0.628, -1.604, 1.552 ], [ 0.804, 1.8, -0.312 ], [ -1.004, 0.476, 0.488 ], [ -1.668, -1.156, 0.4 ], [ -0.204, -0.892, -0.008 ], [ 1.064, -0.024, 0.164 ], [ -0.676, 1.9, 0.88 ], [ -0.068, -1.6, 1.0 ], ... ],
    	[ [ -0.172, 1.584, -1.676 ], [ -0.576, 0.112, -0.304 ], [ -0.128, 1.692, 0.216 ], [ -1.212, -1.884, 1.02 ], [ -1.616, -0.448, 1.652 ], [ -1.408, -1.936, -1.664 ], [ -1.62, -1.56, -0.14 ], [ -0.952, -0.292, -0.484 ], ... ],
    	[ [ -1.416, 1.54, 0.288 ], [ -1.42, 1.972, -0.024 ], [ 1.424, -0.56, 1.1 ], [ -1.336, -1.028, 1.892 ], [ -1.8, -0.156, -0.456 ], [ 0.744, 0.836, -0.356 ], [ -0.104, -1.892, -1.348 ], [ 0.748, -1.004, -1.66 ], ... ],
    	[ [ 0.088, -1.432, -0.576 ], [ 0.804, -0.764, -1.424 ], [ -0.34, 0.976, -0.348 ], [ -1.132, 1.552, 0.744 ], [ -1.588, 1.732, -0.856 ], [ -1.484, 0.028, 1.268 ], [ -0.432, 0.228, 0.856 ], [ 1.128, -0.28, -1.988 ], ... ],
    	[ [ 0.352, -0.984, -0.352 ], [ 1.86, 0.68, -0.268 ], [ -1.756, -0.452, 1.0 ], [ -0.112, -1.644, -0.4 ], [ -0.976, 1.804, -0.448 ], [ -1.712, -1.012, 1.828 ], [ -1.436, 0.128, -0.088 ], [ 0.372, -1.728, 0.996 ], ... ],
    	[ [ -1.708, 1.92, -0.288 ], [ -0.664, 0.668, -0.052 ], [ 0.796, 0.28, -0.092 ], [ 0.528, -1.932, -0.448 ], [ -0.544, 1.836, 0.872 ], [ 0.8, 1.764, -0.12 ], [ 1.288, -1.084, 1.912 ], [ 0.26, -0.888, -1.036 ], ... ],
    	...
    ]
    [
    	[ [ 1.916, -0.224, -0.428 ], [ 0.512, 0.488, 0.68 ], [ 1.968, -1.84, -1.336 ], [ 1.812, 1.436, 0.58 ], [ 1.42, -0.62, 0.532 ], [ -1.216, -0.36, 0.624 ], [ 1.496, -1.812, -1.844 ], [ -1.904, -0.908, -0.648 ], ... ],
    	[ [ -1.844, -1.244, -0.32 ], [ -0.588, -1.112, 0.56 ], [ -0.196, -0.308, -1.608 ], [ 0.068, -0.488, -0.668 ], [ -1.604, 1.58, 1.692 ], [ 1.816, 1.084, -0.508 ], [ 1.252, 1.568, 0.072 ], [ 0.436, -0.388, 1.076 ], ... ],
    	[ [ 0.392, 0.136, 0.724 ], [ 0.46, -1.324, -1.412 ], [ -0.224, 1.784, -1.048 ], [ -0.46, -0.24, -1.372 ], [ -1.82, -0.92, -0.936 ], [ 0.076, 1.572, -0.136 ], [ 0.64, -1.172, -1.2 ], [ 1.904, 0.472, -0.604 ], ... ],
    	[ [ 0.0, 1.252, 0.28 ], [ -1.896, -0.584, 0.484 ], [ 1.892, -0.928, -1.684 ], [ 0.504, -0.452, -0.976 ], [ 1.176, 0.672, -1.484 ], [ 0.504, -0.2, -0.2 ], [ -2.0, -0.38, 1.712 ], [ 1.604, 1.24, 1.484 ], ... ],
    	[ [ 1.936, 0.764, -0.236 ], [ 0.904, 1.084, -1.656 ], [ 0.94, 1.432, -1.7 ], [ -1.312, -1.648, 1.048 ], [ -0.504, -0.772, 0.084 ], [ 1.96, -1.744, 0.22 ], [ -1.22, 0.192, -0.124 ], [ 0.9, -1.74, -1.92 ], ... ],
    	[ [ -1.432, -1.212, -1.124 ], [ 1.152, -0.952, -0.832 ], [ 1.388, 1.008, -1.156 ], [ -1.3, 1.108, 1.652 ], [ -1.772, -1.308, -0.44 ], [ -1.452, 0.372, 1.636 ], [ -1.08, 0.424, 1.624 ], [ 0.44, 1.16, 1.76 ], ... ],
    	[ [ 0.068, 0.384, 1.796 ], [ -0.836, 1.696, -0.628 ], [ -1.476, 0.172, -0.8 ], [ 0.472, -1.084, 0.784 ], [ 1.364, 0.4, 0.756 ], [ 1.24, -1.34, -0.204 ], [ -0.668, 0.016, -0.128 ], [ -1.484, -1.772, 1.516 ], ... ],
    	[ [ -1.016, -1.208, 1.364 ], [ -0.632, 0.3, -0.18 ], [ -0.172, 0.156, -0.468 ], [ 0.292, -0.804, 0.368 ], [ 0.364, 1.444, -1.368 ], [ -0.068, 0.592, -0.036 ], [ -0.156, 0.288, 1.596 ], [ -0.312, -1.812, 0.804 ], ... ],
    	...
    ]

Gradient Descent

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

TrainingTester.java:480 executed in 31.29 seconds (3.571 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: 10303800876235
Reset training subject: 10304866602663
Constructing line search parameters: GD
th(0)=4.0214584972119347E-5;dx=-1.8617863413017496E-10
New Minimum: 4.0214584972119347E-5 > 4.021418386341164E-5
WOLFE (weak): th(2.154434690031884)=4.021418386341164E-5; dx=-1.861777056355043E-10 evalInputDelta=4.011087077038884E-10
New Minimum: 4.021418386341164E-5 > 4.0213782756703445E-5
WOLFE (weak): th(4.308869380063768)=4.0213782756703445E-5; dx=-1.8617677714079996E-10 evalInputDelta=8.022154159018015E-10
New Minimum: 4.0213782756703445E-5 > 4.0212178349878595E-5
WOLFE (weak): th(12.926608140191302)=4.0212178349878595E-5; dx=-1.8617306316200488E-10 evalInputDelta=2.406622240752024E-9
New Minimum: 4.0212178349878595E-5 > 4.020495891523903E-5
WOLFE (weak): th(51.70643256076521)=4.020495891523903E-5; dx=-1.8615635025749515E-10 evalInputDelta=9.62605688031409E-9
New Minimum: 4.020495891523903E-5 > 4.0166466209914154E-5
WOLFE (weak): th(258.53216280382605)=4.0166466209914154E-5; dx=-1.860672147668879E-10 evalInputDelta=4.811876220519256E-8
New Minimum: 4.0166466209914154E-5 > 3.9926304481224254E-5
WOLFE (weak): th(1551.1929768229563)=3.9926304481224254E-5; dx=-1.855101179503463E-10 evalInputDelta=2.8828049089509234E-7
New Minimum: 3.9926304481224254E-5 > 3.8218398485513954E-5
WOLFE (weak): th(10858.350837760694)=3.8218398485513954E-5; dx=-1.8149902087120849E-10 evalInputDelta=1.996186486605393E-6
New Minimum: 3.8218398485513954E-5 > 2.566785379070815E-5
END: th(86866.80670208555)=2.566785379070815E-5; dx=-1.487417280583161E-10 evalInputDelta=1.4546731181411197E-5
Fitness changed from 4.0214584972119347E-5 to 2.566785379070815E-5
Iteration 1 complete. Error: 2.566785379070815E-5 Total: 16.0694; Orientation: 0.8033; Line Search: 13.3589
th(0)=2.566785379070815E-5;dx=-1.1883265643848139E-10
New Minimum: 2.566785379070815E-5 > 8.24567698213652E-6
END: th(187148.86177126726)=8.24567698213652E-6; dx=-6.735257219375211E-11 evalInputDelta=1.742217680857163E-5
Fitness changed from 2.566785379070815E-5 to 8.24567698213652E-6
Iteration 2 complete. Error: 8.24567698213652E-6 Total: 3.1301; Orientation: 0.7838; Line Search: 1.9250
Low gradient: 6.178545983712856E-6
th(0)=8.24567698213652E-6;dx=-3.8174430472860014E-11
New Minimum: 8.24567698213652E-6 > 3.6647453253946347E-8
END: th(403200.00000000006)=3.6647453253946347E-8; dx=-2.5449620315233758E-12 evalInputDelta=8.209029528882575E-6
Fitness changed from 8.24567698213652E-6 to 3.6647453253946347E-8
Iteration 3 complete. Error: 3.6647453253946347E-8 Total: 3.9048; Orientation: 0.7843; Line Search: 2.6885
Low gradient: 4.119030655808922E-7
th(0)=3.6647453253946347E-8;dx=-1.6966413543494196E-13
Armijo: th(868668.0670208557)=3.7443735889858674E-8; dx=1.7149747699806106E-13 evalInputDelta=-7.962826359123276E-10
New Minimum: 3.6647453253946347E-8 > 1.0697701611003404E-12
WOLF (strong): th(434334.03351042786)=1.0697701611003404E-12; dx=9.166707815494015E-16 evalInputDelta=3.6646383483785246E-8
END: th(144778.01117014262)=1.619987547007723E-8; dx=-1.1280386669609544E-13 evalInputDelta=2.0447577783869118E-8
Fitness changed from 3.6647453253946347E-8 to 1.0697701611003404E-12
Iteration 4 complete. Error: 1.0697701611003404E-12 Total: 5.0355; Orientation: 0.7944; Line Search: 3.8272
Low gradient: 2.225452680854796E-9
th(0)=1.0697701611003404E-12;dx=-4.952639634723782E-18
New Minimum: 1.0697701611003404E-12 > 8.26612898039867E-14
END: th(311914.76961877884)=8.26612898039867E-14; dx=-1.37671035063303E-18 evalInputDelta=9.871088712963537E-13
Fitness changed from 1.0697701611003404E-12 to 8.26612898039867E-14
Iteration 5 complete. Error: 8.26612898039867E-14 Total: 3.1353; Orientation: 0.7902; Line Search: 1.9253
Final threshold in iteration 5: 8.26612898039867E-14 (> 0.0) after 31.276s (< 30.000s)

Returns

    8.26612898039867E-14

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 59.34 seconds (3.027 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: 10335194447295
Reset training subject: 10335674035007
Constructing line search parameters: GD
F(0.0) = LineSearchPoint{point=PointSample{avg=4.0214584972119347E-5}, derivative=-1.8617863413017496E-10}
F(1.0E-10) = LineSearchPoint{point=PointSample{avg=4.0214584972119347E-5}, derivative=-1.8617863413017496E-10}, evalInputDelta = 0.0
F(7.000000000000001E-10) = LineSearchPoint{point=PointSample{avg=4.0214584972119347E-5}, derivative=-1.8617863413017496E-10}, evalInputDelta = 0.0
New Minimum: 4.0214584972119347E-5 > 4.021458497211923E-5
F(4.900000000000001E-9) = LineSearchPoint{point=PointSample{avg=4.021458497211923E-5}, derivative=-1.8617863413017496E-10}, evalInputDelta = -1.1519648082658485E-19
New Minimum: 4.021458497211923E-5 > 4.021458497211276E-5
F(3.430000000000001E-8) = LineSearchPoint{point=PointSample{avg=4.021458497211276E-5}, derivative=-1.8617863413016736E-10}, evalInputDelta = -6.5865281978494394E-18
New Minimum: 4.021458497211276E-5 > 4.0214584972074684E-5
F(2.4010000000000004E-7) = LineSearchPoint{point=PointSample{avg=4.0214584972074684E-5}, derivative=-1.86178634130091E-10}, evalInputDelta = -4.466235324282475E-17
New Minimum: 4.0214584972074684E-5 > 4.021458497180633E-5
F(1.6807000000000003E-6) = LineSearchPoint{point=PointSample{avg=4.021458497180633E-5}, derivative=-1.8617863412944655E-10}, evalInputDelta = -3.1301594346014316E-16
New Minimum: 4.021458497180633E-5 > 4.021458496992861E-5
F(1.1764900000000001E-5) = LineSearchPoint{point=PointSample{avg=4.021458496992861E-5}, derivative=-1.861786341251029E-10}, evalInputDelta = -2.1907389097242103E-15
New Minimum: 4.021458496992861E-5 > 4.0214584956786336E-5
F(8.235430000000001E-5) = LineSearchPoint{point=PointSample{avg=4.0214584956786336E-5}, derivative=-1.8617863409469814E-10}, evalInputDelta = -1.533301073998808E-14
New Minimum: 4.0214584956786336E-5 > 4.0214584864790304E-5
F(5.764801000000001E-4) = LineSearchPoint{point=PointSample{avg=4.0214584864790304E-5}, derivative=-1.8617863388173002E-10}, evalInputDelta = -1.0732904230084314E-13
New Minimum: 4.0214584864790304E-5 > 4.021458422082202E-5
F(0.004035360700000001) = LineSearchPoint{point=PointSample{avg=4.021458422082202E-5}, derivative=-1.8617863239105618E-10}, evalInputDelta = -7.512973262176897E-13
New Minimum: 4.021458422082202E-5 > 4.021457971303401E-5
F(0.028247524900000005) = LineSearchPoint{point=PointSample{avg=4.021457971303401E-5}, derivative=-1.8617862195636595E-10}, evalInputDelta = -5.259085335729448E-12
New Minimum: 4.021457971303401E-5 > 4.021454815852891E-5
F(0.19773267430000002) = LineSearchPoint{point=PointSample{avg=4.021454815852891E-5}, derivative=-1.8617854891349933E-10}, evalInputDelta = -3.6813590438317285E-11
New Minimum: 4.021454815852891E-5 > 4.021432727733757E-5
F(1.3841287201) = LineSearchPoint{point=PointSample{avg=4.021432727733757E-5}, derivative=-1.8617803761355044E-10}, evalInputDelta = -2.576947817731646E-10
New Minimum: 4.021432727733757E-5 > 4.0212781125985794E-5
F(9.688901040700001) = LineSearchPoint{point=PointSample{avg=4.0212781125985794E-5}, derivative=-1.8617445851360876E-10}, evalInputDelta = -1.8038461335528541E-9
New Minimum: 4.0212781125985794E-5 > 4.020195889878619E-5
F(67.8223072849) = LineSearchPoint{point=PointSample{avg=4.020195889878619E-5}, derivative=-1.861494048141272E-10}, evalInputDelta = -1.2626073333156399E-8
New Minimum: 4.020195889878619E-5 > 4.012624408917402E-5
F(474.7561509943) = LineSearchPoint{point=PointSample{avg=4.012624408917402E-5}, derivative=-1.8597402891783695E-10}, evalInputDelta = -8.834088294532808E-8
New Minimum: 4.012624408917402E-5 > 3.9598238680745466E-5
F(3323.2930569601003) = LineSearchPoint{point=PointSample{avg=3.9598238680745466E-5}, derivative=-1.84746397643691E-10}, evalInputDelta = -6.16346291373881E-7
New Minimum: 3.9598238680745466E-5 > 3.600011550550672E-5
F(23263.0513987207) = LineSearchPoint{point=PointSample{avg=3.600011550550672E-5}, derivative=-1.761529787248411E-10}, evalInputDelta = -4.214469466612629E-6
New Minimum: 3.600011550550672E-5 > 1.5611072782837845E-5
F(162841.3597910449) = LineSearchPoint{point=PointSample{avg=1.5611072782837845E-5}, derivative=-1.1599904629268521E-10}, evalInputDelta = -2.46035121892815E-5
F(1139889.5185373144) = LineSearchPoint{point=PointSample{avg=1.0798092942083685E-4}, derivative=3.0507848073229405E-10}, evalInputDelta = 6.77663444487175E-5
F(87683.80911825495) = LineSearchPoint{point=PointSample{avg=2.554647527390407E-5}, derivative=-1.4838962529460296E-10}, evalInputDelta = -1.4668109698215276E-5
New Minimum: 1.5611072782837845E-5 > 7.1209860722528245E-6
F(613786.6638277847) = LineSearchPoint{point=PointSample{avg=7.1209860722528245E-6}, derivative=7.834442771884866E-11}, evalInputDelta = -3.3093598899866525E-5
7.1209860722528245E-6 <= 4.0214584972119347E-5
New Minimum: 7.1209860722528245E-6 > 5.446481065426291E-32
F(431999.99999998347) = LineSearchPoint{point=PointSample{avg=5.446481065426291E-32}, derivative=-5.758599605822425E-24}, evalInputDelta = -4.0214584972119347E-5
Left bracket at 431999.99999998347
Converged to left
Fitness changed from 4.0214584972119347E-5 to 5.446481065426291E-32
Iteration 1 complete. Error: 5.446481065426291E-32 Total: 27.8450; Orientation: 0.7914; Line Search: 25.7454
Zero gradient: 5.021472903214186E-19
F(0.0) = LineSearchPoint{point=PointSample{avg=5.446481065426291E-32}, derivative=-2.5215190117712207E-37}
New Minimum: 5.446481065426291E-32 > 1.7360462734093255E-32
F(431999.99999998347) = LineSearchPoint{point=PointSample{avg=1.7360462734093255E-32}, derivative=-1.3444464373356518E-37}, evalInputDelta = -3.7104347920169654E-32
F(3023999.9999998845) = LineSearchPoint{point=PointSample{avg=2.1492832076522463E-30}, derivative=1.5765051469139523E-36}, evalInputDelta = 2.0948183969979836E-30
F(232615.38461537572) = LineSearchPoint{point=PointSample{avg=4.12354927280931E-32}, derivative=-2.190982093127517E-37}, evalInputDelta = -1.3229317926169808E-32
F(1628307.69230763) = LineSearchPoint{point=PointSample{avg=4.861656029871127E-31}, derivative=7.386315248688757E-37}, evalInputDelta = 4.317007923328498E-31
F(125254.4378698177) = LineSearchPoint{point=PointSample{avg=5.037529382370087E-32}, derivative=-2.424716494165807E-37}, evalInputDelta = -4.0895168305620385E-33
F(876781.0650887239) = LineSearchPoint{point=PointSample{avg=7.052166048784876E-32}, derivative=2.2003525359145873E-37}, evalInputDelta = 1.6056849833585853E-32
F(67444.69731451722) = LineSearchPoint{point=PointSample{avg=5.286197645041659E-32}, derivative=-2.4840293110258417E-37}, evalInputDelta = -1.6028342038463235E-33
New Minimum: 1.7360462734093255E-32 > 1.197558575702947E-32
F(472112.88120162056) = LineSearchPoint{point=PointSample{avg=1.197558575702947E-32}, derivative=-1.0809853487703128E-37}, evalInputDelta = -4.248922489723344E-32
F(3304790.168411344) = LineSearchPoint{point=PointSample{avg=2.4994478221992133E-30}, derivative=1.700034443525987E-36}, evalInputDelta = 2.4449830115449506E-30
F(254214.62833933413) = LineSearchPoint{point=PointSample{avg=3.9814301837786514E-32}, derivative=-2.152289521982878E-37}, evalInputDelta = -1.4650508816476395E-32
F(1779502.3983753389) = LineSearchPoint{point=PointSample{avg=6.351884465023885E-31}, derivative=8.489388836982056E-37}, evalInputDelta = 5.8072363584812556E-31
F(136884.79987502607) = LineSearchPoint{point=PointSample{avg=4.8088454738537617E-32}, derivative=-2.3677993819576035E-37}, evalInputDelta = -6.376355915725293E-33
F(958193.5991251825) = LineSearchPoint{point=PointSample{avg=1.2037448909653216E-31}, derivative=3.2234825130214474E-37}, evalInputDelta = 6.590967844226925E-32
F(73707.19993270634) = LineSearchPoint{point=PointSample{avg=5.222506539927666E-32}, derivative=-2.468941187980417E-37}, evalInputDelta = -2.239745254986252E-33
New Minimum: 1.197558575702947E-32 > 9.717619409005766E-33
F(515950.3995289444) = LineSearchPoint{point=PointSample{avg=9.717619409005766E-33}, derivative=-9.490311646464443E-38}, evalInputDelta = -4.4747191245257144E-32
F(3611652.796702611) = LineSearchPoint{point=PointSample{avg=2.9842197004072315E-30}, derivative=1.8568425763583876E-36}, evalInputDelta = 2.9297548897529687E-30
F(277819.4459002008) = LineSearchPoint{point=PointSample{avg=3.286090480634484E-32}, derivative=-1.927062192155742E-37}, evalInputDelta = -2.160390584791807E-32
F(1944736.1213014056) = LineSearchPoint{point=PointSample{avg=7.154094410948266E-31}, derivative=9.010803188166599E-37}, evalInputDelta = 6.609446304405637E-31
F(149595.08625395427) = LineSearchPoint{point=PointSample{avg=4.576724522711387E-32}, derivative=-2.3095387980724405E-37}, evalInputDelta = -8.69756542714904E-33
F(1047165.6037776798) = LineSearchPoint{point=PointSample{avg=1.536684722744271E-31}, derivative=3.769509643378236E-37}, evalInputDelta = 9.92036616201642E-32
F(80551.20029059076) = LineSearchPoint{point=PointSample{avg=5.205010482010027E-32}, derivative=-2.4648398736776754E-37}, evalInputDelta = -2.4147058341626413E-33
F(563858.4020341353) = LineSearchPoint{point=PointSample{avg=1.6907280274492493E-32}, derivative=-1.5298712268593765E-38}, evalInputDelta = -3.7557530379770417E-32
F(3947008.814238947) = LineSearchPoint{point=PointSample{avg=3.636106074089178E-30}, derivative=2.0541688502723038E-36}, evalInputDelta = 3.581641263434915E-30
F(303616.06263376516) = LineSearchPoint{point=PointSample{avg=2.467055270194814E-32}, derivative=-1.6629438539510186E-37}, evalInputDelta = -2.979425795231477E-32
F(2125312.4384363564) = LineSearchPoint{point=PointSample{avg=8.133983766810203E-31}, derivative=9.625792880527916E-37}, evalInputDelta = 7.589335660267574E-31
F(163485.57218741204) = LineSearchPoint{point=PointSample{avg=4.518156986049605E-32}, derivative=-2.2949553802384216E-37}, evalInputDelta = -9.28324079376686E-33
F(1144399.0053118842) = LineSearchPoint{point=PointSample{avg=1.5951537906932313E-31}, derivative=3.898332661114506E-37}, evalInputDelta = 1.0505056841506022E-31
F(88030.69271629878) = LineSearchPoint{point=PointSample{avg=5.190914423952706E-32}, derivative=-2.4614932884257744E-37}, evalInputDelta = -2.5556664147358533E-33
F(616214.8490140915) = LineSearchPoint{point=PointSample{avg=2.342592679367002E-32}, derivative=9.255378919182574E-38}, evalInputDelta = -3.1038883860592886E-32
2.342592679367002E-32 <= 5.446481065426291E-32
F(450760.60550717707) = LineSearchPoint{point=PointSample{avg=1.6824352478609306E-32}, derivative=-1.3246774975994507E-37}, evalInputDelta = -3.7640458175653603E-32
Left bracket at 450760.60550717707
F(548161.7317624398) = LineSearchPoint{point=PointSample{avg=1.6921534857758807E-32}, derivative=-1.5383143556215789E-38}, evalInputDelta = -3.75432757965041E-32
1.6921534857758807E-32 > 1.6824352478609306E-32
Fitness changed from 5.446481065426291E-32 to 9.717619409005766E-33
Iteration 2 complete. Error: 9.717619409005766E-33 Total: 31.4983; Orientation: 0.7729; Line Search: 30.3156
Final threshold in iteration 2: 9.717619409005766E-33 (> 0.0) after 59.344s (< 30.000s)

Returns

    9.717619409005766E-33

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 230.36 seconds (7.980 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: 10394655467202
Reset training subject: 10395053461071
Adding measurement 6b78515f to history. Total: 0
LBFGS Accumulation History: 1 points
Constructing line search parameters: GD
Non-optimal measurement 4.0214584972119347E-5 < 4.0214584972119347E-5. Total: 1
th(0)=4.0214584972119347E-5;dx=-1.8617863413017496E-10
Adding measurement f3267ef to history. Total: 1
New Minimum: 4.0214584972119347E-5 > 4.021418386341164E-5
WOLFE (weak): th(2.154434690031884)=4.021418386341164E-5; dx=-1.861777056355043E-10 evalInputDelta=4.011087077038884E-10
Adding measurement b204582 to history. Total: 2
New Minimum: 4.021418386341164E-5 > 4.0213782756703445E-5
WOLFE (weak): th(4.308869380063768)=4.0213782756703445E-5; dx=-1.8617677714079996E-10 evalInputDelta=8.022154159018015E-10
Adding measurement 2f2e5364 to history. Total: 3
New Minimum: 4.0213782756703445E-5 > 4.0212178349878595E-5
WOLFE (weak): th(12.926608140191302)=4.0212178349878595E-5; dx=-1.8617306316200488E-10 evalInputDelta=2.406622240752024E-9
Adding measurement 36e22352 to history. Total: 4
New Minimum: 4.0212178349878595E-5 > 4.020495891523903E-5
WOLFE (weak): th(51.70643256076521)=4.020495891523903E-5; dx=-1.8615635025749515E-10 evalInputDelta=9.62605688031409E-9
Adding measurement 4ffdd76 to history. Total: 5
New Minimum: 4.020495891523903E-5 > 4.0166466209914154E-5
WOLFE (weak): th(258.53216280382605)=4.0166466209914154E-5; dx=-1.860672147668879E-10 evalInputDelta=4.811876220519256E-8
Adding measurement 2d21d694 to history. Total: 6
New Minimum: 4.0166466209914154E-5 > 3.9926304481224254E-5
WOLFE (weak): th(1551.1929768229563)=3.9926304481224254E-5; dx=-1.855101179503463E-10 evalInputDelta=2.8828049089509234E-7
Adding measurement 5d1ce015 to history. Total: 7
New Minimum: 3.9926304481224254E-5 > 3.8218398485513954E-5
WOLFE (weak): th(10858.350837760694)=3.8218398485513954E-5; dx=-1.8149902087120849E-10 evalInputDelta=1.996186486605393E-6
Adding measurement 3ff11fa6 to history. Total: 8
New Minimum: 3.8218398485513954E-5 > 2.566785379070815E-5
END: th(86866.80670208555)=2.566785379070815E-5; dx=-1.487417280583161E-10 evalInputDelta=1.4546731181411197E-5
Fitness changed from 4.0214584972119347E-5 to 2.566785379070815E-5
Iteration 1 complete. Error: 2.566785379070815E-5 Total: 16.4617; Orientation: 1.0986; Line Search: 14.1471
Non-optimal measurement 2.566785379070815E-5 < 2.566785379070815E-5. Total: 9
Rejected: LBFGS Orientation magnitude: 4.709e+00, gradient 1.090e-05, dot -1.000; [51d0c2b0-8caa-4b5c-88cf-eef604e6f1f1 = 1.000/1.000e+00, 352005f9-9d4f-42c5-98c7-bd7dc251053e = 1.000/1.000e+00, d52329c3-43df-4a6c-a450-6c9947738e35 = 1.000/1.000e+00, 9fa69b1d-931a-4546-aea4-5b3cf2fc41ca = 1.000/1.000e+00, d0f9ffa9-3c75-4eff-99df-87dcc5ec7741 = 1.000/1.000e+00]
Orientation rejected. Popping history element from 2.566785379070815E-5, 3.8218398485513954E-5, 3.9926304481224254E-5, 4.0166466209914154E-5, 4.020495891523903E-5, 4.0212178349878595E-5, 4.0213782756703445E-5, 4.021418386341164E-5, 4.0214584972119347E-5
Rejected: LBFGS Orientation magnitude: 4.709e+00, gradient 1.090e-05, dot -1.000; [d52329c3-43df-4a6c-a450-6c9947738e35 = 1.000/1.000e+00, 9fa69b1d-931a-4546-aea4-5b3cf2fc41ca = 1.000/1.000e+00, d0f9ffa9-3c75-4eff-99df-87dcc5ec7741 = 1.000/1.000e+00, 51d0c2b0-8caa-4b5c-88cf-eef604e6f1f1 = 1.000/1.000e+00, 352005f9-9d4f-42c5-98c7-bd7dc251053e = 1.000/1.000e+00]
Orientation rejected. Popping history element from 2.566785379070815E-5, 3.8218398485513954E-5, 3.9926304481224254E-5, 4.0166466209914154E-5, 4.020495891523903E-5, 4.0212178349878595E-5, 4.0213782756703445E-5, 4.021418386341164E-5
Rejected: LBFGS Orientation magnitude: 4.709e+00, gradient 1.090e-05, dot -1.000; [d52329c3-43df-4a6c-a450-6c9947738e35 = 1.000/1.000e+00, d0f9ffa9-3c75-4eff-99df-87dcc5ec7741 = 1.000/1.000e+00, 352005f9-9d4f-42c5-98c7-bd7dc251053e = 1.000/1.000e+00, 9fa69b1d-931a-4546-aea4-5b3cf2fc41ca = 1.000/1.000e+00, 51d0c2b0-8caa-4b5c-88cf-eef604e6f1f1 = 1.000/1.000e+00]
Orientation rejected. Popping history element from 2.566785379070815E-5, 3.8218398485513954E-5, 3.9926304481224254E-5, 4.0166466209914154E-5, 4.020495891523903E-5, 4.0212178349878595E-5, 4.0213782756703445E-5
Rejected: LBFGS Orientation magnitude: 4.709e+00, gradient 1.090e-05, dot -1.000; [d52329c3-43df-4a6c-a450-6c9947738e35 = 1.000/1.000e+00, d0f9ffa9-3c75-4eff-99df-87dcc5ec7741 = 1.000/1.000e+00, 9fa69b1d-931a-4546-aea4-5b3cf2fc41ca = 1.000/1.000e+00, 352005f9-9d4f-42c5-98c7-bd7dc251053e = 1.000/1.000e+00, 51d0c2b0-8caa-4b5c-88cf-eef604e6f1f1 = 1.000/1.000e+00]
Orientation rejected. Popping history element from 2.566785379070815E-5, 3.8218398485513954E-5, 3.9926304481224254E-5, 4.0166466209914154E-5, 4.020495891523903E-5, 4.0212178349878595E-5
Rejected: LBFGS Orientation magnitude: 4.709e+00, gradient 1.090e-05, dot -1.000; [51d0c2b0-8caa-4b5c-88cf-eef604e6f1f1 = 1.000/1.000e+00, d52329c3-43df-4a6c-a450-6c9947738e35 = 1.000/1.000e+00, 9fa69b1d-931a-4546-aea4-5b3cf2fc41ca = 1.000/1.000e+00, 352005f9-9d4f-42c5-98c7-bd7dc251053e = 1.000/1.000e+00, d0f9ffa9-3c75-4eff-99df-87dcc5ec7741 = 1.000/1.000e+00]
Orientation rejected. Popping history element from 2.566785379070815E-5, 3.8218398485513954E-5, 3.9926304481224254E-5, 4.0166466209914154E-5, 4.020495891523903E-5
Rejected: LBFGS Orientation magnitude: 4.709e+00, gradient 1.090e-05, dot -1.000; [d0f9ffa9-3c75-4eff-99df-87dcc5ec7741 = 1.000/1.000e+00, d52329c3-43df-4a6c-a450-6c9947738e35 = 1.000/1.000e+00, 51d0c2b0-8caa-4b5c-88cf-eef604e6f1f1 = 1.000/1.000e+00, 352005f9-9d4f-42c5-98c7-bd7dc251053e = 1.000/1.000e+00, 9fa69b1d-931a-4546-aea4-5b3cf2fc41ca = 1.000/1.000e+00]
Orientation rejected. Popping history element from 2.566785379070815E-5, 3.8218398485513954E-5, 3.9926304481224254E-5, 4.0166466209914154E-5
LBFGS Accumulation History: 3 points
Removed measurement 3ff11fa6 to history. Total: 8
Removed measurement 5d1ce015 to history. Total: 7
Removed measurement 2d21d694 to history. Total: 6
Removed measurement 4ffdd76 to history. Total: 5
Removed measurement 36e22352 to history. Total: 4
Removed measurement 2f2e5364 to history. Total: 3
Adding measurement 9c0c629 to history. Total: 3
th(0)=2.566785379070815E-5;dx=-1.1883265643848139E-10
Adding measurement 9e63a5a to history. Total: 4
New Minimum: 2.566785379070815E-5 > 8.24567698213652E-6
END: th(187148.86177126726)=8.24567698213652E-6; dx=-6.735257219375211E-11 evalInputDelta=1.742217680857163E-5
Fitness changed from 2.566785379070815E-5 to 8.24567698213652E-6
Iteration 2 complete. Error: 8.24567698213652E-6 Total: 213.8936; Orientation: 210.7386; Line Search: 2.7504
Final threshold in iteration 2: 8.24567698213652E-6 (> 0.0) after 230.356s (< 30.000s)

Returns

    8.24567698213652E-6

Training Converged

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

    return TestUtil.compare(title + " vs Iteration", runs);
Logging
Plotting range=[1.0, -32.012440114102546], [5.0, -4.590610443203096]; valueStats=DoubleSummaryStatistics{count=9, sum=0.000068, min=0.000000, average=0.000008, max=0.000026}
Plotting 5 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, -32.012440114102546], [213.893, -4.590610443203096]; valueStats=DoubleSummaryStatistics{count=9, sum=0.000068, min=0.000000, average=0.000008, max=0.000026}
Plotting 5 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": 8.24567698213652E-6 }, "CjGD": { "type": "Converged", "value": 9.717619409005766E-33 }, "GD": { "type": "Converged", "value": 8.26612898039867E-14 } }, "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": 8.24567698213652E-6 }, "CjGD": { "type": "Converged", "value": 9.717619409005766E-33 }, "GD": { "type": "Converged", "value": 8.26612898039867E-14 } }, "model":null, "complete":null}OK
  {
    "result": "OK",
    "performance": {
      "execution_time": "325.088",
      "gc_time": "14.894"
    },
    "created_on": 1586744932471,
    "file_name": "trainingTest",
    "report": {
      "simpleName": "Negative",
      "canonicalName": "com.simiacryptus.mindseye.layers.cudnn.BandAvgReducerLayerTest.Negative",
      "link": "https://github.com/SimiaCryptus/mindseye-cudnn/tree/59d5b3318556370acb2d83ee6ec123ce0fc6974f/src/test/java/com/simiacryptus/mindseye/layers/cudnn/BandAvgReducerLayerTest.java",
      "javaDoc": ""
    },
    "training_analysis": {
      "input": {
        "LBFGS": {
          "type": "NonConverged",
          "value": 8.24567698213652E-6
        },
        "CjGD": {
          "type": "Converged",
          "value": 9.717619409005766E-33
        },
        "GD": {
          "type": "Converged",
          "value": 8.26612898039867E-14
        }
      }
    },
    "archive": "s3://code.simiacrypt.us/tests/com/simiacryptus/mindseye/layers/cudnn/BandAvgReducerLayer/Negative/trainingTest/202004132852",
    "id": "ef6bcc5f-984f-4500-b6b5-953484e0fb84",
    "report_type": "Components",
    "display_name": "Comparative Training",
    "target": {
      "simpleName": "BandAvgReducerLayer",
      "canonicalName": "com.simiacryptus.mindseye.layers.cudnn.BandAvgReducerLayer",
      "link": "https://github.com/SimiaCryptus/mindseye-cudnn/tree/59d5b3318556370acb2d83ee6ec123ce0fc6974f/src/main/java/com/simiacryptus/mindseye/layers/cudnn/BandAvgReducerLayer.java",
      "javaDoc": ""
    }
  }