Code from BasicOptimizer.scala:75 executed in 47.38 seconds (2.029 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: 1694999893530
    Reset training subject: 1695718778591
    Adding measurement 18345a78 to history. Total: 0
    LBFGS Accumulation History: 1 points
    Constructing line search parameters: GD+Trust
    th(0)=1.0218559606223871;dx=-5.7194651941717855E-9
    Armijo: th(2.154434690031884)=1.0218559606223871; dx=-5.719463051915666E-9 evalInputDelta=0.0
    Armijo: th(1.077217345015942)=1.0218559606223871; dx=-5.719471236164196E-9 evalInputDelta=0.0
    Armijo: th(0.3590724483386473)=1.0218559606223871; dx=-5.719464654817445E-9 evalInputDelta=0.0
    Armijo: th(0.08976811208466183)=1.0218559606223871; dx=-5.719464939413581E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.017953622416932366)=1.0218559606223871; dx=-5.719465127730887E-9 evalInputDelta=0.0
    Armijo: th(0.0538608672507971)=1.0218559606223871; dx=-5.719464931673591E-9 evalInputDelta=0.0
    Armijo: th(0.03590724483386473)=1.0218559606223871; dx=-5.7194650561160965E-9 evalInputDelta=0.0
    Armijo: th(0.02693043362539855)=1.0218559606223871; dx=-5.7194650250045085E-9 evalInputDelta=0.0
    Armijo: th(0.022442028021165458)=1.0218559606223871; dx=-5.719465094192246E-9 evalInputDelta=0.0
    Armijo: th(0.020197825219048914)=1.0218559606223871; dx=-5.719465082909819E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.01907572381799064)=1.0218559606223871; dx=-5.719465060800096E-9 evalInputDelta=0.0
    Armijo: th(0.01963677451851978)=1.0218559606223871; dx=-5.719465083615622E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.019356249168255207)=1.0218559606223871; dx=-5.719465074420366E-9 evalInputDelta=0.0
    Armijo: th(0.019496511843387493)=1.0218559606223871; dx=-5.7194650822356E-9 evalInputDelta=0.0
    Armijo: th(0.01942638050582135)=1.0218559606223871; dx=-5.719465074420366E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.01939131483703828)=1.0218559606223871; dx=-5.719465074420366E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.019408847671429814)=1.0218559606223871; dx=-5.719465074420366E-9 evalInputDelta=0.0
    Armijo: th(0.019417614088625582)=1.0218559606223871; dx=-5.719465074420366E-9 evalInputDelta=0.0
    Armijo: th(0.0194132308800277)

...skipping 1442 bytes...

    o: th(0.1254607771248216)=1.0218559606223871; dx=-5.719464630569976E-9 evalInputDelta=0.0
    Armijo: th(0.104550647604018)=1.0218559606223871; dx=-5.719465059526684E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.09409558284361619)=1.0218559606223871; dx=-5.719464842845222E-9 evalInputDelta=0.0
    Armijo: th(0.0993231152238171)=1.0218559606223871; dx=-5.719464937154532E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.09670934903371664)=1.0218559606223871; dx=-5.719464942008484E-9 evalInputDelta=0.0
    Armijo: th(0.09801623212876687)=1.0218559606223871; dx=-5.719464895194609E-9 evalInputDelta=0.0
    Armijo: th(0.09736279058124175)=1.0218559606223871; dx=-5.719464964506081E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.0970360698074792)=1.0218559606223871; dx=-5.719464928653287E-9 evalInputDelta=0.0
    Armijo: th(0.09719943019436048)=1.0218559606223871; dx=-5.719464928653287E-9 evalInputDelta=0.0
    Armijo: th(0.09711775000091984)=1.0218559606223871; dx=-5.719464928653287E-9 evalInputDelta=0.0
    Armijo: th(0.09707690990419951)=1.0218559606223871; dx=-5.719464928653287E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.09705648985583935)=1.0218559606223871; dx=-5.719464928653287E-9 evalInputDelta=0.0
    Armijo: th(0.09706669988001942)=1.0218559606223871; dx=-5.719464928653287E-9 evalInputDelta=0.0
    Armijo: th(0.0970615948679294)=1.0218559606223871; dx=-5.719464928653287E-9 evalInputDelta=0.0
    Armijo: th(0.09705904236188437)=1.0218559606223871; dx=-5.719464928653287E-9 evalInputDelta=0.0
    Armijo: th(0.09705776610886185)=1.0218559606223871; dx=-5.719464928653287E-9 evalInputDelta=0.0
    Armijo: th(0.09705712798235061)=1.0218559606223871; dx=-5.719464928653287E-9 evalInputDelta=0.0
    mu ~= nu (0.09705648985583935): th(0.0)=1.0218559606223871
    Fitness changed from 1.0218559606223871 to 1.0218559606223871
    Static Iteration Total: 22.2186; Orientation: 0.0714; Line Search: 20.7255
    Iteration 2 failed. Error: 1.0218559606223871
    Previous Error: 0.0 -> 1.0218559606223871
    Optimization terminated 2
    Final threshold in iteration 2: 1.0218559606223871 (> -Infinity) after 47.379s (< 3600.000s)
    

Returns:

    1.0218559606223871