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 4852.45 seconds (45.036 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: 5301438066836
    Reset training subject: 5372663271258
    Adding measurement 2ce71789 to history. Total: 0
    LBFGS Accumulation History: 1 points
    Constructing line search parameters: GD+Trust
    th(0)=2.119974374771118;dx=-1.5418463238854803E-7
    New Minimum: 2.119974374771118 > 2.1199743151664734
    WOLFE (weak): th(2.154434690031884)=2.1199743151664734; dx=-1.506733290655823E-7 evalInputDelta=5.9604644775390625E-8
    Armijo: th(4.308869380063768)=2.1199744045734406; dx=-1.5070674823290898E-7 evalInputDelta=-2.9802322387695312E-8
    WOLFE (weak): th(3.2316520350478255)=2.119974359869957; dx=-1.5059822478550278E-7 evalInputDelta=1.4901161193847656E-8
    Armijo: th(3.7702607075557966)=2.119974434375763; dx=-1.507690264174537E-7 evalInputDelta=-5.9604644775390625E-8
    Armijo: th(3.500956371301811)=2.1199744790792465; dx=-1.5062608093852186E-7 evalInputDelta=-1.043081283569336E-7
    Armijo: th(3.3663042031748183)=2.1199744790792465; dx=-1.507483409524928E-7 evalInputDelta=-1.043081283569336E-7
    Armijo: th(3.2989781191113217)=2.119974449276924; dx=-1.503488807712034E-7 evalInputDelta=-7.450580596923828E-8
    Armijo: th(3.2653150770795736)=2.119974449276924; dx=-1.5079836017245986E-7 evalInputDelta=-7.450580596923828E-8
    Armijo: th(3.2484835560636993)=2.1199744194746017; dx=-1.508285069014759E-7 evalInputDelta=-4.470348358154297E-8
    Armijo: th(3.2400677955557624)=2.1199744194746017; dx=-1.5090352940859625E-7 evalInputDelta=-4.470348358154297E-8
    Armijo: th(3.235859915301794)=2.1199744194746017; dx=-1.504929401636819E-7 evalInputDelta=-4.470348358154297E-8
    Armijo: th(3.2337559751748097)=2.1199744194746017; dx=-1.5080629091029392E-7 evalInputDelta=-4.470348358154297E-8
    Armijo: th(3.2327040051113176)=2.1199744194746017; dx=-1.5070849614894966E-7 evalInputDelta=-4.470348358154297E-8
    Armijo: th(3.2321780200795716)=2.1199744194746017; dx=-1.5076972128283167E-7 evalInputDelta=-4.470348358154297E-8
    Armijo: th(3.2319150275636988)=2.1199744194746017; dx=-1.5072990337746596E-7 evalInputDelta=-4.470348358154297E-8
    WOLFE (weak): th(3.231783531

...skipping 8143 bytes...

    .1749; Line Search: 143.1951
    Adding measurement 1d717218 to history. Total: 3
    Rejected: LBFGS Orientation magnitude: 1.483e+04, gradient 1.906e-04, dot -0.231; [6a336c06-c34d-421f-a8ba-9ca98b545618 = 1.000/1.000e+00]
    Orientation rejected. Popping history element from -5.585434056818485, -0.3819289356470108, 2.1199743151664734, 2.119974374771118
    LBFGS Accumulation History: 3 points
    Removed measurement 1d717218 to history. Total: 3
    th(0)=-5.585434056818485;dx=-3.615229177471772E-8
    Armijo: th(1.1340605621337894E8)=-4.4037768840789795; dx=7.442675148602401E-9 evalInputDelta=-1.1816571727395058
    New Minimum: -5.585434056818485 > -5.6005358174443245
    END: th(5.670302810668947E7)=-5.6005358174443245; dx=-4.2879654986210707E-10 evalInputDelta=0.015101760625839233
    Fitness changed from -5.585434056818485 to -5.6005358174443245
    Iteration 9 complete. Error: -5.6005358174443245 Total: 301.2781; Orientation: 7.0428; Line Search: 227.0161
    Adding measurement 314b437f to history. Total: 3
    Rejected: LBFGS Orientation magnitude: 1.292e+04, gradient 1.970e-04, dot -0.182; [6a336c06-c34d-421f-a8ba-9ca98b545618 = 1.000/1.000e+00]
    Orientation rejected. Popping history element from -5.6005358174443245, -0.3819289356470108, 2.1199743151664734, 2.119974374771118
    LBFGS Accumulation History: 3 points
    Removed measurement 314b437f to history. Total: 3
    th(0)=-5.6005358174443245;dx=-3.8630512532094114E-8
    Armijo: th(1.2216297078290471E8)=-4.433096192777157; dx=1.0165870726975152E-8 evalInputDelta=-1.1674396246671677
    New Minimum: -5.6005358174443245 > -5.818886764347553
    END: th(6.108148539145236E7)=-5.818886764347553; dx=6.811509926840496E-10 evalInputDelta=0.21835094690322876
    Fitness changed from -5.6005358174443245 to -5.818886764347553
    Iteration 10 complete. Error: -5.818886764347553 Total: 292.4506; Orientation: 6.9407; Line Search: 215.4352
    <a id="p-13"></a>Iteration 10
    <a id="p-12"></a>![Iteration 10](etc/f94f972b-26c9-461e-980a-16294e07f77e.jpg)
    
    Final threshold in iteration 11: -5.818886764347553 (> -Infinity) after 4852.453s (< 5400.000s)
    

Returns:

    -5.818886764347553