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 439.84 seconds (4.550 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: 914033148124700
    Reset training subject: 914036405867100
    Adding measurement 1c9a7ea3 to history. Total: 0
    LBFGS Accumulation History: 1 points
    Constructing line search parameters: GD+Trust
    th(0)=2.3684259857982397;dx=-3.665241543083094E-6
    New Minimum: 2.3684259857982397 > 2.3684207312762737
    WOLFE (weak): th(2.154434690031884)=2.3684207312762737; dx=-3.665270999240298E-6 evalInputDelta=5.25452196598053E-6
    New Minimum: 2.3684207312762737 > 2.368414517492056
    WOLFE (weak): th(4.308869380063768)=2.368414517492056; dx=-3.6652137848009036E-6 evalInputDelta=1.1468306183815002E-5
    New Minimum: 2.368414517492056 > 2.368390131741762
    WOLFE (weak): th(12.926608140191302)=2.368390131741762; dx=-3.664177143038181E-6 evalInputDelta=3.585405647754669E-5
    New Minimum: 2.368390131741762 > 2.3682830538600683
    WOLFE (weak): th(51.70643256076521)=2.3682830538600683; dx=-3.667934527196947E-6 evalInputDelta=1.4293193817138672E-4
    New Minimum: 2.3682830538600683 > 2.3677117936313152
    WOLFE (weak): th(258.53216280382605)=2.3677117936313152; dx=-3.6527988382575148E-6 evalInputDelta=7.141921669244766E-4
    New Minimum: 2.3677117936313152 > 2.364087451249361
    WOLFE (weak): th(1551.1929768229563)=2.364087451249361; dx=-3.6320250919964815E-6 evalInputDelta=0.00433853454887867
    New Minimum: 2.364087451249361 > 2.3398851342499256
    END: th(10858.350837760694)=2.3398851342499256; dx=-2.889502036173004E-6 evalInputDelta=0.028540851548314095
    Fitness changed from 2.3684259857982397 to 2.3398851342499256
    Iteration 1 complete. Error: 2.3398851342499256 Total: 37.5477; Orientation: 0.0600; Line Search: 27.3521
    <a id="p-3"></a>Iteration 1
    <a id="p-2"></a>![Iteration 1](etc/3aaadf86-7b85-44fc-8e6f-8efb73e6a873.jpg)
    
    Adding measurement 12cab957 to history. Total: 1
    LBFGS Accumulation History: 2 points
    th(0)=2.3398851342499256;dx=-3.5608108233816576E-6
    New Minimum: 2.3398851342499256 > 2.2861311808228493
    END: th(23393.607721408407)=2.2861311808228493; dx=-2.01366982364527E-6 evalInputDelta=0.05375395342707634
    Fitness 

...skipping 23834 bytes...

    487e+03, gradient 1.755e-05, dot -0.651; [e397e1d6-40ff-447d-a62d-7495a2a30720 = 1.000/1.000e+00]
    Orientation rejected. Popping history element from -0.32365351915359497, -0.33014701306819916, -0.3354921042919159, -0.3418886214494705
    LBFGS Accumulation History: 3 points
    Removed measurement 7bc671af to history. Total: 4
    th(0)=-0.3418886214494705;dx=-3.0789876380405505E-10
    Armijo: th(1.8802732543570307E8)=-0.33050015568733215; dx=8.410619203953155E-11 evalInputDelta=-0.011388465762138367
    New Minimum: -0.3418886214494705 > -0.34399521350860596
    WOLF (strong): th(9.401366271785153E7)=-0.34399521350860596; dx=2.140442570014445E-11 evalInputDelta=0.002106592059135437
    New Minimum: -0.34399521350860596 > -0.34689994156360626
    END: th(3.1337887572617177E7)=-0.34689994156360626; dx=-1.3163377469247188E-10 evalInputDelta=0.005011320114135742
    Fitness changed from -0.3418886214494705 to -0.34689994156360626
    Iteration 29 complete. Error: -0.34689994156360626 Total: 20.0727; Orientation: 1.7811; Line Search: 14.5643
    Adding measurement 798f6d35 to history. Total: 3
    Rejected: LBFGS Orientation magnitude: 3.291e+03, gradient 1.482e-05, dot -0.756; [e397e1d6-40ff-447d-a62d-7495a2a30720 = 1.000/1.000e+00]
    Orientation rejected. Popping history element from -0.33014701306819916, -0.3354921042919159, -0.3418886214494705, -0.34689994156360626
    LBFGS Accumulation History: 3 points
    Removed measurement 53f14fbf to history. Total: 4
    th(0)=-0.34689994156360626;dx=-2.1948593938682096E-10
    New Minimum: -0.34689994156360626 > -0.3514919877052307
    END: th(6.75154320987655E7)=-0.3514919877052307; dx=-3.45409595833771E-11 evalInputDelta=0.004592046141624451
    Fitness changed from -0.34689994156360626 to -0.3514919877052307
    Iteration 30 complete. Error: -0.3514919877052307 Total: 12.7866; Orientation: 1.8597; Line Search: 7.1405
    <a id="p-21"></a>Iteration 30
    <a id="p-20"></a>![Iteration 30](etc/63b2214d-d8d4-460a-82e4-60f495efa929.jpg)
    
    Final threshold in iteration 31: -0.3514919877052307 (> -Infinity) after 439.835s (< 3600.000s)
    

Returns:

    -0.3514919877052307