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

Code from BasicOptimizer.scala:75 executed in 1683.78 seconds (2.971 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: 852112757395400
    Reset training subject: 852131206578900
    Adding measurement 2f9addd4 to history. Total: 0
    LBFGS Accumulation History: 1 points
    Constructing line search parameters: GD+Trust
    th(0)=-1.3612846285104752;dx=-1.2723181611621147E-8
    Armijo: th(2.154434690031884)=-1.3612846285104752; dx=-1.2723181908106899E-8 evalInputDelta=0.0
    New Minimum: -1.3612846285104752 > -1.3612846434116364
    WOLFE (weak): th(1.077217345015942)=-1.3612846434116364; dx=-1.2723177461718529E-8 evalInputDelta=1.4901161193847656E-8
    WOLFE (weak): th(1.6158260175239127)=-1.3612846434116364; dx=-1.2723177530185299E-8 evalInputDelta=1.4901161193847656E-8
    Armijo: th(1.8851303537778983)=-1.3612846285104752; dx=-1.2723174788269636E-8 evalInputDelta=0.0
    Armijo: th(1.7504781856509055)=-1.3612846285104752; dx=-1.2723177548375939E-8 evalInputDelta=0.0
    WOLFE (weak): th(1.6831521015874091)=-1.3612846434116364; dx=-1.2723177541804098E-8 evalInputDelta=1.4901161193847656E-8
    Armijo: th(1.7168151436191574)=-1.3612846285104752; dx=-1.2723177544889879E-8 evalInputDelta=0.0
    Armijo: th(1.6999836226032832)=-1.3612846285104752; dx=-1.2723177537859413E-8 evalInputDelta=0.0
    WOLFE (weak): th(1.6915678620953463)=-1.3612846434116364; dx=-1.2723177540039665E-8 evalInputDelta=1.4901161193847656E-8
    Armijo: th(1.6957757423493147)=-1.3612846285104752; dx=-1.2723177538709701E-8 evalInputDelta=0.0
    Armijo: th(1.6936718022223305)=-1.3612846285104752; dx=-1.2723177540086762E-8 evalInputDelta=0.0
    Armijo: th(1.6926198321588384)=-1.3612846285104752; dx=-1.272317753959646E-8 evalInputDelta=0.0
    Armijo: th(1.6920938471270923)=-1.3612846285104752; dx=-1.2723177539997587E-8 evalInputDelta=0.0
    Armijo: th(1.6918308546112193)=-1.3612846285104752; dx=-1.272317753983489E-8 evalInputDelta=0.0
    Armijo: th(1.691699358353283)=-1.3612846285104752; dx=-1.272317753976487E-8 evalInputDelta=0.0
    Armijo: th(1.6916336102243146)=-1.3612846285104752; dx=-1.272317753976487E-8 evalInputDelta=0.0
    Armijo: th(1.6916007361598304)=-1.3612846285104752; dx=-1.2723177

...skipping 15365 bytes...

    470703
    END: th(1.0E9)=-5.820911407470703; dx=-9.287003561420999E-12 evalInputDelta=0.014427542686462402
    Fitness changed from -5.806483864784241 to -5.820911407470703
    Iteration 18 complete. Error: -5.820911407470703 Total: 56.9173; Orientation: 1.8573; Line Search: 36.7383
    Adding measurement 283bb8b7 to history. Total: 3
    Rejected: LBFGS Orientation magnitude: 3.717e+04, gradient 1.412e-05, dot -0.433; [c56c99d5-03a8-4251-9a6c-d3001bad9461 = 1.000/1.000e+00]
    Orientation rejected. Popping history element from -5.77172464132309, -5.790372252464294, -5.806483864784241, -5.820911407470703
    LBFGS Accumulation History: 3 points
    Removed measurement 1607d391 to history. Total: 4
    th(0)=-5.820911407470703;dx=-1.9929384034937432E-10
    New Minimum: -5.820911407470703 > -5.83358907699585
    END: th(1.0E9)=-5.83358907699585; dx=-7.797475439102299E-12 evalInputDelta=0.012677669525146484
    Fitness changed from -5.820911407470703 to -5.83358907699585
    Iteration 19 complete. Error: -5.83358907699585 Total: 56.8089; Orientation: 1.8468; Line Search: 36.6023
    Adding measurement 38cf4497 to history. Total: 3
    Rejected: LBFGS Orientation magnitude: 3.389e+04, gradient 1.391e-05, dot -0.433; [c56c99d5-03a8-4251-9a6c-d3001bad9461 = 1.000/1.000e+00]
    Orientation rejected. Popping history element from -5.790372252464294, -5.806483864784241, -5.820911407470703, -5.83358907699585
    LBFGS Accumulation History: 3 points
    Removed measurement 398f0516 to history. Total: 4
    th(0)=-5.83358907699585;dx=-1.9356627665981711E-10
    New Minimum: -5.83358907699585 > -5.845210611820221
    END: th(1.0E9)=-5.845210611820221; dx=-6.587958025366894E-12 evalInputDelta=0.011621534824371338
    Fitness changed from -5.83358907699585 to -5.845210611820221
    Iteration 20 complete. Error: -5.845210611820221 Total: 56.9520; Orientation: 1.8927; Line Search: 36.7516
    <a id="p-17"></a>Iteration 20
    <a id="p-16"></a>![Iteration 20](etc/8a1f1d4b-2e2f-466b-b196-dfa9d0dcf3ca.jpg)
    
    Final threshold in iteration 21: -5.845210611820221 (> -Infinity) after 1683.779s (< 3600.000s)
    

Returns:

    -5.845210611820221