Code from BasicOptimizer.scala:75 executed in 335.71 seconds (4.814 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: 906515826552400
    Reset training subject: 906523505918400
    Adding measurement 4016d5fe to history. Total: 0
    LBFGS Accumulation History: 1 points
    Constructing line search parameters: GD+Trust
    th(0)=0.2227592170238495;dx=-1.1662936723479916E-9
    Armijo: th(2.154434690031884)=0.2227592170238495; dx=-1.137737854938758E-9 evalInputDelta=0.0
    Armijo: th(1.077217345015942)=0.2227592170238495; dx=-1.137737854938758E-9 evalInputDelta=0.0
    Armijo: th(0.3590724483386473)=0.2227592170238495; dx=-1.137737854938758E-9 evalInputDelta=0.0
    Armijo: th(0.08976811208466183)=0.2227592170238495; dx=-1.137737854938758E-9 evalInputDelta=0.0
    Armijo: th(0.017953622416932366)=0.2227592170238495; dx=-1.137737854938758E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.002992270402822061)=0.2227592170238495; dx=-1.137737854938758E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.010472946409877214)=0.2227592170238495; dx=-1.137737854938758E-9 evalInputDelta=0.0
    Armijo: th(0.01421328441340479)=0.2227592170238495; dx=-1.137737854938758E-9 evalInputDelta=0.0
    Armijo: th(0.012343115411641)=0.2227592170238495; dx=-1.137737854938758E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.011408030910759107)=0.2227592170238495; dx=-1.137737854938758E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.011875573161200054)=0.2227592170238495; dx=-1.137737854938758E-9 evalInputDelta=0.0
    Armijo: th(0.012109344286420527)=0.2227592170238495; dx=-1.137737854938758E-9 evalInputDelta=0.0
    Armijo: th(0.01199245872381029)=0.2227592170238495; dx=-1.137737854938758E-9 evalInputDelta=0.0
    Armijo: th(0.011934015942505172)=0.2227592170238495; dx=-1.137737854938758E-9 evalInputDelta=0.0
    Armijo: th(0.011904794551852612)=0.2227592170238495; dx=-1.137737854938758E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.011890183856526333)=0.2227592170238495; dx=-1.137737854938758E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.011897489204189472)=0.2227592170238495; dx=-1.137737854938758E-9 evalInputDelta=0.0
    Armijo: th(0.011901141878021042)=0.2227592170238495; dx=-1.137737854938758E-9 evalInputDelt

...skipping 1475 bytes...

    54938758E-9 evalInputDelta=0.0
    Armijo: th(0.0640892084720727)=0.2227592170238495; dx=-1.137737854938758E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.05768028762486542)=0.2227592170238495; dx=-1.137737854938758E-9 evalInputDelta=0.0
    Armijo: th(0.06088474804846906)=0.2227592170238495; dx=-1.137737854938758E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.05928251783666724)=0.2227592170238495; dx=-1.137737854938758E-9 evalInputDelta=0.0
    Armijo: th(0.060083632942568146)=0.2227592170238495; dx=-1.137737854938758E-9 evalInputDelta=0.0
    Armijo: th(0.059683075389617694)=0.2227592170238495; dx=-1.137737854938758E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.05948279661314247)=0.2227592170238495; dx=-1.137737854938758E-9 evalInputDelta=0.0
    Armijo: th(0.05958293600138008)=0.2227592170238495; dx=-1.137737854938758E-9 evalInputDelta=0.0
    Armijo: th(0.059532866307261276)=0.2227592170238495; dx=-1.137737854938758E-9 evalInputDelta=0.0
    Armijo: th(0.059507831460201874)=0.2227592170238495; dx=-1.137737854938758E-9 evalInputDelta=0.0
    Armijo: th(0.05949531403667217)=0.2227592170238495; dx=-1.137737854938758E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.05948905532490732)=0.2227592170238495; dx=-1.137737854938758E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.05949218468078975)=0.2227592170238495; dx=-1.137737854938758E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.05949374935873096)=0.2227592170238495; dx=-1.137737854938758E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.059494531697701566)=0.2227592170238495; dx=-1.137737854938758E-9 evalInputDelta=0.0
    WOLFE (weak): th(0.05949492286718687)=0.2227592170238495; dx=-1.137737854938758E-9 evalInputDelta=0.0
    mu ~= nu (0.05949492286718687): th(0.0)=0.2227592170238495
    Fitness changed from 0.2227592170238495 to 0.2227592170238495
    Static Iteration Total: 156.5673; Orientation: 0.0609; Line Search: 144.2831
    Iteration 2 failed. Error: 0.2227592170238495
    Previous Error: 0.0 -> 0.2227592170238495
    Optimization terminated 2
    Final threshold in iteration 2: 0.2227592170238495 (> -Infinity) after 335.713s (< 720.000s)
    

Returns:

    0.2227592170238495