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 1924.30 seconds (20.424 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: 1319811387815500
    Reset training subject: 1319835032067900
    Adding measurement da28d03 to history. Total: 0
    LBFGS Accumulation History: 1 points
    Constructing line search parameters: GD+Trust
    th(0)=29.689788218820468;dx=-2.888065262876972E-4
    New Minimum: 29.689788218820468 > 29.689316208357923
    WOLFE (weak): th(2.154434690031884)=29.689316208357923; dx=-2.8775181435960334E-4 evalInputDelta=4.7201046254485846E-4
    New Minimum: 29.689316208357923 > 29.68884347844869
    WOLFE (weak): th(4.308869380063768)=29.68884347844869; dx=-2.868971081474046E-4 evalInputDelta=9.447403717786074E-4
    New Minimum: 29.68884347844869 > 29.6869759648107
    WOLFE (weak): th(12.926608140191302)=29.6869759648107; dx=-2.709804495594858E-4 evalInputDelta=0.002812254009768367
    New Minimum: 29.6869759648107 > 29.67842075228691
    END: th(51.70643256076521)=29.67842075228691; dx=-2.5227568628104403E-4 evalInputDelta=0.01136746653355658
    Fitness changed from 29.689788218820468 to 29.67842075228691
    Iteration 1 complete. Error: 29.67842075228691 Total: 183.2684; Orientation: 0.0119; Line Search: 113.9774
    <a id="p-3"></a>Iteration 1
    <a id="p-2"></a>![Iteration 1](etc/e24d0e03-fa2f-4fce-a2b6-4b7a0cdf7e21.jpg)
    
    Adding measurement 18d003cd to history. Total: 1
    LBFGS Accumulation History: 2 points
    th(0)=29.67842075228691;dx=-2.53692269534199E-4
    New Minimum: 29.67842075228691 > 29.648962701205164
    WOLFE (weak): th(111.39813200670669)=29.648962701205164; dx=-2.975714675893666E-4 evalInputDelta=0.029458051081746817
    New Minimum: 29.648962701205164 > 29.625173235079274
    WOLFE (weak): th(222.79626401341338)=29.625173235079274; dx=-2.326023364931279E-4 evalInputDelta=0.05324751720763743
    New Minimum: 29.625173235079274 > 29.53647973528132
    END: th(668.3887920402401)=29.53647973528132; dx=-2.0946098072350356E-4 evalInputDelta=0.14194101700559258
    Fitness changed from 29.67842075228691 to 29.53647973528132
    Iteration 2 complete. Error: 29.53647973528132 Total: 113.8524; Orientation: 0.0024; Line Search: 91.1874
    <a id="p-5"></a>Itera

...skipping 14784 bytes...

    07209742;dx=-1.3880761456929586E-4
    Armijo: th(19948.469352147094)=12.502951867878437; dx=1.495612922923401E-5 evalInputDelta=-0.412505260668695
    Armijo: th(9974.234676073547)=12.212860309518874; dx=1.5449106942188666E-6 evalInputDelta=-0.12241370230913162
    Armijo: th(3324.7448920245156)=12.12715576030314; dx=-9.022023579355173E-6 evalInputDelta=-0.03670915309339762
    Armijo: th(831.1862230061289)=12.102446206845343; dx=-1.9591109561986354E-5 evalInputDelta=-0.011999599635601044
    New Minimum: 12.090446607209742 > 12.07959562446922
    END: th(166.23724460122577)=12.07959562446922; dx=-5.421096739012149E-5 evalInputDelta=0.010850982740521431
    Fitness changed from 12.090446607209742 to 12.07959562446922
    Iteration 19 complete. Error: 12.07959562446922 Total: 161.1552; Orientation: 0.0317; Line Search: 138.1572
    Adding measurement 64ae105d to history. Total: 3
    Rejected: LBFGS Orientation magnitude: 7.805e+01, gradient 6.421e-03, dot -0.437; [09a6965f-a133-443f-8782-973e485596ee = 1.000/1.000e+00]
    Orientation rejected. Popping history element from 12.415709290653467, 12.286783312447369, 12.090446607209742, 12.07959562446922
    LBFGS Accumulation History: 3 points
    Removed measurement 2ad99cf3 to history. Total: 4
    th(0)=12.07959562446922;dx=-4.122537233006214E-5
    Armijo: th(358.1472865441963)=12.084541916847229; dx=-2.186343914237773E-5 evalInputDelta=-0.004946292378008366
    Armijo: th(179.07364327209814)=12.087546296417713; dx=-2.3471206666463822E-5 evalInputDelta=-0.007950671948492527
    New Minimum: 12.07959562446922 > 12.078103829175234
    END: th(59.691214424032715)=12.078103829175234; dx=-2.7653528319049714E-5 evalInputDelta=0.0014917952939867973
    Fitness changed from 12.07959562446922 to 12.078103829175234
    Iteration 20 complete. Error: 12.078103829175234 Total: 113.8811; Orientation: 0.0317; Line Search: 90.9906
    <a id="p-17"></a>Iteration 20
    <a id="p-16"></a>![Iteration 20](etc/11a1a79e-c22f-4fbb-8f8d-17cbfbf0abb7.jpg)
    
    Final threshold in iteration 21: 12.078103829175234 (> -Infinity) after 1924.285s (< 3600.000s)
    

Returns:

    12.078103829175234