Code from BasicOptimizer.scala:75 executed in 47.04 seconds (0.742 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: 904465289216800
    Reset training subject: 904466096230800
    Adding measurement 4315fe1b to history. Total: 0
    LBFGS Accumulation History: 1 points
    Constructing line search parameters: GD+Trust
    th(0)=-0.32382190227508545;dx=-1.8551677155542817E-9
    Armijo: th(2.154434690031884)=-0.32382190227508545; dx=-1.8073326977201101E-9 evalInputDelta=0.0
    Armijo: th(1.077217345015942)=-0.32382190227508545; dx=-1.8073326977201101E-9 evalInputDelta=0.0
    Armijo: th(0.3590724483386473)=-0.32382190227508545; dx=-1.8073326977201101E-9 evalInputDelta=0.0
    Armijo: th(0.08976811208466183)=-0.32382190227508545; dx=-1.8073326977201101E-9 evalInputDelta=0.0
    Armijo: th(0.017953622416932366)=-0.32382190227508545; dx=-1.8073326977201101E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.002992270402822061)=-0.32382190227508545; dx=-1.8073326977201101E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.010472946409877214)=-0.32382190227508545; dx=-1.8073326977201101E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.01421328441340479)=-0.32382190227508545; dx=-1.8073326977201101E-9 evalInputDelta=0.0
    Armijo: th(0.016083453415168578)=-0.32382190227508545; dx=-1.8073326977201101E-9 evalInputDelta=0.0
    Armijo: th(0.015148368914286683)=-0.32382190227508545; dx=-1.8073326977201101E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.014680826663845736)=-0.32382190227508545; dx=-1.8073326977201101E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.01491459778906621)=-0.32382190227508545; dx=-1.8073326977201101E-9 evalInputDelta=0.0
    Armijo: th(0.015031483351676447)=-0.32382190227508545; dx=-1.8073326977201101E-9 evalInputDelta=0.0
    Armijo: th(0.014973040570371328)=-0.32382190227508545; dx=-1.8073326977201101E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.014943819179718768)=-0.32382190227508545; dx=-1.8073326977201101E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.014958429875045049)=-0.32382190227508545; dx=-1.8073326977201101E-9 evalInputDelta=0.0
    Armijo: th(0.01496573522270819)=-0.32382190227508545; dx=-1.8073326977201101E-9 evalInputDelta=0.0
    Armijo: th(0.01496208254887662

...skipping 1617 bytes...

    46319182413)=-0.32382190227508545; dx=-1.8073326977201101E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.07252421687264171)=-0.32382190227508545; dx=-1.8073326977201101E-9 evalInputDelta=0.0
    Armijo: th(0.07655334003223292)=-0.32382190227508545; dx=-1.8073326977201101E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.07453877845243731)=-0.32382190227508545; dx=-1.8073326977201101E-9 evalInputDelta=0.0
    Armijo: th(0.07554605924233512)=-0.32382190227508545; dx=-1.8073326977201101E-9 evalInputDelta=0.0
    Armijo: th(0.07504241884738622)=-0.32382190227508545; dx=-1.8073326977201101E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.07479059864991176)=-0.32382190227508545; dx=-1.8073326977201101E-9 evalInputDelta=0.0
    Armijo: th(0.074916508748649)=-0.32382190227508545; dx=-1.8073326977201101E-9 evalInputDelta=0.0
    Armijo: th(0.07485355369928037)=-0.32382190227508545; dx=-1.8073326977201101E-9 evalInputDelta=0.0
    Armijo: th(0.07482207617459607)=-0.32382190227508545; dx=-1.8073326977201101E-9 evalInputDelta=0.0
    Armijo: th(0.07480633741225393)=-0.32382190227508545; dx=-1.8073326977201101E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.07479846803108284)=-0.32382190227508545; dx=-1.8073326977201101E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.07480240272166838)=-0.32382190227508545; dx=-1.8073326977201101E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.07480437006696115)=-0.32382190227508545; dx=-1.8073326977201101E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.07480535373960753)=-0.32382190227508545; dx=-1.8073326977201101E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.07480584557593073)=-0.32382190227508545; dx=-1.8073326977201101E-9 evalInputDelta=0.0
    mu ~= nu (0.07480584557593073): th(0.0)=-0.32382190227508545
    Fitness changed from -0.32382190227508545 to -0.32382190227508545
    Static Iteration Total: 21.8471; Orientation: 0.0074; Line Search: 20.1392
    Iteration 2 failed. Error: -0.32382190227508545
    Previous Error: 0.0 -> -0.32382190227508545
    Optimization terminated 2
    Final threshold in iteration 2: -0.32382190227508545 (> -Infinity) after 47.044s (< 720.000s)
    

Returns:

    -0.32382190227508545