Code from BasicOptimizer.scala:88 executed in 395.43 seconds (3.034 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: 7314289139613
    Reset training subject: 7321255448145
    Adding measurement 64a310fa to history. Total: 0
    LBFGS Accumulation History: 1 points
    Constructing line search parameters: GD+Trust
    th(0)=1.5191092193126678;dx=-4.293616829391139E-8
    Armijo: th(2.154434690031884)=1.5191092193126678; dx=-4.284136420190262E-8 evalInputDelta=0.0
    Armijo: th(1.077217345015942)=1.5191092193126678; dx=-4.284496782599139E-8 evalInputDelta=0.0
    Armijo: th(0.3590724483386473)=1.5191092193126678; dx=-4.284687939756988E-8 evalInputDelta=0.0
    Armijo: th(0.08976811208466183)=1.5191092193126678; dx=-4.28431348016752E-8 evalInputDelta=0.0
    Armijo: th(0.017953622416932366)=1.5191092193126678; dx=-4.2837784036259906E-8 evalInputDelta=0.0
    Armijo: th(0.002992270402822061)=1.5191092193126678; dx=-4.283624925718587E-8 evalInputDelta=0.0
    WOLFE (weak): th(4.2746720040315154E-4)=1.5191092193126678; dx=-4.28414315869672E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.0017098688016126062)=1.5191092193126678; dx=-4.2837033057109445E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.0023510696022173336)=1.5191092193126678; dx=-4.2837010629770503E-8 evalInputDelta=0.0
    Armijo: th(0.0026716700025196972)=1.5191092193126678; dx=-4.283904788921839E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.0025113698023685157)=1.5191092193126678; dx=-4.283402516794439E-8 evalInputDelta=0.0
    Armijo: th(0.0025915199024441064)=1.5191092193126678; dx=-4.2828695661447365E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.0025514448524063113)=1.5191092193126678; dx=-4.284948496113494E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.002571482377425209)=1.5191092193126678; dx=-4.283913464394616E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.0025815011399346575)=1.5191092193126678; dx=-4.283170014626017E-8 evalInputDelta=0.0
    Armijo: th(0.0025865105211893818)=1.5191092193126678; dx=-4.283599775676686E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.0025840058305620197)=1.5191092193126678; dx=-4.2836559835210356E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.0025852581758757007)=1.5191092193126678; dx=-4.283793354063474E-8 eval

...skipping 1558 bytes...

    x=-4.2832900766180574E-8 evalInputDelta=0.0
    Armijo: th(0.013927112298737356)=1.5191092193126678; dx=-4.2833273502600864E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.01253440106886362)=1.5191092193126678; dx=-4.281579674892686E-8 evalInputDelta=0.0
    Armijo: th(0.013230756683800488)=1.5191092193126678; dx=-4.283457016902664E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.012882578876332054)=1.5191092193126678; dx=-4.282944798779725E-8 evalInputDelta=0.0
    Armijo: th(0.013056667780066271)=1.5191092193126678; dx=-4.283312248958903E-8 evalInputDelta=0.0
    Armijo: th(0.012969623328199162)=1.5191092193126678; dx=-4.2826543017784066E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.012926101102265608)=1.5191092193126678; dx=-4.283123167792389E-8 evalInputDelta=0.0
    Armijo: th(0.012947862215232385)=1.5191092193126678; dx=-4.2824880227984525E-8 evalInputDelta=0.0
    Armijo: th(0.012936981658748996)=1.5191092193126678; dx=-4.282988331411547E-8 evalInputDelta=0.0
    Armijo: th(0.012931541380507302)=1.5191092193126678; dx=-4.283717381005489E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.012928821241386456)=1.5191092193126678; dx=-4.2831740624926746E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.012930181310946878)=1.5191092193126678; dx=-4.2832327285437005E-8 evalInputDelta=0.0
    Armijo: th(0.012930861345727091)=1.5191092193126678; dx=-4.28316471035855E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.012930521328336985)=1.5191092193126678; dx=-4.282191526168947E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.012930691337032039)=1.5191092193126678; dx=-4.282719077902609E-8 evalInputDelta=0.0
    Armijo: th(0.012930776341379565)=1.5191092193126678; dx=-4.283717571291715E-8 evalInputDelta=0.0
    mu ~= nu (0.012930691337032039): th(0.0)=1.5191092193126678
    Fitness changed from 1.5191092193126678 to 1.5191092193126678
    Static Iteration Total: 185.7110; Orientation: 0.0388; Line Search: 170.3361
    Iteration 2 failed. Error: 1.5191092193126678
    Previous Error: 0.0 -> 1.5191092193126678
    Optimization terminated 2
    Final threshold in iteration 2: 1.5191092193126678 (> -Infinity) after 395.424s (< 3600.000s)
    

Returns:

    1.5191092193126678