Code from BasicOptimizer.scala:75 executed in 88.03 seconds (0.941 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: 906161365167800
    Reset training subject: 906163288425200
    Adding measurement 6792aa3e to history. Total: 0
    LBFGS Accumulation History: 1 points
    Constructing line search parameters: GD+Trust
    th(0)=-0.13455036282539368;dx=-1.629169821590047E-9
    Armijo: th(2.154434690031884)=-0.13455036282539368; dx=-1.6215919530986448E-9 evalInputDelta=0.0
    Armijo: th(1.077217345015942)=-0.13455036282539368; dx=-1.6215919530986448E-9 evalInputDelta=0.0
    Armijo: th(0.3590724483386473)=-0.13455036282539368; dx=-1.6215919530986448E-9 evalInputDelta=0.0
    Armijo: th(0.08976811208466183)=-0.13455036282539368; dx=-1.6215919530986448E-9 evalInputDelta=0.0
    Armijo: th(0.017953622416932366)=-0.13455036282539368; dx=-1.6215919530986448E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.002992270402822061)=-0.13455036282539368; dx=-1.6215919530986448E-9 evalInputDelta=0.0
    Armijo: th(0.010472946409877214)=-0.13455036282539368; dx=-1.6215919530986448E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.006732608406349637)=-0.13455036282539368; dx=-1.6215919530986448E-9 evalInputDelta=0.0
    Armijo: th(0.008602777408113426)=-0.13455036282539368; dx=-1.6215919530986448E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.0076676929072315315)=-0.13455036282539368; dx=-1.6215919530986448E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.008135235157672479)=-0.13455036282539368; dx=-1.6215919530986448E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.008369006282892952)=-0.13455036282539368; dx=-1.6215919530986448E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.008485891845503189)=-0.13455036282539368; dx=-1.6215919530986448E-9 evalInputDelta=0.0
    Armijo: th(0.008544334626808307)=-0.13455036282539368; dx=-1.6215919530986448E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.008515113236155749)=-0.13455036282539368; dx=-1.6215919530986448E-9 evalInputDelta=0.0
    Armijo: th(0.008529723931482028)=-0.13455036282539368; dx=-1.6215919530986448E-9 evalInputDelta=0.0
    Armijo: th(0.00852241858381889)=-0.13455036282539368; dx=-1.6215919530986448E-9 evalInputDelta=0.0
    Armijo: th(0.008518765909987

...skipping 1741 bytes...

    77)=-0.13455036282539368; dx=-1.6215919530986448E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.041292455831757696)=-0.13455036282539368; dx=-1.6215919530986448E-9 evalInputDelta=0.0
    Armijo: th(0.04358648115574423)=-0.13455036282539368; dx=-1.6215919530986448E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.042439468493750965)=-0.13455036282539368; dx=-1.6215919530986448E-9 evalInputDelta=0.0
    Armijo: th(0.0430129748247476)=-0.13455036282539368; dx=-1.6215919530986448E-9 evalInputDelta=0.0
    Armijo: th(0.04272622165924928)=-0.13455036282539368; dx=-1.6215919530986448E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.04258284507650012)=-0.13455036282539368; dx=-1.6215919530986448E-9 evalInputDelta=0.0
    Armijo: th(0.0426545333678747)=-0.13455036282539368; dx=-1.6215919530986448E-9 evalInputDelta=0.0
    Armijo: th(0.04261868922218741)=-0.13455036282539368; dx=-1.6215919530986448E-9 evalInputDelta=0.0
    Armijo: th(0.042600767149343764)=-0.13455036282539368; dx=-1.6215919530986448E-9 evalInputDelta=0.0
    Armijo: th(0.042591806112921946)=-0.13455036282539368; dx=-1.6215919530986448E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.04258732559471103)=-0.13455036282539368; dx=-1.6215919530986448E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.042589565853816486)=-0.13455036282539368; dx=-1.6215919530986448E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.042590685983369216)=-0.13455036282539368; dx=-1.6215919530986448E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.042591246048145584)=-0.13455036282539368; dx=-1.6215919530986448E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.042591526080533765)=-0.13455036282539368; dx=-1.6215919530986448E-9 evalInputDelta=0.0
    mu ~= nu (0.042591526080533765): th(0.0)=-0.13455036282539368
    Fitness changed from -0.13455036282539368 to -0.13455036282539368
    Static Iteration Total: 40.0261; Orientation: 0.0146; Line Search: 36.8097
    Iteration 2 failed. Error: -0.13455036282539368
    Previous Error: 0.0 -> -0.13455036282539368
    Optimization terminated 2
    Final threshold in iteration 2: -0.13455036282539368 (> -Infinity) after 88.033s (< 720.000s)
    

Returns:

    -0.13455036282539368