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 1623.17 seconds (10.025 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: 3431779367451
    Reset training subject: 3456190437821
    Adding measurement 6ceb497d to history. Total: 0
    LBFGS Accumulation History: 1 points
    Constructing line search parameters: GD+Trust
    th(0)=2.405987471342087;dx=-1.0676997191126638E-7
    New Minimum: 2.405987471342087 > 2.4059873819351196
    WOLFE (weak): th(2.154434690031884)=2.4059873819351196; dx=-1.0497109757710991E-7 evalInputDelta=8.940696716308594E-8
    Armijo: th(4.308869380063768)=2.405987471342087; dx=-1.0480853697177732E-7 evalInputDelta=0.0
    WOLFE (weak): th(3.2316520350478255)=2.4059873819351196; dx=-1.0513331756375567E-7 evalInputDelta=8.940696716308594E-8
    WOLFE (weak): th(3.7702607075557966)=2.4059873819351196; dx=-1.050569378643951E-7 evalInputDelta=8.940696716308594E-8
    Armijo: th(4.039565043809782)=2.405987471342087; dx=-1.0519127291008853E-7 evalInputDelta=0.0
    New Minimum: 2.4059873819351196 > 2.4059873521327972
    WOLFE (weak): th(3.9049128756827893)=2.4059873521327972; dx=-1.0520247611647334E-7 evalInputDelta=1.1920928955078125E-7
    WOLFE (weak): th(3.972238959746286)=2.4059873521327972; dx=-1.0505140183579106E-7 evalInputDelta=1.1920928955078125E-7
    Armijo: th(4.0059020017780345)=2.4059875309467316; dx=-1.0493620511503471E-7 evalInputDelta=-5.9604644775390625E-8
    Armijo: th(3.98907048076216)=2.405987471342087; dx=-1.0508664323110351E-7 evalInputDelta=0.0
    Armijo: th(3.980654720254223)=2.405987471342087; dx=-1.0492081999804973E-7 evalInputDelta=0.0
    WOLFE (weak): th(3.9764468400002544)=2.405987411737442; dx=-1.053360096943366E-7 evalInputDelta=5.9604644775390625E-8
    WOLFE (weak): th(3.9785507801272386)=2.405987411737442; dx=-1.0481409438977401E-7 evalInputDelta=5.9604644775390625E-8
    WOLFE (weak): th(3.9796027501907307)=2.405987411737442; dx=-1.0498310509058265E-7 evalInputDelta=5.9604644775390625E-8
    WOLFE (weak): th(3.980128735222477)=2.405987411737442; dx=-1.0506711447016103E-7 evalInputDelta=5.9604644775390625E-8
    WOLFE (weak): th(3.9803917277383496)=2.405987411737442; dx=-1.0544561898544397E-7 evalInputDelta=5.9604644775390625E-8
    Armijo: 

...skipping 8144 bytes...

    21.2911; Orientation: 2.0049; Line Search: 96.8587
    Adding measurement 6a6ff323 to history. Total: 3
    Rejected: LBFGS Orientation magnitude: 2.909e+03, gradient 8.400e-05, dot -0.158; [3b5ec23d-77ec-4965-bbae-2e89387686a0 = 1.000/1.000e+00]
    Orientation rejected. Popping history element from -3.814577952027321, -0.23191288113594055, 2.4059873521327972, 2.405987471342087
    LBFGS Accumulation History: 3 points
    Removed measurement 6a6ff323 to history. Total: 3
    th(0)=-3.814577952027321;dx=-7.04753432932381E-9
    New Minimum: -3.814577952027321 > -3.88922555744648
    END: th(6.983881072998051E7)=-3.88922555744648; dx=1.8034317735130477E-9 evalInputDelta=0.07464760541915894
    Fitness changed from -3.814577952027321 to -3.88922555744648
    Iteration 9 complete. Error: -3.88922555744648 Total: 74.3752; Orientation: 2.1537; Line Search: 48.1042
    Adding measurement 3267e684 to history. Total: 3
    Rejected: LBFGS Orientation magnitude: 2.559e+03, gradient 1.278e-04, dot -0.087; [3b5ec23d-77ec-4965-bbae-2e89387686a0 = 1.000/1.000e+00]
    Orientation rejected. Popping history element from -3.88922555744648, -0.23191288113594055, 2.4059873521327972, 2.405987471342087
    LBFGS Accumulation History: 3 points
    Removed measurement 3267e684 to history. Total: 3
    th(0)=-3.88922555744648;dx=-1.6288234117618E-8
    Armijo: th(1.5046315654724097E8)=-2.1710797399282455; dx=1.2480468396758235E-8 evalInputDelta=-1.7181458175182343
    Armijo: th(7.523157827362049E7)=-3.5571404099464417; dx=9.228318629127311E-9 evalInputDelta=-0.33208514750003815
    New Minimum: -3.88922555744648 > -4.062432266771793
    END: th(2.5077192757873494E7)=-4.062432266771793; dx=2.3230427049690624E-9 evalInputDelta=0.17320670932531357
    Fitness changed from -3.88922555744648 to -4.062432266771793
    Iteration 10 complete. Error: -4.062432266771793 Total: 125.2078; Orientation: 1.9740; Line Search: 97.9181
    <a id="p-13"></a>Iteration 10
    <a id="p-12"></a>![Iteration 10](etc/884ce44f-2f57-4f24-8552-fc2e7ca0181a.jpg)
    
    Final threshold in iteration 11: -4.062432266771793 (> -Infinity) after 1623.166s (< 5400.000s)
    

Returns:

    -4.062432266771793