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

Code from BasicOptimizer.scala:75 executed in 4044.55 seconds (17.670 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: 1027640301406900
    Reset training subject: 1027662640613400
    Adding measurement 2bceb262 to history. Total: 0
    LBFGS Accumulation History: 1 points
    Constructing line search parameters: GD+Trust
    th(0)=-1.1579642668366432;dx=-8.174846397980004E-8
    New Minimum: -1.1579642668366432 > -1.1579643562436104
    WOLFE (weak): th(2.154434690031884)=-1.1579643562436104; dx=-8.157852419366459E-8 evalInputDelta=8.940696716308594E-8
    New Minimum: -1.1579643562436104 > -1.15796460211277
    WOLFE (weak): th(4.308869380063768)=-1.15796460211277; dx=-8.157789293191226E-8 evalInputDelta=3.3527612686157227E-7
    New Minimum: -1.15796460211277 > -1.1579654961824417
    WOLFE (weak): th(12.926608140191302)=-1.1579654961824417; dx=-8.159900893821465E-8 evalInputDelta=1.2293457984924316E-6
    New Minimum: -1.1579654961824417 > -1.157969057559967
    WOLFE (weak): th(51.70643256076521)=-1.157969057559967; dx=-8.157531818893389E-8 evalInputDelta=4.7907233238220215E-6
    New Minimum: -1.157969057559967 > -1.1579885259270668
    WOLFE (weak): th(258.53216280382605)=-1.1579885259270668; dx=-8.157335688172695E-8 evalInputDelta=2.4259090423583984E-5
    New Minimum: -1.1579885259270668 > -1.1581099107861519
    WOLFE (weak): th(1551.1929768229563)=-1.1581099107861519; dx=-8.15795804161821E-8 evalInputDelta=1.45643949508667E-4
    New Minimum: -1.1581099107861519 > -1.1589833125472069
    WOLFE (weak): th(10858.350837760694)=-1.1589833125472069; dx=-8.152525053373589E-8 evalInputDelta=0.0010190457105636597
    New Minimum: -1.1589833125472069 > -1.166099339723587
    WOLFE (weak): th(86866.80670208555)=-1.166099339723587; dx=-8.109632319757073E-8 evalInputDelta=0.008135072886943817
    New Minimum: -1.166099339723587 > -1.2294666171073914
    WOLFE (weak): th(781801.26031877)=-1.2294666171073914; dx=-7.714359746971507E-8 evalInputDelta=0.07150235027074814
    New Minimum: -1.2294666171073914 > -1.6649257317185402
    END: th(7818012.6031877)=-1.6649257317185402; dx=-4.008249714141505E-8 evalInputDelta=0.506961464881897
    Fitness changed from -1.1579642668366432 to -1.66

...skipping 28283 bytes...

    3)=-2.3888196386396885; dx=-2.623609360622454E-9 evalInputDelta=-2.1811574697494507E-5
    Armijo: th(4238326.347510153)=-2.3888353928923607; dx=-2.6277209440137435E-9 evalInputDelta=-6.057322025299072E-6
    WOLFE (weak): th(4137413.8154265783)=-2.3888425678014755; dx=-2.6309534504330065E-9 evalInputDelta=1.1175870895385742E-6
    Armijo: th(4187870.081468366)=-2.3888391852378845; dx=-2.6289631726538273E-9 evalInputDelta=-2.2649765014648438E-6
    Armijo: th(4162641.9484474724)=-2.388840977102518; dx=-2.627879738118196E-9 evalInputDelta=-4.731118679046631E-7
    WOLFE (weak): th(4150027.881937025)=-2.388841714709997; dx=-2.6299076744846063E-9 evalInputDelta=2.644956111907959E-7
    Armijo: th(4156334.9151922488)=-2.388841263949871; dx=-2.6303364690164566E-9 evalInputDelta=-1.862645149230957E-7
    WOLFE (weak): th(4153181.3985646367)=-2.3888415545225143; dx=-2.6298485737069702E-9 evalInputDelta=1.043081283569336E-7
    WOLFE (weak): th(4154758.1568784425)=-2.38884149864316; dx=-2.629033147494747E-9 evalInputDelta=4.842877388000488E-8
    Armijo: th(4155546.536035346)=-2.3888413310050964; dx=-2.6298583274510385E-9 evalInputDelta=-1.1920928955078125E-7
    Armijo: th(4155152.346456894)=-2.388841398060322; dx=-2.6295853498694887E-9 evalInputDelta=-5.21540641784668E-8
    Armijo: th(4154955.251667668)=-2.388841435313225; dx=-2.629849410161073E-9 evalInputDelta=-1.4901161193847656E-8
    Armijo: th(4154856.7042730553)=-2.388841450214386; dx=-2.6299824373946575E-9 evalInputDelta=0.0
    Armijo: th(4154807.430575749)=-2.388841435313225; dx=-2.6296838051547616E-9 evalInputDelta=-1.4901161193847656E-8
    WOLFE (weak): th(4154782.7937270957)=-2.3888415209949017; dx=-2.6310052259662492E-9 evalInputDelta=7.078051567077637E-8
    mu ~= nu (4154782.7937270957): th(1614600.5133372012)=-2.388911809772253
    Fitness changed from -2.388841450214386 to -2.388911809772253
    Iteration 19 complete. Error: -2.388911809772253 Total: 458.7307; Orientation: 0.7082; Line Search: 438.5627
    Final threshold in iteration 19: -2.388911809772253 (> -Infinity) after 4044.547s (< 3600.000s)
    

Returns:

    -2.388911809772253