Iteration 1 Iteration 1

Code from BasicOptimizer.scala:88 executed in 660.77 seconds (6.440 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: 10324677438869
    Reset training subject: 10332567821387
    Adding measurement 728c44fb to history. Total: 0
    LBFGS Accumulation History: 1 points
    Constructing line search parameters: GD+Trust
    th(0)=-0.30376628041267395;dx=-2.0593143789401408E-8
    Armijo: th(2.154434690031884)=-0.30376628041267395; dx=-2.0676474311076375E-8 evalInputDelta=0.0
    Armijo: th(1.077217345015942)=-0.30376625061035156; dx=-2.066616033628076E-8 evalInputDelta=-2.9802322387695312E-8
    Armijo: th(0.3590724483386473)=-0.3037661910057068; dx=-2.0678201904937102E-8 evalInputDelta=-8.940696716308594E-8
    Armijo: th(0.08976811208466183)=-0.3037661910057068; dx=-2.0675374698015716E-8 evalInputDelta=-8.940696716308594E-8
    New Minimum: -0.30376628041267395 > -0.3037663400173187
    WOLFE (weak): th(0.017953622416932366)=-0.3037663400173187; dx=-2.06737660332477E-8 evalInputDelta=5.9604644775390625E-8
    Armijo: th(0.0538608672507971)=-0.3037662208080292; dx=-2.0676831588728684E-8 evalInputDelta=-5.9604644775390625E-8
    Armijo: th(0.03590724483386473)=-0.30376628041267395; dx=-2.067424792774061E-8 evalInputDelta=0.0
    Armijo: th(0.02693043362539855)=-0.30376625061035156; dx=-2.0681081590907417E-8 evalInputDelta=-2.9802322387695312E-8
    Armijo: th(0.022442028021165458)=-0.30376625061035156; dx=-2.067913569472302E-8 evalInputDelta=-2.9802322387695312E-8
    WOLFE (weak): th(0.020197825219048914)=-0.30376631021499634; dx=-2.0685242277766456E-8 evalInputDelta=2.9802322387695312E-8
    Armijo: th(0.021319926620107184)=-0.30376625061035156; dx=-2.0672565587406383E-8 evalInputDelta=-2.9802322387695312E-8
    WOLFE (weak): th(0.02075887591957805)=-0.30376631021499634; dx=-2.067887777752007E-8 evalInputDelta=2.9802322387695312E-8
    Armijo: th(0.021039401269842616)=-0.30376625061035156; dx=-2.0680125327959352E-8 evalInputDelta=-2.9802322387695312E-8
    Armijo: th(0.020899138594710334)=-0.30376625061035156; dx=-2.066677706798497E-8 evalInputDelta=-2.9802322387695312E-8
    Armijo: th(0.02082900725714419)=-0.30376625061035156; dx=-2.067705564802326E-8 evalInputDelta=-2.9802322387695312

...skipping 5432 bytes...

    -8 evalInputDelta=-2.9802322387695312E-8
    Armijo: th(4.711536095840273E-4)=-0.30376631021499634; dx=-2.0666498381636896E-8 evalInputDelta=-2.9802322387695312E-8
    WOLFE (weak): th(4.5471801855202635E-4)=-0.3037663400173187; dx=-2.067179006723265E-8 evalInputDelta=0.0
    WOLFE (weak): th(4.629358140680268E-4)=-0.3037663400173187; dx=-2.066726826204666E-8 evalInputDelta=0.0
    Armijo: th(4.6704471182602706E-4)=-0.30376631021499634; dx=-2.0672468439662012E-8 evalInputDelta=-2.9802322387695312E-8
    Armijo: th(4.649902629470269E-4)=-0.30376631021499634; dx=-2.067654026975671E-8 evalInputDelta=-2.9802322387695312E-8
    Armijo: th(4.639630385075269E-4)=-0.30376631021499634; dx=-2.067225298319931E-8 evalInputDelta=-2.9802322387695312E-8
    Armijo: th(4.6344942628777683E-4)=-0.30376631021499634; dx=-2.0660579028917722E-8 evalInputDelta=-2.9802322387695312E-8
    WOLFE (weak): th(4.6319262017790184E-4)=-0.3037663400173187; dx=-2.0670673019778416E-8 evalInputDelta=0.0
    Armijo: th(4.633210232328393E-4)=-0.30376631021499634; dx=-2.067637645949889E-8 evalInputDelta=-2.9802322387695312E-8
    WOLFE (weak): th(4.632568217053706E-4)=-0.3037663400173187; dx=-2.0636206084225356E-8 evalInputDelta=0.0
    Armijo: th(4.6328892246910497E-4)=-0.30376631021499634; dx=-2.0627186586354418E-8 evalInputDelta=-2.9802322387695312E-8
    WOLFE (weak): th(4.6327287208723774E-4)=-0.3037663400173187; dx=-2.067156049090791E-8 evalInputDelta=0.0
    Armijo: th(4.6328089727817136E-4)=-0.30376628041267395; dx=-2.066980783024542E-8 evalInputDelta=-5.9604644775390625E-8
    Armijo: th(4.632768846827046E-4)=-0.30376628041267395; dx=-2.0666239657925E-8 evalInputDelta=-5.9604644775390625E-8
    mu ~= nu (4.6327287208723774E-4): th(0.0)=-0.3037663400173187
    Fitness changed from -0.3037663400173187 to -0.3037663400173187
    Static Iteration Total: 207.0845; Orientation: 0.0361; Line Search: 189.9864
    Iteration 3 failed. Error: -0.3037663400173187
    Previous Error: 0.0 -> -0.3037663400173187
    Optimization terminated 3
    Final threshold in iteration 3: -0.3037663400173187 (> -Infinity) after 660.765s (< 3600.000s)
    

Returns:

    -0.3037663400173187