Code from BasicOptimizer.scala:75 executed in 39.91 seconds (1.066 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: 913168785819300
    Reset training subject: 913169505232500
    Adding measurement 57e15107 to history. Total: 0
    LBFGS Accumulation History: 1 points
    Constructing line search parameters: GD+Trust
    th(0)=0.4061223566532135;dx=-6.402805718122826E-8
    Armijo: th(2.154434690031884)=0.4061223566532135; dx=-6.401655746275114E-8 evalInputDelta=0.0
    Armijo: th(1.077217345015942)=0.4061223566532135; dx=-6.401649057080555E-8 evalInputDelta=0.0
    Armijo: th(0.3590724483386473)=0.4061223566532135; dx=-6.401655910757347E-8 evalInputDelta=0.0
    Armijo: th(0.08976811208466183)=0.4061223566532135; dx=-6.401655908569817E-8 evalInputDelta=0.0
    Armijo: th(0.017953622416932366)=0.4061223566532135; dx=-6.401655908569817E-8 evalInputDelta=0.0
    Armijo: th(0.002992270402822061)=0.4061223566532135; dx=-6.401655908569817E-8 evalInputDelta=0.0
    WOLFE (weak): th(4.2746720040315154E-4)=0.4061223566532135; dx=-6.401655908569817E-8 evalInputDelta=0.0
    Armijo: th(0.0017098688016126062)=0.4061223566532135; dx=-6.401655908569817E-8 evalInputDelta=0.0
    Armijo: th(0.001068668001007879)=0.4061223566532135; dx=-6.401655908569817E-8 evalInputDelta=0.0
    Armijo: th(7.480676007055152E-4)=0.4061223566532135; dx=-6.401655908569817E-8 evalInputDelta=0.0
    Armijo: th(5.877674005543334E-4)=0.4061223566532135; dx=-6.401655908569817E-8 evalInputDelta=0.0
    Armijo: th(5.076173004787425E-4)=0.4061223566532135; dx=-6.401655908569817E-8 evalInputDelta=0.0
    Armijo: th(4.67542250440947E-4)=0.4061223566532135; dx=-6.401655908569817E-8 evalInputDelta=0.0
    Armijo: th(4.475047254220493E-4)=0.4061223566532135; dx=-6.401655908569817E-8 evalInputDelta=0.0
    Armijo: th(4.374859629126004E-4)=0.4061223566532135; dx=-6.401655908569817E-8 evalInputDelta=0.0
    WOLFE (weak): th(4.3247658165787594E-4)=0.4061223566532135; dx=-6.401655908569817E-8 evalInputDelta=0.0
    Armijo: th(4.3498127228523817E-4)=0.4061223566532135; dx=-6.401655908569817E-8 evalInputDelta=0.0
    Armijo: th(4.3372892697155705E-4)=0.4061223566532135; dx=-6.401655908569817E-8 evalInputDelta=0.0
    WOLFE (we

...skipping 1898 bytes...

    Delta=0.0
    Armijo: th(0.002334817121809901)=0.4061223566532135; dx=-6.401655908569817E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.002101335409628911)=0.4061223566532135; dx=-6.401655908569817E-8 evalInputDelta=0.0
    Armijo: th(0.002218076265719406)=0.4061223566532135; dx=-6.401655908569817E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.0021597058376741584)=0.4061223566532135; dx=-6.401655908569817E-8 evalInputDelta=0.0
    Armijo: th(0.0021888910516967824)=0.4061223566532135; dx=-6.401655908569817E-8 evalInputDelta=0.0
    Armijo: th(0.0021742984446854706)=0.4061223566532135; dx=-6.401655908569817E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.0021670021411798147)=0.4061223566532135; dx=-6.401655908569817E-8 evalInputDelta=0.0
    Armijo: th(0.0021706502929326426)=0.4061223566532135; dx=-6.401655908569817E-8 evalInputDelta=0.0
    Armijo: th(0.0021688262170562285)=0.4061223566532135; dx=-6.401655908569817E-8 evalInputDelta=0.0
    Armijo: th(0.0021679141791180216)=0.4061223566532135; dx=-6.401655908569817E-8 evalInputDelta=0.0
    Armijo: th(0.002167458160148918)=0.4061223566532135; dx=-6.401655908569817E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.0021672301506643664)=0.4061223566532135; dx=-6.401655908569817E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.0021673441554066423)=0.4061223566532135; dx=-6.401655908569817E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.00216740115777778)=0.4061223566532135; dx=-6.401655908569817E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.0021674296589633494)=0.4061223566532135; dx=-6.401655908569817E-8 evalInputDelta=0.0
    WOLFE (weak): th(0.0021674439095561338)=0.4061223566532135; dx=-6.401655908569817E-8 evalInputDelta=0.0
    mu ~= nu (0.0021674439095561338): th(0.0)=0.4061223566532135
    Fitness changed from 0.4061223566532135 to 0.4061223566532135
    Static Iteration Total: 16.9108; Orientation: 0.0074; Line Search: 15.5899
    Iteration 2 failed. Error: 0.4061223566532135
    Previous Error: 0.0 -> 0.4061223566532135
    Optimization terminated 2
    Final threshold in iteration 2: 0.4061223566532135 (> -Infinity) after 39.908s (< 720.000s)
    

Returns:

    0.4061223566532135