Code from BasicOptimizer.scala:75 executed in 83.33 seconds (3.981 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: 550793286564
    Reset training subject: 552995871931
    Adding measurement 3422b to history. Total: 0
    LBFGS Accumulation History: 1 points
    Constructing line search parameters: GD+Trust
    th(0)=1.522078514099121;dx=-7.433503122469708E-10
    Armijo: th(2.154434690031884)=1.522078514099121; dx=-7.433503092020044E-10 evalInputDelta=0.0
    Armijo: th(1.077217345015942)=1.522078514099121; dx=-7.433503106778028E-10 evalInputDelta=0.0
    Armijo: th(0.3590724483386473)=1.522078514099121; dx=-7.433503117405533E-10 evalInputDelta=0.0
    WOLFE (weak): th(0.08976811208466183)=1.522078514099121; dx=-7.433503121080795E-10 evalInputDelta=0.0
    Armijo: th(0.22442028021165458)=1.522078514099121; dx=-7.4335031192903E-10 evalInputDelta=0.0
    Armijo: th(0.1570941961481582)=1.522078514099121; dx=-7.433503120176064E-10 evalInputDelta=0.0
    WOLFE (weak): th(0.12343115411641001)=1.522078514099121; dx=-7.43350312064807E-10 evalInputDelta=0.0
    WOLFE (weak): th(0.1402626751322841)=1.522078514099121; dx=-7.433503120412915E-10 evalInputDelta=0.0
    WOLFE (weak): th(0.14867843564022115)=1.522078514099121; dx=-7.433503120346074E-10 evalInputDelta=0.0
    Armijo: th(0.15288631589418966)=1.522078514099121; dx=-7.43350312030652E-10 evalInputDelta=0.0
    Armijo: th(0.1507823757672054)=1.522078514099121; dx=-7.433503120308003E-10 evalInputDelta=0.0
    Armijo: th(0.14973040570371327)=1.522078514099121; dx=-7.433503120343243E-10 evalInputDelta=0.0
    WOLFE (weak): th(0.1492044206719672)=1.522078514099121; dx=-7.433503120347138E-10 evalInputDelta=0.0
    Armijo: th(0.14946741318784024)=1.522078514099121; dx=-7.433503120347643E-10 evalInputDelta=0.0
    WOLFE (weak): th(0.14933591692990372)=1.522078514099121; dx=-7.433503120347643E-10 evalInputDelta=0.0
    Armijo: th(0.14940166505887198)=1.522078514099121; dx=-7.433503120347643E-10 evalInputDelta=0.0
    Armijo: th(0.14936879099438785)=1.522078514099121; dx=-7.433503120347643E-10 evalInputDelta=0.0
    WOLFE (weak): th(0.1493523539621458)=1.522078514099121; dx=-7.433503120347643E-10 evalInputDelta=0.0
    Armijo: th(0.14936057247826684)=1.52207

...skipping 1222 bytes...

    th(0.9653196370110337)=1.522078514099121; dx=-7.433503108338884E-10 evalInputDelta=0.0
    Armijo: th(0.804433030842528)=1.522078514099121; dx=-7.433503111042639E-10 evalInputDelta=0.0
    WOLFE (weak): th(0.7239897277582752)=1.522078514099121; dx=-7.433503112353557E-10 evalInputDelta=0.0
    Armijo: th(0.7642113793004016)=1.522078514099121; dx=-7.433503111669786E-10 evalInputDelta=0.0
    WOLFE (weak): th(0.7441005535293383)=1.522078514099121; dx=-7.433503111999857E-10 evalInputDelta=0.0
    Armijo: th(0.75415596641487)=1.522078514099121; dx=-7.433503111878565E-10 evalInputDelta=0.0
    Armijo: th(0.7491282599721042)=1.522078514099121; dx=-7.433503111974639E-10 evalInputDelta=0.0
    WOLFE (weak): th(0.7466144067507212)=1.522078514099121; dx=-7.433503111993989E-10 evalInputDelta=0.0
    Armijo: th(0.7478713333614126)=1.522078514099121; dx=-7.433503111979355E-10 evalInputDelta=0.0
    Armijo: th(0.7472428700560669)=1.522078514099121; dx=-7.433503111991097E-10 evalInputDelta=0.0
    Armijo: th(0.7469286384033941)=1.522078514099121; dx=-7.433503111991097E-10 evalInputDelta=0.0
    Armijo: th(0.7467715225770577)=1.522078514099121; dx=-7.433503111991097E-10 evalInputDelta=0.0
    WOLFE (weak): th(0.7466929646638895)=1.522078514099121; dx=-7.433503111996018E-10 evalInputDelta=0.0
    WOLFE (weak): th(0.7467322436204735)=1.522078514099121; dx=-7.433503111996018E-10 evalInputDelta=0.0
    WOLFE (weak): th(0.7467518830987656)=1.522078514099121; dx=-7.433503111991097E-10 evalInputDelta=0.0
    WOLFE (weak): th(0.7467617028379117)=1.522078514099121; dx=-7.433503111991097E-10 evalInputDelta=0.0
    WOLFE (weak): th(0.7467666127074847)=1.522078514099121; dx=-7.433503111991097E-10 evalInputDelta=0.0
    mu ~= nu (0.7467666127074847): th(0.0)=1.522078514099121
    Fitness changed from 1.522078514099121 to 1.522078514099121
    Static Iteration Total: 39.5459; Orientation: 0.0662; Line Search: 36.7652
    Iteration 2 failed. Error: 1.522078514099121
    Previous Error: 0.0 -> 1.522078514099121
    Optimization terminated 2
    Final threshold in iteration 2: 1.522078514099121 (> -Infinity) after 83.332s (< 3600.000s)
    

Returns:

    1.522078514099121