Iteration 1 Iteration 1

Iteration 2 Iteration 2

Iteration 3 Iteration 3

Iteration 4 Iteration 4

Iteration 5 Iteration 5

Code from BasicOptimizer.scala:75 executed in 6692.27 seconds (543.980 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: 1440536276335200
    Reset training subject: 1440674680542900
    Adding measurement 7066c00a to history. Total: 0
    LBFGS Accumulation History: 1 points
    Constructing line search parameters: GD+Trust
    th(0)=-60.54506841674447;dx=-6.580741889626968E-5
    Armijo: th(2.154434690031884)=-60.5449700585256; dx=-2.952893737247442E-6 evalInputDelta=-9.835821887094198E-5
    Armijo: th(1.077217345015942)=-60.54505353048444; dx=6.498917729941926E-4 evalInputDelta=-1.4886260032653809E-5
    New Minimum: -60.54506841674447 > -60.54507208739718
    WOLFE (weak): th(0.3590724483386473)=-60.54507208739718; dx=-6.964409053500815E-5 evalInputDelta=3.6706527097862818E-6
    WOLF (strong): th(0.7181448966772946)=-60.545071655263506; dx=1.2613537424177303E-4 evalInputDelta=3.2385190351646997E-6
    New Minimum: -60.54507208739718 > -60.54507311061025
    END: th(0.538608672507971)=-60.54507311061025; dx=-1.1406651940265821E-6 evalInputDelta=4.693865776062012E-6
    Fitness changed from -60.54506841674447 to -60.54507311061025
    Iteration 1 complete. Error: -60.54507311061025 Total: 1237.8293; Orientation: 0.1959; Line Search: 821.9776
    <a id="p-3"></a>Iteration 1
    <a id="p-2"></a>![Iteration 1](etc/c6dcec02-8930-48fc-ab6a-e89c25834f30.jpg)
    
    Adding measurement 59ac94ad to history. Total: 1
    LBFGS Accumulation History: 2 points
    th(0)=-60.54507311061025;dx=-2.967689466582637E-6
    New Minimum: -60.54507311061025 > -60.54507320498427
    END: th(1.1603972084031948)=-60.54507320498427; dx=-2.5216586120688106E-6 evalInputDelta=9.437402326284428E-8
    Fitness changed from -60.54507311061025 to -60.54507320498427
    Iteration 2 complete. Error: -60.54507320498427 Total: 407.2774; Orientation: 0.2048; Line Search: 270.1725
    <a id="p-5"></a>Iteration 2
    <a id="p-4"></a>![Iteration 2](etc/406e9f73-340c-4311-ba2b-40779d70385e.jpg)
    
    Adding measurement 4e293c35 to history. Total: 2
    LBFGS Accumulation History: 3 points
    th(0)=-60.54507320498427;dx=-6.04148702969316E-6
    Armijo: th(2.5000000000000004)=-60.54505577248832; dx=1.3577409180529936E-4 evalInputDelta=-

...skipping 3409 bytes...

    rmijo: th(0.002140489642236796)=-60.545073586826526; dx=-3.026604378566395E-6 evalInputDelta=-4.96704899433098E-9
    WOLFE (weak): th(0.0020775340645239494)=-60.545073606694736; dx=-3.0266064523264415E-6 evalInputDelta=1.4901161193847656E-8
    WOLFE (weak): th(0.0021090118533803725)=-60.54507359676063; dx=-3.026604203676608E-6 evalInputDelta=4.967056099758338E-9
    Armijo: th(0.002124750747808584)=-60.545073586826526; dx=-3.026604378566395E-6 evalInputDelta=-4.96704899433098E-9
    Armijo: th(0.0021168813005944783)=-60.545073591793575; dx=-3.026604387059332E-6 evalInputDelta=0.0
    Armijo: th(0.0021129465769874254)=-60.545073591793575; dx=-3.026604387059332E-6 evalInputDelta=0.0
    WOLFE (weak): th(0.002110979215183899)=-60.54507359676063; dx=-3.026604203676608E-6 evalInputDelta=4.967056099758338E-9
    WOLFE (weak): th(0.0021119628960856625)=-60.54507359676063; dx=-3.026604203676608E-6 evalInputDelta=4.967056099758338E-9
    Armijo: th(0.002112454736536544)=-60.545073591793575; dx=-3.026604387059332E-6 evalInputDelta=0.0
    Armijo: th(0.0021122088163111033)=-60.545073591793575; dx=-3.026604387059332E-6 evalInputDelta=0.0
    WOLFE (weak): th(0.0021120858561983827)=-60.54507359676063; dx=-3.026604203676608E-6 evalInputDelta=4.967056099758338E-9
    WOLFE (weak): th(0.0021121473362547428)=-60.54507359676063; dx=-3.026604203676608E-6 evalInputDelta=4.967056099758338E-9
    WOLFE (weak): th(0.002112178076282923)=-60.54507359676063; dx=-3.026604203676608E-6 evalInputDelta=4.967056099758338E-9
    Armijo: th(0.0021121934462970133)=-60.545073591793575; dx=-3.026604387059332E-6 evalInputDelta=0.0
    mu ~= nu (0.002112178076282923): th(0.0020145784868111022)=-60.545073606694736
    Fitness changed from -60.545073591793575 to -60.545073606694736
    Iteration 5 complete. Error: -60.545073606694736 Total: 3683.5103; Orientation: 5.8391; Line Search: 3550.2224
    <a id="p-11"></a>Iteration 5
    <a id="p-10"></a>![Iteration 5](etc/fcefa9fb-e8a1-4f4a-ad55-aceb80e7516f.jpg)
    
    Final threshold in iteration 5: -60.545073606694736 (> -Infinity) after 6692.252s (< 5400.000s)
    

Returns:

    -60.545073606694736