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

Iteration 30 Iteration 30

Code from BasicOptimizer.scala:75 executed in 4054.55 seconds (25.724 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: 1166502171835700
    Reset training subject: 1166523379794400
    Adding measurement 64641998 to history. Total: 0
    LBFGS Accumulation History: 1 points
    Constructing line search parameters: GD+Trust
    th(0)=0.6398165143837187;dx=-2.0823226667304724E-7
    New Minimum: 0.6398165143837187 > 0.639816432869531
    WOLFE (weak): th(2.154434690031884)=0.639816432869531; dx=-2.061635751524143E-7 evalInputDelta=8.151418762203377E-8
    New Minimum: 0.639816432869531 > 0.6398163145446394
    WOLFE (weak): th(4.308869380063768)=0.6398163145446394; dx=-2.0616325829699058E-7 evalInputDelta=1.9983907928455835E-7
    New Minimum: 0.6398163145446394 > 0.6398157214997093
    WOLFE (weak): th(12.926608140191302)=0.6398157214997093; dx=-2.0616314171151914E-7 evalInputDelta=7.928840093374134E-7
    New Minimum: 0.6398157214997093 > 0.6398132906196586
    WOLFE (weak): th(51.70643256076521)=0.6398132906196586; dx=-2.0616306610141207E-7 evalInputDelta=3.2237640600341066E-6
    New Minimum: 0.6398132906196586 > 0.6398005716033155
    WOLFE (weak): th(258.53216280382605)=0.6398005716033155; dx=-2.0615833003358612E-7 evalInputDelta=1.5942780403177537E-5
    New Minimum: 0.6398005716033155 > 0.6397203674032655
    WOLFE (weak): th(1551.1929768229563)=0.6397203674032655; dx=-2.061366976469893E-7 evalInputDelta=9.614698045312675E-5
    New Minimum: 0.6397203674032655 > 0.6391439513552208
    WOLFE (weak): th(10858.350837760694)=0.6391439513552208; dx=-2.0595403061663294E-7 evalInputDelta=6.725630284978301E-4
    New Minimum: 0.6391439513552208 > 0.6344661374098304
    WOLFE (weak): th(86866.80670208555)=0.6344661374098304; dx=-2.0451076256584936E-7 evalInputDelta=0.005350376973888293
    New Minimum: 0.6344661374098304 > 0.5943249758072576
    WOLFE (weak): th(781801.26031877)=0.5943249758072576; dx=-1.9143736787075162E-7 evalInputDelta=0.045491538576461044
    New Minimum: 0.5943249758072576 > 0.4400414294496724
    END: th(7818012.6031877)=0.4400414294496724; dx=-9.177476147195708E-8 evalInputDelta=0.19977508493404628
    Fitness changed from 0.6398165143837187 to 0.440041429449672

...skipping 33389 bytes...

    4900241994984237E-8 evalInputDelta=3.3917438561348323E-6
    Armijo: th(3052198.516530012)=0.17949914310982323; dx=-1.488358795524161E-8 evalInputDelta=-1.7712231640071296E-5
    Armijo: th(3016707.8361052442)=0.17948848793972305; dx=-1.489002400813633E-8 evalInputDelta=-7.0570615398890535E-6
    Armijo: th(2998962.4958928605)=0.1794832713630025; dx=-1.4895706986119098E-8 evalInputDelta=-1.8404848193265266E-6
    WOLFE (weak): th(2990089.825786669)=0.17948056467256218; dx=-1.4898773976093703E-8 evalInputDelta=8.662056209807201E-7
    Armijo: th(2994526.1608397644)=0.1794819587915766; dx=-1.4897752574763159E-8 evalInputDelta=-5.279133934443792E-7
    WOLFE (weak): th(2992307.9933132166)=0.17948126212416673; dx=-1.4897801777657754E-8 evalInputDelta=1.6875401642746368E-7
    Armijo: th(2993417.0770764905)=0.17948158245774629; dx=-1.4897849095215743E-8 evalInputDelta=-1.5157956312350507E-7
    Armijo: th(2992862.5351948533)=0.17948143586552073; dx=-1.4897846769995363E-8 evalInputDelta=-4.9873375707054635E-9
    WOLFE (weak): th(2992585.264254035)=0.17948137095448824; dx=-1.489780057807258E-8 evalInputDelta=5.992369492280325E-8
    WOLFE (weak): th(2992723.8997244444)=0.17948140249220546; dx=-1.4897807660194089E-8 evalInputDelta=2.838597770726814E-8
    WOLFE (weak): th(2992793.217459649)=0.17948142011336277; dx=-1.4897836358926313E-8 evalInputDelta=1.0764820396191865E-8
    WOLFE (weak): th(2992827.876327251)=0.17948142889054025; dx=-1.4897835313355727E-8 evalInputDelta=1.9876429113718785E-9
    Armijo: th(2992845.205761052)=0.17948144290730356; dx=-1.489786860035845E-8 evalInputDelta=-1.2029120394219106E-8
    mu ~= nu (2992827.876327251): th(1135701.7735925626)=0.1792704110388506
    Fitness changed from 0.17948143087818316 to 0.1792704110388506
    Iteration 30 complete. Error: 0.1792704110388506 Total: 465.8042; Orientation: 0.5386; Line Search: 445.2094
    <a id="p-21"></a>Iteration 30
    <a id="p-20"></a>![Iteration 30](etc/4ef07566-9f64-42d4-8b31-f5c30c828915.jpg)
    
    Final threshold in iteration 30: 0.1792704110388506 (> -Infinity) after 4054.549s (< 3600.000s)
    

Returns:

    0.1792704110388506