Code from BasicOptimizer.scala:75 executed in 339.57 seconds (3.101 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: 905236819631000
    Reset training subject: 905243473631900
    Adding measurement 53551fef to history. Total: 0
    LBFGS Accumulation History: 1 points
    Constructing line search parameters: GD+Trust
    th(0)=2.2735800445079803;dx=-9.036086622801275E-8
    Armijo: th(2.154434690031884)=2.2735800445079803; dx=-9.036084546284088E-8 evalInputDelta=0.0
    Armijo: th(1.077217345015942)=2.2735800445079803; dx=-9.036086198755251E-8 evalInputDelta=0.0
    Armijo: th(0.3590724483386473)=2.2735800445079803; dx=-9.036086452960762E-8 evalInputDelta=0.0
    Armijo: th(0.08976811208466183)=2.2735800445079803; dx=-9.036086622801275E-8 evalInputDelta=0.0
    Armijo: th(0.017953622416932366)=2.2735800445079803; dx=-9.036086622801275E-8 evalInputDelta=0.0
    Armijo: th(0.002992270402822061)=2.2735800445079803; dx=-9.036086622801275E-8 evalInputDelta=0.0
    WOLFE (weak): th(4.2746720040315154E-4)=2.2735800445079803; dx=-9.036086622801275E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.0017098688016126062)=2.2735800445079803; dx=-9.036086622801275E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.0023510696022173336)=2.2735800445079803; dx=-9.036086622801275E-8 evalInputDelta=0.0
    Armijo: th(0.0026716700025196972)=2.2735800445079803; dx=-9.036086622801275E-8 evalInputDelta=0.0
    Armijo: th(0.0025113698023685157)=2.2735800445079803; dx=-9.036086622801275E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.0024312197022929244)=2.2735800445079803; dx=-9.036086622801275E-8 evalInputDelta=0.0
    Armijo: th(0.00247129475233072)=2.2735800445079803; dx=-9.036086622801275E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.0024512572273118222)=2.2735800445079803; dx=-9.036086622801275E-8 evalInputDelta=0.0
    Armijo: th(0.002461275989821271)=2.2735800445079803; dx=-9.036086622801275E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.0024562666085665465)=2.2735800445079803; dx=-9.036086622801275E-8 evalInputDelta=0.0
    Armijo: th(0.0024587712991939086)=2.2735800445079803; dx=-9.036086622801275E-8 evalInputDelta=0.0
    Armijo: th(0.0024575189538802275)=2.2735800445079803; dx=-9.036086622801275E-8 

...skipping 1612 bytes...

    evalInputDelta=0.0
    Armijo: th(0.013235303573111585)=2.2735800445079803; dx=-9.036086622801275E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.011911773215800427)=2.2735800445079803; dx=-9.036086622801275E-8 evalInputDelta=0.0
    Armijo: th(0.012573538394456005)=2.2735800445079803; dx=-9.036086622801275E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.012242655805128216)=2.2735800445079803; dx=-9.036086622801275E-8 evalInputDelta=0.0
    Armijo: th(0.01240809709979211)=2.2735800445079803; dx=-9.036086622801275E-8 evalInputDelta=0.0
    Armijo: th(0.012325376452460162)=2.2735800445079803; dx=-9.036086622801275E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.012284016128794189)=2.2735800445079803; dx=-9.036086622801275E-8 evalInputDelta=0.0
    Armijo: th(0.012304696290627175)=2.2735800445079803; dx=-9.036086622801275E-8 evalInputDelta=0.0
    Armijo: th(0.012294356209710682)=2.2735800445079803; dx=-9.036086622801275E-8 evalInputDelta=0.0
    Armijo: th(0.012289186169252436)=2.2735800445079803; dx=-9.036086622801275E-8 evalInputDelta=0.0
    Armijo: th(0.012286601149023312)=2.2735800445079803; dx=-9.036086622801275E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.01228530863890875)=2.2735800445079803; dx=-9.036086622801275E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.012285954893966031)=2.2735800445079803; dx=-9.036086622801275E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.012286278021494672)=2.2735800445079803; dx=-9.036086622801275E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.012286439585258992)=2.2735800445079803; dx=-9.036086622801275E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.012286520367141153)=2.2735800445079803; dx=-9.036086622801275E-8 evalInputDelta=0.0
    mu ~= nu (0.012286520367141153): th(0.0)=2.2735800445079803
    Fitness changed from 2.2735800445079803 to 2.2735800445079803
    Static Iteration Total: 159.3528; Orientation: 0.0677; Line Search: 146.8137
    Iteration 2 failed. Error: 2.2735800445079803
    Previous Error: 0.0 -> 2.2735800445079803
    Optimization terminated 2
    Final threshold in iteration 2: 2.2735800445079803 (> -Infinity) after 339.568s (< 3600.000s)
    

Returns:

    2.2735800445079803