Code from BasicOptimizer.scala:88 executed in 617.44 seconds (5.410 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: 11343285179935
    Reset training subject: 11353723042046
    Adding measurement 5e75eab9 to history. Total: 0
    LBFGS Accumulation History: 1 points
    Constructing line search parameters: GD+Trust
    th(0)=3.659788504242897;dx=-1.2614991838319714E-7
    Armijo: th(2.154434690031884)=3.659788593649864; dx=-1.2573273341397855E-7 evalInputDelta=-8.940696716308594E-8
    Armijo: th(1.077217345015942)=3.6597886234521866; dx=-1.2570730986299143E-7 evalInputDelta=-1.1920928955078125E-7
    Armijo: th(0.3590724483386473)=3.659788504242897; dx=-1.2572292830036018E-7 evalInputDelta=0.0
    Armijo: th(0.08976811208466183)=3.659788504242897; dx=-1.2572662219827128E-7 evalInputDelta=0.0
    Armijo: th(0.017953622416932366)=3.659788504242897; dx=-1.2561629325814132E-7 evalInputDelta=0.0
    Armijo: th(0.002992270402822061)=3.659788504242897; dx=-1.2572616086514394E-7 evalInputDelta=0.0
    WOLFE (weak): th(4.2746720040315154E-4)=3.659788504242897; dx=-1.2572363234915035E-7 evalInputDelta=0.0
    WOLFE (weak): th(0.0017098688016126062)=3.659788504242897; dx=-1.2571418389741046E-7 evalInputDelta=0.0
    Armijo: th(0.0023510696022173336)=3.659788504242897; dx=-1.257170088836628E-7 evalInputDelta=0.0
    Armijo: th(0.00203046920191497)=3.659788504242897; dx=-1.257289259161153E-7 evalInputDelta=0.0
    Armijo: th(0.001870169001763788)=3.659788504242897; dx=-1.257328155710029E-7 evalInputDelta=0.0
    Armijo: th(0.0017900189016881972)=3.659788504242897; dx=-1.2572781085928652E-7 evalInputDelta=0.0
    WOLFE (weak): th(0.0017499438516504016)=3.659788504242897; dx=-1.2572388139576493E-7 evalInputDelta=0.0
    Armijo: th(0.0017699813766692994)=3.659788504242897; dx=-1.2571440376227514E-7 evalInputDelta=0.0
    WOLFE (weak): th(0.0017599626141598505)=3.659788504242897; dx=-1.2574320884319404E-7 evalInputDelta=0.0
    Armijo: th(0.001764971995414575)=3.659788504242897; dx=-1.2572299578257917E-7 evalInputDelta=0.0
    Armijo: th(0.0017624673047872126)=3.659788504242897; dx=-1.2571476191613386E-7 evalInputDelta=0.0
    Armijo: th(0.0017612149594735315)=3.659788504242897; dx=-1.2568785738951693E-7 eva

...skipping 1631 bytes...

    242897; dx=-1.257384136692191E-7 evalInputDelta=0.0
    Armijo: th(0.009480391565181854)=3.659788504242897; dx=-1.257086085269335E-7 evalInputDelta=0.0
    WOLFE (weak): th(0.008532352408663669)=3.659788504242897; dx=-1.257376289200054E-7 evalInputDelta=0.0
    Armijo: th(0.009006371986922761)=3.659788504242897; dx=-1.2572158152019576E-7 evalInputDelta=0.0
    WOLFE (weak): th(0.008769362197793215)=3.659788504242897; dx=-1.2572897475432258E-7 evalInputDelta=0.0
    Armijo: th(0.008887867092357988)=3.659788504242897; dx=-1.257414124167928E-7 evalInputDelta=0.0
    Armijo: th(0.008828614645075603)=3.659788504242897; dx=-1.2571881080967526E-7 evalInputDelta=0.0
    WOLFE (weak): th(0.008798988421434409)=3.659788504242897; dx=-1.2572591744039844E-7 evalInputDelta=0.0
    Armijo: th(0.008813801533255006)=3.659788504242897; dx=-1.2573045154301135E-7 evalInputDelta=0.0
    Armijo: th(0.008806394977344707)=3.659788504242897; dx=-1.2574076065841673E-7 evalInputDelta=0.0
    Armijo: th(0.008802691699389558)=3.659788504242897; dx=-1.2573564097184296E-7 evalInputDelta=0.0
    Armijo: th(0.008800840060411983)=3.659788504242897; dx=-1.2565302290761488E-7 evalInputDelta=0.0
    WOLFE (weak): th(0.008799914240923197)=3.659788504242897; dx=-1.2571645644858134E-7 evalInputDelta=0.0
    WOLFE (weak): th(0.008800377150667591)=3.659788504242897; dx=-1.257058496865599E-7 evalInputDelta=0.0
    WOLFE (weak): th(0.008800608605539786)=3.659788504242897; dx=-1.2569305253039545E-7 evalInputDelta=0.0
    WOLFE (weak): th(0.008800724332975886)=3.659788504242897; dx=-1.257407037394832E-7 evalInputDelta=0.0
    WOLFE (weak): th(0.008800782196693935)=3.659788504242897; dx=-1.2573276431646373E-7 evalInputDelta=0.0
    mu ~= nu (0.008800782196693935): th(0.0)=3.659788504242897
    Fitness changed from 3.659788504242897 to 3.659788504242897
    Static Iteration Total: 283.8827; Orientation: 0.0697; Line Search: 261.0994
    Iteration 2 failed. Error: 3.659788504242897
    Previous Error: 0.0 -> 3.659788504242897
    Optimization terminated 2
    Final threshold in iteration 2: 3.659788504242897 (> -Infinity) after 617.442s (< 3600.000s)
    

Returns:

    3.659788504242897