Code from BasicOptimizer.scala:88 executed in 7096.81 seconds (70.179 gc):

    val lineSearchInstance: LineSearchStrategy = lineSearchFactory
    val trainer = new IterativeTrainer(trainable)
    trainer.setOrientation(orientation())
    trainer.setMonitor(new TrainingMonitor() {
      override def clear(): Unit = trainingMonitor.clear()
  
      override def log(msg: String): Unit = {
        trainingMonitor.log(msg)
        BasicOptimizer.this.log(msg)
      }
  
      override def onStepFail(currentPoint: Step): Boolean = {
        BasicOptimizer.this.onStepFail(trainable.addRef().asInstanceOf[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.addRef().asInstanceOf[Trainable], currentPoint)
        trainingMonitor.onStepComplete(currentPoint)
        super.onStepComplete(currentPoint)
      }
    })
    trainer.setTimeout(trainingMinutes, TimeUnit.MINUTES)
    trainer.setMaxIterations(trainingIterations)
    trainer.setLineSearchFactory((_: CharSequence) => lineSearchInstance)
    trainer.setTerminateThreshold(java.lang.Double.NEGATIVE_INFINITY)
    val result = trainer.run.asInstanceOf[lang.Double]
    trainer.freeRef()
    result

Logging:

    Reset training subject: 10762707099311
    Reset training subject: 11000958136358
    Adding measurement 5f706117 to history. Total: 0
    LBFGS Accumulation History: 1 points
    Constructing line search parameters: GD+Trust
    th(0)=7.321629166603088;dx=-3.6216530242809566E-7
    Armijo: th(2.154434690031884)=7.321629226207733; dx=-3.574267551603999E-7 evalInputDelta=-5.9604644775390625E-8
    Armijo: th(1.077217345015942)=7.321629166603088; dx=-3.571437330822971E-7 evalInputDelta=0.0
    Armijo: th(0.3590724483386473)=7.321629166603088; dx=-3.577405881335116E-7 evalInputDelta=0.0
    Armijo: th(0.08976811208466183)=7.321629166603088; dx=-3.5718478359491366E-7 evalInputDelta=0.0
    Armijo: th(0.017953622416932366)=7.321629166603088; dx=-3.573452029294915E-7 evalInputDelta=0.0
    Armijo: th(0.002992270402822061)=7.321629166603088; dx=-3.5729172746620615E-7 evalInputDelta=0.0
    WOLFE (weak): th(4.2746720040315154E-4)=7.321629166603088; dx=-3.570000725591621E-7 evalInputDelta=0.0
    Armijo: th(0.0017098688016126062)=7.321629166603088; dx=-3.568877807359151E-7 evalInputDelta=0.0
    WOLFE (weak): th(0.001068668001007879)=7.321629166603088; dx=-3.5742486970263793E-7 evalInputDelta=0.0
    Armijo: th(0.0013892684013102426)=7.321629166603088; dx=-3.5732844355462606E-7 evalInputDelta=0.0
    Armijo: th(0.0012289682011590608)=7.321629166603088; dx=-3.573508559325102E-7 evalInputDelta=0.0
    WOLFE (weak): th(0.00114881810108347)=7.321629166603088; dx=-3.575113630216056E-7 evalInputDelta=0.0
    WOLFE (weak): th(0.0011888931511212654)=7.321629166603088; dx=-3.5778919458893927E-7 evalInputDelta=0.0
    WOLFE (weak): th(0.001208930676140163)=7.321629166603088; dx=-3.5753322976908973E-7 evalInputDelta=0.0
    WOLFE (weak): th(0.0012189494386496118)=7.321629166603088; dx=-3.5732844356709735E-7 evalInputDelta=0.0
    WOLFE (weak): th(0.0012239588199043363)=7.321629166603088; dx=-3.575313962491746E-7 evalInputDelta=0.0
    Armijo: th(0.0012264635105316986)=7.321629166603088; dx=-3.5756625717126203E-7 evalInputDelta=0.0
    WOLFE (weak): th(0.0012252111652180176)=7.321629166603088; dx=-3.5737594485650875E-7 evalInputDelta=0.0
    WOLFE (weak): th(0.001225837337874858)=7.321629166603088; dx=-3.575696452479875E-7 evalInputDelta=0.0
    WOLFE (weak): th(0.0012261504242032785)=7.321629166603088; dx=-3.5688378169297423E-7 evalInputDelta=0.0
    Armijo: th(0.0012263069673674886)=7.321629166603088; dx=-3.571097796046816E-7 evalInputDelta=0.0
    Armijo: th(0.0012262286957853835)=7.321629166603088; dx=-3.573265580350756E-7 evalInputDelta=0.0
    WOLFE (weak): th(0.001226189559994331)=7.321629166603088; dx=-3.577017163306318E-7 evalInputDelta=0.0
    Armijo: th(0.0012262091278898574)=7.321629166603088; dx=-3.569971664228483E-7 evalInputDelta=0.0
    WOLFE (weak): th(0.0012261993439420943)=7.321629166603088; dx=-3.5764141043915873E-7 evalInputDelta=0.0
    mu ~= nu (0.0012261993439420943): th(0.0)=7.321629166603088
    Fitness changed from 7.321629166603088 to 7.321629166603088
    Static Iteration Total: 7096.8090; Orientation: 1.0352; Line Search: 6391.1751
    Iteration 1 failed. Error: 7.321629166603088
    Previous Error: 0.0 -> 7.321629166603088
    Retrying iteration 1
    Final threshold in iteration 1: 7.321629166603088 (> -Infinity) after 7096.810s (< 5400.000s)
    

Returns:

    7.321629166603088