Iteration 1 Iteration 1

Iteration 2 Iteration 2

Iteration 3 Iteration 3

Iteration 4 Iteration 4

Iteration 5 Iteration 5

Iteration 10 Iteration 10

Iteration 15 Iteration 15

Iteration 20 Iteration 20

Iteration 25 Iteration 25

Code from BasicOptimizer.scala:75 executed in 4008.98 seconds (24.858 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: 1249323450637700
    Reset training subject: 1249344174053300
    Adding measurement 366a5b35 to history. Total: 0
    LBFGS Accumulation History: 1 points
    Constructing line search parameters: GD+Trust
    th(0)=0.8923427073169137;dx=-2.34490183473659E-7
    New Minimum: 0.8923427073169137 > 0.8923426693247751
    WOLFE (weak): th(2.154434690031884)=0.8923426693247751; dx=-2.3223079882015568E-7 evalInputDelta=3.799213854627226E-8
    New Minimum: 0.8923426693247751 > 0.8923425190292664
    WOLFE (weak): th(4.308869380063768)=0.8923425190292664; dx=-2.322311709695573E-7 evalInputDelta=1.8828764725142833E-7
    New Minimum: 0.8923425190292664 > 0.8923417628037587
    WOLFE (weak): th(12.926608140191302)=0.8923417628037587; dx=-2.3223096753259062E-7 evalInputDelta=9.445131550211983E-7
    New Minimum: 0.8923417628037587 > 0.8923389718473579
    WOLFE (weak): th(51.70643256076521)=0.8923389718473579; dx=-2.322323172326575E-7 evalInputDelta=3.7354695557878514E-6
    New Minimum: 0.8923389718473579 > 0.8923236354767483
    WOLFE (weak): th(258.53216280382605)=0.8923236354767483; dx=-2.3222725250359867E-7 evalInputDelta=1.907184016536334E-5
    New Minimum: 0.8923236354767483 > 0.8922279621051752
    WOLFE (weak): th(1551.1929768229563)=0.8922279621051752; dx=-2.3220170411856644E-7 evalInputDelta=1.1474521173848728E-4
    New Minimum: 0.8922279621051752 > 0.8915391370371125
    WOLFE (weak): th(10858.350837760694)=0.8915391370371125; dx=-2.3200598336056047E-7 evalInputDelta=8.035702798011579E-4
    New Minimum: 0.8915391370371125 > 0.8859462045479958
    WOLFE (weak): th(86866.80670208555)=0.8859462045479958; dx=-2.3022081075187788E-7 evalInputDelta=0.0063965027689179
    New Minimum: 0.8859462045479958 > 0.8378894906554296
    WOLFE (weak): th(781801.26031877)=0.8378894906554296; dx=-2.1351710614906462E-7 evalInputDelta=0.05445321666148406
    New Minimum: 0.8378894906554296 > 0.6597743830031556
    END: th(7818012.6031877)=0.6597743830031556; dx=-9.660158064811689E-8 evalInputDelta=0.23256832431375807
    Fitness changed from 0.8923427073169137 to 0.6597743830031556

...skipping 30174 bytes...

    353077757194E-8 evalInputDelta=-2.998941762477614E-6
    WOLFE (weak): th(2833395.7558821016)=0.3838800217785769; dx=-1.4587602867709635E-8 evalInputDelta=2.2116540709660182E-5
    WOLFE (weak): th(2871684.887718346)=0.3838924586761582; dx=-1.4583181444402793E-8 evalInputDelta=9.679643128368554E-6
    WOLFE (weak): th(2890829.4536364684)=0.3838988386848113; dx=-1.458063743173811E-8 evalInputDelta=3.2996344752622697E-6
    WOLFE (weak): th(2900401.7365955296)=0.3839019327789951; dx=-1.4577486395056856E-8 evalInputDelta=2.0554029145358754E-7
    Armijo: th(2905187.8780750604)=0.38390351878632045; dx=-1.4576063300939444E-8 evalInputDelta=-1.3804670339068181E-6
    Armijo: th(2902794.807335295)=0.3839027623692906; dx=-1.4576218439588548E-8 evalInputDelta=-6.240500040610719E-7
    Armijo: th(2901598.2719654124)=0.38390241278683346; dx=-1.4576286538062896E-8 evalInputDelta=-2.744675469124047E-7
    Armijo: th(2901000.0042804712)=0.38390220179735757; dx=-1.457746760214475E-8 evalInputDelta=-6.347807102180525E-8
    WOLFE (weak): th(2900700.870438)=0.38390205302896363; dx=-1.4577428399499737E-8 evalInputDelta=8.529032291537675E-8
    Armijo: th(2900850.4373592357)=0.38390214105474685; dx=-1.4577399041355072E-8 evalInputDelta=-2.7354603027163193E-9
    WOLFE (weak): th(2900775.653898618)=0.3839020936375389; dx=-1.4577417931969842E-8 evalInputDelta=4.468174763516686E-8
    WOLFE (weak): th(2900813.0456289267)=0.3839021288673097; dx=-1.4577397894026598E-8 evalInputDelta=9.451976867858036E-9
    WOLFE (weak): th(2900831.741494081)=0.3839021247237581; dx=-1.4577399655561646E-8 evalInputDelta=1.359552842528089E-8
    mu ~= nu (2900831.741494081): th(1225252.2187598278)=0.38366989508199434
    Fitness changed from 0.38390213831928655 to 0.38366989508199434
    Iteration 25 complete. Error: 0.38366989508199434 Total: 481.5763; Orientation: 0.5424; Line Search: 460.4145
    <a id="p-19"></a>Iteration 25
    <a id="p-18"></a>![Iteration 25](etc/0df1146c-0728-4c10-aa21-64a975e65adb.jpg)
    
    Final threshold in iteration 25: 0.38366989508199434 (> -Infinity) after 4008.971s (< 3600.000s)
    

Returns:

    0.38366989508199434