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 3940.88 seconds (15.168 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: 1031782586022100
    Reset training subject: 1031803837924200
    Adding measurement 3e8684dd to history. Total: 0
    LBFGS Accumulation History: 1 points
    Constructing line search parameters: GD+Trust
    th(0)=-1.170281358063221;dx=-8.440488169805825E-8
    New Minimum: -1.170281358063221 > -1.1702814251184464
    WOLFE (weak): th(2.154434690031884)=-1.1702814251184464; dx=-8.420576280410936E-8 evalInputDelta=6.705522537231445E-8
    New Minimum: -1.1702814251184464 > -1.1702816784381866
    WOLFE (weak): th(4.308869380063768)=-1.1702816784381866; dx=-8.422618383404837E-8 evalInputDelta=3.203749656677246E-7
    New Minimum: -1.1702816784381866 > -1.1702826768159866
    WOLFE (weak): th(12.926608140191302)=-1.1702826768159866; dx=-8.419138216305782E-8 evalInputDelta=1.3187527656555176E-6
    New Minimum: -1.1702826768159866 > -1.170286275446415
    WOLFE (weak): th(51.70643256076521)=-1.170286275446415; dx=-8.420923062533259E-8 evalInputDelta=4.9173831939697266E-6
    New Minimum: -1.170286275446415 > -1.170306257903576
    WOLFE (weak): th(258.53216280382605)=-1.170306257903576; dx=-8.42092711868168E-8 evalInputDelta=2.4899840354919434E-5
    New Minimum: -1.170306257903576 > -1.1704309433698654
    WOLFE (weak): th(1551.1929768229563)=-1.1704309433698654; dx=-8.41852268958224E-8 evalInputDelta=1.495853066444397E-4
    New Minimum: -1.1704309433698654 > -1.1713280007243156
    WOLFE (weak): th(10858.350837760694)=-1.1713280007243156; dx=-8.415781403915597E-8 evalInputDelta=0.0010466426610946655
    New Minimum: -1.1713280007243156 > -1.1786370128393173
    WOLFE (weak): th(86866.80670208555)=-1.1786370128393173; dx=-8.37583900105116E-8 evalInputDelta=0.008355654776096344
    New Minimum: -1.1786370128393173 > -1.243565946817398
    WOLFE (weak): th(781801.26031877)=-1.243565946817398; dx=-7.959678785955473E-8 evalInputDelta=0.0732845887541771
    New Minimum: -1.243565946817398 > -1.6851378679275513
    END: th(7818012.6031877)=-1.6851378679275513; dx=-4.120324861992907E-8 evalInputDelta=0.5148565098643303
    Fitness changed from -1.170281358063221 to -1.6851

...skipping 27127 bytes...

    49272632599; dx=-2.7379031261765395E-9 evalInputDelta=9.238719940185547E-7
    Armijo: th(3540928.626257418)=-2.3914382308721542; dx=-2.73384192564066E-9 evalInputDelta=-1.0117888450622559E-5
    Armijo: th(3463951.9169909526)=-2.3914438784122467; dx=-2.7358213187018706E-9 evalInputDelta=-4.470348358154297E-6
    Armijo: th(3425463.56235772)=-2.3914465829730034; dx=-2.7370783454713323E-9 evalInputDelta=-1.7657876014709473E-6
    Armijo: th(3406219.3850411037)=-2.39144803583622; dx=-2.7362000141463412E-9 evalInputDelta=-3.129243850708008E-7
    WOLFE (weak): th(3396597.296382795)=-2.3914487212896347; dx=-2.737724752006132E-9 evalInputDelta=3.725290298461914E-7
    WOLFE (weak): th(3401408.3407119494)=-2.391448352485895; dx=-2.7376918053598347E-9 evalInputDelta=3.725290298461914E-9
    Armijo: th(3403813.8628765265)=-2.3914482071995735; dx=-2.7370293867457784E-9 evalInputDelta=-1.4156103134155273E-7
    Armijo: th(3402611.101794238)=-2.391448188573122; dx=-2.7369400303988808E-9 evalInputDelta=-1.601874828338623E-7
    Armijo: th(3402009.721253094)=-2.391448300331831; dx=-2.7377114483709204E-9 evalInputDelta=-4.842877388000488E-8
    Armijo: th(3401709.0309825214)=-2.3914482966065407; dx=-2.7379572022999474E-9 evalInputDelta=-5.21540641784668E-8
    Armijo: th(3401558.6858472354)=-2.391448251903057; dx=-2.737332267347634E-9 evalInputDelta=-9.685754776000977E-8
    WOLFE (weak): th(3401483.5132795926)=-2.3914483599364758; dx=-2.7370275686697113E-9 evalInputDelta=1.1175870895385742E-8
    Armijo: th(3401521.099563414)=-2.391448326408863; dx=-2.7377961265002238E-9 evalInputDelta=-2.2351741790771484E-8
    Armijo: th(3401502.3064215034)=-2.3914483301341534; dx=-2.736944026975573E-9 evalInputDelta=-1.862645149230957E-8
    mu ~= nu (3401483.5132795926): th(1231627.3482634497)=-2.3915029391646385
    Fitness changed from -2.391448348760605 to -2.3915029391646385
    Iteration 18 complete. Error: -2.3915029391646385 Total: 459.9528; Orientation: 0.7257; Line Search: 439.3249
    Final threshold in iteration 18: -2.3915029391646385 (> -Infinity) after 3940.882s (< 3600.000s)
    

Returns:

    -2.3915029391646385