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

Code from BasicOptimizer.scala:75 executed in 3918.06 seconds (41.204 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: 1253555207382200
    Reset training subject: 1253576694295400
    Adding measurement 1a4ccb7b to history. Total: 0
    LBFGS Accumulation History: 1 points
    Constructing line search parameters: GD+Trust
    th(0)=1.0261337813346407;dx=-2.687844343507121E-7
    New Minimum: 1.0261337813346407 > 1.0261336498168956
    WOLFE (weak): th(2.154434690031884)=1.0261336498168956; dx=-2.667487541618821E-7 evalInputDelta=1.3151774513886494E-7
    New Minimum: 1.0261336498168956 > 1.0261334623379117
    WOLFE (weak): th(4.308869380063768)=1.0261334623379117; dx=-2.667486025746545E-7 evalInputDelta=3.189967290317952E-7
    New Minimum: 1.0261334623379117 > 1.0261328117660722
    WOLFE (weak): th(12.926608140191302)=1.0261328117660722; dx=-2.6674875433481366E-7 evalInputDelta=9.695685685429112E-7
    New Minimum: 1.0261328117660722 > 1.0261293898177486
    WOLFE (weak): th(51.70643256076521)=1.0261293898177486; dx=-2.667457178675023E-7 evalInputDelta=4.391516892132685E-6
    New Minimum: 1.0261293898177486 > 1.0261113807344318
    WOLFE (weak): th(258.53216280382605)=1.0261113807344318; dx=-2.6673057244168503E-7 evalInputDelta=2.240060020897161E-5
    New Minimum: 1.0261113807344318 > 1.0259993281680044
    WOLFE (weak): th(1551.1929768229563)=1.0259993281680044; dx=-2.6668144812697454E-7 evalInputDelta=1.344531666362947E-4
    New Minimum: 1.0259993281680044 > 1.0251930790420465
    WOLFE (weak): th(10858.350837760694)=1.0251930790420465; dx=-2.664120202102604E-7 evalInputDelta=9.407022925942421E-4
    New Minimum: 1.0251930790420465 > 1.01865031325526
    WOLFE (weak): th(86866.80670208555)=1.01865031325526; dx=-2.6416398155157625E-7 evalInputDelta=0.007483468079380717
    New Minimum: 1.01865031325526 > 0.9625504187529366
    WOLFE (weak): th(781801.26031877)=0.9625504187529366; dx=-2.440762601738384E-7 evalInputDelta=0.06358336258170416
    New Minimum: 0.9625504187529366 > 0.7584271652995053
    END: th(7818012.6031877)=0.7584271652995053; dx=-1.074008950493885E-7 evalInputDelta=0.26770661603513546
    Fitness changed from 1.0261337813346407 to 0.7584271652995053
    Iterati

...skipping 30462 bytes...

    34455E-8 evalInputDelta=4.3817763710207736E-5
    WOLFE (weak): th(2374369.2273464818)=0.4521749937782585; dx=-1.4843197896552599E-8 evalInputDelta=8.705067797321053E-6
    Armijo: th(2436852.6280661263)=0.4521941183826883; dx=-1.4824115777988605E-8 evalInputDelta=-1.0419536632499948E-5
    Armijo: th(2405610.927706304)=0.45218448465666683; dx=-1.4832965712367072E-8 evalInputDelta=-7.858106110258944E-7
    WOLFE (weak): th(2389990.077526393)=0.45217972809104534; dx=-1.4839153116720945E-8 evalInputDelta=3.970755010462845E-6
    WOLFE (weak): th(2397800.5026163487)=0.45218209173899576; dx=-1.4837242367148047E-8 evalInputDelta=1.607107060042079E-6
    WOLFE (weak): th(2401705.7151613263)=0.45218322970149666; dx=-1.4834376909631403E-8 evalInputDelta=4.6914455914537356E-7
    Armijo: th(2403658.321433815)=0.4521839439681644; dx=-1.4833952905735027E-8 evalInputDelta=-2.4512210861082906E-7
    WOLFE (weak): th(2402682.0182975708)=0.45218354984460274; dx=-1.4833994271613203E-8 evalInputDelta=1.4900145306473433E-7
    Armijo: th(2403170.169865693)=0.45218375425805724; dx=-1.4834011751851859E-8 evalInputDelta=-5.541200143177605E-8
    WOLFE (weak): th(2402926.094081632)=0.4521836607163793; dx=-1.4833964564177484E-8 evalInputDelta=3.81296765272765E-8
    Armijo: th(2403048.1319736624)=0.45218374309920917; dx=-1.483403107233275E-8 evalInputDelta=-4.425315336398228E-8
    Armijo: th(2402987.113027647)=0.4521837130342117; dx=-1.483397793113716E-8 evalInputDelta=-1.4188155872396635E-8
    WOLFE (weak): th(2402956.6035546395)=0.45218364528986776; dx=-1.483397962556057E-8 evalInputDelta=5.355618803992712E-8
    WOLFE (weak): th(2402971.8582911436)=0.4521836577620915; dx=-1.4833978882712973E-8 evalInputDelta=4.1083964286148245E-8
    mu ~= nu (2402971.8582911436): th(999734.4115143082)=0.45200549903465853
    Fitness changed from 0.4521836988460558 to 0.45200549903465853
    Iteration 27 complete. Error: 0.45200549903465853 Total: 479.3139; Orientation: 0.5519; Line Search: 458.5942
    Final threshold in iteration 27: 0.45200549903465853 (> -Infinity) after 3918.058s (< 3600.000s)
    

Returns:

    0.45200549903465853