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 3904.73 seconds (34.363 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: 1039766747609800
    Reset training subject: 1039787291624400
    Adding measurement 61060064 to history. Total: 0
    LBFGS Accumulation History: 1 points
    Constructing line search parameters: GD+Trust
    th(0)=-1.3445774912834167;dx=-7.61310524404325E-8
    New Minimum: -1.3445774912834167 > -1.3445775397121906
    WOLFE (weak): th(2.154434690031884)=-1.3445775397121906; dx=-7.594650416131618E-8 evalInputDelta=4.842877388000488E-8
    New Minimum: -1.3445775397121906 > -1.3445778489112854
    WOLFE (weak): th(4.308869380063768)=-1.3445778489112854; dx=-7.596593807521134E-8 evalInputDelta=3.5762786865234375E-7
    New Minimum: -1.3445778489112854 > -1.3445786498486996
    WOLFE (weak): th(12.926608140191302)=-1.3445786498486996; dx=-7.598198012691122E-8 evalInputDelta=1.1585652828216553E-6
    New Minimum: -1.3445786498486996 > -1.3445820659399033
    WOLFE (weak): th(51.70643256076521)=-1.3445820659399033; dx=-7.597711405151487E-8 evalInputDelta=4.5746564865112305E-6
    New Minimum: -1.3445820659399033 > -1.3446001932024956
    WOLFE (weak): th(258.53216280382605)=-1.3446001932024956; dx=-7.595881729719416E-8 evalInputDelta=2.2701919078826904E-5
    New Minimum: -1.3446001932024956 > -1.3447132632136345
    WOLFE (weak): th(1551.1929768229563)=-1.3447132632136345; dx=-7.596716994421793E-8 evalInputDelta=1.3577193021774292E-4
    New Minimum: -1.3447132632136345 > -1.3455274030566216
    WOLFE (weak): th(10858.350837760694)=-1.3455274030566216; dx=-7.592572387814901E-8 evalInputDelta=9.499117732048035E-4
    New Minimum: -1.3455274030566216 > -1.3521611094474792
    WOLFE (weak): th(86866.80670208555)=-1.3521611094474792; dx=-7.556050071442743E-8 evalInputDelta=0.0075836181640625
    New Minimum: -1.3521611094474792 > -1.4111562669277191
    WOLFE (weak): th(781801.26031877)=-1.4111562669277191; dx=-7.199856654176732E-8 evalInputDelta=0.06657877564430237
    New Minimum: -1.4111562669277191 > -1.8201286271214485
    END: th(7818012.6031877)=-1.8201286271214485; dx=-3.8922298882371623E-8 evalInputDelta=0.47555113583803177
    Fitness changed from -1.34457749128

...skipping 26884 bytes...

    141096; dx=-2.325909403401864E-9 evalInputDelta=1.1060386896133423E-5
    WOLFE (weak): th(2523393.70918048)=-2.4637521505355835; dx=-2.3220129025799855E-9 evalInputDelta=5.535781383514404E-6
    WOLFE (weak): th(2607506.8328198288)=-2.463749062269926; dx=-2.3208554201144823E-9 evalInputDelta=2.4475157260894775E-6
    WOLFE (weak): th(2649563.394639503)=-2.463747415691614; dx=-2.320661924756266E-9 evalInputDelta=8.009374141693115E-7
    WOLFE (weak): th(2670591.6755493404)=-2.4637466967105865; dx=-2.3200029664914287E-9 evalInputDelta=8.195638656616211E-8
    Armijo: th(2681105.8160042595)=-2.463746339082718; dx=-2.3195355760343206E-9 evalInputDelta=-2.7567148208618164E-7
    Armijo: th(2675848.7457768)=-2.463746413588524; dx=-2.3191892290896098E-9 evalInputDelta=-2.0116567611694336E-7
    Armijo: th(2673220.21066307)=-2.463746525347233; dx=-2.3192159691387977E-9 evalInputDelta=-8.940696716308594E-8
    Armijo: th(2671905.943106205)=-2.4637465737760067; dx=-2.3195963328721263E-9 evalInputDelta=-4.0978193283081055E-8
    WOLFE (weak): th(2671248.809327773)=-2.4637466222047806; dx=-2.3191947917707333E-9 evalInputDelta=7.450580596923828E-9
    WOLFE (weak): th(2671577.376216989)=-2.463746652007103; dx=-2.319445860331989E-9 evalInputDelta=3.725290298461914E-8
    WOLFE (weak): th(2671741.659661597)=-2.4637466222047806; dx=-2.3195827018750088E-9 evalInputDelta=7.450580596923828E-9
    Armijo: th(2671823.8013839014)=-2.4637465961277485; dx=-2.319136098772983E-9 evalInputDelta=-1.862645149230957E-8
    Armijo: th(2671782.730522749)=-2.463746599853039; dx=-2.3202021920583942E-9 evalInputDelta=-1.4901161193847656E-8
    Armijo: th(2671762.1950921733)=-2.463746592402458; dx=-2.3201634294691194E-9 evalInputDelta=-2.2351741790771484E-8
    mu ~= nu (2671741.659661597): th(1345809.978229589)=-2.46377369761467
    Fitness changed from -2.4637466147542 to -2.46377369761467
    Iteration 18 complete. Error: -2.46377369761467 Total: 462.2488; Orientation: 0.7035; Line Search: 441.9755
    Final threshold in iteration 18: -2.46377369761467 (> -Infinity) after 3904.726s (< 3600.000s)
    

Returns:

    -2.46377369761467