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:88 executed in 150.51 seconds (3.018 gc):

    val lineSearchInstance: LineSearchStrategy = lineSearchFactory
    val trainer = new IterativeTrainer(trainable)
    trainer.setOrientation(orientation())
    trainer.setMonitor(new TrainingMonitor() {
      override def clear(): Unit = trainingMonitor.clear()
  
      override def log(msg: String): Unit = {
        trainingMonitor.log(msg)
        BasicOptimizer.this.log(msg)
      }
  
      override def onStepFail(currentPoint: Step): Boolean = {
        BasicOptimizer.this.onStepFail(trainable.addRef().asInstanceOf[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.addRef().asInstanceOf[Trainable], currentPoint)
        trainingMonitor.onStepComplete(currentPoint)
        super.onStepComplete(currentPoint)
      }
    })
    trainer.setTimeout(trainingMinutes, TimeUnit.MINUTES)
    trainer.setMaxIterations(trainingIterations)
    trainer.setLineSearchFactory((_: CharSequence) => lineSearchInstance)
    trainer.setTerminateThreshold(java.lang.Double.NEGATIVE_INFINITY)
    val result = trainer.run.asInstanceOf[lang.Double]
    trainer.freeRef()
    result

Logging:

    Reset training subject: 7738493575743
    Reset training subject: 7741669158273
    Adding measurement 6b49383d to history. Total: 0
    LBFGS Accumulation History: 1 points
    Constructing line search parameters: GD+Trust
    th(0)=21.17348806245718;dx=-1.1582907097369581E-5
    New Minimum: 21.17348806245718 > 21.17343678860925
    WOLFE (weak): th(2.154434690031884)=21.17343678860925; dx=-1.156212478786337E-5 evalInputDelta=5.127384793013334E-5
    New Minimum: 21.17343678860925 > 21.17338598286733
    END: th(4.308869380063768)=21.17338598286733; dx=-9.612417733340805E-6 evalInputDelta=1.0207958985120058E-4
    Fitness changed from 21.17348806245718 to 21.17338598286733
    Iteration 1 complete. Error: 21.17338598286733 Total: 19.2231; Orientation: 0.0029; Line Search: 9.6764
    <a id="p-3"></a>Iteration 1
    <a id="p-2"></a>![Iteration 1](etc/efd7af1d-a414-4ca3-8c89-90759c6100f1.jpg)
    
    Adding measurement f0828e5 to history. Total: 1
    LBFGS Accumulation History: 2 points
    th(0)=21.17338598286733;dx=-1.2906177215885228E-5
    New Minimum: 21.17338598286733 > 21.173159772530198
    WOLFE (weak): th(9.283177667225559)=21.173159772530198; dx=-1.294751700814892E-5 evalInputDelta=2.262103371322155E-4
    New Minimum: 21.173159772530198 > 21.172932584304363
    WOLFE (weak): th(18.566355334451117)=21.172932584304363; dx=-1.3086086955502455E-5 evalInputDelta=4.5339856296777725E-4
    New Minimum: 21.172932584304363 > 21.172020066645928
    WOLFE (weak): th(55.69906600335335)=21.172020066645928; dx=-1.3348433532100462E-5 evalInputDelta=0.0013659162214025855
    WOLFE (weak): th(222.7962640134134)=21.17208044999279; dx=-1.3105373543836058E-5 evalInputDelta=0.0013055328745394945
    New Minimum: 21.172020066645928 > 21.14945677248761
    END: th(1113.981320067067)=21.14945677248761; dx=-1.1029946598282945E-5 evalInputDelta=0.023929210379719734
    Fitness changed from 21.17338598286733 to 21.14945677248761
    Iteration 2 complete. Error: 21.14945677248761 Total: 23.8444; Orientation: 0.0032; Line Search: 19.0861
    <a id="p-5"></a>Iteration 2
    <a id="p-4"></a>![Iteration 2](etc/78be328a-3ecb-4901-a8a3-eaf18de3c259.jp

...skipping 5441 bytes...

    inimum: 12.893367640674114 > 8.67634429037571
    WOLF (strong): th(1440000.0000000007)=8.67634429037571; dx=7.105174609152525E-5 evalInputDelta=4.217023350298405
    END: th(720000.0000000003)=9.97891305014491; dx=-6.926634392540265E-7 evalInputDelta=2.9144545905292034
    Fitness changed from 12.893367640674114 to 8.67634429037571
    Iteration 9 complete. Error: 8.67634429037571 Total: 12.7924; Orientation: 0.2106; Line Search: 9.4602
    Adding measurement 75b7f494 to history. Total: 3
    Rejected: LBFGS Orientation magnitude: 4.579e+03, gradient 1.481e+00, dot -0.037; [1eea5178-77d3-4e49-bd6e-15510eb7fb61 = 1.000/1.000e+00]
    Orientation rejected. Popping history element from 8.67634429037571, 21.14945677248761, 21.17338598286733, 21.17348806245718
    LBFGS Accumulation History: 3 points
    Removed measurement 75b7f494 to history. Total: 3
    th(0)=8.67634429037571;dx=-1.982673463622172
    Armijo: th(1551192.9768229572)=72.56173132359982; dx=-5.116537898342771E-7 evalInputDelta=-63.885387033224106
    Armijo: th(775596.4884114786)=71.3979252781719; dx=-1.8372028684039775E-7 evalInputDelta=-62.72158098779619
    Armijo: th(258532.16280382618)=67.18605563882738; dx=2.0686011844418857E-6 evalInputDelta=-58.509711348451674
    Armijo: th(64633.040700956546)=52.51930516771972; dx=3.7894842389635315E-5 evalInputDelta=-43.84296087734401
    Armijo: th(12926.608140191309)=20.165984290651977; dx=1.44685508582327E-4 evalInputDelta=-11.489640000276268
    Armijo: th(2154.4346900318847)=9.161603044718504; dx=-2.5628110167423177E-5 evalInputDelta=-0.4852587543427944
    New Minimum: 8.67634429037571 > 8.65229469910264
    END: th(307.7763842902692)=8.65229469910264; dx=-2.112137144003181E-5 evalInputDelta=0.02404959127306938
    Fitness changed from 8.67634429037571 to 8.65229469910264
    Iteration 10 complete. Error: 8.65229469910264 Total: 28.9463; Orientation: 0.3584; Line Search: 25.4082
    <a id="p-13"></a>Iteration 10
    <a id="p-12"></a>![Iteration 10](etc/f815c66e-6891-4d6a-8365-fad6a5b718e4.jpg)
    
    Final threshold in iteration 11: 8.65229469910264 (> -Infinity) after 150.508s (< 1800.000s)
    

Returns:

    8.65229469910264