Iteration 1 Iteration 1

Iteration 2 Iteration 2

Iteration 3 Iteration 3

Iteration 4 Iteration 4

Iteration 5 Iteration 5

Code from BasicOptimizer.scala:75 executed in 33.76 seconds (1.066 gc):

    val lineSearchInstance: LineSearchStrategy = lineSearchFactory
    IterativeTrainer.wrap(trainable)
      .setOrientation(orientation())
      .setMonitor(new TrainingMonitor() {
        override def clear(): Unit = trainingMonitor.clear()
  
        override def log(msg: String): Unit = trainingMonitor.log(msg)
  
        override def onStepFail(currentPoint: Step): Boolean = {
          BasicOptimizer.this.onStepFail(trainable, currentPoint)
        }
  
        override def onStepComplete(currentPoint: Step): Unit = {
          if (0 < logEvery && (0 == currentPoint.iteration % logEvery || currentPoint.iteration < logEvery)) {
            val image = currentImage
            timelineAnimation += image
            val caption = "Iteration " + currentPoint.iteration
            out.p(caption + "\n" + out.jpg(image, caption))
          }
          BasicOptimizer.this.onStepComplete(trainable, currentPoint)
          trainingMonitor.onStepComplete(currentPoint)
          super.onStepComplete(currentPoint)
        }
      })
      .setTimeout(trainingMinutes, TimeUnit.MINUTES)
      .setMaxIterations(trainingIterations)
      .setLineSearchFactory((_: CharSequence) => lineSearchInstance)
      .setTerminateThreshold(java.lang.Double.NEGATIVE_INFINITY)
      .runAndFree
      .asInstanceOf[lang.Double]

Logging:

    Reset training subject: 919465797768100
    Reset training subject: 919466923332200
    Adding measurement 3c19b714 to history. Total: 0
    LBFGS Accumulation History: 1 points
    Constructing line search parameters: GD+Trust
    th(0)=1.05451500415802;dx=-3.206161947675213E-7
    New Minimum: 1.05451500415802 > 1.0545147359371185
    WOLFE (weak): th(2.154434690031884)=1.0545147359371185; dx=-3.1922275160774375E-7 evalInputDelta=2.682209014892578E-7
    New Minimum: 1.0545147359371185 > 1.0545141100883484
    WOLFE (weak): th(4.308869380063768)=1.0545141100883484; dx=-3.1922249499154663E-7 evalInputDelta=8.940696716308594E-7
    New Minimum: 1.0545141100883484 > 1.0545117855072021
    WOLFE (weak): th(12.926608140191302)=1.0545117855072021; dx=-3.1921915854144224E-7 evalInputDelta=3.2186508178710938E-6
    New Minimum: 1.0545117855072021 > 1.0545020699501038
    WOLFE (weak): th(51.70643256076521)=1.0545020699501038; dx=-3.1922490540735427E-7 evalInputDelta=1.2934207916259766E-5
    New Minimum: 1.0545020699501038 > 1.054450273513794
    WOLFE (weak): th(258.53216280382605)=1.054450273513794; dx=-3.192564075489753E-7 evalInputDelta=6.473064422607422E-5
    New Minimum: 1.054450273513794 > 1.0541262030601501
    WOLFE (weak): th(1551.1929768229563)=1.0541262030601501; dx=-3.191215035122769E-7 evalInputDelta=3.8880109786987305E-4
    New Minimum: 1.0541262030601501 > 1.0517983436584473
    WOLFE (weak): th(10858.350837760694)=1.0517983436584473; dx=-3.1807979339696563E-7 evalInputDelta=0.002716660499572754
    New Minimum: 1.0517983436584473 > 1.0331077873706818
    WOLFE (weak): th(86866.80670208555)=1.0331077873706818; dx=-3.0898325411975686E-7 evalInputDelta=0.021407216787338257
    New Minimum: 1.0331077873706818 > 0.8886667490005493
    END: th(781801.26031877)=0.8886667490005493; dx=-2.289056140106419E-7 evalInputDelta=0.1658482551574707
    Fitness changed from 1.05451500415802 to 0.8886667490005493
    Iteration 1 complete. Error: 0.8886667490005493 Total: 14.7053; Orientation: 0.0148; Line Search: 11.4756
    <a id="p-3"></a>Iteration 1
    <a id="p-2"></a>![Iteration 1](etc/800a8dd9

...skipping 1935 bytes...

    428; Orientation: 0.4181; Line Search: 2.1638
    <a id="p-9"></a>Iteration 4
    <a id="p-8"></a>![Iteration 4](etc/513c0cbd-e68f-42c4-a6d0-577b3767f3f5.jpg)
    
    Adding measurement 6647c370 to history. Total: 3
    Rejected: LBFGS Orientation magnitude: 3.390e+03, gradient 1.713e-04, dot -0.891; [04900789-3786-4ee5-b411-13046e2a0c03 = 1.000/1.000e+00]
    Orientation rejected. Popping history element from 0.8886667490005493, 0.6927840709686279, 0.49178144335746765, 0.30178889632225037
    LBFGS Accumulation History: 3 points
    Removed measurement 4a0803cf to history. Total: 4
    th(0)=0.30178889632225037;dx=-2.933022510691413E-8
    New Minimum: 0.30178889632225037 > 0.1680508255958557
    END: th(1.684339755941405E7)=0.1680508255958557; dx=-6.666041418130172E-9 evalInputDelta=0.13373807072639465
    Fitness changed from 0.30178889632225037 to 0.1680508255958557
    Iteration 5 complete. Error: 0.1680508255958557 Total: 3.6535; Orientation: 0.4137; Line Search: 2.1701
    <a id="p-11"></a>Iteration 5
    <a id="p-10"></a>![Iteration 5](etc/cd526bf3-2688-4662-bdf3-08c9394575fa.jpg)
    
    Adding measurement 6c250216 to history. Total: 3
    Rejected: LBFGS Orientation magnitude: 3.439e+03, gradient 1.504e-04, dot -0.739; [04900789-3786-4ee5-b411-13046e2a0c03 = 1.000/1.000e+00]
    Orientation rejected. Popping history element from 0.6927840709686279, 0.49178144335746765, 0.30178889632225037, 0.1680508255958557
    LBFGS Accumulation History: 3 points
    Removed measurement 74bae6e2 to history. Total: 4
    th(0)=0.1680508255958557;dx=-2.2620922308309265E-8
    Armijo: th(3.6288E7)=0.22341686487197876; dx=2.60152601515053E-9 evalInputDelta=-0.05536603927612305
    New Minimum: 0.1680508255958557 > 0.10815691947937012
    END: th(1.8144E7)=0.10815691947937012; dx=-7.112385771883455E-10 evalInputDelta=0.059893906116485596
    Fitness changed from 0.1680508255958557 to 0.10815691947937012
    Iteration 6 complete. Error: 0.10815691947937012 Total: 5.2856; Orientation: 0.4200; Line Search: 3.7941
    Final threshold in iteration 7: 0.10815691947937012 (> -Infinity) after 33.755s (< 720.000s)
    

Returns:

    0.10815691947937012