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 3894.46 seconds (23.553 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: 1241397919812600
    Reset training subject: 1241419740636400
    Adding measurement cdf3815 to history. Total: 0
    LBFGS Accumulation History: 1 points
    Constructing line search parameters: GD+Trust
    th(0)=0.6478038955905262;dx=-1.9555276548354112E-7
    New Minimum: 0.6478038955905262 > 0.647803806183559
    WOLFE (weak): th(2.154434690031884)=0.647803806183559; dx=-1.9331107240719005E-7 evalInputDelta=8.940696716308594E-8
    New Minimum: 0.647803806183559 > 0.6478036747824103
    WOLFE (weak): th(4.308869380063768)=0.6478036747824103; dx=-1.9331105386648192E-7 evalInputDelta=2.2080811590274863E-7
    New Minimum: 0.6478036747824103 > 0.6478032147840243
    WOLFE (weak): th(12.926608140191302)=0.6478032147840243; dx=-1.93308718652733E-7 evalInputDelta=6.808065019514586E-7
    New Minimum: 0.6478032147840243 > 0.6478010117440067
    WOLFE (weak): th(51.70643256076521)=0.6478010117440067; dx=-1.933085558167791E-7 evalInputDelta=2.8838465194747087E-6
    New Minimum: 0.6478010117440067 > 0.6477892091142147
    WOLFE (weak): th(258.53216280382605)=0.6477892091142147; dx=-1.9330825870297068E-7 evalInputDelta=1.4686476311531749E-5
    New Minimum: 0.6477892091142147 > 0.6477151783879013
    WOLFE (weak): th(1551.1929768229563)=0.6477151783879013; dx=-1.9328647873468159E-7 evalInputDelta=8.871720262493277E-5
    New Minimum: 0.6477151783879013 > 0.647182833383467
    WOLFE (weak): th(10858.350837760694)=0.647182833383467; dx=-1.93146334076429E-7 evalInputDelta=6.210622070591532E-4
    New Minimum: 0.647182833383467 > 0.6428651611478393
    WOLFE (weak): th(86866.80670208555)=0.6428651611478393; dx=-1.9204660975227866E-7 evalInputDelta=0.004938734442686887
    New Minimum: 0.6428651611478393 > 0.6057518050278732
    WOLFE (weak): th(781801.26031877)=0.6057518050278732; dx=-1.7988542517498505E-7 evalInputDelta=0.04205209056265302
    New Minimum: 0.6057518050278732 > 0.4572504287872362
    END: th(7818012.6031877)=0.4572504287872362; dx=-9.086157566598688E-8 evalInputDelta=0.19055346680329
    Fitness changed from 0.6478038955905262 to 0.4572504287872362
    Iteratio

...skipping 31725 bytes...

    0468347176511E-8 evalInputDelta=-1.83678343155802E-5
    WOLFE (weak): th(2401589.0718588224)=0.20800048555502965; dx=-1.4528264506327559E-8 evalInputDelta=1.7867343980182415E-5
    WOLFE (weak): th(2472224.0445605526)=0.20801801194175693; dx=-1.4516525538976972E-8 evalInputDelta=3.409572529033955E-7
    Armijo: th(2507541.5309114177)=0.2080271282104419; dx=-1.4509536053149873E-8 evalInputDelta=-8.775311432063226E-6
    Armijo: th(2489882.787735985)=0.20802253679278368; dx=-1.4512658104660029E-8 evalInputDelta=-4.1838937738514215E-6
    Armijo: th(2481053.4161482686)=0.20802027983305707; dx=-1.4515076832950987E-8 evalInputDelta=-1.9269340472416463E-6
    Armijo: th(2476638.7303544106)=0.2080190953794738; dx=-1.4515400765178274E-8 evalInputDelta=-7.424804639721838E-7
    Armijo: th(2474431.3874574816)=0.20801849942739173; dx=-1.4516339232469883E-8 evalInputDelta=-1.4652838190021278E-7
    WOLFE (weak): th(2473327.716009017)=0.20801827126306097; dx=-1.4516769819716213E-8 evalInputDelta=8.163594886201331E-8
    Armijo: th(2473879.5517332493)=0.20801846633280735; dx=-1.4516634534298168E-8 evalInputDelta=-1.1343379752171145E-7
    WOLFE (weak): th(2473603.6338711334)=0.20801834035026281; dx=-1.451659312750125E-8 evalInputDelta=1.2548747013729766E-8
    Armijo: th(2473741.592802191)=0.20801842095199838; dx=-1.4516593463588487E-8 evalInputDelta=-6.805298854994923E-8
    Armijo: th(2473672.6133366623)=0.20801836202467905; dx=-1.4516587300562563E-8 evalInputDelta=-9.125669220289012E-9
    WOLFE (weak): th(2473638.123603898)=0.2080183464461925; dx=-1.45165917390151E-8 evalInputDelta=6.452817336022321E-9
    Armijo: th(2473655.3684702804)=0.20801835321944745; dx=-1.4516612134919814E-8 evalInputDelta=-3.204376208820747E-10
    mu ~= nu (2473638.123603898): th(1130159.5632276812)=0.20786177705420983
    Fitness changed from 0.20801835289900983 to 0.20786177705420983
    Iteration 29 complete. Error: 0.20786177705420983 Total: 470.8887; Orientation: 0.5418; Line Search: 449.9073
    Final threshold in iteration 29: 0.20786177705420983 (> -Infinity) after 3894.449s (< 3600.000s)
    

Returns:

    0.20786177705420983