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 569.68 seconds (6.279 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: 908597257353000
    Reset training subject: 908601744152600
    Adding measurement 243b6f27 to history. Total: 0
    LBFGS Accumulation History: 1 points
    Constructing line search parameters: GD+Trust
    th(0)=2.0301488414406776;dx=-7.794098075583065E-7
    New Minimum: 2.0301488414406776 > 2.0301478803157806
    WOLFE (weak): th(2.154434690031884)=2.0301478803157806; dx=-7.793956851837282E-7 evalInputDelta=9.611248970031738E-7
    New Minimum: 2.0301478803157806 > 2.030146211385727
    WOLFE (weak): th(4.308869380063768)=2.030146211385727; dx=-7.794068849312675E-7 evalInputDelta=2.6300549507141113E-6
    New Minimum: 2.030146211385727 > 2.030139036476612
    WOLFE (weak): th(12.926608140191302)=2.030139036476612; dx=-7.792826876418684E-7 evalInputDelta=9.804964065551758E-6
    New Minimum: 2.030139036476612 > 2.0301084332168102
    WOLFE (weak): th(51.70643256076521)=2.0301084332168102; dx=-7.791110011914917E-7 evalInputDelta=4.040822386741638E-5
    New Minimum: 2.0301084332168102 > 2.0299475118517876
    WOLFE (weak): th(258.53216280382605)=2.0299475118517876; dx=-7.783329206655738E-7 evalInputDelta=2.0132958889007568E-4
    New Minimum: 2.0299475118517876 > 2.028945155441761
    WOLFE (weak): th(1551.1929768229563)=2.028945155441761; dx=-7.721734261139964E-7 evalInputDelta=0.001203685998916626
    New Minimum: 2.028945155441761 > 2.0219948776066303
    WOLFE (weak): th(10858.350837760694)=2.0219948776066303; dx=-7.189947264542568E-7 evalInputDelta=0.008153963834047318
    New Minimum: 2.0219948776066303 > 1.978629156947136
    END: th(86866.80670208555)=1.978629156947136; dx=-4.899427161233547E-7 evalInputDelta=0.05151968449354172
    Fitness changed from 2.0301488414406776 to 1.978629156947136
    Iteration 1 complete. Error: 1.978629156947136 Total: 52.7397; Orientation: 0.0591; Line Search: 39.8346
    <a id="p-3"></a>Iteration 1
    <a id="p-2"></a>![Iteration 1](etc/1ec347bf-a25b-4de3-b525-11598d04a052.jpg)
    
    Adding measurement 5d2dd62 to history. Total: 1
    LBFGS Accumulation History: 2 points
    th(0)=1.978629156947136;dx=-8.912394336490056E-7
    New Min

...skipping 23813 bytes...

    5948944092
    LBFGS Accumulation History: 3 points
    Removed measurement 89cef1a to history. Total: 4
    th(0)=-0.5207335948944092;dx=-2.2432962850055935E-11
    Armijo: th(7.521093017428122E8)=-0.4991583004593849; dx=6.374805548043898E-11 evalInputDelta=-0.02157529443502426
    Armijo: th(3.760546508714061E8)=-0.5177817121148109; dx=3.319339418271028E-11 evalInputDelta=-0.002951882779598236
    New Minimum: -0.5207335948944092 > -0.5221438109874725
    END: th(1.253515502904687E8)=-0.5221438109874725; dx=-6.072327723762276E-13 evalInputDelta=0.0014102160930633545
    Fitness changed from -0.5207335948944092 to -0.5221438109874725
    Iteration 29 complete. Error: -0.5221438109874725 Total: 24.0121; Orientation: 1.7446; Line Search: 17.8567
    Adding measurement 197115d6 to history. Total: 3
    Rejected: LBFGS Orientation magnitude: 7.839e+03, gradient 4.302e-06, dot -0.678; [d5caebe3-b9aa-43c2-8b2c-dbb8af147df6 = 1.000/1.000e+00]
    Orientation rejected. Popping history element from -0.5157318636775017, -0.5175906866788864, -0.5207335948944092, -0.5221438109874725
    LBFGS Accumulation History: 3 points
    Removed measurement 5e3b72ad to history. Total: 4
    th(0)=-0.5221438109874725;dx=-1.8508059331725046E-11
    New Minimum: -0.5221438109874725 > -0.5221853405237198
    WOLF (strong): th(2.70061728395062E8)=-0.5221853405237198; dx=1.654235195661051E-11 evalInputDelta=4.152953624725342E-5
    New Minimum: -0.5221853405237198 > -0.5233380049467087
    WOLF (strong): th(1.35030864197531E8)=-0.5233380049467087; dx=1.6422453021833144E-13 evalInputDelta=0.001194193959236145
    END: th(4.501028806584367E7)=-0.5228157788515091; dx=-1.1856064384310637E-11 evalInputDelta=6.719678640365601E-4
    Fitness changed from -0.5221438109874725 to -0.5233380049467087
    Iteration 30 complete. Error: -0.5233380049467087 Total: 24.2662; Orientation: 1.7365; Line Search: 18.4759
    <a id="p-21"></a>Iteration 30
    <a id="p-20"></a>![Iteration 30](etc/12484c65-8f19-416d-abdd-795787870b58.jpg)
    
    Final threshold in iteration 31: -0.5233380049467087 (> -Infinity) after 569.678s (< 3600.000s)
    

Returns:

    -0.5233380049467087