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]
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)
0.1792704110388506