Code from BasicOptimizer.scala:75 executed in 41.48 seconds (1.766 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: 1284689536544
    Reset training subject: 1285292274169
    Adding measurement 2f4b06e3 to history. Total: 0
    LBFGS Accumulation History: 1 points
    Constructing line search parameters: GD+Trust
    th(0)=1.104343344267459;dx=-2.348104870122732E-8
    Armijo: th(2.154434690031884)=1.104343344267459; dx=-2.3481048367715504E-8 evalInputDelta=0.0
    Armijo: th(1.077217345015942)=1.104343344267459; dx=-2.3480979325450338E-8 evalInputDelta=0.0
    Armijo: th(0.3590724483386473)=1.104343344267459; dx=-2.3480968127280772E-8 evalInputDelta=0.0
    Armijo: th(0.08976811208466183)=1.104343344267459; dx=-2.3481047079334805E-8 evalInputDelta=0.0
    Armijo: th(0.017953622416932366)=1.104343344267459; dx=-2.3480967579808088E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.002992270402822061)=1.104343344267459; dx=-2.3481048704917567E-8 evalInputDelta=0.0
    Armijo: th(0.010472946409877214)=1.104343344267459; dx=-2.3480980917259708E-8 evalInputDelta=0.0
    Armijo: th(0.006732608406349637)=1.104343344267459; dx=-2.3480980900378256E-8 evalInputDelta=0.0
    Armijo: th(0.004862439404585849)=1.104343344267459; dx=-2.3481048676176084E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.003927354903703955)=1.104343344267459; dx=-2.3481048698479114E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.004394897154144902)=1.104343344267459; dx=-2.348104869479115E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.004628668279365375)=1.104343344267459; dx=-2.3481048677878984E-8 evalInputDelta=0.0
    Armijo: th(0.004745553841975612)=1.104343344267459; dx=-2.3481048675161332E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.004687111060670494)=1.104343344267459; dx=-2.3481048677878984E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.004716332451323053)=1.104343344267459; dx=-2.348104867445833E-8 evalInputDelta=0.0
    Armijo: th(0.004730943146649333)=1.104343344267459; dx=-2.348104867445833E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.0047236377989861925)=1.104343344267459; dx=-2.348104867445833E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.004727290472817763)=1.104343344267459; dx=-2.348104867445833E-8 evalInputDelta=0.0
    Armijo: th

...skipping 1585 bytes...

    8644404)=1.104343344267459; dx=-2.3480968424160232E-8 evalInputDelta=0.0
    Armijo: th(0.025466284315537005)=1.104343344267459; dx=-2.3480967576303357E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.022919655883983304)=1.104343344267459; dx=-2.3480967131981553E-8 evalInputDelta=0.0
    Armijo: th(0.024192970099760153)=1.104343344267459; dx=-2.348096759396166E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.023556312991871727)=1.104343344267459; dx=-2.348096713780536E-8 evalInputDelta=0.0
    Armijo: th(0.02387464154581594)=1.104343344267459; dx=-2.348096759571256E-8 evalInputDelta=0.0
    Armijo: th(0.023715477268843835)=1.104343344267459; dx=-2.3480967142877E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.02363589513035778)=1.104343344267459; dx=-2.348096714019184E-8 evalInputDelta=0.0
    Armijo: th(0.02367568619960081)=1.104343344267459; dx=-2.3480967143486742E-8 evalInputDelta=0.0
    Armijo: th(0.023655790664979297)=1.104343344267459; dx=-2.348096714019184E-8 evalInputDelta=0.0
    Armijo: th(0.023645842897668537)=1.104343344267459; dx=-2.348096714019184E-8 evalInputDelta=0.0
    Armijo: th(0.02364086901401316)=1.104343344267459; dx=-2.348096714019184E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.023638382072185472)=1.104343344267459; dx=-2.348096714019184E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.023639625543099316)=1.104343344267459; dx=-2.348096714019184E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.023640247278556237)=1.104343344267459; dx=-2.348096714019184E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.0236405581462847)=1.104343344267459; dx=-2.348096714019184E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.02364071358014893)=1.104343344267459; dx=-2.348096714019184E-8 evalInputDelta=0.0
    mu ~= nu (0.02364071358014893): th(0.0)=1.104343344267459
    Fitness changed from 1.104343344267459 to 1.104343344267459
    Static Iteration Total: 19.2315; Orientation: 0.0693; Line Search: 17.9785
    Iteration 2 failed. Error: 1.104343344267459
    Previous Error: 0.0 -> 1.104343344267459
    Optimization terminated 2
    Final threshold in iteration 2: 1.104343344267459 (> -Infinity) after 41.479s (< 3600.000s)
    

Returns:

    1.104343344267459