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

Iteration 30 Iteration 30

Code from BasicOptimizer.scala:75 executed in 1659.44 seconds (12.011 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: 752951965434700
    Reset training subject: 752965217368400
    Adding measurement 65036e8d to history. Total: 0
    LBFGS Accumulation History: 1 points
    Constructing line search parameters: GD+Trust
    th(0)=4.926526080816984;dx=-6.200084327038333E-7
    New Minimum: 4.926526080816984 > 4.926524940878153
    WOLFE (weak): th(2.154434690031884)=4.926524940878153; dx=-6.154815716730846E-7 evalInputDelta=1.1399388313293457E-6
    New Minimum: 4.926524940878153 > 4.926522541791201
    WOLFE (weak): th(4.308869380063768)=4.926522541791201; dx=-6.154403747421761E-7 evalInputDelta=3.5390257835388184E-6
    New Minimum: 4.926522541791201 > 4.926514230668545
    WOLFE (weak): th(12.926608140191302)=4.926514230668545; dx=-6.154893666949678E-7 evalInputDelta=1.1850148439407349E-5
    New Minimum: 4.926514230668545 > 4.926478378474712
    WOLFE (weak): th(51.70643256076521)=4.926478378474712; dx=-6.155054687481672E-7 evalInputDelta=4.770234227180481E-5
    New Minimum: 4.926478378474712 > 4.926286868751049
    WOLFE (weak): th(258.53216280382605)=4.926286868751049; dx=-6.154722082822465E-7 evalInputDelta=2.392120659351349E-4
    New Minimum: 4.926286868751049 > 4.925089195370674
    WOLFE (weak): th(1551.1929768229563)=4.925089195370674; dx=-6.154673077580165E-7 evalInputDelta=0.0014368854463100433
    New Minimum: 4.925089195370674 > 4.916469417512417
    WOLFE (weak): th(10858.350837760694)=4.916469417512417; dx=-6.148157986000982E-7 evalInputDelta=0.010056663304567337
    New Minimum: 4.916469417512417 > 4.846456196159124
    WOLFE (weak): th(86866.80670208555)=4.846456196159124; dx=-6.089789413638671E-7 evalInputDelta=0.0800698846578598
    New Minimum: 4.846456196159124 > 4.245130263268948
    END: th(781801.26031877)=4.245130263268948; dx=-5.432551856644669E-7 evalInputDelta=0.6813958175480366
    Fitness changed from 4.926526080816984 to 4.245130263268948
    Iteration 1 complete. Error: 4.245130263268948 Total: 165.2214; Orientation: 0.0139; Line Search: 126.6677
    <a id="p-3"></a>Iteration 1
    <a id="p-2"></a>![Iteration 1](etc/976ef3b2-c7d3-4792-9205-8f798c3cf10

...skipping 24729 bytes...

    ebfb045 to history. Total: 3
    Rejected: LBFGS Orientation magnitude: 7.256e+03, gradient 2.431e-04, dot -0.872; [8fef4a11-153c-4c99-871f-6ff28dfb0c65 = 1.000/1.000e+00]
    Orientation rejected. Popping history element from -0.13408929854631424, -0.13409586250782013, -0.14812049269676208, -0.15151463449001312
    LBFGS Accumulation History: 3 points
    Removed measurement 1d7c9811 to history. Total: 4
    th(0)=-0.15151463449001312;dx=-5.903210302869707E-8
    Armijo: th(5875853.919865721)=-0.06716015189886093; dx=-3.5846790477262953E-8 evalInputDelta=-0.08435448259115219
    Armijo: th(2937926.9599328605)=-0.1491307094693184; dx=-4.249608774419855E-8 evalInputDelta=-0.0023839250206947327
    New Minimum: -0.15151463449001312 > -0.16023454815149307
    END: th(979308.9866442868)=-0.16023454815149307; dx=-4.885253626486057E-8 evalInputDelta=0.00871991366147995
    Fitness changed from -0.15151463449001312 to -0.16023454815149307
    Iteration 29 complete. Error: -0.16023454815149307 Total: 68.1333; Orientation: 0.6202; Line Search: 52.9121
    Adding measurement 31f7eb8 to history. Total: 3
    Rejected: LBFGS Orientation magnitude: 6.089e+03, gradient 2.379e-04, dot -0.920; [8fef4a11-153c-4c99-871f-6ff28dfb0c65 = 1.000/1.000e+00]
    Orientation rejected. Popping history element from -0.13409586250782013, -0.14812049269676208, -0.15151463449001312, -0.16023454815149307
    LBFGS Accumulation History: 3 points
    Removed measurement 3ae2702a to history. Total: 4
    th(0)=-0.16023454815149307;dx=-5.656900145806216E-8
    New Minimum: -0.16023454815149307 > -0.1650371477007866
    END: th(2109857.253086422)=-0.1650371477007866; dx=-4.405331082133177E-8 evalInputDelta=0.004802599549293518
    Fitness changed from -0.16023454815149307 to -0.1650371477007866
    Iteration 30 complete. Error: -0.1650371477007866 Total: 41.0990; Orientation: 0.4029; Line Search: 27.6307
    <a id="p-21"></a>Iteration 30
    <a id="p-20"></a>![Iteration 30](etc/bb45ea5a-6bbb-4fb7-98d5-dcbf36104c5e.jpg)
    
    Final threshold in iteration 31: -0.1650371477007866 (> -Infinity) after 1659.438s (< 3600.000s)
    

Returns:

    -0.1650371477007866