Iteration 1 Iteration 1

Iteration 2 Iteration 2

Iteration 3 Iteration 3

Iteration 4 Iteration 4

Iteration 5 Iteration 5

Iteration 10 Iteration 10

Code from BasicOptimizer.scala:75 executed in 5495.69 seconds (251.169 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: 696351421133200
    Reset training subject: 696466333262200
    Adding measurement 3c33ea0 to history. Total: 0
    LBFGS Accumulation History: 1 points
    Constructing line search parameters: GD+Trust
    th(0)=-2.861031660810113;dx=-4.939188768564559E-7
    New Minimum: -2.861031660810113 > -2.8610317651182413
    WOLFE (weak): th(2.154434690031884)=-2.8610317651182413; dx=-4.523982398325485E-7 evalInputDelta=1.043081283569336E-7
    New Minimum: -2.8610317651182413 > -2.861031910404563
    WOLFE (weak): th(4.308869380063768)=-2.861031910404563; dx=-4.5237107824746143E-7 evalInputDelta=2.4959444999694824E-7
    New Minimum: -2.861031910404563 > -2.8610330875962973
    WOLFE (weak): th(12.926608140191302)=-2.8610330875962973; dx=-4.523676974789879E-7 evalInputDelta=1.426786184310913E-6
    New Minimum: -2.8610330875962973 > -2.861038012430072
    WOLFE (weak): th(51.70643256076521)=-2.861038012430072; dx=-4.523798823659781E-7 evalInputDelta=6.3516199588775635E-6
    New Minimum: -2.861038012430072 > -2.8610636964440346
    WOLFE (weak): th(258.53216280382605)=-2.8610636964440346; dx=-4.523679015393298E-7 evalInputDelta=3.203563392162323E-5
    New Minimum: -2.8610636964440346 > -2.8612239211797714
    WOLFE (weak): th(1551.1929768229563)=-2.8612239211797714; dx=-4.5231754998669954E-7 evalInputDelta=1.9226036965847015E-4
    New Minimum: -2.8612239211797714 > -2.862376518547535
    WOLFE (weak): th(10858.350837760694)=-2.862376518547535; dx=-4.519360463967918E-7 evalInputDelta=0.0013448577374219894
    New Minimum: -2.862376518547535 > -2.871685702353716
    WOLFE (weak): th(86866.80670208555)=-2.871685702353716; dx=-4.487381136023594E-7 evalInputDelta=0.010654041543602943
    New Minimum: -2.871685702353716 > -2.948732379823923
    END: th(781801.26031877)=-2.948732379823923; dx=-4.0902038313911087E-7 evalInputDelta=0.08770071901381016
    Fitness changed from -2.861031660810113 to -2.948732379823923
    Iteration 1 complete. Error: -2.948732379823923 Total: 1441.0180; Orientation: 0.1968; Line Search: 1106.9639
    <a id="p-3"></a>Iteration 1
    <a id="p-2"></a>![It

...skipping 6802 bytes...

    04, dot -0.709; [806aa4c2-d210-426a-8103-34abf18e7e21 = 1.000/1.000e+00]
    Orientation rejected. Popping history element from -3.73498946800828, -3.771560600027442, -3.817552223801613, -3.8427141197025776
    LBFGS Accumulation History: 3 points
    Removed measurement 56af0282 to history. Total: 4
    th(0)=-3.8427141197025776;dx=-1.1020363597533385E-7
    Armijo: th(4.8862578769923136E7)=-3.297467175871134; dx=-1.547599122253753E-8 evalInputDelta=-0.5452469438314438
    New Minimum: -3.8427141197025776 > -3.8490302823483944
    END: th(2.4431289384961568E7)=-3.8490302823483944; dx=-3.9225721974218455E-8 evalInputDelta=0.006316162645816803
    Fitness changed from -3.8427141197025776 to -3.8490302823483944
    Iteration 10 complete. Error: -3.8490302823483944 Total: 436.4845; Orientation: 4.4073; Line Search: 332.6899
    <a id="p-13"></a>Iteration 10
    <a id="p-12"></a>![Iteration 10](etc/32644b35-227b-4573-a04d-35a746541e8c.jpg)
    
    Adding measurement bfaa7d3 to history. Total: 3
    Rejected: LBFGS Orientation magnitude: 1.672e+04, gradient 3.175e-04, dot -0.707; [806aa4c2-d210-426a-8103-34abf18e7e21 = 1.000/1.000e+00]
    Orientation rejected. Popping history element from -3.771560600027442, -3.817552223801613, -3.8427141197025776, -3.8490302823483944
    LBFGS Accumulation History: 3 points
    Removed measurement 21ee40b7 to history. Total: 4
    th(0)=-3.8490302823483944;dx=-1.0081592484348577E-7
    Armijo: th(5.263561737316893E7)=-3.2675390280783176; dx=-1.8285378035582302E-8 evalInputDelta=-0.5814912542700768
    Armijo: th(2.6317808686584465E7)=-3.8342051915824413; dx=-3.592373566028227E-8 evalInputDelta=-0.014825090765953064
    New Minimum: -3.8490302823483944 > -4.040364656597376
    END: th(8772602.895528154)=-4.040364656597376; dx=-6.114530096545454E-8 evalInputDelta=0.19133437424898148
    Fitness changed from -3.8490302823483944 to -4.040364656597376
    Iteration 11 complete. Error: -4.040364656597376 Total: 544.4722; Orientation: 4.4059; Line Search: 432.7921
    Final threshold in iteration 11: -4.040364656597376 (> -Infinity) after 5495.685s (< 5400.000s)
    

Returns:

    -4.040364656597376