Code from BasicOptimizer.scala:75 executed in 4773.34 seconds (215.743 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: 742190807724600
    Reset training subject: 742284438253900
    Adding measurement 708769b7 to history. Total: 0
    LBFGS Accumulation History: 1 points
    Constructing line search parameters: GD+Trust
    th(0)=3.2804892124459446;dx=-1.1650171239464381E-7
    Armijo: th(2.154434690031884)=3.280489242248267; dx=-1.1490987960285975E-7 evalInputDelta=-2.9802322387695312E-8
    Armijo: th(1.077217345015942)=3.2804892124459446; dx=-1.1490992074126899E-7 evalInputDelta=0.0
    Armijo: th(0.3590724483386473)=3.2804892124459446; dx=-1.1490992074126899E-7 evalInputDelta=0.0
    Armijo: th(0.08976811208466183)=3.2804892124459446; dx=-1.1490992074126899E-7 evalInputDelta=0.0
    Armijo: th(0.017953622416932366)=3.2804892124459446; dx=-1.1490992074126899E-7 evalInputDelta=0.0
    Armijo: th(0.002992270402822061)=3.2804892124459446; dx=-1.1490992074126899E-7 evalInputDelta=0.0
    WOLFE (weak): th(4.2746720040315154E-4)=3.2804892124459446; dx=-1.1490992074126899E-7 evalInputDelta=0.0
    WOLFE (weak): th(0.0017098688016126062)=3.2804892124459446; dx=-1.1490992074126899E-7 evalInputDelta=0.0
    Armijo: th(0.0023510696022173336)=3.2804892124459446; dx=-1.1490992074126899E-7 evalInputDelta=0.0
    Armijo: th(0.00203046920191497)=3.2804892124459446; dx=-1.1490992074126899E-7 evalInputDelta=0.0
    WOLFE (weak): th(0.001870169001763788)=3.2804892124459446; dx=-1.1490992074126899E-7 evalInputDelta=0.0
    Armijo: th(0.001950319101839379)=3.2804892124459446; dx=-1.1490992074126899E-7 evalInputDelta=0.0
    Armijo: th(0.0019102440518015836)=3.2804892124459446; dx=-1.1490992074126899E-7 evalInputDelta=0.0
    WOLFE (weak): th(0.0018902065267826858)=3.2804892124459446; dx=-1.1490992074126899E-7 evalInputDelta=0.0
    WOLFE (weak): th(0.0019002252892921347)=3.2804892124459446; dx=-1.1490992074126899E-7 evalInputDelta=0.0
    WOLFE (weak): th(0.0019052346705468591)=3.2804892124459446; dx=-1.1490992074126899E-7 evalInputDelta=0.0
    Armijo: th(0.0019077393611742215)=3.2804892124459446; dx=-1.1490992074126899E-7 evalInputDelta=0.0
    Armijo: th(0.0019064870158605404)=3.28048921

...skipping 1778 bytes...

    
    Armijo: th(0.010265527016362413)=3.2804892124459446; dx=-1.1490992074126899E-7 evalInputDelta=0.0
    WOLFE (weak): th(0.009238974314726173)=3.2804892124459446; dx=-1.1490992074126899E-7 evalInputDelta=0.0
    Armijo: th(0.009752250665544294)=3.2804892124459446; dx=-1.1490992074126899E-7 evalInputDelta=0.0
    WOLFE (weak): th(0.009495612490135233)=3.2804892124459446; dx=-1.1490992074126899E-7 evalInputDelta=0.0
    Armijo: th(0.009623931577839764)=3.2804892124459446; dx=-1.1490992074126899E-7 evalInputDelta=0.0
    Armijo: th(0.009559772033987498)=3.2804892124459446; dx=-1.1490992074126899E-7 evalInputDelta=0.0
    WOLFE (weak): th(0.009527692262061366)=3.2804892124459446; dx=-1.1490992074126899E-7 evalInputDelta=0.0
    Armijo: th(0.009543732148024432)=3.2804892124459446; dx=-1.1490992074126899E-7 evalInputDelta=0.0
    Armijo: th(0.0095357122050429)=3.2804892124459446; dx=-1.1490992074126899E-7 evalInputDelta=0.0
    Armijo: th(0.009531702233552132)=3.2804892124459446; dx=-1.1490992074126899E-7 evalInputDelta=0.0
    Armijo: th(0.00952969724780675)=3.2804892124459446; dx=-1.1490992074126899E-7 evalInputDelta=0.0
    WOLFE (weak): th(0.009528694754934057)=3.2804892124459446; dx=-1.1490992074126899E-7 evalInputDelta=0.0
    WOLFE (weak): th(0.009529196001370404)=3.2804892124459446; dx=-1.1490992074126899E-7 evalInputDelta=0.0
    WOLFE (weak): th(0.009529446624588576)=3.2804892124459446; dx=-1.1490992074126899E-7 evalInputDelta=0.0
    WOLFE (weak): th(0.009529571936197662)=3.2804892124459446; dx=-1.1490992074126899E-7 evalInputDelta=0.0
    WOLFE (weak): th(0.009529634592002206)=3.2804892124459446; dx=-1.1490992074126899E-7 evalInputDelta=0.0
    mu ~= nu (0.009529634592002206): th(0.0)=3.2804892124459446
    Fitness changed from 3.2804892124459446 to 3.2804892124459446
    Static Iteration Total: 2148.0501; Orientation: 0.1222; Line Search: 1982.2237
    Iteration 2 failed. Error: 3.2804892124459446
    Previous Error: 0.0 -> 3.2804892124459446
    Optimization terminated 2
    Final threshold in iteration 2: 3.2804892124459446 (> -Infinity) after 4773.336s (< 3600.000s)
    

Returns:

    3.2804892124459446