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 192.33 seconds (6.070 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: 1422918254191600
    Reset training subject: 1422920781218400
    Adding measurement 71b6172c to history. Total: 0
    LBFGS Accumulation History: 1 points
    Constructing line search parameters: GD+Trust
    th(0)=75.88916859775782;dx=-0.002498456991897815
    New Minimum: 75.88916859775782 > 75.88638257049024
    WOLFE (weak): th(2.154434690031884)=75.88638257049024; dx=-0.0025006315957253485 evalInputDelta=0.002786027267575264
    New Minimum: 75.88638257049024 > 75.88290203735232
    WOLFE (weak): th(4.308869380063768)=75.88290203735232; dx=-0.0025025618774919016 evalInputDelta=0.006266560405492783
    New Minimum: 75.88290203735232 > 75.87157259881496
    WOLFE (weak): th(12.926608140191302)=75.87157259881496; dx=-0.0025095453251915826 evalInputDelta=0.01759599894285202
    New Minimum: 75.87157259881496 > 75.82102459855378
    WOLFE (weak): th(51.70643256076521)=75.82102459855378; dx=-0.002540488292149866 evalInputDelta=0.06814399920403957
    New Minimum: 75.82102459855378 > 75.55311139859259
    WOLFE (weak): th(258.53216280382605)=75.55311139859259; dx=-0.002387098459785868 evalInputDelta=0.33605719916522503
    New Minimum: 75.55311139859259 > 73.91387128829956
    END: th(1551.1929768229563)=73.91387128829956; dx=-0.002221256533368851 evalInputDelta=1.9752973094582558
    Fitness changed from 75.88916859775782 to 73.91387128829956
    Iteration 1 complete. Error: 73.91387128829956 Total: 24.8157; Orientation: 0.0134; Line Search: 17.1396
    <a id="p-3"></a>Iteration 1
    <a id="p-2"></a>![Iteration 1](etc/23a9a9d9-03ad-404e-8c36-61eb9bd149a0.jpg)
    
    Adding measurement 662e682a to history. Total: 1
    LBFGS Accumulation History: 2 points
    th(0)=73.91387128829956;dx=-0.0022995877737191123
    New Minimum: 73.91387128829956 > 70.37916477676481
    END: th(3341.943960201201)=70.37916477676481; dx=-0.0019973498638888782 evalInputDelta=3.5347065115347505
    Fitness changed from 73.91387128829956 to 70.37916477676481
    Iteration 2 complete. Error: 70.37916477676481 Total: 7.3585; Orientation: 0.0046; Line Search: 5.0156
    <a id="p-5"></a>Iteration 2
    <a id="p

...skipping 14092 bytes...

    cted. Popping history element from -22.6600840985775, -28.8325457572937, -35.22449982352555, -40.631152076646686
    LBFGS Accumulation History: 3 points
    Removed measurement 23cd5d42 to history. Total: 4
    th(0)=-40.631152076646686;dx=-4.070513500744829E-5
    Armijo: th(1795362.2416932378)=-21.533830769360065; dx=6.268155398085391E-5 evalInputDelta=-19.09732130728662
    New Minimum: -40.631152076646686 > -41.04683396872133
    WOLF (strong): th(897681.1208466189)=-41.04683396872133; dx=2.9092423087012265E-5 evalInputDelta=0.41568189207464457
    New Minimum: -41.04683396872133 > -44.74828749476001
    END: th(299227.0402822063)=-44.74828749476001; dx=-1.5258421259041412E-5 evalInputDelta=4.117135418113321
    Fitness changed from -40.631152076646686 to -44.74828749476001
    Iteration 19 complete. Error: -44.74828749476001 Total: 12.2524; Orientation: 0.0838; Line Search: 9.8420
    Adding measurement 3ca14cf4 to history. Total: 3
    Rejected: LBFGS Orientation magnitude: 1.779e+04, gradient 4.051e-03, dot -0.874; [4b66afbf-43a3-417f-8e6c-df00517c7e49 = 1.000/1.000e+00]
    Orientation rejected. Popping history element from -28.8325457572937, -35.22449982352555, -40.631152076646686, -44.74828749476001
    LBFGS Accumulation History: 3 points
    Removed measurement 39da5e49 to history. Total: 4
    th(0)=-44.74828749476001;dx=-1.641371907431845E-5
    New Minimum: -44.74828749476001 > -45.952533564995974
    WOLF (strong): th(644665.1157795532)=-45.952533564995974; dx=2.288122923848917E-6 evalInputDelta=1.2042460702359676
    New Minimum: -45.952533564995974 > -46.110864504938945
    END: th(322332.5578897766)=-46.110864504938945; dx=-3.3186308936529942E-6 evalInputDelta=1.3625770101789385
    Fitness changed from -44.74828749476001 to -46.110864504938945
    Iteration 20 complete. Error: -46.110864504938945 Total: 9.9706; Orientation: 0.0855; Line Search: 7.5736
    <a id="p-17"></a>Iteration 20
    <a id="p-16"></a>![Iteration 20](etc/1279f6cb-b99d-4c75-9417-0478b98324e7.jpg)
    
    Final threshold in iteration 21: -46.110864504938945 (> -Infinity) after 192.314s (< 3600.000s)
    

Returns:

    -46.110864504938945