Iteration 1 Iteration 1

Iteration 2 Iteration 2

Iteration 3 Iteration 3

Iteration 4 Iteration 4

Iteration 5 Iteration 5

Iteration 10 Iteration 10

Iteration 15 Iteration 15

Iteration 20 Iteration 20

Iteration 25 Iteration 25

Code from BasicOptimizer.scala:75 executed in 139.79 seconds (1.720 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: 899905590465400
    Reset training subject: 899906822767700
    Adding measurement 722b2728 to history. Total: 0
    LBFGS Accumulation History: 1 points
    Constructing line search parameters: GD+Trust
    th(0)=0.943799152970314;dx=-1.0538915375829345E-7
    New Minimum: 0.943799152970314 > 0.9437990039587021
    WOLFE (weak): th(2.154434690031884)=0.9437990039587021; dx=-1.0538911269161194E-7 evalInputDelta=1.4901161193847656E-7
    New Minimum: 0.9437990039587021 > 0.9437987357378006
    WOLFE (weak): th(4.308869380063768)=0.9437987357378006; dx=-1.0538909430225276E-7 evalInputDelta=4.172325134277344E-7
    New Minimum: 0.9437987357378006 > 0.9437979608774185
    WOLFE (weak): th(12.926608140191302)=0.9437979608774185; dx=-1.0538914036902628E-7 evalInputDelta=1.1920928955078125E-6
    New Minimum: 0.9437979608774185 > 0.9437944889068604
    WOLFE (weak): th(51.70643256076521)=0.9437944889068604; dx=-1.0538874108893619E-7 evalInputDelta=4.664063453674316E-6
    New Minimum: 0.9437944889068604 > 0.9437753856182098
    WOLFE (weak): th(258.53216280382605)=0.9437753856182098; dx=-1.0538637774988718E-7 evalInputDelta=2.3767352104187012E-5
    New Minimum: 0.9437753856182098 > 0.9436562657356262
    WOLFE (weak): th(1551.1929768229563)=0.9436562657356262; dx=-1.0537431801529332E-7 evalInputDelta=1.4288723468780518E-4
    New Minimum: 0.9436562657356262 > 0.9427991360425949
    WOLFE (weak): th(10858.350837760694)=0.9427991360425949; dx=-1.052554137758825E-7 evalInputDelta=0.0010000169277191162
    New Minimum: 0.9427991360425949 > 0.9358227849006653
    WOLFE (weak): th(86866.80670208555)=0.9358227849006653; dx=-1.0442532893105779E-7 evalInputDelta=0.007976368069648743
    New Minimum: 0.9358227849006653 > 0.8741422295570374
    WOLFE (weak): th(781801.26031877)=0.8741422295570374; dx=-9.658762744780775E-8 evalInputDelta=0.06965692341327667
    New Minimum: 0.8741422295570374 > 0.4376789927482605
    END: th(7818012.6031877)=0.4376789927482605; dx=-4.646461204262148E-8 evalInputDelta=0.5061201602220535
    Fitness changed from 0.943799152970314 to 0.4376789927482605

...skipping 20523 bytes...

     92fd091 to history. Total: 3
    Rejected: LBFGS Orientation magnitude: 1.459e+03, gradient 1.286e-05, dot -0.832; [d3e6eff3-eb6b-4f33-a33e-47e24d6104d7 = 1.000/1.000e+00]
    Orientation rejected. Popping history element from -0.4394574910402298, -0.44223225116729736, -0.4440239816904068, -0.4455356001853943
    LBFGS Accumulation History: 3 points
    Removed measurement 17df689e to history. Total: 4
    th(0)=-0.4455356001853943;dx=-1.654166794811469E-10
    New Minimum: -0.4455356001853943 > -0.44740574061870575
    END: th(4.557291666666672E7)=-0.44740574061870575; dx=-5.259699088096986E-11 evalInputDelta=0.0018701404333114624
    Fitness changed from -0.4455356001853943 to -0.44740574061870575
    Iteration 24 complete. Error: -0.44740574061870575 Total: 4.1126; Orientation: 0.4259; Line Search: 2.4651
    Adding measurement 590dea35 to history. Total: 3
    Rejected: LBFGS Orientation magnitude: 1.689e+03, gradient 1.787e-05, dot -0.559; [d3e6eff3-eb6b-4f33-a33e-47e24d6104d7 = 1.000/1.000e+00]
    Orientation rejected. Popping history element from -0.44223225116729736, -0.4440239816904068, -0.4455356001853943, -0.44740574061870575
    LBFGS Accumulation History: 3 points
    Removed measurement 4e9e0c6 to history. Total: 4
    th(0)=-0.44740574061870575;dx=-3.191824698935711E-10
    Armijo: th(9.818387259259897E7)=-0.409396156668663; dx=6.840795188884473E-10 evalInputDelta=-0.038009583950042725
    Armijo: th(4.909193629629949E7)=-0.4415218085050583; dx=3.2540048850185276E-10 evalInputDelta=-0.005883932113647461
    New Minimum: -0.44740574061870575 > -0.4492330849170685
    END: th(1.6363978765433162E7)=-0.4492330849170685; dx=-8.119225844683404E-11 evalInputDelta=0.001827344298362732
    Fitness changed from -0.44740574061870575 to -0.4492330849170685
    Iteration 25 complete. Error: -0.4492330849170685 Total: 6.7367; Orientation: 0.4304; Line Search: 5.1239
    <a id="p-19"></a>Iteration 25
    <a id="p-18"></a>![Iteration 25](etc/4b2cdfb3-61ba-499c-a936-3532678ef417.jpg)
    
    Final threshold in iteration 26: -0.4492330849170685 (> -Infinity) after 139.790s (< 3600.000s)
    

Returns:

    -0.4492330849170685