From e78db5ee06e61fe8755c3f2229cf2174c8bcdec6 Mon Sep 17 00:00:00 2001 From: ccckmit Date: Fri, 14 Jul 2017 08:06:06 +0800 Subject: [PATCH 1/3] add test/mlp.js mlpXor.js --- nn/data.js | 23 +++++++++++++++++++++++ nn/index.js | 3 ++- test/mlp.js | 44 ++++++++++++++++++++++++++++++++++++++++++++ test/mlpXor.js | 38 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 107 insertions(+), 1 deletion(-) create mode 100644 nn/data.js create mode 100644 test/mlp.js create mode 100644 test/mlpXor.js diff --git a/nn/data.js b/nn/data.js new file mode 100644 index 0000000..8b96108 --- /dev/null +++ b/nn/data.js @@ -0,0 +1,23 @@ +var Tensor = require('../tensor.js'); +var U = module.exports = {} + +U.toTensor = function (dim, flatArray) { + return new Tensor(dim).fromFlatArray(flatArray) +} + +U.tensor1d = function (array) { + return new Tensor([array.length]).fromFlatArray(array) +} + +U.loadData = function (data) { + var tensorData = [] + for (var i = 0; i < data.length; i++) { + var x = U.tensor1d(data[i].input) + var y = U.tensor1d(data[i].output) + tensorData.push({ + input: x, + output: y + }) + } + return tensorData +} diff --git a/nn/index.js b/nn/index.js index 313a119..0244972 100644 --- a/nn/index.js +++ b/nn/index.js @@ -20,7 +20,8 @@ var pooling = require('./networks/pooling.js'); var activation = require('./networks/activation.js'); var perceptron = require('./networks/perceptron.js'); var misc = require('./networks/misc.js'); +var data = require('./data.js'); module.exports = utils.mergeObjects(module.exports, - lifting, composition, lifted, linear, convolution, pooling, activation, perceptron, misc + lifting, composition, lifted, linear, convolution, pooling, activation, perceptron, misc, data ); \ No newline at end of file diff --git a/test/mlp.js b/test/mlp.js new file mode 100644 index 0000000..5700ed7 --- /dev/null +++ b/test/mlp.js @@ -0,0 +1,44 @@ +var Tensor = require('../tensor'); +var ad = require('../ad'); +var nn = require('../nn'); +var opt = require('../opt'); + +var nInputs = 6 +var nHidden = [4, 4, 5] +var nOutput = 2 + +var net = nn.sequence([ + nn.linear(nInputs, nHidden[0]), + nn.sigmoid, + nn.linear(nHidden[0], nHidden[1]), + nn.sigmoid, + nn.linear(nHidden[1], nOutput), + nn.softmax +]) + +var data = [ + {input: [0.4, 0.5, 0.5, 0., 0., 0.], output: [1]}, + {input: [0.5, 0.3, 0.5, 0., 0., 0.], output: [1]}, + {input: [0.4, 0.5, 0.5, 0., 0., 0.], output: [1]}, + {input: [0., 0., 0.5, 0.3, 0.5, 0.], output: [0]}, + {input: [0., 0., 0.5, 0.4, 0.5, 0.], output: [0]}, + {input: [0., 0., 0.5, 0.5, 0.5, 0.], output: [0]} +] + +var trainingData = nn.loadData(data) + +console.log('nnTrain') +opt.nnTrain(net, trainingData, opt.classificationLoss, { + batchSize: 2, // batch 超過 3 就無法成功, why ? + iterations: 1000, + method: opt.sgd({ stepSize: 1, stepSizeDecay: 0.999 }), +// verbose: true +}) + +console.log('predict') +// Predict class probabilities for new, unseen features +for (let i = 0; i < trainingData.length; i++) { + var input = trainingData[i].input + var probs = net.eval(input) + console.log('input=%j\noutput=%j', input, probs) +} diff --git a/test/mlpXor.js b/test/mlpXor.js new file mode 100644 index 0000000..2256d2c --- /dev/null +++ b/test/mlpXor.js @@ -0,0 +1,38 @@ +var Tensor = require('../tensor'); +var ad = require('../ad'); +var nn = require('../nn'); +var opt = require('../opt'); + +var nInputs = 2 +var nHidden = 5 +var nClasses = 2 + +var net = nn.sequence([ + nn.linear(nInputs, nHidden), + nn.tanh, + nn.linear(nHidden, nClasses), + nn.softmax +]) + +var data = [{ input: [0, 0], output: [0] }, + { input: [0, 1], output: [1] }, + { input: [1, 0], output: [1] }, + { input: [1, 1], output: [0] }] + +var trainingData = nn.loadData(data) + +console.log('nnTrain') +opt.nnTrain(net, trainingData, opt.classificationLoss, { + batchSize: 1, + iterations: 1000, + method: opt.sgd({ stepSize: 1, stepSizeDecay: 0.999 }), +// verbose: true +}) + +console.log('predict') +// Predict class probabilities for new, unseen features +for (let i = 0; i < trainingData.length; i++) { + var input = trainingData[i].input + var probs = net.eval(input) + console.log('input=%j\nprobs=%j', input, probs) +} From 65cdd0b3171f6c69164caa3289943186fb08a66d Mon Sep 17 00:00:00 2001 From: ccckmit Date: Fri, 14 Jul 2017 09:31:58 +0800 Subject: [PATCH 2/3] print loss in verbose mode --- opt/optimize.js | 3 +- test/mlp.js | 4 +- test/mlpXor.js | 6 +- test/mlpXor.out | 1010 +++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 1017 insertions(+), 6 deletions(-) create mode 100644 test/mlpXor.out diff --git a/opt/optimize.js b/opt/optimize.js index 350fd11..6a6e9f3 100644 --- a/opt/optimize.js +++ b/opt/optimize.js @@ -25,7 +25,7 @@ function optimize(fn, options) { assert(rets.gradients !== undefined); assert(rets.parameters !== undefined); // TODO: assert that there exists a parameter for each gradient? - method(rets.gradients, rets.parameters, i); + var mrets = method(rets.gradients, rets.parameters, i); if (verbose) { console.log('[optimize] done iteration ' + (i+1) + '/' + iters); } @@ -78,6 +78,7 @@ function adTrain(fn, trainingData, lossFn, options) { var trainingDatum = trainingData[idx]; var rets = fn(trainingDatum.input); var loss = lossFn(rets.output, trainingDatum.output); + if (options.verbose) console.log(' loss=%d', loss.x); return { parameters: rets.parameters, loss: loss diff --git a/test/mlp.js b/test/mlp.js index 5700ed7..38fabc6 100644 --- a/test/mlp.js +++ b/test/mlp.js @@ -29,10 +29,10 @@ var trainingData = nn.loadData(data) console.log('nnTrain') opt.nnTrain(net, trainingData, opt.classificationLoss, { - batchSize: 2, // batch 超過 3 就無法成功, why ? + batchSize: 1, // batch 超過 3 就無法成功, why ? iterations: 1000, method: opt.sgd({ stepSize: 1, stepSizeDecay: 0.999 }), -// verbose: true + verbose: true }) console.log('predict') diff --git a/test/mlpXor.js b/test/mlpXor.js index 2256d2c..694ee67 100644 --- a/test/mlpXor.js +++ b/test/mlpXor.js @@ -23,10 +23,10 @@ var trainingData = nn.loadData(data) console.log('nnTrain') opt.nnTrain(net, trainingData, opt.classificationLoss, { - batchSize: 1, - iterations: 1000, + batchSize: 2, + iterations: 500, method: opt.sgd({ stepSize: 1, stepSizeDecay: 0.999 }), -// verbose: true + verbose: true }) console.log('predict') diff --git a/test/mlpXor.out b/test/mlpXor.out new file mode 100644 index 0000000..eeac256 --- /dev/null +++ b/test/mlpXor.out @@ -0,0 +1,1010 @@ +nnTrain +loss.x=0.5141827972954387 +loss.x=1.585546840160119 +loss.x=0.9528555389032358 +loss.x=0.3189534644262018 +loss.x=1.945743706491733 +loss.x=0.7000563268983218 +loss.x=0.23682239953369225 +loss.x=0.09071121680897015 +loss.x=0.04056048076825002 +loss.x=2.94709496799754 +loss.x=0.9291160642700491 +loss.x=0.387464069184089 +loss.x=0.21250666983052285 +loss.x=1.9513909435740682 +loss.x=0.6175908400473913 +loss.x=1.2664233810394818 +loss.x=0.8405288470116107 +loss.x=0.1644715911030073 +loss.x=0.07632101449972828 +loss.x=1.489702225476719 +loss.x=0.1627036169281421 +loss.x=0.6007122128341728 +loss.x=0.024346746974308848 +loss.x=0.020224299504991064 +loss.x=0.017261777090865557 +loss.x=4.555718655569526 +loss.x=0.06869612100494686 +loss.x=3.0626981286754456 +loss.x=0.13349071291270714 +loss.x=2.7684028915990075 +loss.x=0.5908727256700625 +loss.x=0.13069368215102628 +loss.x=2.7936755626357868 +loss.x=0.41044149577870337 +loss.x=1.7590126213932642 +loss.x=0.8491166128902992 +loss.x=1.4897071199236613 +loss.x=1.1156575280112335 +loss.x=1.2846246945393989 +loss.x=1.0920804053398627 +loss.x=0.9893789391786565 +loss.x=0.4642504419723815 +loss.x=1.8488304878609376 +loss.x=0.8762528460521936 +loss.x=0.17681670910028094 +loss.x=0.10320488678266193 +loss.x=0.06995167714389217 +loss.x=1.8651831661240101 +loss.x=0.9071350928088677 +loss.x=2.6179425943656764 +loss.x=2.0171507726761013 +loss.x=0.19485391657262743 +loss.x=2.322240312573224 +loss.x=1.7461076086457659 +loss.x=0.13192839169352966 +loss.x=0.07867804133766626 +loss.x=2.025820602743977 +loss.x=1.1814529858651552 +loss.x=0.27678538223056964 +loss.x=1.6929152411061799 +loss.x=0.32360024545565974 +loss.x=2.3690513336833146 +loss.x=0.351052770453766 +loss.x=2.0848522140708154 +loss.x=0.323352796974735 +loss.x=0.596281245339545 +loss.x=0.03831128882710402 +loss.x=0.6314505186390049 +loss.x=4.37261782540809 +loss.x=1.3581052640923534 +loss.x=3.345571589875419 +loss.x=0.1104009282040484 +loss.x=0.12610003462012384 +loss.x=3.347970271727622 +loss.x=0.4797990288315903 +loss.x=0.044948443616978896 +loss.x=3.060624713700979 +loss.x=0.26793035364655404 +loss.x=0.06525672932398706 +loss.x=1.3263319307488992 +loss.x=0.12160730519111858 +loss.x=0.06621166082684092 +loss.x=0.20960293937020363 +loss.x=0.053710070332316305 +loss.x=3.6156317070435864 +loss.x=0.2208273384239507 +loss.x=0.20203446086701138 +loss.x=0.08623554504739707 +loss.x=2.4565088974851412 +loss.x=0.06790217558334635 +loss.x=0.04656566539257111 +loss.x=2.7152771475711557 +loss.x=0.16991628096624287 +loss.x=1.9855919953786596 +loss.x=1.2170620041398137 +loss.x=0.0417589022918056 +loss.x=0.1261778206036782 +loss.x=0.06565255518602214 +loss.x=0.04560900232388277 +loss.x=0.035119517884099116 +loss.x=2.750855746929781 +loss.x=0.5049381822862319 +loss.x=2.5060035365289512 +loss.x=2.642318090430087 +loss.x=0.09081094934080591 +loss.x=0.044532992852727736 +loss.x=0.01448950554183794 +loss.x=3.8212159950725684 +loss.x=1.0068392046058805 +loss.x=3.555309701249518 +loss.x=0.2828702391695146 +loss.x=0.046651300960366564 +loss.x=4.10958315985829 +loss.x=2.102863794346194 +loss.x=0.011699969585277905 +loss.x=2.1660752122505817 +loss.x=1.9416352904219594 +loss.x=1.7922838311330775 +loss.x=2.177822434632566 +loss.x=0.015170667455417524 +loss.x=4.432637438985047 +loss.x=0.2037847194060621 +loss.x=3.5727049424352026 +loss.x=0.029574063221053815 +loss.x=0.3434966287664831 +loss.x=2.4257490166463067 +loss.x=1.0436787603324436 +loss.x=0.854509766137747 +loss.x=0.025392641053835173 +loss.x=0.032007057754544786 +loss.x=0.021885562068502735 +loss.x=0.01874054073834727 +loss.x=0.02720506703364285 +loss.x=0.02281457485167831 +loss.x=0.017238845959690857 +loss.x=4.268872320342372 +loss.x=0.3838540949602417 +loss.x=0.2879140246984413 +loss.x=2.868288654993533 +loss.x=0.02311747667239554 +loss.x=0.019235907110549504 +loss.x=0.013152744913221584 +loss.x=0.015438671746528368 +loss.x=0.011090734568827917 +loss.x=0.010252252745209982 +loss.x=0.012242766175865264 +loss.x=4.068131708055457 +loss.x=0.22322973908983265 +loss.x=0.06756466825624123 +loss.x=0.5903491327523803 +loss.x=1.2872851936639036 +loss.x=0.01468725046980289 +loss.x=0.0013750362251483135 +loss.x=0.5557343043168947 +loss.x=2.1007189245993443 +loss.x=0.20305174692930467 +loss.x=0.00491327743444572 +loss.x=2.132386825348098 +loss.x=2.9960903163686803 +loss.x=0.02228906456062556 +loss.x=0.01895349214322765 +loss.x=0.0769350017165439 +loss.x=0.018983964756789103 +loss.x=0.04006987211038066 +loss.x=0.006129568394477023 +loss.x=0.028836067279672185 +loss.x=0.018596238656415538 +loss.x=0.01622193017251151 +loss.x=0.02398543395536348 +loss.x=0.014980457104286625 +loss.x=0.02010194701492416 +loss.x=2.013121049153149 +loss.x=0.858064842473016 +loss.x=0.21333127315836606 +loss.x=0.0024716359700272623 +loss.x=0.04739508816057893 +loss.x=0.001973466545544132 +loss.x=0.03311932778914206 +loss.x=0.025854373880276674 +loss.x=0.1497244138970567 +loss.x=0.002224356326850069 +loss.x=0.04616850141300024 +loss.x=0.04518836435378705 +loss.x=0.0326577871241952 +loss.x=0.0017053008709749886 +loss.x=0.001674161838562116 +loss.x=0.04519128257213606 +loss.x=0.02981411785259147 +loss.x=0.023976523936517762 +loss.x=0.0014237028026312943 +loss.x=0.07793281824878442 +loss.x=0.027515002480245816 +loss.x=0.001522076635667339 +loss.x=0.047121508062165404 +loss.x=0.02723058955744297 +loss.x=0.0015054708833948487 +loss.x=0.0014802792231846747 +loss.x=0.04953092997750993 +loss.x=0.00159080066867316 +loss.x=0.03607888865278624 +loss.x=0.0016679467302624827 +loss.x=0.02857682015666946 +loss.x=0.023664862271236795 +loss.x=0.03667818092558528 +loss.x=0.027444910554038388 +loss.x=0.04574327209392761 +loss.x=0.0017510326031408387 +loss.x=0.03297456930303191 +loss.x=0.030500406930093284 +loss.x=0.02958686654571561 +loss.x=0.024015233378542594 +loss.x=0.02025444324956842 +loss.x=0.03246081485086766 +loss.x=0.020043726174488224 +loss.x=0.0011873478456680875 +loss.x=0.027416185504034837 +loss.x=0.03690962475527647 +loss.x=0.02196968846583222 +loss.x=0.01881618236175607 +loss.x=0.01647014789271329 +loss.x=0.03540710738031527 +loss.x=0.016551536453750307 +loss.x=0.014713679402426336 +loss.x=0.01324854807226554 +loss.x=0.03359817033223174 +loss.x=0.025897656484003346 +loss.x=0.02119326030747932 +loss.x=0.016812942612338618 +loss.x=0.019276438526045235 +loss.x=0.0011295444718764562 +loss.x=0.034780063179645514 +loss.x=0.027857383085790232 +loss.x=0.01988531937164075 +loss.x=0.018060036316366216 +loss.x=0.015721601016817004 +loss.x=0.019861318042644693 +loss.x=0.0151096010474585 +loss.x=0.013459829474687712 +loss.x=0.026639293577211228 +loss.x=0.022474380916569645 +loss.x=0.019458413791348935 +loss.x=0.017168661562980053 +loss.x=0.015368566122101636 +loss.x=0.027294237309535233 +loss.x=0.001352163732322184 +loss.x=0.013607855950040328 +loss.x=0.0013726142733214266 +loss.x=0.023602197626539614 +loss.x=0.016614945483458855 +loss.x=0.02120919829824366 +loss.x=0.016037420433834926 +loss.x=0.014462314114237646 +loss.x=0.020303457467599442 +loss.x=0.017637557956439252 +loss.x=0.0010450388669223782 +loss.x=0.01723448975150814 +loss.x=0.016655687989449268 +loss.x=0.015879054905642422 +loss.x=0.016182144949743675 +loss.x=0.0010791123522052497 +loss.x=0.016639565230386656 +loss.x=0.014834533190253006 +loss.x=0.0009309373155663515 +loss.x=0.016345699845521873 +loss.x=0.01599987831010483 +loss.x=0.014445128034602494 +loss.x=0.015775329411662636 +loss.x=0.013885792354095153 +loss.x=0.0009817974080399102 +loss.x=0.015436507698285492 +loss.x=0.01570850432346954 +loss.x=0.0009420223415161661 +loss.x=0.01404839206340473 +loss.x=0.01275732453154036 +loss.x=0.01168672830745351 +loss.x=0.01528868640699612 +loss.x=0.017129451431398733 +loss.x=0.01508425874101572 +loss.x=0.013862632969263216 +loss.x=0.013487195110391747 +loss.x=0.01220796859404419 +loss.x=0.011156760130598992 +loss.x=0.012693706780315978 +loss.x=0.00102707021287391 +loss.x=0.0010111261603349996 +loss.x=0.0009957244217249682 +loss.x=0.011790714224427916 +loss.x=0.0103545941957697 +loss.x=0.017452751984052935 +loss.x=0.0009593325215560964 +loss.x=0.000945486732135808 +loss.x=0.010329364298767173 +loss.x=0.016036090518316965 +loss.x=0.014402182719252523 +loss.x=0.010795374931593885 +loss.x=0.013643106296336046 +loss.x=0.013433045898693131 +loss.x=0.013007978504666413 +loss.x=0.012887547707537979 +loss.x=0.0008203049930571893 +loss.x=0.011099326819864877 +loss.x=0.011910766436578969 +loss.x=0.013452622375957913 +loss.x=0.0008078273437775131 +loss.x=0.0007979787066934452 +loss.x=0.010835950136280031 +loss.x=0.01274402937273706 +loss.x=0.010530786657772524 +loss.x=0.012199454546808873 +loss.x=0.01023613712132705 +loss.x=0.011708414251327938 +loss.x=0.010834384923306678 +loss.x=0.010381980459286127 +loss.x=0.0007210949118550812 +loss.x=0.0007132883743976934 +loss.x=0.00967078927566703 +loss.x=0.013539203334707947 +loss.x=0.011316633484668985 +loss.x=0.010503909841124879 +loss.x=0.0006803262165983012 +loss.x=0.013378381541910435 +loss.x=0.009832222903119876 +loss.x=0.000709421743749296 +loss.x=0.012342429923563845 +loss.x=0.0007199547504706141 +loss.x=0.010956675295212789 +loss.x=0.0006812488028711655 +loss.x=0.009610404347874493 +loss.x=0.000690464914119421 +loss.x=0.011901255737202434 +loss.x=0.000700244203047864 +loss.x=0.011086331324772462 +loss.x=0.0007088463954261487 +loss.x=0.01125336916817772 +loss.x=0.010754937305265659 +loss.x=0.010074941995928628 +loss.x=0.009414764404614872 +loss.x=0.011579213668096933 +loss.x=0.0006835464912371392 +loss.x=0.0006764183857575388 +loss.x=0.009856333036560912 +loss.x=0.011019361855740912 +loss.x=0.0006537403111355333 +loss.x=0.009648567891489745 +loss.x=0.00901932669165334 +loss.x=0.008469221199797532 +loss.x=0.009623620836718538 +loss.x=0.009082946361215023 +loss.x=0.0007187958404661336 +loss.x=0.0007108214475172521 +loss.x=0.008010124001709607 +loss.x=0.008625163695427079 +loss.x=0.007576846154728338 +loss.x=0.008190466246489643 +loss.x=0.013356660179911307 +loss.x=0.008129764669131812 +loss.x=0.000728754968018792 +loss.x=0.007755899849531724 +loss.x=0.012848360595693907 +loss.x=0.0077065811412436345 +loss.x=0.007940941555650624 +loss.x=0.0073596934238374144 +loss.x=0.0007314922137792131 +loss.x=0.012740458975770606 +loss.x=0.011750120811448094 +loss.x=0.0006562537030714952 +loss.x=0.0006495840226777568 +loss.x=0.0076311433641019335 +loss.x=0.011107646466822722 +loss.x=0.0006252734122001157 +loss.x=0.007557751027702292 +loss.x=0.0006289933849118513 +loss.x=0.007236150928777745 +loss.x=0.010782613198061163 +loss.x=0.007167221694400417 +loss.x=0.008998369910546944 +loss.x=0.010645549265923244 +loss.x=0.0006028104389962047 +loss.x=0.007106304044301797 +loss.x=0.0006060445936709135 +loss.x=0.0006003733382828742 +loss.x=0.0005948214500470046 +loss.x=0.006840111128083705 +loss.x=0.0005977535298474317 +loss.x=0.0065786154823095164 +loss.x=0.006329334896226577 +loss.x=0.0060984883095768164 +loss.x=0.00588409662860481 +loss.x=0.0006234371430863989 +loss.x=0.0006174103504400134 +loss.x=0.011027857898268625 +loss.x=0.005894306960040132 +loss.x=0.005694448313124377 +loss.x=0.009250624374766292 +loss.x=0.00061331912281867 +loss.x=0.01100383908194254 +loss.x=0.009062378818744285 +loss.x=0.0005947455214964898 +loss.x=0.008542175844318167 +loss.x=0.000601285527965626 +loss.x=0.0005957038957310341 +loss.x=0.010878151886252461 +loss.x=0.0005660692417948619 +loss.x=0.01014978244401212 +loss.x=0.006103125159499465 +loss.x=0.008741061801643964 +loss.x=0.01002188110904723 +loss.x=0.006070784966103465 +loss.x=0.005861958492505406 +loss.x=0.005667211374500305 +loss.x=0.005485161365664856 +loss.x=0.005314601970889794 +loss.x=0.00854822228738398 +loss.x=0.0051538578016114035 +loss.x=0.01074544149693288 +loss.x=0.005167205553192959 +loss.x=0.0005690119136434556 +loss.x=0.0005639990213258939 +loss.x=0.0005590858431263071 +loss.x=0.005033612250959416 +loss.x=0.010306359184479372 +loss.x=0.008742816223397754 +loss.x=0.0005495240948389066 +loss.x=0.008268055107566546 +loss.x=0.0102607356354809 +loss.x=0.0005342808013622434 +loss.x=0.009622560718839717 +loss.x=0.005359986282420633 +loss.x=0.009223068514042783 +loss.x=0.008695179656641272 +loss.x=0.005342265191213575 +loss.x=0.005183057906141681 +loss.x=0.0005201151057696996 +loss.x=0.0005159653399369044 +loss.x=0.008236272162019241 +loss.x=0.007809989187411597 +loss.x=0.005042388521610497 +loss.x=0.0049013476526646215 +loss.x=0.0005419245176944604 +loss.x=0.007434756300049557 +loss.x=0.004772753953078717 +loss.x=0.004646758080861992 +loss.x=0.007087440219601024 +loss.x=0.004526876232033615 +loss.x=0.0110095512406855 +loss.x=0.004557558152536203 +loss.x=0.0005534024267702707 +loss.x=0.007045686446175797 +loss.x=0.0005575606100602096 +loss.x=0.006745269842920613 +loss.x=0.010915592685316961 +loss.x=0.000539030463339151 +loss.x=0.0005345610844652327 +loss.x=0.006727487856029425 +loss.x=0.004604126601264046 +loss.x=0.000543297303454802 +loss.x=0.01055028292553523 +loss.x=0.006693226032861356 +loss.x=0.006416698656456425 +loss.x=0.010373055911151138 +loss.x=0.006386038860064173 +loss.x=0.009977868221818292 +loss.x=0.0005026225853793213 +loss.x=0.009395154541739014 +loss.x=0.008893607529083908 +loss.x=0.006766553857135527 +loss.x=0.0051743918802922275 +loss.x=0.008769681516273218 +loss.x=0.00833302875941875 +loss.x=0.00687570875075514 +loss.x=0.00527954052493317 +loss.x=0.006586093181052786 +loss.x=0.006321526416756092 +loss.x=0.0004751447963313018 +loss.x=0.006084449015524597 +loss.x=0.005132339995764591 +loss.x=0.004991547870239288 +loss.x=0.0004878241911134242 +loss.x=0.009023356985672706 +loss.x=0.00046866820565987655 +loss.x=0.00855188697374112 +loss.x=0.0004512224384380187 +loss.x=0.0004481526375537779 +loss.x=0.008115099619671726 +loss.x=0.007745844704004539 +loss.x=0.007409158948096941 +loss.x=0.006752292145128122 +loss.x=0.005466170258456508 +loss.x=0.006476831951209591 +loss.x=0.00042632309341032325 +loss.x=0.007527186110995423 +loss.x=0.007210795162314298 +loss.x=0.006546687718993367 +loss.x=0.007074056727653438 +loss.x=0.005641973094081101 +loss.x=0.00690189253647148 +loss.x=0.0003924014435676515 +loss.x=0.0055844618378810326 +loss.x=0.00659507130026079 +loss.x=0.000400194994052304 +loss.x=0.006341504950696737 +loss.x=0.007017183960326363 +loss.x=0.0055286054949194195 +loss.x=0.005368958343626027 +loss.x=0.006949449082792672 +loss.x=0.006390348779559988 +loss.x=0.006825576952679742 +loss.x=0.0003883783418717406 +loss.x=0.005422530212096715 +loss.x=0.0003902359780002232 +loss.x=0.0003879769511621285 +loss.x=0.0003857482899280515 +loss.x=0.0003835493746741868 +loss.x=0.005285473732316336 +loss.x=0.005140761593679631 +loss.x=0.006812140311244362 +loss.x=0.00038001230390581636 +loss.x=0.006461392387062212 +loss.x=0.006689490265719321 +loss.x=0.0003744186107794523 +loss.x=0.006436329454933366 +loss.x=0.006495569347734526 +loss.x=0.0003693053857385755 +loss.x=0.0003673064669125543 +loss.x=0.005295437105073203 +loss.x=0.006418414847546382 +loss.x=0.0003609793071915333 +loss.x=0.0003590775024633012 +loss.x=0.00035719914862087753 +loss.x=0.00035534380671166865 +loss.x=0.00616379308121471 +loss.x=0.005343654958054808 +loss.x=0.006043912404736079 +loss.x=0.005846024760064292 +loss.x=0.005660852227211863 +loss.x=0.005448426428230703 +loss.x=0.0003327452095597323 +loss.x=0.0003311490290824848 +loss.x=0.0069308207699031845 +loss.x=0.00033450080970745343 +loss.x=0.006659299423316129 +loss.x=0.0057980883099784004 +loss.x=0.005617360951571838 +loss.x=0.006644657634313924 +loss.x=0.00032946726033831184 +loss.x=0.005559350614892963 +loss.x=0.005393685980513385 +loss.x=0.000315989310421024 +loss.x=0.006629864704619545 +loss.x=0.0063792668902094085 +loss.x=0.005454968568849208 +loss.x=0.005713473061876503 +loss.x=0.00555009808945084 +loss.x=0.005395975736001679 +loss.x=0.006251749311589312 +loss.x=0.0003320296932630805 +loss.x=0.006034326318744261 +loss.x=0.000334686604175244 +loss.x=0.005741282520997914 +loss.x=0.005334067348795368 +loss.x=0.0003300276420044667 +loss.x=0.0059424734962806695 +loss.x=0.0003326003190896857 +loss.x=0.005739414681574978 +loss.x=0.005565982528507907 +loss.x=0.005353001805310043 +loss.x=0.005478508475014645 +loss.x=0.005320609798419283 +loss.x=0.0051716873067259 +loss.x=0.00030534962195932156 +loss.x=0.00626653248433505 +loss.x=0.006046970832856801 +loss.x=0.005432340212852643 +loss.x=0.005841511108584327 +loss.x=0.005286252475590877 +loss.x=0.00032213979430018334 +loss.x=0.005152337128070167 +loss.x=0.005652881236336374 +loss.x=0.0003275680019894357 +loss.x=0.005479085993276923 +loss.x=0.005726003165509927 +loss.x=0.0003236088341525257 +loss.x=0.00032212238047279616 +loss.x=0.005103622383031096 +loss.x=0.00032368251293285645 +loss.x=0.005610967157635859 +loss.x=0.0003163339108064683 +loss.x=0.005516345402858623 +loss.x=0.00031851897550006983 +loss.x=0.005056525439713965 +loss.x=0.005601966353054961 +loss.x=0.005444503262376577 +loss.x=0.005532635783547816 +loss.x=0.00031211543862359384 +loss.x=0.0050758377753068185 +loss.x=0.0054394216703706555 +loss.x=0.005287917125673495 +loss.x=0.00030292303053787775 +loss.x=0.005139711464861274 +loss.x=0.00500461448798754 +loss.x=0.005733628627507544 +loss.x=0.00029534850149214227 +loss.x=0.005558067315552836 +loss.x=0.005043029856699034 +loss.x=0.00547381103911548 +loss.x=0.004996267670674216 +loss.x=0.005392764987624323 +loss.x=0.005353183809005026 +loss.x=0.0002973395240749424 +loss.x=0.005237436346709127 +loss.x=0.005089422152712271 +loss.x=0.0049498027316075485 +loss.x=0.005248965672016661 +loss.x=0.005110231902532252 +loss.x=0.005352213107364255 +loss.x=0.0002983318535379341 +loss.x=0.00029709547495212617 +loss.x=0.005035537135069434 +loss.x=0.0002911751592225244 +loss.x=0.004903733645349049 +loss.x=0.004783188725882193 +loss.x=0.005203999837489344 +loss.x=0.005059442688334296 +loss.x=0.004922951201568143 +loss.x=0.004793863514885951 +loss.x=0.0054140235011500264 +loss.x=0.00029556458813001307 +loss.x=0.0002943584654966199 +loss.x=0.004676085339559002 +loss.x=0.00456018892425294 +loss.x=0.0002986082183789008 +loss.x=0.004452728672564607 +loss.x=0.005216340468657559 +loss.x=0.0002951565656621912 +loss.x=0.00029395992874158174 +loss.x=0.005355581551779633 +loss.x=0.005138747365261075 +loss.x=0.004487436166755333 +loss.x=0.005075537567683775 +loss.x=0.0002888343010545312 +loss.x=0.00028769423659447384 +loss.x=0.005357915750612474 +loss.x=0.0002892744724710339 +loss.x=0.005228651496873103 +loss.x=0.005062831504769502 +loss.x=0.005165576253075164 +loss.x=0.005043283100020735 +loss.x=0.0049267693988641025 +loss.x=0.004815633290779008 +loss.x=0.004709509457770933 +loss.x=0.004515626741264987 +loss.x=0.004607295923553795 +loss.x=0.005366312175215392 +loss.x=0.00029898156027283955 +loss.x=0.004570969149927128 +loss.x=0.004475800660627978 +loss.x=0.0003024938049293629 +loss.x=0.004386915855893694 +loss.x=0.000303550033232339 +loss.x=0.0043017075724560185 +loss.x=0.004217719980292461 +loss.x=0.0003067985961646038 +loss.x=0.00030550898673142456 +loss.x=0.004487848553765355 +loss.x=0.004140762966398259 +loss.x=0.004063285013598406 +loss.x=0.00566127496930147 +loss.x=0.004042473195125185 +loss.x=0.0003080632715865374 +loss.x=0.004456954245912845 +loss.x=0.005626443916201899 +loss.x=0.004023231015819888 +loss.x=0.005527156477865005 +loss.x=0.004495966822020282 +loss.x=0.004001556879987478 +loss.x=0.003929800125729861 +loss.x=0.00030791660684896895 +loss.x=0.0038626803256387025 +loss.x=0.0003086646332826374 +loss.x=0.003797974627012186 +loss.x=0.0037335755609231237 +loss.x=0.005692556669587087 +loss.x=0.003720555655228186 +loss.x=0.004466078107804315 +loss.x=0.005658309079690504 +loss.x=0.000305351697457593 +loss.x=0.00550183866185602 +loss.x=0.004507866590070895 +loss.x=0.00375597756057947 +loss.x=0.005474978887912534 +loss.x=0.00447356225808112 +loss.x=0.0003011617128479017 +loss.x=0.004375765659174035 +loss.x=0.0037414215196156135 +loss.x=0.003679724113338557 +loss.x=0.00362008411978323 +loss.x=0.005604132418245692 +loss.x=0.00030301484762945826 +loss.x=0.004348321486607665 +loss.x=0.0036100202453087362 +loss.x=0.004253726508652417 +loss.x=0.005631097141848512 +loss.x=0.005483458752489721 +loss.x=0.003644019274234377 +loss.x=0.004294059209597339 +loss.x=0.0035854265505482754 +loss.x=0.00352935915426932 +loss.x=0.003475068500458189 +loss.x=0.00030821561917725166 +loss.x=0.005581337014058137 +loss.x=0.00030190462452387367 +loss.x=0.0034698540211511196 +loss.x=0.003417586592245872 +loss.x=0.005518136226156629 +loss.x=0.0034094217516619303 +loss.x=0.00541945262823846 +loss.x=0.005284084814153168 +loss.x=0.00515543688327523 +loss.x=0.004528339250025171 +loss.x=0.004428149955666956 +loss.x=0.003480959228963949 +loss.x=0.0002937449822852769 +loss.x=0.0034304438356998453 +loss.x=0.004333656286745631 +loss.x=0.00029662267826158136 +loss.x=0.003380958275164264 +loss.x=0.005333017282108968 +loss.x=0.00029252920722329563 +loss.x=0.0033737516058548983 +loss.x=0.00430796243152189 +loss.x=0.005299944110750875 +loss.x=0.005172217502868902 +loss.x=0.004339789345903812 +loss.x=0.004248973472854078 +loss.x=0.00029101229257821 +loss.x=0.004164217589330044 +loss.x=0.005223581572233973 +loss.x=0.005100268254131922 +loss.x=0.0049827536245101245 +loss.x=0.004252839795595442 +loss.x=0.0035204710302923145 +loss.x=0.003468089748376237 +loss.x=0.0034172918227487956 +loss.x=0.00028649978084466406 +loss.x=0.004166665868555209 +loss.x=0.00509398115277026 +loss.x=0.004139973388908336 +loss.x=0.004058416530197349 +loss.x=0.005087903263468006 +loss.x=0.004972155906682454 +loss.x=0.0002794735518375334 +loss.x=0.004857791738946542 +loss.x=0.00027462836602890094 +loss.x=0.004748767119769934 +loss.x=0.0002699807198620067 +loss.x=0.004200532361850106 +loss.x=0.004117260470493701 +loss.x=0.003559777435702515 +loss.x=0.0002746441794592849 +loss.x=0.003508644753019235 +loss.x=0.00027522402014931653 +loss.x=0.004814519984265368 +loss.x=0.00027054517398488267 +loss.x=0.0034969517630305657 +loss.x=0.0002711257567015369 +loss.x=0.0002701764787269966 +loss.x=0.004097141201995827 +loss.x=0.004018742131856079 +loss.x=0.00483908516088335 +loss.x=0.003993728483735608 +loss.x=0.003483861562654541 +loss.x=0.003918917399332288 +loss.x=0.00487172396871928 +loss.x=0.003469568667840807 +loss.x=0.00027256999282007454 +loss.x=0.004799916631125032 +loss.x=0.00394715186074258 +loss.x=0.003875081566144558 +loss.x=0.0038056968065586 +loss.x=0.004843616061019211 +loss.x=0.0002698849177823077 +loss.x=0.00026895359584889556 +loss.x=0.0034943364716843025 +loss.x=0.00026951966893285135 +loss.x=0.003790920865920721 +loss.x=0.003445722527712603 +loss.x=0.004848539863455488 +loss.x=0.0034327231024114013 +loss.x=0.0037707424876776943 +loss.x=0.0002714746829115371 +loss.x=0.0037074728477229538 +loss.x=0.003385548501599584 +loss.x=0.0036442608070594326 +loss.x=0.00027546579072569593 +loss.x=0.0002745013641985054 +loss.x=0.004944235496768349 +loss.x=0.0002698750474987097 +loss.x=0.0048361625842158265 +loss.x=0.003679516005093242 +loss.x=0.0002671190857355354 +loss.x=0.003619864129162059 +loss.x=0.0034129123497064168 +loss.x=0.0035601593528827996 +loss.x=0.003502992448088913 +loss.x=0.004943747296566924 +loss.x=0.003400308201971729 +loss.x=0.000270385914938221 +loss.x=0.0033558261841236305 +loss.x=0.0033112062789147465 +loss.x=0.0034913171375224815 +loss.x=0.004982319509409866 +loss.x=0.003480062306807276 +loss.x=0.0034259033469573675 +loss.x=0.0033734752777804166 +loss.x=0.00027499759604421244 +loss.x=0.003324246450879426 +loss.x=0.0002755980891060652 +loss.x=0.0050396485330766825 +loss.x=0.003318078059951133 +loss.x=0.003269193605205139 +loss.x=0.003221791463565336 +loss.x=0.0002754933747548468 +loss.x=0.003177280400112103 +loss.x=0.0031326476802987628 +loss.x=0.0002774796666912705 +loss.x=0.005127865745252569 +loss.x=0.00501885996005332 +loss.x=0.003406695378181605 +loss.x=0.0031689596704990823 +loss.x=0.0031248095269961647 +loss.x=0.003360810214997824 +loss.x=0.005060389610727659 +loss.x=0.0002711763381192392 +loss.x=0.0002702666787656333 +loss.x=0.00026936449293615833 +loss.x=0.003355314475612393 +loss.x=0.00026983169282400883 +loss.x=0.004974176600423628 +loss.x=0.0033465863591551357 +loss.x=0.0002667851006114293 +loss.x=0.003304876402071475 +loss.x=0.00026723510763178245 +loss.x=0.003165672197410222 +loss.x=0.003263878885045419 +loss.x=0.00026907099461788143 +loss.x=0.0032244323767732013 +loss.x=0.0031847352734293622 +loss.x=0.005062853929731671 +loss.x=0.0031609878055006905 +loss.x=0.0031178696896077547 +loss.x=0.00026999361937292844 +loss.x=0.005031171965861464 +loss.x=0.003115002035927635 +loss.x=0.0030732948368031323 +loss.x=0.00026832251865677306 +loss.x=0.00303407432894429 +loss.x=0.00026877741845523497 +loss.x=0.005032591063186913 +loss.x=0.0049306682197639996 +loss.x=0.003275426712776242 +loss.x=0.004864151199631217 +loss.x=0.0032661206071782356 +loss.x=0.0047998390773002315 +loss.x=0.003256563963338693 +loss.x=0.003139206197122004 +loss.x=0.003097315427072991 +loss.x=0.004808763752560456 +loss.x=0.0002578598339931841 +loss.x=0.003247567300328443 +loss.x=0.0030927358763436995 +loss.x=0.00025958411101757603 +loss.x=0.004775135687031019 +loss.x=0.003238960212792648 +loss.x=0.0030879713736208306 +loss.x=0.00025814606149629466 +loss.x=0.00474560028850905 +loss.x=0.004656356638931719 +loss.x=0.004570489545507308 +loss.x=0.003151481689760595 +loss.x=0.0032881742576877345 +loss.x=0.004550166999513802 +loss.x=0.003276861083529994 +loss.x=0.0031424913539410118 +loss.x=0.003101212421201369 +loss.x=0.0032363795896050455 +loss.x=0.00025286953967392677 +loss.x=0.004588899127614625 +loss.x=0.003227319897241106 +loss.x=0.0031890770932066813 +loss.x=0.004562062579936085 +loss.x=0.0002486935500166298 +loss.x=0.000247962835320215 +loss.x=0.0031817305488739678 +loss.x=0.004502291633009143 +loss.x=0.003162392314499245 +loss.x=0.003121050811707343 +loss.x=0.003171063328016933 +loss.x=0.004515488802278026 +loss.x=0.0031614923717148205 +loss.x=0.000247528928365523 +loss.x=0.0002468095039835345 +loss.x=0.004457491827507264 +loss.x=0.003147158709419152 +loss.x=0.0002446020708011161 +loss.x=0.0031546064433428545 +loss.x=0.0031186314352564183 +loss.x=0.0002460970933837291 +loss.x=0.0031081032725815746 +loss.x=0.00024658492986450066 +loss.x=0.0030698427119107956 +loss.x=0.0030848840418537748 +loss.x=0.004546965468290087 +loss.x=0.0030627824174660626 +loss.x=0.004499053957821149 +loss.x=0.004421530782288884 +loss.x=0.004346704190021184 +loss.x=0.0031538432979395185 +loss.x=0.003117323979163333 +loss.x=0.00024092235342159694 +loss.x=0.0002402517240094323 +loss.x=0.004325300147769463 +loss.x=0.0031107280299090476 +loss.x=0.0042842284340132595 +loss.x=0.004214482568113152 +loss.x=0.0031948515625496296 +loss.x=0.0031586321485194734 +loss.x=0.0031232585222112394 +loss.x=0.0031302476719485754 +loss.x=0.0002376370022267976 +loss.x=0.00309210748187589 +loss.x=0.004277749969465699 +loss.x=0.0031134019649186545 +loss.x=0.003079232585876375 +loss.x=0.0030826221588703137 +loss.x=0.003045446453002088 +loss.x=0.003012845500672612 +loss.x=0.00433457813940348 +loss.x=0.00023837987908461108 +loss.x=0.0030747937716256147 +loss.x=0.00023884548150070122 +loss.x=0.000238195727857039 +loss.x=0.0042861239740723395 +loss.x=0.0030310246928364226 +loss.x=0.00306828101268387 +loss.x=0.004269948130054449 +loss.x=0.003060023969125848 +loss.x=0.003021614623292178 +loss.x=0.0042539814924676895 +loss.x=0.004186749680171751 +loss.x=0.00023220923645276144 +loss.x=0.004119407281406218 +loss.x=0.003109082262947827 +loss.x=0.0030593850627989184 +loss.x=0.00023140297033310517 +loss.x=0.003071880680031478 +loss.x=0.004132759064320785 +loss.x=0.003050240813274067 +loss.x=0.003062350570590638 +loss.x=0.0030178117049013114 +loss.x=0.0030254391905890163 +loss.x=0.004169780643545168 +loss.x=0.0030085586288948413 +loss.x=0.0002323315713086448 +loss.x=0.0029784802782630445 +loss.x=0.0029481316169141713 +loss.x=0.004169899006040232 +loss.x=0.0002313419694083142 +loss.x=0.004104119501822112 +loss.x=0.002962792030649276 +loss.x=0.003072733689965044 +loss.x=0.00023051704416391538 +loss.x=0.004089090025384771 +loss.x=0.002954821924791549 +loss.x=0.004049486306509243 +loss.x=0.003091049252948883 +loss.x=0.0029459045168552466 +loss.x=0.00403773001425956 +loss.x=0.0029374507257296186 +loss.x=0.00022725248460693788 +loss.x=0.0030814201136730363 +loss.x=0.0002277080156374655 +loss.x=0.003046204377570492 +loss.x=0.0002281505359321605 +loss.x=0.002910218409040861 +loss.x=0.003011505384969146 +loss.x=0.004093180458574017 +loss.x=0.003003262294789876 +loss.x=0.00405904127346875 +loss.x=0.00022622010897968393 +loss.x=0.00292337730763245 +loss.x=0.0040184381128962445 +loss.x=0.003021304254765889 +loss.x=0.002986877009160296 +loss.x=0.002914486727751308 +loss.x=0.0029529041795334464 +loss.x=0.004057435508099628 +loss.x=0.00022619690640792982 +loss.x=0.003996874511850772 +loss.x=0.003940193524399164 +loss.x=0.002996183740216019 +predict +input={"dims":[2],"length":2,"data":{"0":0,"1":0}} +probs={"dims":[2],"length":2,"data":{"0":0.9997774402436117,"1":0.00022255975638825292}} +input={"dims":[2],"length":2,"data":{"0":0,"1":1}} +probs={"dims":[2],"length":2,"data":{"0":0.0029426994697607746,"1":0.9970573005302393}} +input={"dims":[2],"length":2,"data":{"0":1,"1":0}} +probs={"dims":[2],"length":2,"data":{"0":0.0029582021754799965,"1":0.99704179782452}} +input={"dims":[2],"length":2,"data":{"0":1,"1":1}} +probs={"dims":[2],"length":2,"data":{"0":0.9960978120900663,"1":0.003902187909933637}} From 0f83a0160b9c92edcf708275060e81d14d01be6c Mon Sep 17 00:00:00 2001 From: ccckmit Date: Fri, 14 Jul 2017 09:43:46 +0800 Subject: [PATCH 3/3] add test/mlpReg.js --- test/{mlp.js => mlp.js.bak} | 0 test/mlpReg.js | 43 ++ test/mlpXor.out | 1010 ----------------------------------- 3 files changed, 43 insertions(+), 1010 deletions(-) rename test/{mlp.js => mlp.js.bak} (100%) create mode 100644 test/mlpReg.js delete mode 100644 test/mlpXor.out diff --git a/test/mlp.js b/test/mlp.js.bak similarity index 100% rename from test/mlp.js rename to test/mlp.js.bak diff --git a/test/mlpReg.js b/test/mlpReg.js new file mode 100644 index 0000000..a2bb309 --- /dev/null +++ b/test/mlpReg.js @@ -0,0 +1,43 @@ +var Tensor = require('../tensor'); +var ad = require('../ad'); +var nn = require('../nn'); +var opt = require('../opt'); + +var nInputs = 6 +var nHidden = [4, 4, 5] +var nOutput = 2 + +var net = nn.sequence([ + nn.linear(nInputs, nHidden[0]), + nn.sigmoid, + nn.linear(nHidden[0], nHidden[1]), + nn.sigmoid, + nn.linear(nHidden[1], nOutput), +]) + +var data = [ + {input: [0.4, 0.5, 0.5, 0., 0., 0.], output: [1, 0]}, + {input: [0.5, 0.3, 0.5, 0., 0., 0.], output: [1, 0]}, + {input: [0.4, 0.5, 0.5, 0., 0., 0.], output: [1, 0]}, + {input: [0., 0., 0.5, 0.3, 0.5, 0.], output: [0, 1]}, + {input: [0., 0., 0.5, 0.4, 0.5, 0.], output: [0, 1]}, + {input: [0., 0., 0.5, 0.5, 0.5, 0.], output: [0, 1]} +] + +var trainingData = nn.loadData(data) + +console.log('nnTrain') +opt.nnTrain(net, trainingData, opt.regressionLoss, { + batchSize: 1, // batch 超過 3 就無法成功, why ? + iterations: 1000, + method: opt.sgd({ stepSize: 1, stepSizeDecay: 0.999 }), + verbose: true +}) + +console.log('predict') +// Predict class probabilities for new, unseen features +for (let i = 0; i < trainingData.length; i++) { + var input = trainingData[i].input + var probs = net.eval(input) + console.log('input=%j\noutput=%j', input, probs) +} diff --git a/test/mlpXor.out b/test/mlpXor.out deleted file mode 100644 index eeac256..0000000 --- a/test/mlpXor.out +++ /dev/null @@ -1,1010 +0,0 @@ -nnTrain -loss.x=0.5141827972954387 -loss.x=1.585546840160119 -loss.x=0.9528555389032358 -loss.x=0.3189534644262018 -loss.x=1.945743706491733 -loss.x=0.7000563268983218 -loss.x=0.23682239953369225 -loss.x=0.09071121680897015 -loss.x=0.04056048076825002 -loss.x=2.94709496799754 -loss.x=0.9291160642700491 -loss.x=0.387464069184089 -loss.x=0.21250666983052285 -loss.x=1.9513909435740682 -loss.x=0.6175908400473913 -loss.x=1.2664233810394818 -loss.x=0.8405288470116107 -loss.x=0.1644715911030073 -loss.x=0.07632101449972828 -loss.x=1.489702225476719 -loss.x=0.1627036169281421 -loss.x=0.6007122128341728 -loss.x=0.024346746974308848 -loss.x=0.020224299504991064 -loss.x=0.017261777090865557 -loss.x=4.555718655569526 -loss.x=0.06869612100494686 -loss.x=3.0626981286754456 -loss.x=0.13349071291270714 -loss.x=2.7684028915990075 -loss.x=0.5908727256700625 -loss.x=0.13069368215102628 -loss.x=2.7936755626357868 -loss.x=0.41044149577870337 -loss.x=1.7590126213932642 -loss.x=0.8491166128902992 -loss.x=1.4897071199236613 -loss.x=1.1156575280112335 -loss.x=1.2846246945393989 -loss.x=1.0920804053398627 -loss.x=0.9893789391786565 -loss.x=0.4642504419723815 -loss.x=1.8488304878609376 -loss.x=0.8762528460521936 -loss.x=0.17681670910028094 -loss.x=0.10320488678266193 -loss.x=0.06995167714389217 -loss.x=1.8651831661240101 -loss.x=0.9071350928088677 -loss.x=2.6179425943656764 -loss.x=2.0171507726761013 -loss.x=0.19485391657262743 -loss.x=2.322240312573224 -loss.x=1.7461076086457659 -loss.x=0.13192839169352966 -loss.x=0.07867804133766626 -loss.x=2.025820602743977 -loss.x=1.1814529858651552 -loss.x=0.27678538223056964 -loss.x=1.6929152411061799 -loss.x=0.32360024545565974 -loss.x=2.3690513336833146 -loss.x=0.351052770453766 -loss.x=2.0848522140708154 -loss.x=0.323352796974735 -loss.x=0.596281245339545 -loss.x=0.03831128882710402 -loss.x=0.6314505186390049 -loss.x=4.37261782540809 -loss.x=1.3581052640923534 -loss.x=3.345571589875419 -loss.x=0.1104009282040484 -loss.x=0.12610003462012384 -loss.x=3.347970271727622 -loss.x=0.4797990288315903 -loss.x=0.044948443616978896 -loss.x=3.060624713700979 -loss.x=0.26793035364655404 -loss.x=0.06525672932398706 -loss.x=1.3263319307488992 -loss.x=0.12160730519111858 -loss.x=0.06621166082684092 -loss.x=0.20960293937020363 -loss.x=0.053710070332316305 -loss.x=3.6156317070435864 -loss.x=0.2208273384239507 -loss.x=0.20203446086701138 -loss.x=0.08623554504739707 -loss.x=2.4565088974851412 -loss.x=0.06790217558334635 -loss.x=0.04656566539257111 -loss.x=2.7152771475711557 -loss.x=0.16991628096624287 -loss.x=1.9855919953786596 -loss.x=1.2170620041398137 -loss.x=0.0417589022918056 -loss.x=0.1261778206036782 -loss.x=0.06565255518602214 -loss.x=0.04560900232388277 -loss.x=0.035119517884099116 -loss.x=2.750855746929781 -loss.x=0.5049381822862319 -loss.x=2.5060035365289512 -loss.x=2.642318090430087 -loss.x=0.09081094934080591 -loss.x=0.044532992852727736 -loss.x=0.01448950554183794 -loss.x=3.8212159950725684 -loss.x=1.0068392046058805 -loss.x=3.555309701249518 -loss.x=0.2828702391695146 -loss.x=0.046651300960366564 -loss.x=4.10958315985829 -loss.x=2.102863794346194 -loss.x=0.011699969585277905 -loss.x=2.1660752122505817 -loss.x=1.9416352904219594 -loss.x=1.7922838311330775 -loss.x=2.177822434632566 -loss.x=0.015170667455417524 -loss.x=4.432637438985047 -loss.x=0.2037847194060621 -loss.x=3.5727049424352026 -loss.x=0.029574063221053815 -loss.x=0.3434966287664831 -loss.x=2.4257490166463067 -loss.x=1.0436787603324436 -loss.x=0.854509766137747 -loss.x=0.025392641053835173 -loss.x=0.032007057754544786 -loss.x=0.021885562068502735 -loss.x=0.01874054073834727 -loss.x=0.02720506703364285 -loss.x=0.02281457485167831 -loss.x=0.017238845959690857 -loss.x=4.268872320342372 -loss.x=0.3838540949602417 -loss.x=0.2879140246984413 -loss.x=2.868288654993533 -loss.x=0.02311747667239554 -loss.x=0.019235907110549504 -loss.x=0.013152744913221584 -loss.x=0.015438671746528368 -loss.x=0.011090734568827917 -loss.x=0.010252252745209982 -loss.x=0.012242766175865264 -loss.x=4.068131708055457 -loss.x=0.22322973908983265 -loss.x=0.06756466825624123 -loss.x=0.5903491327523803 -loss.x=1.2872851936639036 -loss.x=0.01468725046980289 -loss.x=0.0013750362251483135 -loss.x=0.5557343043168947 -loss.x=2.1007189245993443 -loss.x=0.20305174692930467 -loss.x=0.00491327743444572 -loss.x=2.132386825348098 -loss.x=2.9960903163686803 -loss.x=0.02228906456062556 -loss.x=0.01895349214322765 -loss.x=0.0769350017165439 -loss.x=0.018983964756789103 -loss.x=0.04006987211038066 -loss.x=0.006129568394477023 -loss.x=0.028836067279672185 -loss.x=0.018596238656415538 -loss.x=0.01622193017251151 -loss.x=0.02398543395536348 -loss.x=0.014980457104286625 -loss.x=0.02010194701492416 -loss.x=2.013121049153149 -loss.x=0.858064842473016 -loss.x=0.21333127315836606 -loss.x=0.0024716359700272623 -loss.x=0.04739508816057893 -loss.x=0.001973466545544132 -loss.x=0.03311932778914206 -loss.x=0.025854373880276674 -loss.x=0.1497244138970567 -loss.x=0.002224356326850069 -loss.x=0.04616850141300024 -loss.x=0.04518836435378705 -loss.x=0.0326577871241952 -loss.x=0.0017053008709749886 -loss.x=0.001674161838562116 -loss.x=0.04519128257213606 -loss.x=0.02981411785259147 -loss.x=0.023976523936517762 -loss.x=0.0014237028026312943 -loss.x=0.07793281824878442 -loss.x=0.027515002480245816 -loss.x=0.001522076635667339 -loss.x=0.047121508062165404 -loss.x=0.02723058955744297 -loss.x=0.0015054708833948487 -loss.x=0.0014802792231846747 -loss.x=0.04953092997750993 -loss.x=0.00159080066867316 -loss.x=0.03607888865278624 -loss.x=0.0016679467302624827 -loss.x=0.02857682015666946 -loss.x=0.023664862271236795 -loss.x=0.03667818092558528 -loss.x=0.027444910554038388 -loss.x=0.04574327209392761 -loss.x=0.0017510326031408387 -loss.x=0.03297456930303191 -loss.x=0.030500406930093284 -loss.x=0.02958686654571561 -loss.x=0.024015233378542594 -loss.x=0.02025444324956842 -loss.x=0.03246081485086766 -loss.x=0.020043726174488224 -loss.x=0.0011873478456680875 -loss.x=0.027416185504034837 -loss.x=0.03690962475527647 -loss.x=0.02196968846583222 -loss.x=0.01881618236175607 -loss.x=0.01647014789271329 -loss.x=0.03540710738031527 -loss.x=0.016551536453750307 -loss.x=0.014713679402426336 -loss.x=0.01324854807226554 -loss.x=0.03359817033223174 -loss.x=0.025897656484003346 -loss.x=0.02119326030747932 -loss.x=0.016812942612338618 -loss.x=0.019276438526045235 -loss.x=0.0011295444718764562 -loss.x=0.034780063179645514 -loss.x=0.027857383085790232 -loss.x=0.01988531937164075 -loss.x=0.018060036316366216 -loss.x=0.015721601016817004 -loss.x=0.019861318042644693 -loss.x=0.0151096010474585 -loss.x=0.013459829474687712 -loss.x=0.026639293577211228 -loss.x=0.022474380916569645 -loss.x=0.019458413791348935 -loss.x=0.017168661562980053 -loss.x=0.015368566122101636 -loss.x=0.027294237309535233 -loss.x=0.001352163732322184 -loss.x=0.013607855950040328 -loss.x=0.0013726142733214266 -loss.x=0.023602197626539614 -loss.x=0.016614945483458855 -loss.x=0.02120919829824366 -loss.x=0.016037420433834926 -loss.x=0.014462314114237646 -loss.x=0.020303457467599442 -loss.x=0.017637557956439252 -loss.x=0.0010450388669223782 -loss.x=0.01723448975150814 -loss.x=0.016655687989449268 -loss.x=0.015879054905642422 -loss.x=0.016182144949743675 -loss.x=0.0010791123522052497 -loss.x=0.016639565230386656 -loss.x=0.014834533190253006 -loss.x=0.0009309373155663515 -loss.x=0.016345699845521873 -loss.x=0.01599987831010483 -loss.x=0.014445128034602494 -loss.x=0.015775329411662636 -loss.x=0.013885792354095153 -loss.x=0.0009817974080399102 -loss.x=0.015436507698285492 -loss.x=0.01570850432346954 -loss.x=0.0009420223415161661 -loss.x=0.01404839206340473 -loss.x=0.01275732453154036 -loss.x=0.01168672830745351 -loss.x=0.01528868640699612 -loss.x=0.017129451431398733 -loss.x=0.01508425874101572 -loss.x=0.013862632969263216 -loss.x=0.013487195110391747 -loss.x=0.01220796859404419 -loss.x=0.011156760130598992 -loss.x=0.012693706780315978 -loss.x=0.00102707021287391 -loss.x=0.0010111261603349996 -loss.x=0.0009957244217249682 -loss.x=0.011790714224427916 -loss.x=0.0103545941957697 -loss.x=0.017452751984052935 -loss.x=0.0009593325215560964 -loss.x=0.000945486732135808 -loss.x=0.010329364298767173 -loss.x=0.016036090518316965 -loss.x=0.014402182719252523 -loss.x=0.010795374931593885 -loss.x=0.013643106296336046 -loss.x=0.013433045898693131 -loss.x=0.013007978504666413 -loss.x=0.012887547707537979 -loss.x=0.0008203049930571893 -loss.x=0.011099326819864877 -loss.x=0.011910766436578969 -loss.x=0.013452622375957913 -loss.x=0.0008078273437775131 -loss.x=0.0007979787066934452 -loss.x=0.010835950136280031 -loss.x=0.01274402937273706 -loss.x=0.010530786657772524 -loss.x=0.012199454546808873 -loss.x=0.01023613712132705 -loss.x=0.011708414251327938 -loss.x=0.010834384923306678 -loss.x=0.010381980459286127 -loss.x=0.0007210949118550812 -loss.x=0.0007132883743976934 -loss.x=0.00967078927566703 -loss.x=0.013539203334707947 -loss.x=0.011316633484668985 -loss.x=0.010503909841124879 -loss.x=0.0006803262165983012 -loss.x=0.013378381541910435 -loss.x=0.009832222903119876 -loss.x=0.000709421743749296 -loss.x=0.012342429923563845 -loss.x=0.0007199547504706141 -loss.x=0.010956675295212789 -loss.x=0.0006812488028711655 -loss.x=0.009610404347874493 -loss.x=0.000690464914119421 -loss.x=0.011901255737202434 -loss.x=0.000700244203047864 -loss.x=0.011086331324772462 -loss.x=0.0007088463954261487 -loss.x=0.01125336916817772 -loss.x=0.010754937305265659 -loss.x=0.010074941995928628 -loss.x=0.009414764404614872 -loss.x=0.011579213668096933 -loss.x=0.0006835464912371392 -loss.x=0.0006764183857575388 -loss.x=0.009856333036560912 -loss.x=0.011019361855740912 -loss.x=0.0006537403111355333 -loss.x=0.009648567891489745 -loss.x=0.00901932669165334 -loss.x=0.008469221199797532 -loss.x=0.009623620836718538 -loss.x=0.009082946361215023 -loss.x=0.0007187958404661336 -loss.x=0.0007108214475172521 -loss.x=0.008010124001709607 -loss.x=0.008625163695427079 -loss.x=0.007576846154728338 -loss.x=0.008190466246489643 -loss.x=0.013356660179911307 -loss.x=0.008129764669131812 -loss.x=0.000728754968018792 -loss.x=0.007755899849531724 -loss.x=0.012848360595693907 -loss.x=0.0077065811412436345 -loss.x=0.007940941555650624 -loss.x=0.0073596934238374144 -loss.x=0.0007314922137792131 -loss.x=0.012740458975770606 -loss.x=0.011750120811448094 -loss.x=0.0006562537030714952 -loss.x=0.0006495840226777568 -loss.x=0.0076311433641019335 -loss.x=0.011107646466822722 -loss.x=0.0006252734122001157 -loss.x=0.007557751027702292 -loss.x=0.0006289933849118513 -loss.x=0.007236150928777745 -loss.x=0.010782613198061163 -loss.x=0.007167221694400417 -loss.x=0.008998369910546944 -loss.x=0.010645549265923244 -loss.x=0.0006028104389962047 -loss.x=0.007106304044301797 -loss.x=0.0006060445936709135 -loss.x=0.0006003733382828742 -loss.x=0.0005948214500470046 -loss.x=0.006840111128083705 -loss.x=0.0005977535298474317 -loss.x=0.0065786154823095164 -loss.x=0.006329334896226577 -loss.x=0.0060984883095768164 -loss.x=0.00588409662860481 -loss.x=0.0006234371430863989 -loss.x=0.0006174103504400134 -loss.x=0.011027857898268625 -loss.x=0.005894306960040132 -loss.x=0.005694448313124377 -loss.x=0.009250624374766292 -loss.x=0.00061331912281867 -loss.x=0.01100383908194254 -loss.x=0.009062378818744285 -loss.x=0.0005947455214964898 -loss.x=0.008542175844318167 -loss.x=0.000601285527965626 -loss.x=0.0005957038957310341 -loss.x=0.010878151886252461 -loss.x=0.0005660692417948619 -loss.x=0.01014978244401212 -loss.x=0.006103125159499465 -loss.x=0.008741061801643964 -loss.x=0.01002188110904723 -loss.x=0.006070784966103465 -loss.x=0.005861958492505406 -loss.x=0.005667211374500305 -loss.x=0.005485161365664856 -loss.x=0.005314601970889794 -loss.x=0.00854822228738398 -loss.x=0.0051538578016114035 -loss.x=0.01074544149693288 -loss.x=0.005167205553192959 -loss.x=0.0005690119136434556 -loss.x=0.0005639990213258939 -loss.x=0.0005590858431263071 -loss.x=0.005033612250959416 -loss.x=0.010306359184479372 -loss.x=0.008742816223397754 -loss.x=0.0005495240948389066 -loss.x=0.008268055107566546 -loss.x=0.0102607356354809 -loss.x=0.0005342808013622434 -loss.x=0.009622560718839717 -loss.x=0.005359986282420633 -loss.x=0.009223068514042783 -loss.x=0.008695179656641272 -loss.x=0.005342265191213575 -loss.x=0.005183057906141681 -loss.x=0.0005201151057696996 -loss.x=0.0005159653399369044 -loss.x=0.008236272162019241 -loss.x=0.007809989187411597 -loss.x=0.005042388521610497 -loss.x=0.0049013476526646215 -loss.x=0.0005419245176944604 -loss.x=0.007434756300049557 -loss.x=0.004772753953078717 -loss.x=0.004646758080861992 -loss.x=0.007087440219601024 -loss.x=0.004526876232033615 -loss.x=0.0110095512406855 -loss.x=0.004557558152536203 -loss.x=0.0005534024267702707 -loss.x=0.007045686446175797 -loss.x=0.0005575606100602096 -loss.x=0.006745269842920613 -loss.x=0.010915592685316961 -loss.x=0.000539030463339151 -loss.x=0.0005345610844652327 -loss.x=0.006727487856029425 -loss.x=0.004604126601264046 -loss.x=0.000543297303454802 -loss.x=0.01055028292553523 -loss.x=0.006693226032861356 -loss.x=0.006416698656456425 -loss.x=0.010373055911151138 -loss.x=0.006386038860064173 -loss.x=0.009977868221818292 -loss.x=0.0005026225853793213 -loss.x=0.009395154541739014 -loss.x=0.008893607529083908 -loss.x=0.006766553857135527 -loss.x=0.0051743918802922275 -loss.x=0.008769681516273218 -loss.x=0.00833302875941875 -loss.x=0.00687570875075514 -loss.x=0.00527954052493317 -loss.x=0.006586093181052786 -loss.x=0.006321526416756092 -loss.x=0.0004751447963313018 -loss.x=0.006084449015524597 -loss.x=0.005132339995764591 -loss.x=0.004991547870239288 -loss.x=0.0004878241911134242 -loss.x=0.009023356985672706 -loss.x=0.00046866820565987655 -loss.x=0.00855188697374112 -loss.x=0.0004512224384380187 -loss.x=0.0004481526375537779 -loss.x=0.008115099619671726 -loss.x=0.007745844704004539 -loss.x=0.007409158948096941 -loss.x=0.006752292145128122 -loss.x=0.005466170258456508 -loss.x=0.006476831951209591 -loss.x=0.00042632309341032325 -loss.x=0.007527186110995423 -loss.x=0.007210795162314298 -loss.x=0.006546687718993367 -loss.x=0.007074056727653438 -loss.x=0.005641973094081101 -loss.x=0.00690189253647148 -loss.x=0.0003924014435676515 -loss.x=0.0055844618378810326 -loss.x=0.00659507130026079 -loss.x=0.000400194994052304 -loss.x=0.006341504950696737 -loss.x=0.007017183960326363 -loss.x=0.0055286054949194195 -loss.x=0.005368958343626027 -loss.x=0.006949449082792672 -loss.x=0.006390348779559988 -loss.x=0.006825576952679742 -loss.x=0.0003883783418717406 -loss.x=0.005422530212096715 -loss.x=0.0003902359780002232 -loss.x=0.0003879769511621285 -loss.x=0.0003857482899280515 -loss.x=0.0003835493746741868 -loss.x=0.005285473732316336 -loss.x=0.005140761593679631 -loss.x=0.006812140311244362 -loss.x=0.00038001230390581636 -loss.x=0.006461392387062212 -loss.x=0.006689490265719321 -loss.x=0.0003744186107794523 -loss.x=0.006436329454933366 -loss.x=0.006495569347734526 -loss.x=0.0003693053857385755 -loss.x=0.0003673064669125543 -loss.x=0.005295437105073203 -loss.x=0.006418414847546382 -loss.x=0.0003609793071915333 -loss.x=0.0003590775024633012 -loss.x=0.00035719914862087753 -loss.x=0.00035534380671166865 -loss.x=0.00616379308121471 -loss.x=0.005343654958054808 -loss.x=0.006043912404736079 -loss.x=0.005846024760064292 -loss.x=0.005660852227211863 -loss.x=0.005448426428230703 -loss.x=0.0003327452095597323 -loss.x=0.0003311490290824848 -loss.x=0.0069308207699031845 -loss.x=0.00033450080970745343 -loss.x=0.006659299423316129 -loss.x=0.0057980883099784004 -loss.x=0.005617360951571838 -loss.x=0.006644657634313924 -loss.x=0.00032946726033831184 -loss.x=0.005559350614892963 -loss.x=0.005393685980513385 -loss.x=0.000315989310421024 -loss.x=0.006629864704619545 -loss.x=0.0063792668902094085 -loss.x=0.005454968568849208 -loss.x=0.005713473061876503 -loss.x=0.00555009808945084 -loss.x=0.005395975736001679 -loss.x=0.006251749311589312 -loss.x=0.0003320296932630805 -loss.x=0.006034326318744261 -loss.x=0.000334686604175244 -loss.x=0.005741282520997914 -loss.x=0.005334067348795368 -loss.x=0.0003300276420044667 -loss.x=0.0059424734962806695 -loss.x=0.0003326003190896857 -loss.x=0.005739414681574978 -loss.x=0.005565982528507907 -loss.x=0.005353001805310043 -loss.x=0.005478508475014645 -loss.x=0.005320609798419283 -loss.x=0.0051716873067259 -loss.x=0.00030534962195932156 -loss.x=0.00626653248433505 -loss.x=0.006046970832856801 -loss.x=0.005432340212852643 -loss.x=0.005841511108584327 -loss.x=0.005286252475590877 -loss.x=0.00032213979430018334 -loss.x=0.005152337128070167 -loss.x=0.005652881236336374 -loss.x=0.0003275680019894357 -loss.x=0.005479085993276923 -loss.x=0.005726003165509927 -loss.x=0.0003236088341525257 -loss.x=0.00032212238047279616 -loss.x=0.005103622383031096 -loss.x=0.00032368251293285645 -loss.x=0.005610967157635859 -loss.x=0.0003163339108064683 -loss.x=0.005516345402858623 -loss.x=0.00031851897550006983 -loss.x=0.005056525439713965 -loss.x=0.005601966353054961 -loss.x=0.005444503262376577 -loss.x=0.005532635783547816 -loss.x=0.00031211543862359384 -loss.x=0.0050758377753068185 -loss.x=0.0054394216703706555 -loss.x=0.005287917125673495 -loss.x=0.00030292303053787775 -loss.x=0.005139711464861274 -loss.x=0.00500461448798754 -loss.x=0.005733628627507544 -loss.x=0.00029534850149214227 -loss.x=0.005558067315552836 -loss.x=0.005043029856699034 -loss.x=0.00547381103911548 -loss.x=0.004996267670674216 -loss.x=0.005392764987624323 -loss.x=0.005353183809005026 -loss.x=0.0002973395240749424 -loss.x=0.005237436346709127 -loss.x=0.005089422152712271 -loss.x=0.0049498027316075485 -loss.x=0.005248965672016661 -loss.x=0.005110231902532252 -loss.x=0.005352213107364255 -loss.x=0.0002983318535379341 -loss.x=0.00029709547495212617 -loss.x=0.005035537135069434 -loss.x=0.0002911751592225244 -loss.x=0.004903733645349049 -loss.x=0.004783188725882193 -loss.x=0.005203999837489344 -loss.x=0.005059442688334296 -loss.x=0.004922951201568143 -loss.x=0.004793863514885951 -loss.x=0.0054140235011500264 -loss.x=0.00029556458813001307 -loss.x=0.0002943584654966199 -loss.x=0.004676085339559002 -loss.x=0.00456018892425294 -loss.x=0.0002986082183789008 -loss.x=0.004452728672564607 -loss.x=0.005216340468657559 -loss.x=0.0002951565656621912 -loss.x=0.00029395992874158174 -loss.x=0.005355581551779633 -loss.x=0.005138747365261075 -loss.x=0.004487436166755333 -loss.x=0.005075537567683775 -loss.x=0.0002888343010545312 -loss.x=0.00028769423659447384 -loss.x=0.005357915750612474 -loss.x=0.0002892744724710339 -loss.x=0.005228651496873103 -loss.x=0.005062831504769502 -loss.x=0.005165576253075164 -loss.x=0.005043283100020735 -loss.x=0.0049267693988641025 -loss.x=0.004815633290779008 -loss.x=0.004709509457770933 -loss.x=0.004515626741264987 -loss.x=0.004607295923553795 -loss.x=0.005366312175215392 -loss.x=0.00029898156027283955 -loss.x=0.004570969149927128 -loss.x=0.004475800660627978 -loss.x=0.0003024938049293629 -loss.x=0.004386915855893694 -loss.x=0.000303550033232339 -loss.x=0.0043017075724560185 -loss.x=0.004217719980292461 -loss.x=0.0003067985961646038 -loss.x=0.00030550898673142456 -loss.x=0.004487848553765355 -loss.x=0.004140762966398259 -loss.x=0.004063285013598406 -loss.x=0.00566127496930147 -loss.x=0.004042473195125185 -loss.x=0.0003080632715865374 -loss.x=0.004456954245912845 -loss.x=0.005626443916201899 -loss.x=0.004023231015819888 -loss.x=0.005527156477865005 -loss.x=0.004495966822020282 -loss.x=0.004001556879987478 -loss.x=0.003929800125729861 -loss.x=0.00030791660684896895 -loss.x=0.0038626803256387025 -loss.x=0.0003086646332826374 -loss.x=0.003797974627012186 -loss.x=0.0037335755609231237 -loss.x=0.005692556669587087 -loss.x=0.003720555655228186 -loss.x=0.004466078107804315 -loss.x=0.005658309079690504 -loss.x=0.000305351697457593 -loss.x=0.00550183866185602 -loss.x=0.004507866590070895 -loss.x=0.00375597756057947 -loss.x=0.005474978887912534 -loss.x=0.00447356225808112 -loss.x=0.0003011617128479017 -loss.x=0.004375765659174035 -loss.x=0.0037414215196156135 -loss.x=0.003679724113338557 -loss.x=0.00362008411978323 -loss.x=0.005604132418245692 -loss.x=0.00030301484762945826 -loss.x=0.004348321486607665 -loss.x=0.0036100202453087362 -loss.x=0.004253726508652417 -loss.x=0.005631097141848512 -loss.x=0.005483458752489721 -loss.x=0.003644019274234377 -loss.x=0.004294059209597339 -loss.x=0.0035854265505482754 -loss.x=0.00352935915426932 -loss.x=0.003475068500458189 -loss.x=0.00030821561917725166 -loss.x=0.005581337014058137 -loss.x=0.00030190462452387367 -loss.x=0.0034698540211511196 -loss.x=0.003417586592245872 -loss.x=0.005518136226156629 -loss.x=0.0034094217516619303 -loss.x=0.00541945262823846 -loss.x=0.005284084814153168 -loss.x=0.00515543688327523 -loss.x=0.004528339250025171 -loss.x=0.004428149955666956 -loss.x=0.003480959228963949 -loss.x=0.0002937449822852769 -loss.x=0.0034304438356998453 -loss.x=0.004333656286745631 -loss.x=0.00029662267826158136 -loss.x=0.003380958275164264 -loss.x=0.005333017282108968 -loss.x=0.00029252920722329563 -loss.x=0.0033737516058548983 -loss.x=0.00430796243152189 -loss.x=0.005299944110750875 -loss.x=0.005172217502868902 -loss.x=0.004339789345903812 -loss.x=0.004248973472854078 -loss.x=0.00029101229257821 -loss.x=0.004164217589330044 -loss.x=0.005223581572233973 -loss.x=0.005100268254131922 -loss.x=0.0049827536245101245 -loss.x=0.004252839795595442 -loss.x=0.0035204710302923145 -loss.x=0.003468089748376237 -loss.x=0.0034172918227487956 -loss.x=0.00028649978084466406 -loss.x=0.004166665868555209 -loss.x=0.00509398115277026 -loss.x=0.004139973388908336 -loss.x=0.004058416530197349 -loss.x=0.005087903263468006 -loss.x=0.004972155906682454 -loss.x=0.0002794735518375334 -loss.x=0.004857791738946542 -loss.x=0.00027462836602890094 -loss.x=0.004748767119769934 -loss.x=0.0002699807198620067 -loss.x=0.004200532361850106 -loss.x=0.004117260470493701 -loss.x=0.003559777435702515 -loss.x=0.0002746441794592849 -loss.x=0.003508644753019235 -loss.x=0.00027522402014931653 -loss.x=0.004814519984265368 -loss.x=0.00027054517398488267 -loss.x=0.0034969517630305657 -loss.x=0.0002711257567015369 -loss.x=0.0002701764787269966 -loss.x=0.004097141201995827 -loss.x=0.004018742131856079 -loss.x=0.00483908516088335 -loss.x=0.003993728483735608 -loss.x=0.003483861562654541 -loss.x=0.003918917399332288 -loss.x=0.00487172396871928 -loss.x=0.003469568667840807 -loss.x=0.00027256999282007454 -loss.x=0.004799916631125032 -loss.x=0.00394715186074258 -loss.x=0.003875081566144558 -loss.x=0.0038056968065586 -loss.x=0.004843616061019211 -loss.x=0.0002698849177823077 -loss.x=0.00026895359584889556 -loss.x=0.0034943364716843025 -loss.x=0.00026951966893285135 -loss.x=0.003790920865920721 -loss.x=0.003445722527712603 -loss.x=0.004848539863455488 -loss.x=0.0034327231024114013 -loss.x=0.0037707424876776943 -loss.x=0.0002714746829115371 -loss.x=0.0037074728477229538 -loss.x=0.003385548501599584 -loss.x=0.0036442608070594326 -loss.x=0.00027546579072569593 -loss.x=0.0002745013641985054 -loss.x=0.004944235496768349 -loss.x=0.0002698750474987097 -loss.x=0.0048361625842158265 -loss.x=0.003679516005093242 -loss.x=0.0002671190857355354 -loss.x=0.003619864129162059 -loss.x=0.0034129123497064168 -loss.x=0.0035601593528827996 -loss.x=0.003502992448088913 -loss.x=0.004943747296566924 -loss.x=0.003400308201971729 -loss.x=0.000270385914938221 -loss.x=0.0033558261841236305 -loss.x=0.0033112062789147465 -loss.x=0.0034913171375224815 -loss.x=0.004982319509409866 -loss.x=0.003480062306807276 -loss.x=0.0034259033469573675 -loss.x=0.0033734752777804166 -loss.x=0.00027499759604421244 -loss.x=0.003324246450879426 -loss.x=0.0002755980891060652 -loss.x=0.0050396485330766825 -loss.x=0.003318078059951133 -loss.x=0.003269193605205139 -loss.x=0.003221791463565336 -loss.x=0.0002754933747548468 -loss.x=0.003177280400112103 -loss.x=0.0031326476802987628 -loss.x=0.0002774796666912705 -loss.x=0.005127865745252569 -loss.x=0.00501885996005332 -loss.x=0.003406695378181605 -loss.x=0.0031689596704990823 -loss.x=0.0031248095269961647 -loss.x=0.003360810214997824 -loss.x=0.005060389610727659 -loss.x=0.0002711763381192392 -loss.x=0.0002702666787656333 -loss.x=0.00026936449293615833 -loss.x=0.003355314475612393 -loss.x=0.00026983169282400883 -loss.x=0.004974176600423628 -loss.x=0.0033465863591551357 -loss.x=0.0002667851006114293 -loss.x=0.003304876402071475 -loss.x=0.00026723510763178245 -loss.x=0.003165672197410222 -loss.x=0.003263878885045419 -loss.x=0.00026907099461788143 -loss.x=0.0032244323767732013 -loss.x=0.0031847352734293622 -loss.x=0.005062853929731671 -loss.x=0.0031609878055006905 -loss.x=0.0031178696896077547 -loss.x=0.00026999361937292844 -loss.x=0.005031171965861464 -loss.x=0.003115002035927635 -loss.x=0.0030732948368031323 -loss.x=0.00026832251865677306 -loss.x=0.00303407432894429 -loss.x=0.00026877741845523497 -loss.x=0.005032591063186913 -loss.x=0.0049306682197639996 -loss.x=0.003275426712776242 -loss.x=0.004864151199631217 -loss.x=0.0032661206071782356 -loss.x=0.0047998390773002315 -loss.x=0.003256563963338693 -loss.x=0.003139206197122004 -loss.x=0.003097315427072991 -loss.x=0.004808763752560456 -loss.x=0.0002578598339931841 -loss.x=0.003247567300328443 -loss.x=0.0030927358763436995 -loss.x=0.00025958411101757603 -loss.x=0.004775135687031019 -loss.x=0.003238960212792648 -loss.x=0.0030879713736208306 -loss.x=0.00025814606149629466 -loss.x=0.00474560028850905 -loss.x=0.004656356638931719 -loss.x=0.004570489545507308 -loss.x=0.003151481689760595 -loss.x=0.0032881742576877345 -loss.x=0.004550166999513802 -loss.x=0.003276861083529994 -loss.x=0.0031424913539410118 -loss.x=0.003101212421201369 -loss.x=0.0032363795896050455 -loss.x=0.00025286953967392677 -loss.x=0.004588899127614625 -loss.x=0.003227319897241106 -loss.x=0.0031890770932066813 -loss.x=0.004562062579936085 -loss.x=0.0002486935500166298 -loss.x=0.000247962835320215 -loss.x=0.0031817305488739678 -loss.x=0.004502291633009143 -loss.x=0.003162392314499245 -loss.x=0.003121050811707343 -loss.x=0.003171063328016933 -loss.x=0.004515488802278026 -loss.x=0.0031614923717148205 -loss.x=0.000247528928365523 -loss.x=0.0002468095039835345 -loss.x=0.004457491827507264 -loss.x=0.003147158709419152 -loss.x=0.0002446020708011161 -loss.x=0.0031546064433428545 -loss.x=0.0031186314352564183 -loss.x=0.0002460970933837291 -loss.x=0.0031081032725815746 -loss.x=0.00024658492986450066 -loss.x=0.0030698427119107956 -loss.x=0.0030848840418537748 -loss.x=0.004546965468290087 -loss.x=0.0030627824174660626 -loss.x=0.004499053957821149 -loss.x=0.004421530782288884 -loss.x=0.004346704190021184 -loss.x=0.0031538432979395185 -loss.x=0.003117323979163333 -loss.x=0.00024092235342159694 -loss.x=0.0002402517240094323 -loss.x=0.004325300147769463 -loss.x=0.0031107280299090476 -loss.x=0.0042842284340132595 -loss.x=0.004214482568113152 -loss.x=0.0031948515625496296 -loss.x=0.0031586321485194734 -loss.x=0.0031232585222112394 -loss.x=0.0031302476719485754 -loss.x=0.0002376370022267976 -loss.x=0.00309210748187589 -loss.x=0.004277749969465699 -loss.x=0.0031134019649186545 -loss.x=0.003079232585876375 -loss.x=0.0030826221588703137 -loss.x=0.003045446453002088 -loss.x=0.003012845500672612 -loss.x=0.00433457813940348 -loss.x=0.00023837987908461108 -loss.x=0.0030747937716256147 -loss.x=0.00023884548150070122 -loss.x=0.000238195727857039 -loss.x=0.0042861239740723395 -loss.x=0.0030310246928364226 -loss.x=0.00306828101268387 -loss.x=0.004269948130054449 -loss.x=0.003060023969125848 -loss.x=0.003021614623292178 -loss.x=0.0042539814924676895 -loss.x=0.004186749680171751 -loss.x=0.00023220923645276144 -loss.x=0.004119407281406218 -loss.x=0.003109082262947827 -loss.x=0.0030593850627989184 -loss.x=0.00023140297033310517 -loss.x=0.003071880680031478 -loss.x=0.004132759064320785 -loss.x=0.003050240813274067 -loss.x=0.003062350570590638 -loss.x=0.0030178117049013114 -loss.x=0.0030254391905890163 -loss.x=0.004169780643545168 -loss.x=0.0030085586288948413 -loss.x=0.0002323315713086448 -loss.x=0.0029784802782630445 -loss.x=0.0029481316169141713 -loss.x=0.004169899006040232 -loss.x=0.0002313419694083142 -loss.x=0.004104119501822112 -loss.x=0.002962792030649276 -loss.x=0.003072733689965044 -loss.x=0.00023051704416391538 -loss.x=0.004089090025384771 -loss.x=0.002954821924791549 -loss.x=0.004049486306509243 -loss.x=0.003091049252948883 -loss.x=0.0029459045168552466 -loss.x=0.00403773001425956 -loss.x=0.0029374507257296186 -loss.x=0.00022725248460693788 -loss.x=0.0030814201136730363 -loss.x=0.0002277080156374655 -loss.x=0.003046204377570492 -loss.x=0.0002281505359321605 -loss.x=0.002910218409040861 -loss.x=0.003011505384969146 -loss.x=0.004093180458574017 -loss.x=0.003003262294789876 -loss.x=0.00405904127346875 -loss.x=0.00022622010897968393 -loss.x=0.00292337730763245 -loss.x=0.0040184381128962445 -loss.x=0.003021304254765889 -loss.x=0.002986877009160296 -loss.x=0.002914486727751308 -loss.x=0.0029529041795334464 -loss.x=0.004057435508099628 -loss.x=0.00022619690640792982 -loss.x=0.003996874511850772 -loss.x=0.003940193524399164 -loss.x=0.002996183740216019 -predict -input={"dims":[2],"length":2,"data":{"0":0,"1":0}} -probs={"dims":[2],"length":2,"data":{"0":0.9997774402436117,"1":0.00022255975638825292}} -input={"dims":[2],"length":2,"data":{"0":0,"1":1}} -probs={"dims":[2],"length":2,"data":{"0":0.0029426994697607746,"1":0.9970573005302393}} -input={"dims":[2],"length":2,"data":{"0":1,"1":0}} -probs={"dims":[2],"length":2,"data":{"0":0.0029582021754799965,"1":0.99704179782452}} -input={"dims":[2],"length":2,"data":{"0":1,"1":1}} -probs={"dims":[2],"length":2,"data":{"0":0.9960978120900663,"1":0.003902187909933637}}