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 2459.03 seconds (21.331 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: 1075709410744500
    Reset training subject: 1075729323780600
    Adding measurement 157e0f6b to history. Total: 0
    LBFGS Accumulation History: 1 points
    Constructing line search parameters: GD+Trust
    th(0)=2.2474588644801203;dx=-3.01751255237909E-7
    New Minimum: 2.2474588644801203 > 2.247458521753413
    WOLFE (weak): th(2.154434690031884)=2.247458521753413; dx=-2.991182352538564E-7 evalInputDelta=3.427267074584961E-7
    New Minimum: 2.247458521753413 > 2.247457746893031
    WOLFE (weak): th(4.308869380063768)=2.247457746893031; dx=-2.9911753103535445E-7 evalInputDelta=1.1175870895385742E-6
    New Minimum: 2.247457746893031 > 2.2474549604062113
    WOLFE (weak): th(12.926608140191302)=2.2474549604062113; dx=-2.9911655029858883E-7 evalInputDelta=3.90407390904457E-6
    New Minimum: 2.2474549604062113 > 2.247442711762897
    WOLFE (weak): th(51.70643256076521)=2.247442711762897; dx=-2.991132539074324E-7 evalInputDelta=1.6152717223327784E-5
    New Minimum: 2.247442711762897 > 2.247378652216751
    WOLFE (weak): th(258.53216280382605)=2.247378652216751; dx=-2.991015060979827E-7 evalInputDelta=8.021226336918374E-5
    New Minimum: 2.247378652216751 > 2.2469759816351424
    WOLFE (weak): th(1551.1929768229563)=2.2469759816351424; dx=-2.9905653281313733E-7 evalInputDelta=4.8288284497788325E-4
    New Minimum: 2.2469759816351424 > 2.2440804130797583
    WOLFE (weak): th(10858.350837760694)=2.2440804130797583; dx=-2.98597329905654E-7 evalInputDelta=0.0033784514003620814
    New Minimum: 2.2440804130797583 > 2.2205927211278356
    WOLFE (weak): th(86866.80670208555)=2.2205927211278356; dx=-2.949522126279808E-7 evalInputDelta=0.026866143352284766
    New Minimum: 2.2205927211278356 > 2.0205797189481003
    END: th(781801.26031877)=2.0205797189481003; dx=-2.582502406045801E-7 evalInputDelta=0.22687914553202004
    Fitness changed from 2.2474588644801203 to 2.0205797189481003
    Iteration 1 complete. Error: 2.0205797189481003 Total: 251.1734; Orientation: 0.0341; Line Search: 192.3532
    <a id="p-3"></a>Iteration 1
    <a id="p-2"></a>![Iteration 1](etc/715b2a00-c1

...skipping 25157 bytes...

    lete. Error: -0.20382016544495074 Total: 98.7523; Orientation: 1.1095; Line Search: 77.7401
    Adding measurement 628190ec to history. Total: 3
    Rejected: LBFGS Orientation magnitude: 1.912e+03, gradient 7.311e-05, dot -0.847; [57988dfa-89e4-4984-95a6-79f9f6508d70 = 1.000/1.000e+00]
    Orientation rejected. Popping history element from -0.17011295482144417, -0.1822457727365947, -0.18733474163806818, -0.20382016544495074
    LBFGS Accumulation History: 3 points
    Removed measurement 1495f70 to history. Total: 4
    th(0)=-0.20382016544495074;dx=-5.345188956893634E-9
    New Minimum: -0.20382016544495074 > -0.2142269512909445
    END: th(7834471.893154294)=-0.2142269512909445; dx=-1.7864364084256995E-9 evalInputDelta=0.010406785845993749
    Fitness changed from -0.20382016544495074 to -0.2142269512909445
    Iteration 29 complete. Error: -0.2142269512909445 Total: 59.3060; Orientation: 1.0519; Line Search: 38.6706
    Adding measurement 5ea24702 to history. Total: 3
    Rejected: LBFGS Orientation magnitude: 1.645e+03, gradient 7.696e-05, dot -0.677; [57988dfa-89e4-4984-95a6-79f9f6508d70 = 1.000/1.000e+00]
    Orientation rejected. Popping history element from -0.1822457727365947, -0.18733474163806818, -0.20382016544495074, -0.2142269512909445
    LBFGS Accumulation History: 3 points
    Removed measurement 56a8b19f to history. Total: 4
    th(0)=-0.2142269512909445;dx=-5.9235169171414575E-9
    Armijo: th(1.6878858024691377E7)=-0.20065140791937885; dx=3.0939492529576957E-10 evalInputDelta=-0.013575543371565635
    New Minimum: -0.2142269512909445 > -0.22049521625506863
    END: th(8439429.012345688)=-0.22049521625506863; dx=-8.570512892504599E-10 evalInputDelta=0.006268264964124137
    Fitness changed from -0.2142269512909445 to -0.22049521625506863
    Iteration 30 complete. Error: -0.22049521625506863 Total: 78.3191; Orientation: 1.0407; Line Search: 57.3682
    <a id="p-21"></a>Iteration 30
    <a id="p-20"></a>![Iteration 30](etc/d0eb95ad-0514-4319-9f13-d509849a0da4.jpg)
    
    Final threshold in iteration 31: -0.22049521625506863 (> -Infinity) after 2459.028s (< 3600.000s)
    

Returns:

    -0.22049521625506863