From 243bd18dfcb407fe805da2ec7be7db7d2308585f Mon Sep 17 00:00:00 2001 From: Jing Zhang Date: Sun, 8 Sep 2024 17:07:18 +0200 Subject: [PATCH] update --- deep_learning_from_scratch.ipynb | 12761 +++++++++++++++++++++++++++- figures/dlscratch_cnnlayer.png | Bin 0 -> 17642 bytes figures/dlscratch_img2col.png | Bin 0 -> 47906 bytes figures/dlscratch_pool.png | Bin 0 -> 82599 bytes figures/dlscratch_poolflatten.png | Bin 0 -> 72379 bytes figures/lena_gray.png | Bin 0 -> 42588 bytes 6 files changed, 12751 insertions(+), 10 deletions(-) create mode 100644 figures/dlscratch_cnnlayer.png create mode 100644 figures/dlscratch_img2col.png create mode 100644 figures/dlscratch_pool.png create mode 100644 figures/dlscratch_poolflatten.png create mode 100644 figures/lena_gray.png diff --git a/deep_learning_from_scratch.ipynb b/deep_learning_from_scratch.ipynb index 1bf2975..12e1790 100644 --- a/deep_learning_from_scratch.ipynb +++ b/deep_learning_from_scratch.ipynb @@ -6441,43 +6441,12784 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### Implemention of convolutional and pooling layer" + "### Implemention of convolutional and pooling layer\n", + "convolutional layer are computed by img2col, which is to transform the image into a matrix, and then do matrix multiplication with the filter matrix. \n", + "![img2col](./figures/dlscratch_img2col.png) \n", + "The process of pooling flatten into a vector, and then do matrix multiplication with the pooling matrix. \n", + "![img2colpool](./figures/dlscratch_poolflatten.png) " ] }, { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": 1, "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(9, 75)\n", + "(90, 75)\n" + ] + } + ], "source": [ - "### Implemention of CNN" + "# example of im2col\n", + "import numpy as np\n", + "\n", + "def im2col(input_data, filter_h, filter_w, stride=1, pad=0):\n", + " \n", + " N, C, H, W = input_data.shape\n", + " out_h = (H + 2*pad - filter_h)//stride + 1\n", + " out_w = (W + 2*pad - filter_w)//stride + 1\n", + "\n", + " img = np.pad(input_data, [(0,0), (0,0), (pad, pad), (pad, pad)], 'constant')\n", + " col = np.zeros((N, C, filter_h, filter_w, out_h, out_w))\n", + "\n", + " for y in range(filter_h):\n", + " y_max = y + stride*out_h\n", + " for x in range(filter_w):\n", + " x_max = x + stride*out_w\n", + " col[:, :, y, x, :, :] = img[:, :, y:y_max:stride, x:x_max:stride]\n", + "\n", + " col = col.transpose(0, 4, 5, 1, 2, 3).reshape(N*out_h*out_w, -1)\n", + " return col\n", + "\n", + "\n", + "def col2im(col, input_shape, filter_h, filter_w, stride=1, pad=0):\n", + "\n", + " N, C, H, W = input_shape\n", + " out_h = (H + 2*pad - filter_h)//stride + 1\n", + " out_w = (W + 2*pad - filter_w)//stride + 1\n", + " col = col.reshape(N, out_h, out_w, C, filter_h, filter_w).transpose(0, 3, 4, 5, 1, 2)\n", + "\n", + " img = np.zeros((N, C, H + 2*pad + stride - 1, W + 2*pad + stride - 1))\n", + " for y in range(filter_h):\n", + " y_max = y + stride*out_h\n", + " for x in range(filter_w):\n", + " x_max = x + stride*out_w\n", + " img[:, :, y:y_max:stride, x:x_max:stride] += col[:, :, y, x, :, :]\n", + "\n", + " return img[:, :, pad:H + pad, pad:W + pad]\n", + "\n", + "x1 = np.random.rand(1, 3, 7, 7)\n", + "col1 = im2col(x1, 5, 5, stride=1, pad=0)\n", + "print(col1.shape) # (9, 75)\n", + "x2 = np.random.rand(10, 3, 7, 7) \n", + "col2 = im2col(x2, 5, 5, stride=1, pad=0)\n", + "print(col2.shape) # (90, 75)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "### Visualization of CNN" + "### Implemention of CNN\n", + "![cnnlayer](./figures/dlscratch_cnnlayer.png)" ] }, { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": 12, "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "train loss:2.2995362058887374\n", + "=== epoch:1, train acc:0.311, test acc:0.308 ===\n", + "train loss:2.2963005738557154\n", + "train loss:2.293603547766879\n", + "train loss:2.2884076469310015\n", + "train loss:2.278925014254402\n", + "train loss:2.265921866541648\n", + "train loss:2.2535849542742965\n", + "train loss:2.245003457603123\n", + "train loss:2.218813938881403\n", + "train loss:2.169671803356559\n", + "train loss:2.135996574969285\n", + "train loss:2.1447259119723703\n", + "train loss:2.0744724481989927\n", + "train loss:2.0291252127726422\n", + "train loss:1.9901688480893676\n", + "train loss:1.8961561773426754\n", + "train loss:1.8389760220099478\n", + "train loss:1.752274682254193\n", + "train loss:1.7087302557051505\n", + "train loss:1.5541750335157132\n", + "train loss:1.4806052643952965\n", + "train loss:1.4886417840448996\n", + "train loss:1.3014568356043916\n", + "train loss:1.2597812449422419\n", + "train loss:1.2497878303182606\n", + "train loss:1.1185777776643178\n", + "train loss:1.1015115736246783\n", + "train loss:1.03241412687908\n", + "train loss:0.9350416991616189\n", + "train loss:0.8285826180979486\n", + "train loss:0.8966355721801236\n", + "train loss:0.866788286601\n", + "train loss:0.746887836745562\n", + "train loss:0.8661508356191806\n", + "train loss:0.7667373830675487\n", + "train loss:0.6368185448183228\n", + "train loss:0.7847853674483365\n", + "train loss:0.7472912635713104\n", + "train loss:0.6122450509386127\n", + "train loss:0.6888880707196741\n", + "train loss:0.7731712120990576\n", + "train loss:0.5547860085175733\n", + "train loss:0.831467733576241\n", + "train loss:0.6858566291946968\n", + "train loss:0.5881971807862099\n", + "train loss:0.5377546177909613\n", + "train loss:0.6085414554123344\n", + "train loss:0.6352170605684923\n", + "train loss:0.518837993390407\n", + "train loss:0.5188881606480904\n", + "train loss:0.6262163694315077\n", + "train loss:0.48653930211725777\n", + "train loss:0.5996035402248621\n", + "train loss:0.5958299933823917\n", + "train loss:0.47785559328177796\n", + "train loss:0.6442040469925483\n", + "train loss:0.5294109516385664\n", + "train loss:0.6108989047725126\n", + "train loss:0.49579772890691926\n", + "train loss:0.5155124467964299\n", + "train loss:0.4425233369938194\n", + "train loss:0.5723815732448505\n", + "train loss:0.4444025741017111\n", + "train loss:0.5682502396333912\n", + "train loss:0.4812394544517227\n", + "train loss:0.5733820018653012\n", + "train loss:0.5976324097802066\n", + "train loss:0.42834611851298554\n", + "train loss:0.33299373106962193\n", + "train loss:0.4824415889920817\n", + "train loss:0.46172672532810366\n", + "train loss:0.39976769965368997\n", + "train loss:0.356991520423221\n", + "train loss:0.3971668972051343\n", + "train loss:0.3077737100712962\n", + "train loss:0.3688735462768081\n", + "train loss:0.39958060822977315\n", + "train loss:0.5228967063738835\n", + "train loss:0.4051070789088767\n", + "train loss:0.4087904735541978\n", + "train loss:0.4699611248842445\n", + "train loss:0.49664353328580413\n", + "train loss:0.5394036471918038\n", + "train loss:0.4386570870688064\n", + "train loss:0.542043869320365\n", + "train loss:0.461831085349672\n", + "train loss:0.33590317449397183\n", + "train loss:0.3641995285252705\n", + "train loss:0.46013235184048185\n", + "train loss:0.4629640846375168\n", + "train loss:0.40744457251974603\n", + "train loss:0.3204745620465407\n", + "train loss:0.28314928145092516\n", + "train loss:0.27531900677480964\n", + "train loss:0.2884335623712579\n", + "train loss:0.3461165795192081\n", + "train loss:0.26766298417593565\n", + "train loss:0.4132386147539512\n", + "train loss:0.45452523323166216\n", + "train loss:0.32100168104459925\n", + "train loss:0.33963758411907435\n", + "train loss:0.38065300436167054\n", + "train loss:0.36010924425797874\n", + "train loss:0.4772028751507527\n", + "train loss:0.3183786024897384\n", + "train loss:0.24063273539834373\n", + "train loss:0.33785816463573815\n", + "train loss:0.4096383795978882\n", + "train loss:0.3048112892795876\n", + "train loss:0.34850397319185866\n", + "train loss:0.4135990596240788\n", + "train loss:0.33631199253844507\n", + "train loss:0.36752554798070736\n", + "train loss:0.256289882515971\n", + "train loss:0.3434391522806523\n", + "train loss:0.5232171725615155\n", + "train loss:0.19122013617288178\n", + "train loss:0.24729049348021387\n", + "train loss:0.3788099794336589\n", + "train loss:0.22372122871779498\n", + "train loss:0.35003048898501987\n", + "train loss:0.3937635495265932\n", + "train loss:0.35450644272616266\n", + "train loss:0.38630379716477053\n", + "train loss:0.218081377276597\n", + "train loss:0.24068221540129456\n", + "train loss:0.37324452864502583\n", + "train loss:0.3980932619476245\n", + "train loss:0.33279776979069686\n", + "train loss:0.3126887242701013\n", + "train loss:0.311902560710905\n", + "train loss:0.3120501240043874\n", + "train loss:0.443248093420433\n", + "train loss:0.44772141309588626\n", + "train loss:0.3586080908819963\n", + "train loss:0.1985248679078512\n", + "train loss:0.3918575781138622\n", + "train loss:0.39030192273756137\n", + "train loss:0.19934570139414529\n", + "train loss:0.2699178555789283\n", + "train loss:0.5132984854142603\n", + "train loss:0.4162387821752907\n", + "train loss:0.2778727447209852\n", + "train loss:0.3026132236208509\n", + "train loss:0.23681846983354904\n", + "train loss:0.38732628396856683\n", + "train loss:0.30786760492468646\n", + "train loss:0.23318151214949712\n", + "train loss:0.28280193880545157\n", + "train loss:0.28744316984206875\n", + "train loss:0.314981055595686\n", + "train loss:0.19083085124681667\n", + "train loss:0.2468391300175253\n", + "train loss:0.5022710810056712\n", + "train loss:0.35210132284195766\n", + "train loss:0.4941417020864269\n", + "train loss:0.36300258296633986\n", + "train loss:0.2676306086995317\n", + "train loss:0.3956934523216956\n", + "train loss:0.49948617647803195\n", + "train loss:0.3398118281461233\n", + "train loss:0.23759418222895584\n", + "train loss:0.23565343639075323\n", + "train loss:0.26843572722452697\n", + "train loss:0.21510891732013285\n", + "train loss:0.32265419030998205\n", + "train loss:0.2985231765435053\n", + "train loss:0.26796717955155425\n", + "train loss:0.13599667430793513\n", + "train loss:0.34081862862193046\n", + "train loss:0.2403844382247804\n", + "train loss:0.32277883745308705\n", + "train loss:0.316461166608473\n", + "train loss:0.28049930012175817\n", + "train loss:0.2526955343690795\n", + "train loss:0.31225783151124564\n", + "train loss:0.241816725687005\n", + "train loss:0.26389694405728603\n", + "train loss:0.31704352907423977\n", + "train loss:0.48549474895706035\n", + "train loss:0.24423741761031376\n", + "train loss:0.22575933191828781\n", + "train loss:0.23379593692065895\n", + "train loss:0.43392939490175325\n", + "train loss:0.18763946088912448\n", + "train loss:0.3208163733495436\n", + "train loss:0.625560786031706\n", + "train loss:0.329178574853311\n", + "train loss:0.305694113117804\n", + "train loss:0.24654293474144828\n", + "train loss:0.2988656427193461\n", + "train loss:0.31576310016019665\n", + "train loss:0.34275087788715597\n", + "train loss:0.16360756268246418\n", + "train loss:0.19034393778847528\n", + "train loss:0.20139547839516606\n", + "train loss:0.35010435428873005\n", + "train loss:0.1585764920725295\n", + "train loss:0.18727900924059035\n", + "train loss:0.165339390268121\n", + "train loss:0.22369499079273247\n", + "train loss:0.24250080043458813\n", + "train loss:0.1632615950092321\n", + "train loss:0.2734568335302263\n", + "train loss:0.3141910145466435\n", + "train loss:0.24037194163794828\n", + "train loss:0.2051913327986346\n", + "train loss:0.32774778398544285\n", + "train loss:0.24699771884523855\n", + "train loss:0.2394694922447969\n", + "train loss:0.4169391437431564\n", + "train loss:0.2762179762629919\n", + "train loss:0.26164059586413874\n", + "train loss:0.16685245494574485\n", + "train loss:0.2103067986930876\n", + "train loss:0.21084263660581104\n", + "train loss:0.21102815261202865\n", + "train loss:0.3097679498100641\n", + "train loss:0.25315938853630127\n", + "train loss:0.26383700690836326\n", + "train loss:0.280468002599833\n", + "train loss:0.23808897982497895\n", + "train loss:0.20662748413570045\n", + "train loss:0.175746309591344\n", + "train loss:0.5696416699441348\n", + "train loss:0.13381465055359118\n", + "train loss:0.19067264894584926\n", + "train loss:0.16904414048923053\n", + "train loss:0.1822128726006831\n", + "train loss:0.2455060327676183\n", + "train loss:0.37535637564889035\n", + "train loss:0.30200796181204514\n", + "train loss:0.1388047093918803\n", + "train loss:0.21289344515928185\n", + "train loss:0.20380716469732513\n", + "train loss:0.2101381553210851\n", + "train loss:0.16829230402085674\n", + "train loss:0.250032923585419\n", + "train loss:0.2886474852305738\n", + "train loss:0.19874232094638555\n", + "train loss:0.2095868392663101\n", + "train loss:0.1839072516471734\n", + "train loss:0.21268794827322535\n", + "train loss:0.14048787981378572\n", + "train loss:0.11868821513153958\n", + "train loss:0.1350360226429506\n", + "train loss:0.23519816355548628\n", + "train loss:0.2568848076933926\n", + "train loss:0.2746125129456926\n", + "train loss:0.16470336822015927\n", + "train loss:0.18285312368802792\n", + "train loss:0.22133049525665663\n", + "train loss:0.20680602756401856\n", + "train loss:0.29588096790317386\n", + "train loss:0.2374773845710119\n", + "train loss:0.3123640189654112\n", + "train loss:0.34295290562362496\n", + "train loss:0.3425199579878354\n", + "train loss:0.27863041706294644\n", + "train loss:0.23782096699187033\n", + "train loss:0.28248441842950434\n", + "train loss:0.18766664070837064\n", + "train loss:0.24190456312306136\n", + "train loss:0.16606736607268846\n", + "train loss:0.21183019599123448\n", + "train loss:0.20964940557268347\n", + "train loss:0.2605947313513408\n", + "train loss:0.12494620144378356\n", + "train loss:0.17850585411827105\n", + "train loss:0.2438759175504828\n", + "train loss:0.1869960853763924\n", + "train loss:0.1744526186980288\n", + "train loss:0.2285773652563308\n", + "train loss:0.2642578364839423\n", + "train loss:0.17462434197416962\n", + "train loss:0.19833523317712712\n", + "train loss:0.3164126681478402\n", + "train loss:0.2839711135557014\n", + "train loss:0.20242114829877303\n", + "train loss:0.23557962271573565\n", + "train loss:0.1862007034093785\n", + "train loss:0.3368870283198877\n", + "train loss:0.21399323223647465\n", + "train loss:0.3393876531508587\n", + "train loss:0.1969068383064066\n", + "train loss:0.19589774626301287\n", + "train loss:0.22985644997292698\n", + "train loss:0.1792416589477409\n", + "train loss:0.2751420518127082\n", + "train loss:0.27091263844084634\n", + "train loss:0.1445833535957494\n", + "train loss:0.11727344378112566\n", + "train loss:0.17994335282343557\n", + "train loss:0.16285182276730897\n", + "train loss:0.20906913163704677\n", + "train loss:0.14057559137109815\n", + "train loss:0.20754404455636613\n", + "train loss:0.23670296667084476\n", + "train loss:0.15389187496043136\n", + "train loss:0.14486240610153567\n", + "train loss:0.13581088766821622\n", + "train loss:0.20782290809050147\n", + "train loss:0.12728044385638207\n", + "train loss:0.23610729007209247\n", + "train loss:0.28035096460006265\n", + "train loss:0.38397575431010655\n", + "train loss:0.15490292346718088\n", + "train loss:0.2843760640417501\n", + "train loss:0.3943114836334488\n", + "train loss:0.2900687091983363\n", + "train loss:0.20844222475020707\n", + "train loss:0.26486001716905877\n", + "train loss:0.1196667685978009\n", + "train loss:0.19836248766039472\n", + "train loss:0.38178973185355175\n", + "train loss:0.4218883695869735\n", + "train loss:0.2291154794970348\n", + "train loss:0.35943387117571246\n", + "train loss:0.2501316835106568\n", + "train loss:0.18511712690420246\n", + "train loss:0.19252567128704423\n", + "train loss:0.12660403944830181\n", + "train loss:0.13874234389370468\n", + "train loss:0.19403264050923405\n", + "train loss:0.11546229290528254\n", + "train loss:0.13655376105428005\n", + "train loss:0.19251669486149153\n", + "train loss:0.11342051444007563\n", + "train loss:0.1416544233730254\n", + "train loss:0.14633851524265198\n", + "train loss:0.24367762630662207\n", + "train loss:0.09087026690320454\n", + "train loss:0.2295413594137116\n", + "train loss:0.23866056266903604\n", + "train loss:0.2545641100569238\n", + "train loss:0.12784069258444938\n", + "train loss:0.16113552964506428\n", + "train loss:0.17403864978800918\n", + "train loss:0.17586664628416768\n", + "train loss:0.09805519807544234\n", + "train loss:0.1616212275997714\n", + "train loss:0.10594300046896105\n", + "train loss:0.24117889255151478\n", + "train loss:0.1483258334837773\n", + "train loss:0.30338077582411016\n", + "train loss:0.12938384425620245\n", + "train loss:0.20016031775671356\n", + "train loss:0.20518066966401677\n", + "train loss:0.2782778505961009\n", + "train loss:0.30250002066951237\n", + "train loss:0.1294634927398526\n", + "train loss:0.12799820766377196\n", + "train loss:0.0994178289788845\n", + "train loss:0.23549048015300086\n", + "train loss:0.2123750862830353\n", + "train loss:0.21734263750329955\n", + "train loss:0.20000440136154782\n", + "train loss:0.24858626109130819\n", + "train loss:0.1769848343946891\n", + "train loss:0.16396227422081605\n", + "train loss:0.12319936885728369\n", + "train loss:0.28064240184650374\n", + "train loss:0.20187288611237952\n", + "train loss:0.15817218086752713\n", + "train loss:0.11195060140416249\n", + "train loss:0.13166810842012708\n", + "train loss:0.32022762193508514\n", + "train loss:0.2651203077602952\n", + "train loss:0.08238882417565833\n", + "train loss:0.23917079819999185\n", + "train loss:0.2672918944342174\n", + "train loss:0.16726702162422474\n", + "train loss:0.26275383378967826\n", + "train loss:0.15316873431995812\n", + "train loss:0.28588653753697546\n", + "train loss:0.15991443471586195\n", + "train loss:0.2493342429747267\n", + "train loss:0.3354113405116221\n", + "train loss:0.14047989451275325\n", + "train loss:0.22334883915212062\n", + "train loss:0.2629987505317322\n", + "train loss:0.13083901773979728\n", + "train loss:0.1295064967899669\n", + "train loss:0.1821648448159373\n", + "train loss:0.23012745321839098\n", + "train loss:0.19945757435631908\n", + "train loss:0.1264889970765247\n", + "train loss:0.14571031896755982\n", + "train loss:0.27501513063312377\n", + "train loss:0.23566538390957847\n", + "train loss:0.380803831948321\n", + "train loss:0.22609911624690773\n", + "train loss:0.17862681746741463\n", + "train loss:0.17774901809571145\n", + "train loss:0.160711283960583\n", + "train loss:0.2498393840250065\n", + "train loss:0.2540339531763633\n", + "train loss:0.10447327831238047\n", + "train loss:0.09081545987660697\n", + "train loss:0.210966709936758\n", + "train loss:0.27702957258034727\n", + "train loss:0.14240522004925207\n", + "train loss:0.2247305220802777\n", + "train loss:0.2297815295241078\n", + "train loss:0.1603681518889312\n", + "train loss:0.13170611200797633\n", + "train loss:0.10022615460590219\n", + "train loss:0.1307846923879241\n", + "train loss:0.3573686574490344\n", + "train loss:0.1282467505300392\n", + "train loss:0.12773233797615688\n", + "train loss:0.0920185329077778\n", + "train loss:0.20783130599905242\n", + "train loss:0.10725366047900531\n", + "train loss:0.20065925496205025\n", + "train loss:0.331419450917982\n", + "train loss:0.15886719879197714\n", + "train loss:0.15676280268618784\n", + "train loss:0.15290716706401322\n", + "train loss:0.2308953781253323\n", + "train loss:0.1816390968953019\n", + "train loss:0.2591972473897047\n", + "train loss:0.15560271941656098\n", + "train loss:0.1617264316274939\n", + "train loss:0.07370684442370674\n", + "train loss:0.17999474808316956\n", + "train loss:0.09006538309884592\n", + "train loss:0.1281307272179306\n", + "train loss:0.14477718910101983\n", + "train loss:0.23322955289181863\n", + "train loss:0.2516932649382623\n", + "train loss:0.11960468833803979\n", + "train loss:0.13922155877355322\n", + "train loss:0.09764880728855806\n", + "train loss:0.18905814076621616\n", + "train loss:0.15631976670585154\n", + "train loss:0.26533567284021775\n", + "train loss:0.27741170590515263\n", + "train loss:0.1674910997915362\n", + "train loss:0.12343744626663934\n", + "train loss:0.10277734500012216\n", + "train loss:0.13016390829790725\n", + "train loss:0.13973411685428194\n", + "train loss:0.08909993000763959\n", + "train loss:0.18329198508849592\n", + "train loss:0.15599246412831164\n", + "train loss:0.17663948274467106\n", + "train loss:0.07973494937826837\n", + "train loss:0.1374780895555915\n", + "train loss:0.1622684625816559\n", + "train loss:0.0656944427659519\n", + "train loss:0.12422665872080944\n", + "train loss:0.1594186199698269\n", + "train loss:0.1468969464826564\n", + "train loss:0.07618377867042189\n", + "train loss:0.21959065456352372\n", + "train loss:0.15556954170990436\n", + "train loss:0.16395356715339518\n", + "train loss:0.22270154702496675\n", + "train loss:0.1483091307682986\n", + "train loss:0.14985848078776187\n", + "train loss:0.10741860008623799\n", + "train loss:0.08748394847746865\n", + "train loss:0.09830819077128457\n", + "train loss:0.1351282809127371\n", + "train loss:0.10990186382171162\n", + "train loss:0.1825326487228333\n", + "train loss:0.13790293943983012\n", + "train loss:0.18014682345440744\n", + "train loss:0.26999183081352096\n", + "train loss:0.13025666233326333\n", + "train loss:0.16723555511435317\n", + "train loss:0.13320384930897045\n", + "train loss:0.17889677421248995\n", + "train loss:0.14308810663597568\n", + "train loss:0.15119282201189974\n", + "train loss:0.10243301525986336\n", + "train loss:0.2039734000502691\n", + "train loss:0.07343025958025606\n", + "train loss:0.11540528196609127\n", + "train loss:0.16540301777221736\n", + "train loss:0.09720459922924451\n", + "train loss:0.15034350640033547\n", + "train loss:0.1749782593217526\n", + "train loss:0.12757041344468198\n", + "train loss:0.05042917593515421\n", + "train loss:0.1123980000023787\n", + "train loss:0.047670269631326326\n", + "train loss:0.09218928558276217\n", + "train loss:0.19163188301545972\n", + "train loss:0.28823547455254195\n", + "train loss:0.06960942354382678\n", + "train loss:0.13865111888593612\n", + "train loss:0.060488119131594076\n", + "train loss:0.21071457083153708\n", + "train loss:0.16077154755738257\n", + "train loss:0.13414236430072832\n", + "train loss:0.1785579469810826\n", + "train loss:0.13496182801903367\n", + "train loss:0.10270292484434272\n", + "train loss:0.09200172018306216\n", + "train loss:0.0886432461963844\n", + "train loss:0.18820088996241388\n", + "train loss:0.1748564306800397\n", + "train loss:0.12638995970012118\n", + "train loss:0.08355907445898642\n", + "train loss:0.13639431725061582\n", + "train loss:0.07245666989169693\n", + "train loss:0.1304797847128204\n", + "train loss:0.13483055301676541\n", + "train loss:0.16188278735288664\n", + "train loss:0.043502174108246354\n", + "train loss:0.16263503284865016\n", + "train loss:0.06917987986703342\n", + "train loss:0.20469652701795962\n", + "train loss:0.1313729580246157\n", + "train loss:0.11716312011893361\n", + "train loss:0.04467443566822679\n", + "train loss:0.20261041629211365\n", + "train loss:0.0971251074604594\n", + "train loss:0.27132987912088063\n", + "train loss:0.10596555175983921\n", + "train loss:0.2209541783731231\n", + "train loss:0.15664645858374052\n", + "train loss:0.13195055069812134\n", + "train loss:0.19611417576408774\n", + "train loss:0.21370580591526347\n", + "train loss:0.1346351951112406\n", + "train loss:0.0989933362671312\n", + "train loss:0.18255602344500513\n", + "train loss:0.12640442356232642\n", + "train loss:0.25426509663860863\n", + "train loss:0.18245032172708966\n", + "train loss:0.06547328590635973\n", + "train loss:0.10883557996299366\n", + "train loss:0.09374651867202438\n", + "train loss:0.13771163851044668\n", + "train loss:0.1302785109734555\n", + "train loss:0.11426886342144589\n", + "train loss:0.07117475188325571\n", + "train loss:0.17958827894701992\n", + "train loss:0.11480015066446772\n", + "train loss:0.09456015353872241\n", + "train loss:0.1905275513078982\n", + "train loss:0.08435356663597045\n", + "train loss:0.12593613284280347\n", + "train loss:0.22359727954427025\n", + "train loss:0.24320546762278528\n", + "train loss:0.18016065535191006\n", + "train loss:0.10223428875171563\n", + "train loss:0.0919863118333515\n", + "train loss:0.05083351251644275\n", + "train loss:0.21485631827949367\n", + "train loss:0.1489787019014207\n", + "train loss:0.08091794804291669\n", + "train loss:0.049867321822047346\n", + "train loss:0.15895584240943816\n", + "train loss:0.08672026955791115\n", + "train loss:0.26670377152682534\n", + "train loss:0.10806776133649505\n", + "train loss:0.19211519384959427\n", + "train loss:0.07308070263657843\n", + "train loss:0.08509968630805068\n", + "train loss:0.14474903761791494\n", + "train loss:0.15674616695437435\n", + "train loss:0.13326687111581093\n", + "train loss:0.19255676015814818\n", + "train loss:0.16304882103761198\n", + "train loss:0.09745226053736179\n", + "train loss:0.18150891113683304\n", + "train loss:0.1629305961499786\n", + "train loss:0.19943268625600083\n", + "train loss:0.14928665672336985\n", + "train loss:0.12086343324710626\n", + "train loss:0.06963367185968021\n", + "train loss:0.13656334045232466\n", + "train loss:0.09693043504618029\n", + "train loss:0.23742407591566356\n", + "train loss:0.08411429808332399\n", + "train loss:0.10070259763859603\n", + "train loss:0.12086839681659688\n", + "train loss:0.10511760456944516\n", + "train loss:0.10882019475720106\n", + "train loss:0.1391582016931682\n", + "train loss:0.11715988245112802\n", + "train loss:0.0836485117589737\n", + "train loss:0.1118329170955436\n", + "train loss:0.08954948487345937\n", + "train loss:0.12853334996903706\n", + "train loss:0.06771352340200942\n", + "train loss:0.08569362894119292\n", + "train loss:0.10880250906507559\n", + "train loss:0.1314239509203147\n", + "train loss:0.036067871127909115\n", + "train loss:0.16522557048165748\n", + "train loss:0.040317875586856164\n", + "train loss:0.09223834308740025\n", + "train loss:0.07087163041549135\n", + "train loss:0.16868302844959424\n", + "train loss:0.09473146115964597\n", + "train loss:0.08242012998779036\n", + "=== epoch:2, train acc:0.969, test acc:0.962 ===\n", + "train loss:0.10567043043106424\n", + "train loss:0.035399697698602815\n", + "train loss:0.11152512309116867\n", + "train loss:0.22522079410357965\n", + "train loss:0.17565566229939275\n", + "train loss:0.16686835160712168\n", + "train loss:0.12504658053774004\n", + "train loss:0.07544892173013264\n", + "train loss:0.07730940363843308\n", + "train loss:0.12115757637939055\n", + "train loss:0.16926484181389026\n", + "train loss:0.09731834037929434\n", + "train loss:0.04438945911530027\n", + "train loss:0.2212419111194723\n", + "train loss:0.0955204796700148\n", + "train loss:0.13965347127342548\n", + "train loss:0.059651909485076524\n", + "train loss:0.13471990991256516\n", + "train loss:0.114284870015461\n", + "train loss:0.33269356861132215\n", + "train loss:0.21967782932074115\n", + "train loss:0.07690377080910016\n", + "train loss:0.1665090344985183\n", + "train loss:0.10516886823499982\n", + "train loss:0.10044788182472017\n", + "train loss:0.07874527062530028\n", + "train loss:0.21635838283750344\n", + "train loss:0.1141392048563779\n", + "train loss:0.08566652170293802\n", + "train loss:0.051639984867280324\n", + "train loss:0.13022440925648887\n", + "train loss:0.09672690073560948\n", + "train loss:0.039806183029892146\n", + "train loss:0.21078978880224344\n", + "train loss:0.12203217912232683\n", + "train loss:0.20806694173595633\n", + "train loss:0.11704811312470179\n", + "train loss:0.12733400007846984\n", + "train loss:0.11863574365834824\n", + "train loss:0.12585967226627706\n", + "train loss:0.159797001786201\n", + "train loss:0.0902805242357857\n", + "train loss:0.05534506277893532\n", + "train loss:0.07303956722276761\n", + "train loss:0.07980315318989345\n", + "train loss:0.11244356798226067\n", + "train loss:0.08480528692152035\n", + "train loss:0.18460431824933654\n", + "train loss:0.19037966840285203\n", + "train loss:0.14395569521957766\n", + "train loss:0.183172574334989\n", + "train loss:0.10664419097036555\n", + "train loss:0.12350555266422594\n", + "train loss:0.19570554085689001\n", + "train loss:0.11463679674441368\n", + "train loss:0.17006189068798835\n", + "train loss:0.06674272301569104\n", + "train loss:0.18916921845904133\n", + "train loss:0.16276138753571556\n", + "train loss:0.1732295449055278\n", + "train loss:0.11196674105772664\n", + "train loss:0.12072916065971949\n", + "train loss:0.13416449500939737\n", + "train loss:0.14876760875508857\n", + "train loss:0.09384663699495087\n", + "train loss:0.09437538013541884\n", + "train loss:0.12420987841771262\n", + "train loss:0.06910195684832668\n", + "train loss:0.05594701099179878\n", + "train loss:0.09438126083503068\n", + "train loss:0.10201008138962063\n", + "train loss:0.22942996061028953\n", + "train loss:0.15970469979809243\n", + "train loss:0.10090229510283973\n", + "train loss:0.07619102931084981\n", + "train loss:0.0689976252241214\n", + "train loss:0.04844562929664903\n", + "train loss:0.06865666770400287\n", + "train loss:0.14483806418611775\n", + "train loss:0.07359983078002569\n", + "train loss:0.08417421028902092\n", + "train loss:0.10588816624316649\n", + "train loss:0.07430964562437946\n", + "train loss:0.08317411993536156\n", + "train loss:0.08932786694375507\n", + "train loss:0.05971271530462312\n", + "train loss:0.043101704214222186\n", + "train loss:0.2203357599326123\n", + "train loss:0.14041965901118014\n", + "train loss:0.07855022864202388\n", + "train loss:0.054395030792659255\n", + "train loss:0.042988678455292965\n", + "train loss:0.13470230956793494\n", + "train loss:0.18915949087544576\n", + "train loss:0.06121982536757053\n", + "train loss:0.07946035497995449\n", + "train loss:0.08970583814725859\n", + "train loss:0.0984300580473948\n", + "train loss:0.1308950474698835\n", + "train loss:0.06242005521896999\n", + "train loss:0.11095052513855341\n", + "train loss:0.18114988712409744\n", + "train loss:0.07738739719335216\n", + "train loss:0.1396554482310675\n", + "train loss:0.09666214199957825\n", + "train loss:0.06627109654775251\n", + "train loss:0.19092279197098352\n", + "train loss:0.12799422310033073\n", + "train loss:0.23336198938808814\n", + "train loss:0.06162106906606076\n", + "train loss:0.12745142028592676\n", + "train loss:0.06888614012108893\n", + "train loss:0.194780986189548\n", + "train loss:0.08803220093291524\n", + "train loss:0.08219593540614654\n", + "train loss:0.17479472288545422\n", + "train loss:0.15323085313751997\n", + "train loss:0.12783162665112152\n", + "train loss:0.061999376941728634\n", + "train loss:0.09673345174575075\n", + "train loss:0.1648861817571646\n", + "train loss:0.059887319771234744\n", + "train loss:0.2178341440627502\n", + "train loss:0.07133974368489147\n", + "train loss:0.08997449453131512\n", + "train loss:0.05099545412635589\n", + "train loss:0.1353487855044161\n", + "train loss:0.034321318242953536\n", + "train loss:0.04367717740557611\n", + "train loss:0.086047607254425\n", + "train loss:0.07896686492896618\n", + "train loss:0.12190509670550012\n", + "train loss:0.06468059628255962\n", + "train loss:0.05034544913190926\n", + "train loss:0.11027908048087655\n", + "train loss:0.048471134983695645\n", + "train loss:0.06753482886596457\n", + "train loss:0.03157269374218568\n", + "train loss:0.09658623257999728\n", + "train loss:0.04689056026127876\n", + "train loss:0.14921366437521175\n", + "train loss:0.07204319310204765\n", + "train loss:0.0847644999050876\n", + "train loss:0.05901513583540208\n", + "train loss:0.08033973004452317\n", + "train loss:0.10348031600496979\n", + "train loss:0.13859463846931036\n", + "train loss:0.14512712010379358\n", + "train loss:0.13285707475103625\n", + "train loss:0.031104206217529577\n", + "train loss:0.06731293922371154\n", + "train loss:0.07852183416716152\n", + "train loss:0.06455812841648487\n", + "train loss:0.17712387410000718\n", + "train loss:0.08711250226450243\n", + "train loss:0.08501438569949901\n", + "train loss:0.25948089150972786\n", + "train loss:0.03452027701304878\n", + "train loss:0.13038314822122415\n", + "train loss:0.11566604020674635\n", + "train loss:0.1523593335719743\n", + "train loss:0.06487576150619388\n", + "train loss:0.04475056132328741\n", + "train loss:0.13905737576816876\n", + "train loss:0.08858116195754424\n", + "train loss:0.14212505401320438\n", + "train loss:0.0795320427906903\n", + "train loss:0.05049673962107381\n", + "train loss:0.1269703042172585\n", + "train loss:0.10371272019522959\n", + "train loss:0.10413108413251425\n", + "train loss:0.09622257683628523\n", + "train loss:0.09322690616419421\n", + "train loss:0.2368108202049671\n", + "train loss:0.10673072456821371\n", + "train loss:0.09271529421486685\n", + "train loss:0.1224719467711636\n", + "train loss:0.0823793542366674\n", + "train loss:0.04961645251031983\n", + "train loss:0.09426933907171424\n", + "train loss:0.05588659889514631\n", + "train loss:0.0973187787170392\n", + "train loss:0.0966925045643045\n", + "train loss:0.09931285163124212\n", + "train loss:0.06265927990653312\n", + "train loss:0.06861753883508982\n", + "train loss:0.06462351831185914\n", + "train loss:0.10355242082208362\n", + "train loss:0.06943806721818933\n", + "train loss:0.0898022623422363\n", + "train loss:0.12331520537686927\n", + "train loss:0.05231490364368601\n", + "train loss:0.11083252379548238\n", + "train loss:0.0599724489172472\n", + "train loss:0.0970717230810238\n", + "train loss:0.047726887694604654\n", + "train loss:0.14029351536831508\n", + "train loss:0.12898386243553558\n", + "train loss:0.1418105125041675\n", + "train loss:0.07364641067847515\n", + "train loss:0.17503981517441847\n", + "train loss:0.23052378810791638\n", + "train loss:0.18570381759329913\n", + "train loss:0.07374078634620936\n", + "train loss:0.06457210990112981\n", + "train loss:0.06375487259287681\n", + "train loss:0.04606384519295615\n", + "train loss:0.0409130008101336\n", + "train loss:0.08696261907062225\n", + "train loss:0.05188033948649776\n", + "train loss:0.11801959209505812\n", + "train loss:0.04589113376692187\n", + "train loss:0.10698109005979278\n", + "train loss:0.04871636887893382\n", + "train loss:0.0767899809639784\n", + "train loss:0.08284503285309236\n", + "train loss:0.06245776826203446\n", + "train loss:0.10839617279181396\n", + "train loss:0.13264727889970498\n", + "train loss:0.062311315341553264\n", + "train loss:0.08949314430151362\n", + "train loss:0.05238533563066998\n", + "train loss:0.06831668059532754\n", + "train loss:0.09904675784059583\n", + "train loss:0.12650175925017854\n", + "train loss:0.06642130884774369\n", + "train loss:0.030078601047421934\n", + "train loss:0.037193462886189105\n", + "train loss:0.13619583224045215\n", + "train loss:0.062349899718328675\n", + "train loss:0.09254664270336958\n", + "train loss:0.047749255980321835\n", + "train loss:0.04303718858472296\n", + "train loss:0.11278504686867517\n", + "train loss:0.16524791028525712\n", + "train loss:0.07894923868931025\n", + "train loss:0.026563240868207164\n", + "train loss:0.10936951361077427\n", + "train loss:0.054577715219357836\n", + "train loss:0.04205495474069336\n", + "train loss:0.09141671144864721\n", + "train loss:0.1446929257959578\n", + "train loss:0.0538858695404806\n", + "train loss:0.06822448601884991\n", + "train loss:0.01898471018030265\n", + "train loss:0.04725850268704303\n", + "train loss:0.14677347427482415\n", + "train loss:0.07786559974533698\n", + "train loss:0.08588899048774078\n", + "train loss:0.06878630622934111\n", + "train loss:0.24524331092092758\n", + "train loss:0.1666480237111597\n", + "train loss:0.054403580301291825\n", + "train loss:0.1028338415557665\n", + "train loss:0.12079787166723524\n", + "train loss:0.08193679405274387\n", + "train loss:0.04386201459256925\n", + "train loss:0.11665999890234247\n", + "train loss:0.3370661102564865\n", + "train loss:0.2116417255817848\n", + "train loss:0.05480243362912765\n", + "train loss:0.09969446800166523\n", + "train loss:0.028055679325947155\n", + "train loss:0.10913824344960991\n", + "train loss:0.20447586311254123\n", + "train loss:0.1110581783197072\n", + "train loss:0.13930435499654237\n", + "train loss:0.06713709516947043\n", + "train loss:0.06553083042180276\n", + "train loss:0.0661417432898066\n", + "train loss:0.14268645581735848\n", + "train loss:0.029597637322657938\n", + "train loss:0.07904852934240664\n", + "train loss:0.063577594512256\n", + "train loss:0.058248288981219885\n", + "train loss:0.055520745245602666\n", + "train loss:0.0651517117210649\n", + "train loss:0.05166443483825071\n", + "train loss:0.04741291012433283\n", + "train loss:0.10205397304880877\n", + "train loss:0.09672990903093102\n", + "train loss:0.029369363938135863\n", + "train loss:0.05364785561438499\n", + "train loss:0.09737386714683324\n", + "train loss:0.09066658347127653\n", + "train loss:0.04638468024980118\n", + "train loss:0.05295750261571801\n", + "train loss:0.17190463192866154\n", + "train loss:0.06809278868724009\n", + "train loss:0.07585884150146109\n", + "train loss:0.12110473006046267\n", + "train loss:0.022291029231205427\n", + "train loss:0.1066730732768966\n", + "train loss:0.03223280249216093\n", + "train loss:0.0737317892616462\n", + "train loss:0.06714858561351597\n", + "train loss:0.12530267538947035\n", + "train loss:0.07546031847773312\n", + "train loss:0.05248283818335482\n", + "train loss:0.06122084816094251\n", + "train loss:0.13928421304609623\n", + "train loss:0.06410417982237022\n", + "train loss:0.09348648820585069\n", + "train loss:0.04508553631595855\n", + "train loss:0.07669850467292291\n", + "train loss:0.10718140889161941\n", + "train loss:0.07948029128127194\n", + "train loss:0.07620248290788671\n", + "train loss:0.026639286252294836\n", + "train loss:0.12101035045056652\n", + "train loss:0.04775075852969752\n", + "train loss:0.06944726048327288\n", + "train loss:0.039893118197333724\n", + "train loss:0.038712669214135985\n", + "train loss:0.07832294667549765\n", + "train loss:0.06250321944635791\n", + "train loss:0.04118610228079974\n", + "train loss:0.11690306111259136\n", + "train loss:0.07310400302604705\n", + "train loss:0.043716912591450836\n", + "train loss:0.06791165239419569\n", + "train loss:0.08397090235263983\n", + "train loss:0.15988557841479908\n", + "train loss:0.07560066860746878\n", + "train loss:0.021160317727112177\n", + "train loss:0.11802349140465226\n", + "train loss:0.051118506423152875\n", + "train loss:0.0833850317757701\n", + "train loss:0.036177093005702654\n", + "train loss:0.10476365786993515\n", + "train loss:0.06261347815796663\n", + "train loss:0.06904723714620886\n", + "train loss:0.05318889570402117\n", + "train loss:0.1260898537777717\n", + "train loss:0.16203821785371977\n", + "train loss:0.11255430455397807\n", + "train loss:0.09052549111092008\n", + "train loss:0.11600263492710478\n", + "train loss:0.06324590272247753\n", + "train loss:0.09362440999049385\n", + "train loss:0.09802479640629613\n", + "train loss:0.11526055804587867\n", + "train loss:0.12533292699233267\n", + "train loss:0.04888704858379206\n", + "train loss:0.034963175658116866\n", + "train loss:0.17544105802991208\n", + "train loss:0.023824999631380243\n", + "train loss:0.10968365964201231\n", + "train loss:0.08740812759081004\n", + "train loss:0.0967769012428632\n", + "train loss:0.1302879782621083\n", + "train loss:0.09962723662950534\n", + "train loss:0.06948409495582995\n", + "train loss:0.10809804895686578\n", + "train loss:0.07830639284122566\n", + "train loss:0.11658973654676273\n", + "train loss:0.05492148136611799\n", + "train loss:0.07017474723774766\n", + "train loss:0.06961883159753328\n", + "train loss:0.06881924315289757\n", + "train loss:0.0893056556191383\n", + "train loss:0.05956716325464935\n", + "train loss:0.09635751179145113\n", + "train loss:0.04382046924124374\n", + "train loss:0.018436684818234166\n", + "train loss:0.08020770825367032\n", + "train loss:0.028296904837955657\n", + "train loss:0.019445283073082065\n", + "train loss:0.046084299638108284\n", + "train loss:0.027839804655184538\n", + "train loss:0.11004770181041637\n", + "train loss:0.01839937326901776\n", + "train loss:0.04988207021209443\n", + "train loss:0.02847991212459914\n", + "train loss:0.06840662375411892\n", + "train loss:0.08146512358092017\n", + "train loss:0.10353138638930146\n", + "train loss:0.08387668966769163\n", + "train loss:0.06180773446580299\n", + "train loss:0.11251988917596072\n", + "train loss:0.07048866944889406\n", + "train loss:0.02675241362019006\n", + "train loss:0.050615473253064085\n", + "train loss:0.06856222412734671\n", + "train loss:0.03220625607226808\n", + "train loss:0.06609099504851779\n", + "train loss:0.08698393269519963\n", + "train loss:0.08498948382366103\n", + "train loss:0.0550358195597354\n", + "train loss:0.121911096297613\n", + "train loss:0.13243540354608485\n", + "train loss:0.12961864240005655\n", + "train loss:0.05807198418415394\n", + "train loss:0.0743378450890999\n", + "train loss:0.0760931896765355\n", + "train loss:0.12908564043684256\n", + "train loss:0.10153507934404876\n", + "train loss:0.06858174382352743\n", + "train loss:0.16998919317120187\n", + "train loss:0.021861133729344978\n", + "train loss:0.0290599636501473\n", + "train loss:0.07737220411739508\n", + "train loss:0.08063137640648076\n", + "train loss:0.21245879397604356\n", + "train loss:0.04926000770342153\n", + "train loss:0.05119492407820527\n", + "train loss:0.043605017418368426\n", + "train loss:0.15626952399303598\n", + "train loss:0.050664151108208634\n", + "train loss:0.12571852742744866\n", + "train loss:0.03892711821291215\n", + "train loss:0.13099508570305843\n", + "train loss:0.056580525091383255\n", + "train loss:0.06399774096392047\n", + "train loss:0.057075609287914233\n", + "train loss:0.10713367574181952\n", + "train loss:0.04100365085024252\n", + "train loss:0.029130846571031564\n", + "train loss:0.08246515985715595\n", + "train loss:0.07215751989074208\n", + "train loss:0.12102008969778026\n", + "train loss:0.030423297541165753\n", + "train loss:0.09405087507058905\n", + "train loss:0.14268822243533305\n", + "train loss:0.07528622864151309\n", + "train loss:0.15255920681158155\n", + "train loss:0.08655478746821826\n", + "train loss:0.11302895335302461\n", + "train loss:0.13251712732353632\n", + "train loss:0.05037181564015339\n", + "train loss:0.07602653832022684\n", + "train loss:0.06721249420071154\n", + "train loss:0.08725542905431175\n", + "train loss:0.08556324196173305\n", + "train loss:0.10043013073994951\n", + "train loss:0.07983142318314669\n", + "train loss:0.03464302380868023\n", + "train loss:0.1361382423966104\n", + "train loss:0.08206120907114134\n", + "train loss:0.1054774508292664\n", + "train loss:0.061864074083619505\n", + "train loss:0.1763497373072806\n", + "train loss:0.06478702085387705\n", + "train loss:0.06847050217497\n", + "train loss:0.0303255946484074\n", + "train loss:0.04059786938131213\n", + "train loss:0.17238627276551838\n", + "train loss:0.018196324449259376\n", + "train loss:0.053781023288106536\n", + "train loss:0.05622757122167351\n", + "train loss:0.05392405380640633\n", + "train loss:0.03337944842644434\n", + "train loss:0.07110553207556519\n", + "train loss:0.06581931327765746\n", + "train loss:0.028585140342569693\n", + "train loss:0.03335611316596218\n", + "train loss:0.08074529538147894\n", + "train loss:0.07092254439623413\n", + "train loss:0.030294194897738255\n", + "train loss:0.11631373522117949\n", + "train loss:0.05103560394942226\n", + "train loss:0.03634208034314995\n", + "train loss:0.08315385831037697\n", + "train loss:0.05528364673717614\n", + "train loss:0.04613037442281104\n", + "train loss:0.08811888278940191\n", + "train loss:0.1302100638347669\n", + "train loss:0.1132747730893744\n", + "train loss:0.0701264676844081\n", + "train loss:0.07179090514003762\n", + "train loss:0.09898884486031921\n", + "train loss:0.03782863745164786\n", + "train loss:0.07875041426571165\n", + "train loss:0.06301438272875508\n", + "train loss:0.08138679689254108\n", + "train loss:0.03876057219299272\n", + "train loss:0.04226980330128525\n", + "train loss:0.07444360318684874\n", + "train loss:0.04768913834980068\n", + "train loss:0.038212219578009264\n", + "train loss:0.053394095200782685\n", + "train loss:0.18300948801485314\n", + "train loss:0.06149548905275332\n", + "train loss:0.05992859145542497\n", + "train loss:0.057324541494924504\n", + "train loss:0.031339143471004756\n", + "train loss:0.14717468151319013\n", + "train loss:0.08667550447091826\n", + "train loss:0.08802621594746149\n", + "train loss:0.03869056047686819\n", + "train loss:0.11103731152310997\n", + "train loss:0.059539908009508195\n", + "train loss:0.019024196819031464\n", + "train loss:0.06302375212954725\n", + "train loss:0.07385682596569612\n", + "train loss:0.03259450006676674\n", + "train loss:0.08226824724727125\n", + "train loss:0.04281561695092809\n", + "train loss:0.10420082959050532\n", + "train loss:0.0653242950468115\n", + "train loss:0.038098026031583555\n", + "train loss:0.05609086333007669\n", + "train loss:0.04532468289910656\n", + "train loss:0.052212915896017974\n", + "train loss:0.07452347968303392\n", + "train loss:0.0772443685011458\n", + "train loss:0.05901067768215151\n", + "train loss:0.11083519647400081\n", + "train loss:0.0453190178417231\n", + "train loss:0.02504706173820131\n", + "train loss:0.056875064333495165\n", + "train loss:0.2757886502517094\n", + "train loss:0.020938664838901812\n", + "train loss:0.08490206759232967\n", + "train loss:0.05749890555356075\n", + "train loss:0.03179310886665485\n", + "train loss:0.06723229770621432\n", + "train loss:0.0594968290053043\n", + "train loss:0.08265415391594566\n", + "train loss:0.09294684143339588\n", + "train loss:0.09558107721139905\n", + "train loss:0.051818884548047256\n", + "train loss:0.047180000945854325\n", + "train loss:0.04912769543795161\n", + "train loss:0.031136353525095445\n", + "train loss:0.0516147007645152\n", + "train loss:0.19505201231154817\n", + "train loss:0.026848974193845507\n", + "train loss:0.10790285374523938\n", + "train loss:0.04311816118248252\n", + "train loss:0.05485669346593894\n", + "train loss:0.04335968743193425\n", + "train loss:0.05416934927373299\n", + "train loss:0.030181811833786057\n", + "train loss:0.0709774066286797\n", + "train loss:0.050575645797922134\n", + "train loss:0.04650632801455921\n", + "train loss:0.03839049172691952\n", + "train loss:0.037685473648000525\n", + "train loss:0.04286790771520143\n", + "train loss:0.10298703444529797\n", + "train loss:0.08673044592547002\n", + "train loss:0.07947521743440315\n", + "train loss:0.04724135353446634\n", + "train loss:0.058472198288141736\n", + "train loss:0.06346009578744889\n", + "train loss:0.038329039414776646\n", + "train loss:0.09221701895916225\n", + "train loss:0.08253686302431146\n", + "train loss:0.03345851597922944\n", + "train loss:0.06370407712053304\n", + "train loss:0.11301121760565593\n", + "train loss:0.037391341384401665\n", + "train loss:0.017723663050308373\n", + "train loss:0.12834567395315577\n", + "train loss:0.05186441349857985\n", + "train loss:0.0345809968653173\n", + "train loss:0.04434494410202424\n", + "train loss:0.0738166323941895\n", + "train loss:0.12797159084051454\n", + "train loss:0.03734017522171578\n", + "train loss:0.08276208077532277\n", + "train loss:0.031213911404879387\n", + "train loss:0.056113832147608046\n", + "train loss:0.037708690771947266\n", + "train loss:0.0635818499297054\n", + "train loss:0.06412671763430182\n", + "train loss:0.03383076714761229\n", + "train loss:0.03414605565417669\n", + "train loss:0.03228400374194713\n", + "train loss:0.08029521591362455\n", + "train loss:0.019029156603179675\n", + "train loss:0.05641111393119988\n", + "train loss:0.11603071440777125\n", + "train loss:0.2527216664182237\n", + "train loss:0.03969768032639173\n", + "train loss:0.08321041119148895\n", + "train loss:0.09302160961161868\n", + "train loss:0.15455033937005397\n", + "train loss:0.024508135054221922\n", + "train loss:0.08782642347469354\n", + "train loss:0.0498697397191813\n", + "train loss:0.02094518142195306\n", + "train loss:0.10038052181559451\n", + "train loss:0.0516536470960026\n", + "train loss:0.014529917189405944\n", + "train loss:0.12609930336097197\n", + "train loss:0.12780216022740876\n", + "train loss:0.0659022082461845\n", + "train loss:0.03780998384634144\n", + "train loss:0.0550284330304601\n", + "train loss:0.015045600381989077\n", + "train loss:0.10004237347723315\n", + "train loss:0.03168023609882437\n", + "train loss:0.05245399510737341\n", + "train loss:0.09636330860268824\n", + "train loss:0.055961168090278506\n", + "train loss:0.08323279927525336\n", + "train loss:0.08127454709280973\n", + "train loss:0.07469569185174493\n", + "=== epoch:3, train acc:0.977, test acc:0.98 ===\n", + "train loss:0.09644599996739901\n", + "train loss:0.06880614117143509\n", + "train loss:0.06995086431990388\n", + "train loss:0.036011799532240804\n", + "train loss:0.07781468541483569\n", + "train loss:0.0754843267439297\n", + "train loss:0.09535368168919486\n", + "train loss:0.03204607803554125\n", + "train loss:0.03779920315465613\n", + "train loss:0.07094830013932654\n", + "train loss:0.0385067579697714\n", + "train loss:0.07413380912778778\n", + "train loss:0.0656520436085621\n", + "train loss:0.04601103104532475\n", + "train loss:0.03499440335740928\n", + "train loss:0.06179822501819055\n", + "train loss:0.04618439925431669\n", + "train loss:0.07556498936980932\n", + "train loss:0.07894440024902967\n", + "train loss:0.0292007515568275\n", + "train loss:0.2541871297640099\n", + "train loss:0.07559122977479076\n", + "train loss:0.04656788884734832\n", + "train loss:0.04472526082638418\n", + "train loss:0.10805508589114382\n", + "train loss:0.03171288629629992\n", + "train loss:0.039466981124525666\n", + "train loss:0.030403885808200838\n", + "train loss:0.046535932874830606\n", + "train loss:0.051397919668906694\n", + "train loss:0.06754558029108516\n", + "train loss:0.020031660792796935\n", + "train loss:0.016793857497404214\n", + "train loss:0.058024612917034375\n", + "train loss:0.05227009159530275\n", + "train loss:0.06109141324461631\n", + "train loss:0.05381443541529062\n", + "train loss:0.041950982778488646\n", + "train loss:0.029425234008739934\n", + "train loss:0.044834410705859466\n", + "train loss:0.058153646287722224\n", + "train loss:0.041774015913894874\n", + "train loss:0.06132700299826116\n", + "train loss:0.04207687279350931\n", + "train loss:0.06585424714573476\n", + "train loss:0.025571112243363454\n", + "train loss:0.05290769874623081\n", + "train loss:0.02775146485474824\n", + "train loss:0.023072680132992664\n", + "train loss:0.070648196404331\n", + "train loss:0.0637874073412999\n", + "train loss:0.11635170433626671\n", + "train loss:0.08088923445544685\n", + "train loss:0.033867799730607016\n", + "train loss:0.04098975146164546\n", + "train loss:0.020153203911476406\n", + "train loss:0.09813681362397121\n", + "train loss:0.08966461242715992\n", + "train loss:0.03556487181409524\n", + "train loss:0.031135086140383152\n", + "train loss:0.075427380494993\n", + "train loss:0.09088747835488568\n", + "train loss:0.04843102468633722\n", + "train loss:0.08194145561027975\n", + "train loss:0.03970010871056074\n", + "train loss:0.052467235039644636\n", + "train loss:0.0571875775796845\n", + "train loss:0.0740930399843841\n", + "train loss:0.04182180698148054\n", + "train loss:0.02273953447718724\n", + "train loss:0.012148913470861979\n", + "train loss:0.04004431038695304\n", + "train loss:0.03937913100996165\n", + "train loss:0.011124047466397122\n", + "train loss:0.1864440217354493\n", + "train loss:0.021218789312918616\n", + "train loss:0.1281210977738702\n", + "train loss:0.04261822120339897\n", + "train loss:0.023775204894124463\n", + "train loss:0.05638743025372759\n", + "train loss:0.06025422920033969\n", + "train loss:0.08753601655888837\n", + "train loss:0.06445368864174017\n", + "train loss:0.0253870137970624\n", + "train loss:0.02468804362205401\n", + "train loss:0.08075696224945124\n", + "train loss:0.0968082653075744\n", + "train loss:0.05345256760037982\n", + "train loss:0.078759401482837\n", + "train loss:0.07234009827137024\n", + "train loss:0.03358055192448519\n", + "train loss:0.06078215902653412\n", + "train loss:0.047120935240140556\n", + "train loss:0.04528274467866034\n", + "train loss:0.05939296983316699\n", + "train loss:0.06755601096443561\n", + "train loss:0.016771278458672143\n", + "train loss:0.034556505922324655\n", + "train loss:0.08320646613515487\n", + "train loss:0.045332788036973035\n", + "train loss:0.019023980197406924\n", + "train loss:0.019613289388616215\n", + "train loss:0.05887715707903335\n", + "train loss:0.014184956666854608\n", + "train loss:0.022304138707454957\n", + "train loss:0.11618846485353884\n", + "train loss:0.07836022142662351\n", + "train loss:0.13861602002032533\n", + "train loss:0.04643687097017618\n", + "train loss:0.062212569614399256\n", + "train loss:0.05787083273226525\n", + "train loss:0.04442595478467554\n", + "train loss:0.08956289234542206\n", + "train loss:0.027904148846585593\n", + "train loss:0.07016416719489764\n", + "train loss:0.12389306242940609\n", + "train loss:0.07840964440410897\n", + "train loss:0.11866560122382408\n", + "train loss:0.029206390721896635\n", + "train loss:0.05841501073869744\n", + "train loss:0.08519910426449724\n", + "train loss:0.056586588061278906\n", + "train loss:0.10822636324815565\n", + "train loss:0.12501744871777493\n", + "train loss:0.020370411689426316\n", + "train loss:0.0534594890943022\n", + "train loss:0.14211433573668286\n", + "train loss:0.05386526062969512\n", + "train loss:0.0797436608429531\n", + "train loss:0.013665988866859274\n", + "train loss:0.027718717944378954\n", + "train loss:0.035017636676992\n", + "train loss:0.163156948590686\n", + "train loss:0.03385964203858918\n", + "train loss:0.08691420328495729\n", + "train loss:0.07413312079963362\n", + "train loss:0.07168917968530943\n", + "train loss:0.024949626201607022\n", + "train loss:0.03518473588172928\n", + "train loss:0.04561504567923984\n", + "train loss:0.0899015954612505\n", + "train loss:0.14358503168317763\n", + "train loss:0.07125518681443482\n", + "train loss:0.04273213704605311\n", + "train loss:0.06793164448862883\n", + "train loss:0.04361133204421479\n", + "train loss:0.015162521074986541\n", + "train loss:0.02435229341682359\n", + "train loss:0.13557899604611084\n", + "train loss:0.041077006556161075\n", + "train loss:0.15233386119732908\n", + "train loss:0.09852214910234552\n", + "train loss:0.04291227161181383\n", + "train loss:0.10990766844782789\n", + "train loss:0.048066107633045314\n", + "train loss:0.04177986501365535\n", + "train loss:0.02907025811999128\n", + "train loss:0.08048198178793292\n", + "train loss:0.06452472063418595\n", + "train loss:0.04307973648711402\n", + "train loss:0.08331951677387364\n", + "train loss:0.07095875936942436\n", + "train loss:0.15692205593581574\n", + "train loss:0.024773810739545873\n", + "train loss:0.11091920319039879\n", + "train loss:0.13478959386688885\n", + "train loss:0.06805854505592704\n", + "train loss:0.08484217577611844\n", + "train loss:0.08367456603385132\n", + "train loss:0.034796016975805394\n", + "train loss:0.14165712896609212\n", + "train loss:0.08592563395742533\n", + "train loss:0.03464520935072061\n", + "train loss:0.04693789581668048\n", + "train loss:0.036895050194126276\n", + "train loss:0.05196067901208619\n", + "train loss:0.11537999105655027\n", + "train loss:0.05398950218461482\n", + "train loss:0.09005745330577584\n", + "train loss:0.06820025752624558\n", + "train loss:0.03146646256271454\n", + "train loss:0.059408047491974585\n", + "train loss:0.03477074232091945\n", + "train loss:0.08367881753866849\n", + "train loss:0.0181358935057658\n", + "train loss:0.05785705745130243\n", + "train loss:0.03789074751646783\n", + "train loss:0.07395876667885583\n", + "train loss:0.0887071249714981\n", + "train loss:0.04915353717109381\n", + "train loss:0.055155166573771994\n", + "train loss:0.039925615366869796\n", + "train loss:0.027644079279778397\n", + "train loss:0.03957921771035004\n", + "train loss:0.061840582087598836\n", + "train loss:0.058639158071129883\n", + "train loss:0.04616279763753968\n", + "train loss:0.06671967473926607\n", + "train loss:0.13338520673929907\n", + "train loss:0.016511088417614377\n", + "train loss:0.017658645694663747\n", + "train loss:0.02344280774627607\n", + "train loss:0.027803178533163234\n", + "train loss:0.03777855554116214\n", + "train loss:0.02016551528158237\n", + "train loss:0.04694604877468267\n", + "train loss:0.01832044425981719\n", + "train loss:0.030933294960170672\n", + "train loss:0.06879934473589998\n", + "train loss:0.037054556929143036\n", + "train loss:0.060276208314745026\n", + "train loss:0.01648777013763984\n", + "train loss:0.06735632034618763\n", + "train loss:0.09292905329777\n", + "train loss:0.046917628638080675\n", + "train loss:0.013584727789716176\n", + "train loss:0.029939814083395126\n", + "train loss:0.02889783531493901\n", + "train loss:0.09488982765430805\n", + "train loss:0.05124831294898352\n", + "train loss:0.1046068524244204\n", + "train loss:0.023274559913365685\n", + "train loss:0.03561344669091676\n", + "train loss:0.03551582379272158\n", + "train loss:0.08592576252484023\n", + "train loss:0.10148083550599044\n", + "train loss:0.041283853199644366\n", + "train loss:0.09224789539322728\n", + "train loss:0.020118832392777612\n", + "train loss:0.039921425988345166\n", + "train loss:0.08200291085006482\n", + "train loss:0.03749553762444185\n", + "train loss:0.05874880974917371\n", + "train loss:0.017203002771614687\n", + "train loss:0.10200232206642522\n", + "train loss:0.04423750812464749\n", + "train loss:0.06853598751501458\n", + "train loss:0.04790119250473787\n", + "train loss:0.0584312998662858\n", + "train loss:0.03827917197428352\n", + "train loss:0.06025062718909317\n", + "train loss:0.06535156468227954\n", + "train loss:0.03075143472873197\n", + "train loss:0.13399686006093708\n", + "train loss:0.025658113018213424\n", + "train loss:0.01798137807048421\n", + "train loss:0.10264668644669035\n", + "train loss:0.018005680602772328\n", + "train loss:0.047474608914802305\n", + "train loss:0.13315109983469822\n", + "train loss:0.08295821336168398\n", + "train loss:0.06763206479602331\n", + "train loss:0.09728608163024885\n", + "train loss:0.04246729023750269\n", + "train loss:0.12138181187883362\n", + "train loss:0.01449411630083654\n", + "train loss:0.020933913276438166\n", + "train loss:0.06380191000950926\n", + "train loss:0.03600769444132849\n", + "train loss:0.04038000254223142\n", + "train loss:0.010462192885601563\n", + "train loss:0.10390840986745749\n", + "train loss:0.14594570469217305\n", + "train loss:0.04552737465945402\n", + "train loss:0.028582729175989828\n", + "train loss:0.05579709649755385\n", + "train loss:0.03511207094053389\n", + "train loss:0.12314829585807416\n", + "train loss:0.0665834116577946\n", + "train loss:0.026423862361989237\n", + "train loss:0.04937396100946267\n", + "train loss:0.016622110324222658\n", + "train loss:0.13974429003091465\n", + "train loss:0.06997842741034965\n", + "train loss:0.0558716321832959\n", + "train loss:0.10436785645574359\n", + "train loss:0.06625181089670124\n", + "train loss:0.12088152434764238\n", + "train loss:0.0819074425968852\n", + "train loss:0.07601713737755074\n", + "train loss:0.11186133967794376\n", + "train loss:0.04471513038891496\n", + "train loss:0.05338247019111271\n", + "train loss:0.08613593605482879\n", + "train loss:0.03745666244169576\n", + "train loss:0.1323708253102051\n", + "train loss:0.037899382754781656\n", + "train loss:0.02820300107036538\n", + "train loss:0.06741788748350974\n", + "train loss:0.013332818841924523\n", + "train loss:0.0591343193439284\n", + "train loss:0.10986201721380075\n", + "train loss:0.03468858558445678\n", + "train loss:0.020304802755598678\n", + "train loss:0.025605515047301453\n", + "train loss:0.02019504763787722\n", + "train loss:0.010762056315447228\n", + "train loss:0.07693978101486597\n", + "train loss:0.11038825257495224\n", + "train loss:0.04296557846938932\n", + "train loss:0.03870224774036005\n", + "train loss:0.04219371534302416\n", + "train loss:0.02719706589370883\n", + "train loss:0.012759846112978876\n", + "train loss:0.15569723904231147\n", + "train loss:0.02993185102759269\n", + "train loss:0.0434685615220247\n", + "train loss:0.05591850582373268\n", + "train loss:0.019935645009641623\n", + "train loss:0.08645718432281858\n", + "train loss:0.039935034640305095\n", + "train loss:0.03644574149684492\n", + "train loss:0.08636615296847852\n", + "train loss:0.03707970155674871\n", + "train loss:0.03448267878312523\n", + "train loss:0.06445830262356464\n", + "train loss:0.012189903394685004\n", + "train loss:0.059864701377279665\n", + "train loss:0.1001217856575255\n", + "train loss:0.07597622763285879\n", + "train loss:0.06118351672766566\n", + "train loss:0.12243445240512404\n", + "train loss:0.03494259393509023\n", + "train loss:0.01764094451975399\n", + "train loss:0.09644334543779444\n", + "train loss:0.026866905395789467\n", + "train loss:0.026450158291073333\n", + "train loss:0.0684841318635148\n", + "train loss:0.0840548821445397\n", + "train loss:0.024879763726130162\n", + "train loss:0.023057001510374393\n", + "train loss:0.07929728824010879\n", + "train loss:0.05525044000591223\n", + "train loss:0.011350267544838373\n", + "train loss:0.04182994015066807\n", + "train loss:0.03051335844321477\n", + "train loss:0.06632416650926293\n", + "train loss:0.0428476361892348\n", + "train loss:0.0062603034953816125\n", + "train loss:0.020409297696778433\n", + "train loss:0.049199368404914796\n", + "train loss:0.04491280513800481\n", + "train loss:0.008269873865740594\n", + "train loss:0.04091457655232547\n", + "train loss:0.019124674606559033\n", + "train loss:0.06030009271944887\n", + "train loss:0.012557463566821579\n", + "train loss:0.06612574733274201\n", + "train loss:0.035029500852252815\n", + "train loss:0.02540040174271506\n", + "train loss:0.04060703201870816\n", + "train loss:0.03693000008283849\n", + "train loss:0.07925116617785798\n", + "train loss:0.14524027514174923\n", + "train loss:0.04721806205710992\n", + "train loss:0.013680909329108076\n", + "train loss:0.12602836815080543\n", + "train loss:0.006341494890883343\n", + "train loss:0.04146889103285086\n", + "train loss:0.017767499253415957\n", + "train loss:0.015163068340752062\n", + "train loss:0.035787022968951976\n", + "train loss:0.034416572004085544\n", + "train loss:0.0374212946189244\n", + "train loss:0.03419911833232119\n", + "train loss:0.03655889866802134\n", + "train loss:0.025073138221303894\n", + "train loss:0.014459049578271438\n", + "train loss:0.013110176451010914\n", + "train loss:0.052460802711657976\n", + "train loss:0.07763140325579747\n", + "train loss:0.04450076455546097\n", + "train loss:0.10156092573793181\n", + "train loss:0.040594369930659464\n", + "train loss:0.022372253861977845\n", + "train loss:0.027999243608560064\n", + "train loss:0.01014064122400368\n", + "train loss:0.047410783326050664\n", + "train loss:0.0320671189435469\n", + "train loss:0.02523131759069993\n", + "train loss:0.019840278772253556\n", + "train loss:0.028514862942452774\n", + "train loss:0.20683046824662998\n", + "train loss:0.034146365512526776\n", + "train loss:0.03701439958346612\n", + "train loss:0.04628542140998229\n", + "train loss:0.08848321658220361\n", + "train loss:0.07872767687648001\n", + "train loss:0.07481723189954154\n", + "train loss:0.03340562529592199\n", + "train loss:0.14537114772477655\n", + "train loss:0.03498823555346578\n", + "train loss:0.039822431714362276\n", + "train loss:0.0666708398124754\n", + "train loss:0.032336989690469185\n", + "train loss:0.03861541078809987\n", + "train loss:0.02214309982175696\n", + "train loss:0.09246402160283287\n", + "train loss:0.03790001534825258\n", + "train loss:0.04200129761131716\n", + "train loss:0.01153175410935548\n", + "train loss:0.034210134111359064\n", + "train loss:0.01971493001755007\n", + "train loss:0.03775839159723452\n", + "train loss:0.08919615609810368\n", + "train loss:0.06619279218403491\n", + "train loss:0.03034763150938963\n", + "train loss:0.06952023448928055\n", + "train loss:0.057396625670308676\n", + "train loss:0.03412360085584292\n", + "train loss:0.027903991204281095\n", + "train loss:0.14269074200131018\n", + "train loss:0.034549718997527464\n", + "train loss:0.007388844087012293\n", + "train loss:0.026473723001364958\n", + "train loss:0.02469271302280803\n", + "train loss:0.0632687970531018\n", + "train loss:0.05443851498313784\n", + "train loss:0.010658633620339912\n", + "train loss:0.034033485030832415\n", + "train loss:0.06571879556778808\n", + "train loss:0.08398287453469168\n", + "train loss:0.02832330099154502\n", + "train loss:0.0581684308915794\n", + "train loss:0.017627295656855203\n", + "train loss:0.02167258286667233\n", + "train loss:0.06556225541080392\n", + "train loss:0.03081741678981517\n", + "train loss:0.04738781823782401\n", + "train loss:0.04539840767874075\n", + "train loss:0.11813078950042279\n", + "train loss:0.03681741918873715\n", + "train loss:0.030646445073929045\n", + "train loss:0.07222061069171093\n", + "train loss:0.07696272144272488\n", + "train loss:0.04968239020055098\n", + "train loss:0.14694227786497108\n", + "train loss:0.07791647973048833\n", + "train loss:0.015889941512742454\n", + "train loss:0.027496627522794168\n", + "train loss:0.12336158476925753\n", + "train loss:0.07547502933295765\n", + "train loss:0.04467441830042589\n", + "train loss:0.06465006149658781\n", + "train loss:0.03670704491576578\n", + "train loss:0.033748157374301486\n", + "train loss:0.012540955144292196\n", + "train loss:0.029091648284429814\n", + "train loss:0.0586576636861099\n", + "train loss:0.03677636586040965\n", + "train loss:0.03608801091367918\n", + "train loss:0.06405947365943786\n", + "train loss:0.0429188776370901\n", + "train loss:0.028865073259815147\n", + "train loss:0.025315575730919096\n", + "train loss:0.025502505615783398\n", + "train loss:0.07380855750188742\n", + "train loss:0.07434889373462236\n", + "train loss:0.043104055526087655\n", + "train loss:0.1571156797150133\n", + "train loss:0.027836103286795266\n", + "train loss:0.008919947626485233\n", + "train loss:0.0063160584969858624\n", + "train loss:0.016603542964793726\n", + "train loss:0.032285859117608645\n", + "train loss:0.020014028035350916\n", + "train loss:0.05079584476956402\n", + "train loss:0.09799989274584535\n", + "train loss:0.020372067267270703\n", + "train loss:0.053322095645597783\n", + "train loss:0.03726550893602791\n", + "train loss:0.029631068059853938\n", + "train loss:0.04631101637495773\n", + "train loss:0.018690240478966075\n", + "train loss:0.012938090293524196\n", + "train loss:0.0754230348153271\n", + "train loss:0.04009132321775696\n", + "train loss:0.06780921691444922\n", + "train loss:0.05305550909330241\n", + "train loss:0.040329411586161754\n", + "train loss:0.09838564584257745\n", + "train loss:0.05712309680730482\n", + "train loss:0.0539205732248583\n", + "train loss:0.018848984787034232\n", + "train loss:0.042045979112386445\n", + "train loss:0.04664366911011471\n", + "train loss:0.07322112659830272\n", + "train loss:0.16154747083629079\n", + "train loss:0.023919962775624658\n", + "train loss:0.042415621921936444\n", + "train loss:0.015103835956812774\n", + "train loss:0.06187670922605529\n", + "train loss:0.07589368749479879\n", + "train loss:0.05827025920301518\n", + "train loss:0.027206133912337737\n", + "train loss:0.014725775357362612\n", + "train loss:0.07703998411982747\n", + "train loss:0.053274080209912734\n", + "train loss:0.052057757842974735\n", + "train loss:0.012625730686558449\n", + "train loss:0.058330927850976017\n", + "train loss:0.04786823602262728\n", + "train loss:0.02968244421845053\n", + "train loss:0.02374835955755449\n", + "train loss:0.032924633655006065\n", + "train loss:0.03628790621262892\n", + "train loss:0.04531492796274841\n", + "train loss:0.05970151611983907\n", + "train loss:0.1572246362382861\n", + "train loss:0.016530341090360723\n", + "train loss:0.02638194530556753\n", + "train loss:0.054518865640588166\n", + "train loss:0.049908195642481\n", + "train loss:0.03073413692292412\n", + "train loss:0.030928819437204744\n", + "train loss:0.021250093467341306\n", + "train loss:0.020110087098154535\n", + "train loss:0.04107049420751659\n", + "train loss:0.050407611744619434\n", + "train loss:0.04846335658197085\n", + "train loss:0.017757523535559438\n", + "train loss:0.02151966377912161\n", + "train loss:0.08673726767846392\n", + "train loss:0.06082214421398044\n", + "train loss:0.00996800830014802\n", + "train loss:0.0754932471821692\n", + "train loss:0.025153582515002153\n", + "train loss:0.023979931219336108\n", + "train loss:0.022624558538657212\n", + "train loss:0.06281443129964444\n", + "train loss:0.027755100479489724\n", + "train loss:0.029117905496834382\n", + "train loss:0.06585365661755327\n", + "train loss:0.049151965812813087\n", + "train loss:0.10787822162593332\n", + "train loss:0.019753697987385483\n", + "train loss:0.06746414680130265\n", + "train loss:0.05682163802291438\n", + "train loss:0.009628217595259243\n", + "train loss:0.014089792635322219\n", + "train loss:0.021227961059692033\n", + "train loss:0.021191828170037764\n", + "train loss:0.11097406753328073\n", + "train loss:0.035260125925662515\n", + "train loss:0.029313728179830082\n", + "train loss:0.03679121380850001\n", + "train loss:0.10510869339411516\n", + "train loss:0.0991333543204398\n", + "train loss:0.09467237857310475\n", + "train loss:0.032310159367797076\n", + "train loss:0.08099686966889293\n", + "train loss:0.0418222903956388\n", + "train loss:0.015122739870620319\n", + "train loss:0.04340836777961496\n", + "train loss:0.06043217496512021\n", + "train loss:0.019869508542164557\n", + "train loss:0.036161688613140515\n", + "train loss:0.03981779081543062\n", + "train loss:0.06247267170562238\n", + "train loss:0.012827533070744006\n", + "train loss:0.025984426224935277\n", + "train loss:0.0303426062345681\n", + "train loss:0.02172733164151032\n", + "train loss:0.03245006623507111\n", + "train loss:0.021560962152687654\n", + "train loss:0.07200249316098933\n", + "train loss:0.019406123171017642\n", + "train loss:0.03685233363030365\n", + "train loss:0.012799415669313148\n", + "train loss:0.037633778083260835\n", + "train loss:0.06055858083866\n", + "train loss:0.017344151544921627\n", + "train loss:0.03477420402643999\n", + "train loss:0.05125901930270706\n", + "train loss:0.059686527768224196\n", + "train loss:0.08685356261413933\n", + "train loss:0.018253926670954945\n", + "train loss:0.05446114312125552\n", + "train loss:0.03126957345537809\n", + "train loss:0.01931847973518191\n", + "train loss:0.037412657753143515\n", + "train loss:0.04101066738580608\n", + "train loss:0.03784379689132337\n", + "train loss:0.037846507165230275\n", + "train loss:0.02510898034516871\n", + "train loss:0.034141962776980374\n", + "train loss:0.03619222317868714\n", + "train loss:0.07028937503492216\n", + "train loss:0.033840945974039235\n", + "train loss:0.02591138860716278\n", + "train loss:0.07669984609593772\n", + "train loss:0.017170038397862936\n", + "train loss:0.058454133157994505\n", + "train loss:0.13239693230494456\n", + "train loss:0.06806573064724426\n", + "train loss:0.034872198291480354\n", + "train loss:0.0223273106670127\n", + "train loss:0.035186964842929894\n", + "train loss:0.043527170895616335\n", + "train loss:0.054822788147290163\n", + "=== epoch:4, train acc:0.981, test acc:0.979 ===\n", + "train loss:0.13614181322749602\n", + "train loss:0.13988922369496723\n", + "train loss:0.10833527650011698\n", + "train loss:0.04614268007161565\n", + "train loss:0.03548917010485433\n", + "train loss:0.014844252156379929\n", + "train loss:0.05070356246657693\n", + "train loss:0.024684528715046814\n", + "train loss:0.030690620429120588\n", + "train loss:0.013350234267475353\n", + "train loss:0.0193041440418538\n", + "train loss:0.02798069005292076\n", + "train loss:0.04609925231934917\n", + "train loss:0.017648117787967786\n", + "train loss:0.03066912960131231\n", + "train loss:0.0578470445635473\n", + "train loss:0.056872692023074746\n", + "train loss:0.018514735901557104\n", + "train loss:0.1457609864335909\n", + "train loss:0.022103762410206583\n", + "train loss:0.058811314445195925\n", + "train loss:0.08607562522264049\n", + "train loss:0.05594877061206502\n", + "train loss:0.030986711188357705\n", + "train loss:0.024577855671668373\n", + "train loss:0.029892083738013376\n", + "train loss:0.049217267129203275\n", + "train loss:0.05122156233649663\n", + "train loss:0.03615900806616803\n", + "train loss:0.04741256042729694\n", + "train loss:0.080978581034061\n", + "train loss:0.026239135852536833\n", + "train loss:0.014514747078586356\n", + "train loss:0.013089905375661855\n", + "train loss:0.0377265544030144\n", + "train loss:0.04135118246690835\n", + "train loss:0.026425884445421023\n", + "train loss:0.008149795456225337\n", + "train loss:0.07369640630705962\n", + "train loss:0.0418173654594102\n", + "train loss:0.0243371607541084\n", + "train loss:0.034007723379589884\n", + "train loss:0.04141732997430591\n", + "train loss:0.08038848612538399\n", + "train loss:0.12427336987030257\n", + "train loss:0.023217787578193615\n", + "train loss:0.028303635423850216\n", + "train loss:0.02818329856163563\n", + "train loss:0.02503510814893104\n", + "train loss:0.040257589156875204\n", + "train loss:0.04061375801310813\n", + "train loss:0.030480978957246732\n", + "train loss:0.011772519700736582\n", + "train loss:0.0852505522402847\n", + "train loss:0.03635929669776829\n", + "train loss:0.013171396449634687\n", + "train loss:0.014986990574250963\n", + "train loss:0.022189748512153062\n", + "train loss:0.013096154220236265\n", + "train loss:0.017355069339191717\n", + "train loss:0.013122592302009649\n", + "train loss:0.05869184450663156\n", + "train loss:0.011945513869821877\n", + "train loss:0.061540439598404204\n", + "train loss:0.012099227990322401\n", + "train loss:0.10655304880450003\n", + "train loss:0.05654435356111708\n", + "train loss:0.0945842314261529\n", + "train loss:0.05494214004938207\n", + "train loss:0.03603414557725487\n", + "train loss:0.03213498870855318\n", + "train loss:0.16986339195232206\n", + "train loss:0.09999790023397653\n", + "train loss:0.025875532124061275\n", + "train loss:0.012427239408498068\n", + "train loss:0.06439533477268883\n", + "train loss:0.020918833660888193\n", + "train loss:0.050238209179649926\n", + "train loss:0.053467919729468925\n", + "train loss:0.03144491392916473\n", + "train loss:0.05600358198580415\n", + "train loss:0.03361222531933963\n", + "train loss:0.005173874747623465\n", + "train loss:0.012125799646614395\n", + "train loss:0.0531731105997076\n", + "train loss:0.04261977025460561\n", + "train loss:0.030717972037259723\n", + "train loss:0.0746676548201474\n", + "train loss:0.016992752358439358\n", + "train loss:0.0321810788499671\n", + "train loss:0.06722245522839128\n", + "train loss:0.04811452337746643\n", + "train loss:0.04795031293688761\n", + "train loss:0.05201633492714608\n", + "train loss:0.045174081244077596\n", + "train loss:0.1457956801486585\n", + "train loss:0.040527620049791185\n", + "train loss:0.023969645744845995\n", + "train loss:0.015042605415383974\n", + "train loss:0.05478779612028682\n", + "train loss:0.06474002082414977\n", + "train loss:0.043338564750956377\n", + "train loss:0.06300198324759813\n", + "train loss:0.04101543143126984\n", + "train loss:0.02298778270533329\n", + "train loss:0.020558657581426304\n", + "train loss:0.0168500767856568\n", + "train loss:0.017488532175260432\n", + "train loss:0.0768625115131354\n", + "train loss:0.04848984606156069\n", + "train loss:0.019925570364894066\n", + "train loss:0.0339660006545067\n", + "train loss:0.019782233209377397\n", + "train loss:0.012366452091527168\n", + "train loss:0.09866589737559263\n", + "train loss:0.01959650634240173\n", + "train loss:0.06851518964572198\n", + "train loss:0.03607800030560808\n", + "train loss:0.04421764945881456\n", + "train loss:0.0383251970727238\n", + "train loss:0.0669849538790062\n", + "train loss:0.043291819997729235\n", + "train loss:0.019242727898324517\n", + "train loss:0.015607788583513393\n", + "train loss:0.04480030543206758\n", + "train loss:0.07757633916200636\n", + "train loss:0.055160495656003346\n", + "train loss:0.03137098420872068\n", + "train loss:0.021988127803924572\n", + "train loss:0.11321140669285713\n", + "train loss:0.0341418561154588\n", + "train loss:0.04991012628962985\n", + "train loss:0.051399771352983556\n", + "train loss:0.09319080574600147\n", + "train loss:0.025733525331491754\n", + "train loss:0.022476467061143205\n", + "train loss:0.05195431467387638\n", + "train loss:0.03149885131071233\n", + "train loss:0.0180124024287705\n", + "train loss:0.026295293376507652\n", + "train loss:0.04383365598896611\n", + "train loss:0.019402770377773364\n", + "train loss:0.11170154487525515\n", + "train loss:0.02420600379968837\n", + "train loss:0.012364180207116651\n", + "train loss:0.04503303343179889\n", + "train loss:0.02652412921710466\n", + "train loss:0.030509419693277556\n", + "train loss:0.020312951382274576\n", + "train loss:0.02957773909519101\n", + "train loss:0.06030876644544739\n", + "train loss:0.11139254030082706\n", + "train loss:0.050761652256118915\n", + "train loss:0.02527325494665129\n", + "train loss:0.03706595602508819\n", + "train loss:0.02257444550890048\n", + "train loss:0.12374047202787468\n", + "train loss:0.036956159663021404\n", + "train loss:0.028121639818326098\n", + "train loss:0.0343223872405414\n", + "train loss:0.04633836052693708\n", + "train loss:0.08744537063305988\n", + "train loss:0.07447677096638253\n", + "train loss:0.0892020315963311\n", + "train loss:0.04600991489260875\n", + "train loss:0.029526899716785814\n", + "train loss:0.0373125045471922\n", + "train loss:0.03327292346011716\n", + "train loss:0.07573235609709578\n", + "train loss:0.024631044343714933\n", + "train loss:0.02825575443806058\n", + "train loss:0.011177742656522964\n", + "train loss:0.021062023638705504\n", + "train loss:0.053312163467452336\n", + "train loss:0.041548690888449015\n", + "train loss:0.06068656935268893\n", + "train loss:0.06337523512097165\n", + "train loss:0.027460329385856314\n", + "train loss:0.01524232788681095\n", + "train loss:0.024241803825575028\n", + "train loss:0.022773957554952543\n", + "train loss:0.03732688595429572\n", + "train loss:0.04228147749026478\n", + "train loss:0.031925600943702184\n", + "train loss:0.03452537323278512\n", + "train loss:0.05057595295649787\n", + "train loss:0.019434567803208794\n", + "train loss:0.044453671387025044\n", + "train loss:0.03935040771205054\n", + "train loss:0.012330569087323339\n", + "train loss:0.03076161031196225\n", + "train loss:0.04976808579195152\n", + "train loss:0.032808591766979804\n", + "train loss:0.017318085288330985\n", + "train loss:0.013147684752772329\n", + "train loss:0.02385837530183242\n", + "train loss:0.026112693169644326\n", + "train loss:0.01066816972810686\n", + "train loss:0.018150539589939438\n", + "train loss:0.030592217190000163\n", + "train loss:0.007552487850224502\n", + "train loss:0.01173743083018775\n", + "train loss:0.016166575198821306\n", + "train loss:0.043832648503591615\n", + "train loss:0.013126329301869308\n", + "train loss:0.029196214795349\n", + "train loss:0.02576775448934007\n", + "train loss:0.013049579677994522\n", + "train loss:0.05018195429669202\n", + "train loss:0.04192734293479797\n", + "train loss:0.06764333561800685\n", + "train loss:0.06881088077948604\n", + "train loss:0.016078681400486853\n", + "train loss:0.08395393778188165\n", + "train loss:0.031954376197870914\n", + "train loss:0.057234260802195236\n", + "train loss:0.07422659560241088\n", + "train loss:0.02458792154878174\n", + "train loss:0.028493010480675585\n", + "train loss:0.07242743535461287\n", + "train loss:0.0059309635260938656\n", + "train loss:0.009955432537704114\n", + "train loss:0.01732257987281039\n", + "train loss:0.05637214692616008\n", + "train loss:0.07817721211121549\n", + "train loss:0.018943668759999616\n", + "train loss:0.09344260618592294\n", + "train loss:0.03694138625285668\n", + "train loss:0.051721259250152106\n", + "train loss:0.028287082365712188\n", + "train loss:0.0375418093351322\n", + "train loss:0.08466879678978372\n", + "train loss:0.0300913453920537\n", + "train loss:0.04266290359572149\n", + "train loss:0.025378505952194416\n", + "train loss:0.03507205127451695\n", + "train loss:0.026188171570517546\n", + "train loss:0.012450306703371905\n", + "train loss:0.045488861980187555\n", + "train loss:0.01823832900364532\n", + "train loss:0.02997984712156706\n", + "train loss:0.012182226717740035\n", + "train loss:0.016778684019864487\n", + "train loss:0.07640362399788073\n", + "train loss:0.08225123856270761\n", + "train loss:0.05048290604660766\n", + "train loss:0.03079470041049888\n", + "train loss:0.048023981043107726\n", + "train loss:0.016122466709355507\n", + "train loss:0.11733706089363125\n", + "train loss:0.039691245288628677\n", + "train loss:0.03827217399157111\n", + "train loss:0.07645618057726254\n", + "train loss:0.03669631297868014\n", + "train loss:0.016743389122431288\n", + "train loss:0.12174758080567687\n", + "train loss:0.015708861442442955\n", + "train loss:0.05168473413496686\n", + "train loss:0.04473490030277154\n", + "train loss:0.010077728132718297\n", + "train loss:0.013113243553138866\n", + "train loss:0.09303271567376963\n", + "train loss:0.01606014257184567\n", + "train loss:0.043336408888947714\n", + "train loss:0.017159083939251463\n", + "train loss:0.07082160106971931\n", + "train loss:0.02495488893317877\n", + "train loss:0.02471899049763301\n", + "train loss:0.03871811824079107\n", + "train loss:0.027856940662276584\n", + "train loss:0.007406736612645449\n", + "train loss:0.03904276716073268\n", + "train loss:0.04455946621140451\n", + "train loss:0.10024383569711581\n", + "train loss:0.08508956987266879\n", + "train loss:0.09636460218322071\n", + "train loss:0.026017708813580183\n", + "train loss:0.04062609586773261\n", + "train loss:0.06686450946909747\n", + "train loss:0.013116701720844108\n", + "train loss:0.1393477116726916\n", + "train loss:0.027732203012992757\n", + "train loss:0.023412825488201054\n", + "train loss:0.06792154358011498\n", + "train loss:0.04708397857621029\n", + "train loss:0.053520405840233966\n", + "train loss:0.043912351253682376\n", + "train loss:0.07126102205104794\n", + "train loss:0.013742772450315506\n", + "train loss:0.018909004444973686\n", + "train loss:0.044293909467504625\n", + "train loss:0.008599236545454607\n", + "train loss:0.01571129419938356\n", + "train loss:0.11603417261642139\n", + "train loss:0.03747668339651636\n", + "train loss:0.03921350539860833\n", + "train loss:0.08466330882974234\n", + "train loss:0.04528024336316496\n", + "train loss:0.01593461450951934\n", + "train loss:0.029976656355002552\n", + "train loss:0.04233776947948484\n", + "train loss:0.04417828201971103\n", + "train loss:0.04936324009012122\n", + "train loss:0.06789237549348354\n", + "train loss:0.029213837349509518\n", + "train loss:0.0170344732299033\n", + "train loss:0.047588903123551074\n", + "train loss:0.019338901308146517\n", + "train loss:0.023019584936735758\n", + "train loss:0.02613053117253797\n", + "train loss:0.07356399629397561\n", + "train loss:0.02116579236876749\n", + "train loss:0.049966853875974014\n", + "train loss:0.019829482952088105\n", + "train loss:0.011352076331485637\n", + "train loss:0.010948602577690359\n", + "train loss:0.01898372439769727\n", + "train loss:0.0546438527757372\n", + "train loss:0.04285483526572184\n", + "train loss:0.07527357786051685\n", + "train loss:0.03725984628086679\n", + "train loss:0.0051647813776405415\n", + "train loss:0.03317176552564607\n", + "train loss:0.02492494632923693\n", + "train loss:0.007676715793209681\n", + "train loss:0.04122969400291077\n", + "train loss:0.059184607540392425\n", + "train loss:0.0807650930507699\n", + "train loss:0.03560427085286386\n", + "train loss:0.04384423699748794\n", + "train loss:0.02417893075882544\n", + "train loss:0.030891048619423867\n", + "train loss:0.033023619171181\n", + "train loss:0.01535828311007754\n", + "train loss:0.03359834462945468\n", + "train loss:0.018746821210858806\n", + "train loss:0.024384826683422466\n", + "train loss:0.013296305784594538\n", + "train loss:0.012122081493323727\n", + "train loss:0.018765061796412037\n", + "train loss:0.02307578480040122\n", + "train loss:0.009436453005065692\n", + "train loss:0.07123311217047058\n", + "train loss:0.08051962376378871\n", + "train loss:0.05417536417696562\n", + "train loss:0.006663246574152439\n", + "train loss:0.04956888702335279\n", + "train loss:0.010561559346069237\n", + "train loss:0.06943960723111972\n", + "train loss:0.016526853869173134\n", + "train loss:0.062146212376883864\n", + "train loss:0.002450905667569948\n", + "train loss:0.00862744804113943\n", + "train loss:0.09136282923651277\n", + "train loss:0.040070715201866725\n", + "train loss:0.06826940448483618\n", + "train loss:0.05575837921489395\n", + "train loss:0.03968476250010683\n", + "train loss:0.03173308895838103\n", + "train loss:0.021160972769975486\n", + "train loss:0.032893812106105313\n", + "train loss:0.11832605196546851\n", + "train loss:0.028562107400116648\n", + "train loss:0.014636658347795024\n", + "train loss:0.011869305971502842\n", + "train loss:0.01350486409911798\n", + "train loss:0.039417617114313803\n", + "train loss:0.042802945949964526\n", + "train loss:0.029851365625293124\n", + "train loss:0.07807229867798837\n", + "train loss:0.0595826861014658\n", + "train loss:0.009528144026908032\n", + "train loss:0.04007820682016095\n", + "train loss:0.027478603783065117\n", + "train loss:0.012493545450547925\n", + "train loss:0.08715134785081526\n", + "train loss:0.009116865416806548\n", + "train loss:0.029686936192487606\n", + "train loss:0.024115112136389425\n", + "train loss:0.02083956320178967\n", + "train loss:0.008701456767494363\n", + "train loss:0.046238745808900104\n", + "train loss:0.051415693586310374\n", + "train loss:0.08940215798964898\n", + "train loss:0.04199110373376825\n", + "train loss:0.010637692802635192\n", + "train loss:0.018788374759953732\n", + "train loss:0.009456496895886388\n", + "train loss:0.044643190567696944\n", + "train loss:0.07387939421969465\n", + "train loss:0.042139229966386464\n", + "train loss:0.018619599781026216\n", + "train loss:0.05709549602543564\n", + "train loss:0.023286786847429786\n", + "train loss:0.005982751150704235\n", + "train loss:0.01588317396364299\n", + "train loss:0.04098587694924442\n", + "train loss:0.08545765966993402\n", + "train loss:0.12435609478719986\n", + "train loss:0.04635327894169161\n", + "train loss:0.04813189532127796\n", + "train loss:0.009310414346959981\n", + "train loss:0.024836236539361137\n", + "train loss:0.03976353907650805\n", + "train loss:0.05782597304727284\n", + "train loss:0.03915233990320147\n", + "train loss:0.10341440249939808\n", + "train loss:0.03965337120006645\n", + "train loss:0.05937576055328322\n", + "train loss:0.02544844467914937\n", + "train loss:0.09659530959315242\n", + "train loss:0.006026892382481983\n", + "train loss:0.053048217688267105\n", + "train loss:0.013645598823160434\n", + "train loss:0.03249592247270706\n", + "train loss:0.04956235038579755\n", + "train loss:0.07099020812109508\n", + "train loss:0.027814754682288428\n", + "train loss:0.018373542383196332\n", + "train loss:0.03534704662048139\n", + "train loss:0.056705300700339585\n", + "train loss:0.022705465265217488\n", + "train loss:0.0906036655851131\n", + "train loss:0.01901031883327721\n", + "train loss:0.08937071804587067\n", + "train loss:0.03518337626716592\n", + "train loss:0.055552532785293145\n", + "train loss:0.021090213543935102\n", + "train loss:0.02465155949271249\n", + "train loss:0.02167844208879302\n", + "train loss:0.04094683512076733\n", + "train loss:0.010875545364966481\n", + "train loss:0.024334988613554195\n", + "train loss:0.018045639025233096\n", + "train loss:0.061033005051545006\n", + "train loss:0.03040594144530039\n", + "train loss:0.013155669403693986\n", + "train loss:0.020193891015651076\n", + "train loss:0.023786280248956026\n", + "train loss:0.030108644983596732\n", + "train loss:0.017605745121888117\n", + "train loss:0.03774153135152125\n", + "train loss:0.006163256093386115\n", + "train loss:0.07667879741373806\n", + "train loss:0.03968374397668613\n", + "train loss:0.009774105327088434\n", + "train loss:0.09089734905764754\n", + "train loss:0.036662499700769194\n", + "train loss:0.013951313263617099\n", + "train loss:0.015348354014151269\n", + "train loss:0.019297980717608403\n", + "train loss:0.013361179001670886\n", + "train loss:0.05344038251645204\n", + "train loss:0.011989950955495593\n", + "train loss:0.023522149927243673\n", + "train loss:0.026596584510884824\n", + "train loss:0.017365738299739215\n", + "train loss:0.019513381667836956\n", + "train loss:0.04075210228642066\n", + "train loss:0.023027861512222015\n", + "train loss:0.022090945227686773\n", + "train loss:0.028394138566821808\n", + "train loss:0.03136113283543265\n", + "train loss:0.01781654644261372\n", + "train loss:0.05586342790950075\n", + "train loss:0.047473396697932595\n", + "train loss:0.02972750457642014\n", + "train loss:0.014812613434478072\n", + "train loss:0.05516837713140136\n", + "train loss:0.014521621659025399\n", + "train loss:0.010619562161853635\n", + "train loss:0.008038083265295023\n", + "train loss:0.03345570705178975\n", + "train loss:0.04678590762854684\n", + "train loss:0.02319321089295287\n", + "train loss:0.007363265778514325\n", + "train loss:0.009489595303459497\n", + "train loss:0.022111319532910133\n", + "train loss:0.04804881597477237\n", + "train loss:0.03182343505952094\n", + "train loss:0.05242816048255374\n", + "train loss:0.0092717930724479\n", + "train loss:0.053738200315132996\n", + "train loss:0.013935322758099897\n", + "train loss:0.030318736396207635\n", + "train loss:0.0069054228846270015\n", + "train loss:0.008155510267331108\n", + "train loss:0.02146826009620953\n", + "train loss:0.04563870141138913\n", + "train loss:0.059097909985536205\n", + "train loss:0.008641008368648872\n", + "train loss:0.012859331386589816\n", + "train loss:0.040027992114809834\n", + "train loss:0.04580808349416996\n", + "train loss:0.07742667535311282\n", + "train loss:0.04445178723785455\n", + "train loss:0.018143853547539442\n", + "train loss:0.08155413701756407\n", + "train loss:0.021905288353233323\n", + "train loss:0.018143467788453244\n", + "train loss:0.027720284531972682\n", + "train loss:0.10984156100482935\n", + "train loss:0.014868023100759716\n", + "train loss:0.02342783077132851\n", + "train loss:0.11819936522106705\n", + "train loss:0.01770724305453528\n", + "train loss:0.03354682174683446\n", + "train loss:0.05685137085887233\n", + "train loss:0.16833899750180262\n", + "train loss:0.0611629548366938\n", + "train loss:0.015089227146599923\n", + "train loss:0.059412165573144736\n", + "train loss:0.05307108365762954\n", + "train loss:0.04717764487426053\n", + "train loss:0.0495931004339012\n", + "train loss:0.04328323396791903\n", + "train loss:0.010930856503913218\n", + "train loss:0.05933171731881362\n", + "train loss:0.016177524904400897\n", + "train loss:0.04065936867002505\n", + "train loss:0.02508232658381683\n", + "train loss:0.015861414174150608\n", + "train loss:0.09535315745519339\n", + "train loss:0.014516866890058069\n", + "train loss:0.04002762201522025\n", + "train loss:0.03135848303713348\n", + "train loss:0.009481261243858764\n", + "train loss:0.03374038800696127\n", + "train loss:0.0063729145447188485\n", + "train loss:0.02418746522824089\n", + "train loss:0.006510320967766207\n", + "train loss:0.021977936407616278\n", + "train loss:0.030681519597150483\n", + "train loss:0.014501082753709055\n", + "train loss:0.014048866725674503\n", + "train loss:0.009278231538369475\n", + "train loss:0.010909558564343128\n", + "train loss:0.026321698859848378\n", + "train loss:0.015120527890346035\n", + "train loss:0.04342484435232639\n", + "train loss:0.01362966640584521\n", + "train loss:0.017507649462094273\n", + "train loss:0.020479663141357227\n", + "train loss:0.016552491071714973\n", + "train loss:0.03582646443826552\n", + "train loss:0.03505739267780685\n", + "train loss:0.05381391474573313\n", + "train loss:0.03250499209327579\n", + "train loss:0.035389424338323365\n", + "train loss:0.02616377851353549\n", + "train loss:0.01166299966650289\n", + "train loss:0.01062888239504295\n", + "train loss:0.0469160333308244\n", + "train loss:0.04435325908649602\n", + "train loss:0.039798541874441894\n", + "train loss:0.0211458157444851\n", + "train loss:0.035032664334021094\n", + "train loss:0.007571534179136649\n", + "train loss:0.007960370753440521\n", + "train loss:0.061153089025977075\n", + "train loss:0.08216068197656357\n", + "train loss:0.03526056946680147\n", + "train loss:0.02291616427617228\n", + "train loss:0.02093099629225151\n", + "train loss:0.026124481797438804\n", + "train loss:0.09003327801055433\n", + "train loss:0.044252715522238445\n", + "train loss:0.03466958849448294\n", + "train loss:0.012929143842856712\n", + "train loss:0.026722481529615646\n", + "train loss:0.03713423012126638\n", + "train loss:0.008147078548536713\n", + "train loss:0.04605904631925984\n", + "train loss:0.07348430327126232\n", + "train loss:0.03737583482471938\n", + "train loss:0.016824940978696506\n", + "train loss:0.031555638865627234\n", + "train loss:0.026669423761374423\n", + "train loss:0.005998927927007138\n", + "train loss:0.03294494754260786\n", + "train loss:0.028530425001498563\n", + "train loss:0.00485546521429006\n", + "train loss:0.04385815811660348\n", + "train loss:0.01628513557303745\n", + "train loss:0.0439994380580084\n", + "train loss:0.009289756987924218\n", + "train loss:0.0033686796861901206\n", + "train loss:0.02186438838076439\n", + "train loss:0.022278984859949655\n", + "train loss:0.04743962216546358\n", + "train loss:0.038008261548763085\n", + "train loss:0.00965300335449213\n", + "train loss:0.0062467420473565185\n", + "train loss:0.018770777644317633\n", + "train loss:0.020399836188197757\n", + "train loss:0.00910006617308737\n", + "train loss:0.042684605039799886\n", + "train loss:0.021595431130570185\n", + "train loss:0.026297433336369785\n", + "train loss:0.0023942636947489977\n", + "=== epoch:5, train acc:0.983, test acc:0.981 ===\n", + "train loss:0.017095988987452706\n", + "train loss:0.008098281415507128\n", + "train loss:0.04306889575835673\n", + "train loss:0.028317602949993165\n", + "train loss:0.00937382256338845\n", + "train loss:0.027557259371400463\n", + "train loss:0.01705453597833812\n", + "train loss:0.03999394014052395\n", + "train loss:0.02665557740904657\n", + "train loss:0.022218244569406263\n", + "train loss:0.06882688328730285\n", + "train loss:0.025012184002542417\n", + "train loss:0.01308808975980115\n", + "train loss:0.017159241706776494\n", + "train loss:0.007477865457946025\n", + "train loss:0.01962234249222301\n", + "train loss:0.004300529847186558\n", + "train loss:0.020419742755230702\n", + "train loss:0.03409915168097206\n", + "train loss:0.006033702132192825\n", + "train loss:0.05429985938335906\n", + "train loss:0.01865160460912085\n", + "train loss:0.015838293075357737\n", + "train loss:0.021304366116336886\n", + "train loss:0.061829335347260796\n", + "train loss:0.021613217853968737\n", + "train loss:0.02853534938286408\n", + "train loss:0.00799105729619299\n", + "train loss:0.0016651603683949117\n", + "train loss:0.03843321465643174\n", + "train loss:0.0222760378584557\n", + "train loss:0.07151709928548054\n", + "train loss:0.041783423556628556\n", + "train loss:0.018049289879206953\n", + "train loss:0.00481654413188136\n", + "train loss:0.08304808186011474\n", + "train loss:0.01610027953967244\n", + "train loss:0.09017292735933742\n", + "train loss:0.012382116113549741\n", + "train loss:0.0729317069902299\n", + "train loss:0.015323954664926\n", + "train loss:0.05940094033874435\n", + "train loss:0.01020742408235392\n", + "train loss:0.018963831421489167\n", + "train loss:0.025172102930687824\n", + "train loss:0.05384569269090242\n", + "train loss:0.02910512401382535\n", + "train loss:0.023079583085780297\n", + "train loss:0.02674886351486489\n", + "train loss:0.006390561354750049\n", + "train loss:0.035921644369447545\n", + "train loss:0.022533394648289032\n", + "train loss:0.16836191122704655\n", + "train loss:0.058010693620808504\n", + "train loss:0.02072510392871736\n", + "train loss:0.011649438123690061\n", + "train loss:0.008948014501926251\n", + "train loss:0.04289416209365823\n", + "train loss:0.01803896499084558\n", + "train loss:0.03721593931141251\n", + "train loss:0.018517144958109678\n", + "train loss:0.012555075157200278\n", + "train loss:0.014029963232926377\n", + "train loss:0.06748832918308603\n", + "train loss:0.011884430188332698\n", + "train loss:0.01638280110326394\n", + "train loss:0.029685314685623267\n", + "train loss:0.01305635686137228\n", + "train loss:0.022498778929189875\n", + "train loss:0.00785562572436136\n", + "train loss:0.012264734626060496\n", + "train loss:0.02266401099694447\n", + "train loss:0.038810230406983386\n", + "train loss:0.09811677519047485\n", + "train loss:0.02870588872604664\n", + "train loss:0.053925247201902504\n", + "train loss:0.03469421713774433\n", + "train loss:0.01608252761733957\n", + "train loss:0.011757270443044816\n", + "train loss:0.02808974314771624\n", + "train loss:0.02214408177845175\n", + "train loss:0.0039863750416261464\n", + "train loss:0.030374870240101822\n", + "train loss:0.005877384865981735\n", + "train loss:0.025331193026673807\n", + "train loss:0.04708701962082054\n", + "train loss:0.09614894005471167\n", + "train loss:0.04240250505554264\n", + "train loss:0.025621210424236165\n", + "train loss:0.023069718497241324\n", + "train loss:0.046528284122229036\n", + "train loss:0.023032394289578702\n", + "train loss:0.03454247907516298\n", + "train loss:0.05773781884926804\n", + "train loss:0.04885844019295748\n", + "train loss:0.012901871547161768\n", + "train loss:0.03298469330032046\n", + "train loss:0.029661992310190528\n", + "train loss:0.03513862272926802\n", + "train loss:0.06302991265622816\n", + "train loss:0.06962719935258148\n", + "train loss:0.029270731367635507\n", + "train loss:0.0307688208983392\n", + "train loss:0.010764033595985753\n", + "train loss:0.03510727913190384\n", + "train loss:0.04279451473766488\n", + "train loss:0.07720294130257317\n", + "train loss:0.012372459397296453\n", + "train loss:0.05384296923771666\n", + "train loss:0.009159706383174777\n", + "train loss:0.011952992580924318\n", + "train loss:0.02710975344585748\n", + "train loss:0.04654706901272812\n", + "train loss:0.04498699941557835\n", + "train loss:0.01942016057355337\n", + "train loss:0.04180582564496378\n", + "train loss:0.02127033520589143\n", + "train loss:0.05449973087477402\n", + "train loss:0.03374613456224227\n", + "train loss:0.053643876594847234\n", + "train loss:0.017566297293179572\n", + "train loss:0.11751550031552269\n", + "train loss:0.013195752775974503\n", + "train loss:0.12393382793680552\n", + "train loss:0.006774201636979418\n", + "train loss:0.015334598223525201\n", + "train loss:0.05556436155916192\n", + "train loss:0.05127552781682119\n", + "train loss:0.037854500872628614\n", + "train loss:0.0161583012331388\n", + "train loss:0.0129327603928571\n", + "train loss:0.045662113199230754\n", + "train loss:0.02888910056081264\n", + "train loss:0.030065145344262002\n", + "train loss:0.04204068134743808\n", + "train loss:0.045438433540505245\n", + "train loss:0.050868814932999405\n", + "train loss:0.03154620458337553\n", + "train loss:0.02072307709172329\n", + "train loss:0.024964639509414976\n", + "train loss:0.01943283544776725\n", + "train loss:0.01790409727519633\n", + "train loss:0.056586551943306806\n", + "train loss:0.008870480714152904\n", + "train loss:0.01859376239174915\n", + "train loss:0.025234562802935002\n", + "train loss:0.061527296650516865\n", + "train loss:0.021648801450997786\n", + "train loss:0.010172288981383974\n", + "train loss:0.014489122251949784\n", + "train loss:0.024503193446432946\n", + "train loss:0.012760297450635038\n", + "train loss:0.014975640079107516\n", + "train loss:0.1448136982268607\n", + "train loss:0.026009507596949342\n", + "train loss:0.03767127968733072\n", + "train loss:0.012173960039960267\n", + "train loss:0.01637364267102756\n", + "train loss:0.010486078613163965\n", + "train loss:0.015090144292346239\n", + "train loss:0.0064093811464283135\n", + "train loss:0.021250038970978342\n", + "train loss:0.03891241625527539\n", + "train loss:0.028962433728947655\n", + "train loss:0.018822670177077346\n", + "train loss:0.02772893278000992\n", + "train loss:0.07347831057278531\n", + "train loss:0.014030013831936052\n", + "train loss:0.08913841608837009\n", + "train loss:0.02789576654238652\n", + "train loss:0.005386522222775727\n", + "train loss:0.004754696557030509\n", + "train loss:0.032725803332140854\n", + "train loss:0.009806252099714426\n", + "train loss:0.03184446609558407\n", + "train loss:0.022850642574245402\n", + "train loss:0.01664000449769053\n", + "train loss:0.018296393233202937\n", + "train loss:0.0064061108095743915\n", + "train loss:0.089008828990426\n", + "train loss:0.00980040751796044\n", + "train loss:0.11385523031403968\n", + "train loss:0.011862929794217249\n", + "train loss:0.004572570850792531\n", + "train loss:0.06909936065286443\n", + "train loss:0.008137406479356353\n", + "train loss:0.023238134817015844\n", + "train loss:0.022424844839110992\n", + "train loss:0.06668334730321585\n", + "train loss:0.02298736159296905\n", + "train loss:0.06272639399150924\n", + "train loss:0.011395905773684923\n", + "train loss:0.01079863228024286\n", + "train loss:0.03629598611746465\n", + "train loss:0.016305845289096604\n", + "train loss:0.03895256029724598\n", + "train loss:0.01993635585810087\n", + "train loss:0.007107632740970197\n", + "train loss:0.04542777457230232\n", + "train loss:0.014336957331369984\n", + "train loss:0.03825131755175121\n", + "train loss:0.021694414343555058\n", + "train loss:0.020941797814202405\n", + "train loss:0.005016189977472932\n", + "train loss:0.03905684260868672\n", + "train loss:0.005464580929197298\n", + "train loss:0.006591308430556645\n", + "train loss:0.02393483927320732\n", + "train loss:0.03126033271641227\n", + "train loss:0.013551417448319052\n", + "train loss:0.08536793776518188\n", + "train loss:0.02212013023492543\n", + "train loss:0.036806035149784595\n", + "train loss:0.015383631706004312\n", + "train loss:0.016093053493769903\n", + "train loss:0.005804047158269695\n", + "train loss:0.020333508203021187\n", + "train loss:0.01788165587134432\n", + "train loss:0.04879351550097906\n", + "train loss:0.04063473615767996\n", + "train loss:0.061873280563324834\n", + "train loss:0.007703442045782726\n", + "train loss:0.06116896217329868\n", + "train loss:0.006496112923947152\n", + "train loss:0.012853510319436587\n", + "train loss:0.04460851625194964\n", + "train loss:0.014219449765468146\n", + "train loss:0.0030760911777916893\n", + "train loss:0.007770963446567568\n", + "train loss:0.03188989107248431\n", + "train loss:0.01623113406473351\n", + "train loss:0.019688525787595407\n", + "train loss:0.007521447509891916\n", + "train loss:0.0720711908399066\n", + "train loss:0.03661930602595638\n", + "train loss:0.006773563670897645\n", + "train loss:0.01234308589355974\n", + "train loss:0.01430141785204694\n", + "train loss:0.01492218101860366\n", + "train loss:0.014053188098878528\n", + "train loss:0.03359341767573572\n", + "train loss:0.03040206910168641\n", + "train loss:0.05401146788339865\n", + "train loss:0.021186259445379985\n", + "train loss:0.04689376305416235\n", + "train loss:0.05613863130592807\n", + "train loss:0.006147500233734499\n", + "train loss:0.04305127967700785\n", + "train loss:0.011057515480120064\n", + "train loss:0.012337991748814319\n", + "train loss:0.018057558014124203\n", + "train loss:0.045581986098472214\n", + "train loss:0.10349266732232291\n", + "train loss:0.02816349918694025\n", + "train loss:0.050292511442864514\n", + "train loss:0.008517507221011314\n", + "train loss:0.022798546355951372\n", + "train loss:0.020420112071190127\n", + "train loss:0.04680249359292835\n", + "train loss:0.012497157763642176\n", + "train loss:0.036195415066314934\n", + "train loss:0.020093400835891995\n", + "train loss:0.00998850825061128\n", + "train loss:0.06345006515353682\n", + "train loss:0.04905246947408582\n", + "train loss:0.008456969287800696\n", + "train loss:0.014182984330892521\n", + "train loss:0.023258504719240757\n", + "train loss:0.00468004805080663\n", + "train loss:0.04195768558757444\n", + "train loss:0.04272194093445303\n", + "train loss:0.008157321803013406\n", + "train loss:0.049625654304874034\n", + "train loss:0.025645784919620954\n", + "train loss:0.021430100814364215\n", + "train loss:0.016689168547674958\n", + "train loss:0.04193998696118767\n", + "train loss:0.0655205753272174\n", + "train loss:0.008383686602650419\n", + "train loss:0.04569143901206751\n", + "train loss:0.014420874243673219\n", + "train loss:0.013661103984437244\n", + "train loss:0.011226673082849813\n", + "train loss:0.0124075176116647\n", + "train loss:0.05558228454207223\n", + "train loss:0.07663250684585753\n", + "train loss:0.009387446190345757\n", + "train loss:0.037449004613392234\n", + "train loss:0.021621382918480925\n", + "train loss:0.016951133012239543\n", + "train loss:0.033870878616162114\n", + "train loss:0.02464125159618489\n", + "train loss:0.038508642296487185\n", + "train loss:0.04881890745206028\n", + "train loss:0.061722623100490745\n", + "train loss:0.023298774373800374\n", + "train loss:0.010013536645651522\n", + "train loss:0.06280389848855523\n", + "train loss:0.0833669121733403\n", + "train loss:0.011435196432317052\n", + "train loss:0.024497712919379383\n", + "train loss:0.056964434447518045\n", + "train loss:0.012575120598953975\n", + "train loss:0.01539858587825398\n", + "train loss:0.0038066159853119923\n", + "train loss:0.01611530606473001\n", + "train loss:0.04417326429086628\n", + "train loss:0.011513054645964478\n", + "train loss:0.048289754580512476\n", + "train loss:0.0345798692078198\n", + "train loss:0.011736645040028503\n", + "train loss:0.009087162977754717\n", + "train loss:0.013543503192964374\n", + "train loss:0.01354998344792842\n", + "train loss:0.029236979528191234\n", + "train loss:0.03270522033566634\n", + "train loss:0.07163084598570321\n", + "train loss:0.08084695777054579\n", + "train loss:0.010327067607679027\n", + "train loss:0.02279503702346028\n", + "train loss:0.011784488359460584\n", + "train loss:0.029478907002665734\n", + "train loss:0.025860389420885886\n", + "train loss:0.013507830221919542\n", + "train loss:0.009633279781020717\n", + "train loss:0.04909748264579222\n", + "train loss:0.0074625753235532475\n", + "train loss:0.0159649444150298\n", + "train loss:0.05569460050641434\n", + "train loss:0.020383448991916173\n", + "train loss:0.02687752261369398\n", + "train loss:0.031907889655207515\n", + "train loss:0.028861521720654097\n", + "train loss:0.006542892666866477\n", + "train loss:0.008769094665312054\n", + "train loss:0.11726929354652901\n", + "train loss:0.025975498563194255\n", + "train loss:0.015681741411239597\n", + "train loss:0.03261597650015279\n", + "train loss:0.039731704585880684\n", + "train loss:0.015476040448249241\n", + "train loss:0.043614952250886685\n", + "train loss:0.007998035131048398\n", + "train loss:0.08027948498930887\n", + "train loss:0.01091418954431316\n", + "train loss:0.014918230951769619\n", + "train loss:0.02456804917697037\n", + "train loss:0.03149043417293889\n", + "train loss:0.036412742566632156\n", + "train loss:0.011923507571295655\n", + "train loss:0.09846704597262629\n", + "train loss:0.01974264913315048\n", + "train loss:0.06337742352258471\n", + "train loss:0.035702344419647966\n", + "train loss:0.03832199457767713\n", + "train loss:0.008318689651338555\n", + "train loss:0.008793883272857943\n", + "train loss:0.0126658297242591\n", + "train loss:0.014784907243580272\n", + "train loss:0.016122636396755853\n", + "train loss:0.04079913989355026\n", + "train loss:0.015019593442369724\n", + "train loss:0.029791335118415314\n", + "train loss:0.035136413589467994\n", + "train loss:0.03151087615768727\n", + "train loss:0.037321616717437216\n", + "train loss:0.06366299894790477\n", + "train loss:0.014775998201792118\n", + "train loss:0.006400090786908084\n", + "train loss:0.019791539788059455\n", + "train loss:0.024688016046513103\n", + "train loss:0.017525644497893247\n", + "train loss:0.009138228183983793\n", + "train loss:0.0134124382109524\n", + "train loss:0.006885662286145861\n", + "train loss:0.010577501201775039\n", + "train loss:0.04452602942670873\n", + "train loss:0.011515543977677543\n", + "train loss:0.026485702800371384\n", + "train loss:0.05805049754433881\n", + "train loss:0.06642304371376652\n", + "train loss:0.008990556361734781\n", + "train loss:0.036445459420712624\n", + "train loss:0.0069789591333029545\n", + "train loss:0.03018429256414766\n", + "train loss:0.02697318052252881\n", + "train loss:0.031482737107046126\n", + "train loss:0.006723096681147552\n", + "train loss:0.06102262577476979\n", + "train loss:0.018887648004186467\n", + "train loss:0.04559589916411719\n", + "train loss:0.003900071114842368\n", + "train loss:0.02772481960683396\n", + "train loss:0.02025993960452975\n", + "train loss:0.011913896687286523\n", + "train loss:0.004094115400812024\n", + "train loss:0.024571704621338623\n", + "train loss:0.03116340252546991\n", + "train loss:0.10159270673220643\n", + "train loss:0.007997219120402221\n", + "train loss:0.04203617447948042\n", + "train loss:0.009928237835694137\n", + "train loss:0.05332546576237871\n", + "train loss:0.007883874327112796\n", + "train loss:0.007029309007842932\n", + "train loss:0.0346168048578776\n", + "train loss:0.005773420750233992\n", + "train loss:0.015934418974424883\n", + "train loss:0.030720839013835315\n", + "train loss:0.05513804738626352\n", + "train loss:0.009156928326512466\n", + "train loss:0.07426135213270352\n", + "train loss:0.041739443426189744\n", + "train loss:0.013709781181498156\n", + "train loss:0.01229276535818119\n", + "train loss:0.0014734484550771039\n", + "train loss:0.013004005655734419\n", + "train loss:0.006639542999354017\n", + "train loss:0.018974989383488607\n", + "train loss:0.012327784565542009\n", + "train loss:0.07023792893283048\n", + "train loss:0.00963118137959133\n", + "train loss:0.009639805466372962\n", + "train loss:0.008514268869261104\n", + "train loss:0.0030576560713397897\n", + "train loss:0.061815967363901284\n", + "train loss:0.02700871737161879\n", + "train loss:0.004858537184330976\n", + "train loss:0.03664470149417212\n", + "train loss:0.006607701034542137\n", + "train loss:0.029721607232473204\n", + "train loss:0.05081868427638586\n", + "train loss:0.009889742519923474\n", + "train loss:0.04045630739255112\n", + "train loss:0.023560100227002133\n", + "train loss:0.010340926514865876\n", + "train loss:0.05100847991511154\n", + "train loss:0.024236908057501387\n", + "train loss:0.04771958059749332\n", + "train loss:0.04618754540070847\n", + "train loss:0.021450436145198468\n", + "train loss:0.020370694390459153\n", + "train loss:0.01732312081614011\n", + "train loss:0.0693120098647547\n", + "train loss:0.028670878105961986\n", + "train loss:0.04600716689987336\n", + "train loss:0.03385108193229938\n", + "train loss:0.07236311109704852\n", + "train loss:0.01906336893061132\n", + "train loss:0.06378749729679921\n", + "train loss:0.013664759552495244\n", + "train loss:0.007827885583399093\n", + "train loss:0.003011138599932629\n", + "train loss:0.006940396482276011\n", + "train loss:0.02833473145992676\n", + "train loss:0.023436785330792947\n", + "train loss:0.02295279369985635\n", + "train loss:0.03354088773862542\n", + "train loss:0.026588207023590233\n", + "train loss:0.04596759635351553\n", + "train loss:0.002236712822829867\n", + "train loss:0.010303357022935597\n", + "train loss:0.008915725581576682\n", + "train loss:0.017929635811053755\n", + "train loss:0.011038224353062375\n", + "train loss:0.00537131045556152\n", + "train loss:0.04896921082286302\n", + "train loss:0.02036726025694237\n", + "train loss:0.009360417594650608\n", + "train loss:0.011874679823326994\n", + "train loss:0.008123551146858428\n", + "train loss:0.026214200988157264\n", + "train loss:0.009817204087209912\n", + "train loss:0.015093179064345388\n", + "train loss:0.00790333570551424\n", + "train loss:0.01106979781065495\n", + "train loss:0.026511433123808815\n", + "train loss:0.025969495113651087\n", + "train loss:0.01100931621407524\n", + "train loss:0.00975215252027202\n", + "train loss:0.0023875299004491573\n", + "train loss:0.01311614759520336\n", + "train loss:0.02113032283504347\n", + "train loss:0.00797566786840766\n", + "train loss:0.04735253915943206\n", + "train loss:0.016051035749898402\n", + "train loss:0.021875886105756588\n", + "train loss:0.039673667291969\n", + "train loss:0.007984697161008908\n", + "train loss:0.018587526250840602\n", + "train loss:0.005727857255764231\n", + "train loss:0.023096294195402534\n", + "train loss:0.010827017450730576\n", + "train loss:0.007873242062472254\n", + "train loss:0.07614649454891623\n", + "train loss:0.02014169681198589\n", + "train loss:0.044775177769304675\n", + "train loss:0.04863137682991883\n", + "train loss:0.009775834561340102\n", + "train loss:0.002674665451160624\n", + "train loss:0.015584260207895807\n", + "train loss:0.014698819199822239\n", + "train loss:0.02665008422967243\n", + "train loss:0.06313605805694891\n", + "train loss:0.026219967658215437\n", + "train loss:0.01663325585991789\n", + "train loss:0.025292518295665648\n", + "train loss:0.004012249707736077\n", + "train loss:0.024334416855112635\n", + "train loss:0.008863768837474537\n", + "train loss:0.06890654760831781\n", + "train loss:0.012173576736101185\n", + "train loss:0.012378656578605396\n", + "train loss:0.00518348547272684\n", + "train loss:0.005706497269763731\n", + "train loss:0.017773730051364525\n", + "train loss:0.11304016302431688\n", + "train loss:0.005178145210933291\n", + "train loss:0.017166041777282412\n", + "train loss:0.01734442653737476\n", + "train loss:0.010115168846707802\n", + "train loss:0.005696258297025692\n", + "train loss:0.021783231922563026\n", + "train loss:0.020518879684734953\n", + "train loss:0.009176450421854167\n", + "train loss:0.03029658825515895\n", + "train loss:0.01387781266354121\n", + "train loss:0.05983839882920775\n", + "train loss:0.006616606000482425\n", + "train loss:0.009873506411610958\n", + "train loss:0.0032954707659283693\n", + "train loss:0.05355597172820582\n", + "train loss:0.05029590541444521\n", + "train loss:0.03009206275593539\n", + "train loss:0.05087661919595957\n", + "train loss:0.028442390988002293\n", + "train loss:0.024273844965507867\n", + "train loss:0.025597095373926085\n", + "train loss:0.011240999987105151\n", + "train loss:0.02254707817723738\n", + "train loss:0.009502651467413104\n", + "train loss:0.023873318303491722\n", + "train loss:0.0925762116034028\n", + "train loss:0.04709916423545788\n", + "train loss:0.011341409498885685\n", + "train loss:0.07188429605758506\n", + "train loss:0.01578768306490346\n", + "train loss:0.032580558298501594\n", + "train loss:0.01989053769262266\n", + "train loss:0.018902864322287792\n", + "train loss:0.04040934053626476\n", + "train loss:0.012381283504163178\n", + "train loss:0.01278501098838325\n", + "train loss:0.010447434634080993\n", + "train loss:0.0540720111354568\n", + "train loss:0.006087310338142847\n", + "train loss:0.02442577945068002\n", + "train loss:0.01140376282353437\n", + "train loss:0.007483060343334653\n", + "train loss:0.030272211079750783\n", + "train loss:0.01884655763454915\n", + "train loss:0.01521956998489757\n", + "train loss:0.06080215374154393\n", + "train loss:0.03130249854550443\n", + "train loss:0.02544420718317743\n", + "train loss:0.014654788580333564\n", + "train loss:0.014230762080392647\n", + "train loss:0.026942258796862358\n", + "train loss:0.023942650697099343\n", + "train loss:0.034089960502718814\n", + "train loss:0.014501198021823107\n", + "train loss:0.008442944808991494\n", + "train loss:0.023501015812579268\n", + "train loss:0.08215813645737448\n", + "train loss:0.030699545280513166\n", + "train loss:0.01356134527142648\n", + "train loss:0.021627120703581516\n", + "train loss:0.042796588684527966\n", + "train loss:0.00188643938644199\n", + "train loss:0.01699597556673412\n", + "train loss:0.0025558796230022223\n", + "train loss:0.13981434407258836\n", + "train loss:0.023812390044832564\n", + "train loss:0.010875143978309323\n", + "train loss:0.05965584018564838\n", + "train loss:0.019028090968068564\n", + "train loss:0.036251695945578\n", + "train loss:0.01688129926996423\n", + "train loss:0.0406498638185965\n", + "train loss:0.005683759888435546\n", + "train loss:0.007697411077721178\n", + "train loss:0.02997717260223812\n", + "train loss:0.014012592959914192\n", + "train loss:0.07405760366864467\n", + "train loss:0.010167422732725431\n", + "train loss:0.016053342517104642\n", + "train loss:0.0353307256561621\n", + "train loss:0.09287015778253141\n", + "train loss:0.05450366833601098\n", + "train loss:0.02378319607048566\n", + "=== epoch:6, train acc:0.989, test acc:0.98 ===\n", + "train loss:0.020809248777164877\n", + "train loss:0.04280698175257031\n", + "train loss:0.017105015125009216\n", + "train loss:0.02480643181652417\n", + "train loss:0.004335607420940324\n", + "train loss:0.0066707024321253534\n", + "train loss:0.015888614789769034\n", + "train loss:0.026481337962065504\n", + "train loss:0.004617463381011827\n", + "train loss:0.008850178144600969\n", + "train loss:0.02021403694571872\n", + "train loss:0.03449938466182247\n", + "train loss:0.004987728987375381\n", + "train loss:0.009986087452975403\n", + "train loss:0.007129557704164784\n", + "train loss:0.04612682177004778\n", + "train loss:0.004539793384710632\n", + "train loss:0.011070844772968437\n", + "train loss:0.03726291393468726\n", + "train loss:0.042042759056089334\n", + "train loss:0.023020628004249824\n", + "train loss:0.02338505400935517\n", + "train loss:0.013702409424299877\n", + "train loss:0.011571584104264388\n", + "train loss:0.007781663960610931\n", + "train loss:0.08555600489780323\n", + "train loss:0.020221805791106155\n", + "train loss:0.016398284038152567\n", + "train loss:0.017715909346725317\n", + "train loss:0.022693110671105254\n", + "train loss:0.023355153591307357\n", + "train loss:0.07508612429666342\n", + "train loss:0.011188550551325012\n", + "train loss:0.02257848564753707\n", + "train loss:0.03882399363296872\n", + "train loss:0.011891487438093339\n", + "train loss:0.021111339134118286\n", + "train loss:0.053538516976313726\n", + "train loss:0.13704307004187113\n", + "train loss:0.01363197185565789\n", + "train loss:0.014717143480828398\n", + "train loss:0.017249178214105387\n", + "train loss:0.015911285906090637\n", + "train loss:0.044813092838316894\n", + "train loss:0.008342447643476029\n", + "train loss:0.032588644829345544\n", + "train loss:0.007508165954416296\n", + "train loss:0.07931734144922352\n", + "train loss:0.03543794432522584\n", + "train loss:0.016442647426072765\n", + "train loss:0.009903655663909695\n", + "train loss:0.028365729910649642\n", + "train loss:0.010630553336799181\n", + "train loss:0.00864170714345996\n", + "train loss:0.007712137468477478\n", + "train loss:0.0050083897903676015\n", + "train loss:0.017651377345426652\n", + "train loss:0.012815898071447857\n", + "train loss:0.010914556049725094\n", + "train loss:0.0291804926442202\n", + "train loss:0.01617441537623946\n", + "train loss:0.0017531476885635146\n", + "train loss:0.006503723039688103\n", + "train loss:0.029059484323284927\n", + "train loss:0.009178402928734973\n", + "train loss:0.00688284281267498\n", + "train loss:0.02839486387559476\n", + "train loss:0.0032965387406802167\n", + "train loss:0.018697185005644653\n", + "train loss:0.08311024440658882\n", + "train loss:0.030859987849921836\n", + "train loss:0.008758973210287591\n", + "train loss:0.008675839181584292\n", + "train loss:0.012010352255444728\n", + "train loss:0.02221867624183986\n", + "train loss:0.00959431661722213\n", + "train loss:0.007325754770276197\n", + "train loss:0.014143295288370572\n", + "train loss:0.010791072766207783\n", + "train loss:0.0306841807090863\n", + "train loss:0.05550896505468139\n", + "train loss:0.07295187011947447\n", + "train loss:0.04075188398537205\n", + "train loss:0.013545378335510543\n", + "train loss:0.007912904307139439\n", + "train loss:0.012665277473073541\n", + "train loss:0.022260847694021865\n", + "train loss:0.012177260441226528\n", + "train loss:0.004811047183380167\n", + "train loss:0.011052420578776992\n", + "train loss:0.007320963423369932\n", + "train loss:0.03322347851413692\n", + "train loss:0.052999147843802455\n", + "train loss:0.026652177674814138\n", + "train loss:0.0034866583499630565\n", + "train loss:0.017479355979730434\n", + "train loss:0.010388929979624666\n", + "train loss:0.017454088436366973\n", + "train loss:0.06829203291404755\n", + "train loss:0.090404587899744\n", + "train loss:0.013939262256811165\n", + "train loss:0.018373310569176026\n", + "train loss:0.08236765334820077\n", + "train loss:0.02968142171111124\n", + "train loss:0.004040345957426434\n", + "train loss:0.0103926982510638\n", + "train loss:0.026504593036992992\n", + "train loss:0.04963288057987163\n", + "train loss:0.028227288641843064\n", + "train loss:0.019718280103822438\n", + "train loss:0.007316882577192631\n", + "train loss:0.03255116396121127\n", + "train loss:0.015594388733193376\n", + "train loss:0.02338481954196949\n", + "train loss:0.004604076518188741\n", + "train loss:0.020686477267039406\n", + "train loss:0.020174174671110295\n", + "train loss:0.01332586988831263\n", + "train loss:0.0375977097757921\n", + "train loss:0.01695982794590465\n", + "train loss:0.016483160469200692\n", + "train loss:0.003932326104475061\n", + "train loss:0.00794813884657515\n", + "train loss:0.019995672413912768\n", + "train loss:0.008277479731439922\n", + "train loss:0.013398558649394855\n", + "train loss:0.0365928278432557\n", + "train loss:0.008770371166473202\n", + "train loss:0.03713701522660624\n", + "train loss:0.007627181672050879\n", + "train loss:0.07282916447850438\n", + "train loss:0.0395614718058807\n", + "train loss:0.006402829326788623\n", + "train loss:0.030514612717519846\n", + "train loss:0.009762341810865825\n", + "train loss:0.0356118128398574\n", + "train loss:0.011794326742686876\n", + "train loss:0.005787927547976388\n", + "train loss:0.00636566955014915\n", + "train loss:0.014835765502923601\n", + "train loss:0.004808219909978044\n", + "train loss:0.01343151477325226\n", + "train loss:0.00827235684972218\n", + "train loss:0.027298212501995937\n", + "train loss:0.004225733640621753\n", + "train loss:0.00419484189172584\n", + "train loss:0.013756640556676197\n", + "train loss:0.013297527587317209\n", + "train loss:0.003370542018613678\n", + "train loss:0.031200207631927726\n", + "train loss:0.0181918627707107\n", + "train loss:0.008927528011449765\n", + "train loss:0.0485700409815767\n", + "train loss:0.014291742027193298\n", + "train loss:0.05748806484747143\n", + "train loss:0.06309089118716399\n", + "train loss:0.009966624492865015\n", + "train loss:0.10204753717030586\n", + "train loss:0.023737723579144675\n", + "train loss:0.016535873345276876\n", + "train loss:0.008029569555983586\n", + "train loss:0.06330236607431491\n", + "train loss:0.02133109822014214\n", + "train loss:0.007208229037177019\n", + "train loss:0.0061294552717994725\n", + "train loss:0.05819418846312024\n", + "train loss:0.016620021320978912\n", + "train loss:0.006390185412670376\n", + "train loss:0.019739165107361466\n", + "train loss:0.04241637983492183\n", + "train loss:0.04134732607630026\n", + "train loss:0.022852496088015425\n", + "train loss:0.048362392433810575\n", + "train loss:0.007046400899976949\n", + "train loss:0.013783171250045911\n", + "train loss:0.012312347583093117\n", + "train loss:0.017827247133830406\n", + "train loss:0.015346978905298174\n", + "train loss:0.0070869532087255585\n", + "train loss:0.016079784971554777\n", + "train loss:0.0031406955758659615\n", + "train loss:0.020580962071854142\n", + "train loss:0.015485631934724195\n", + "train loss:0.018534733918832067\n", + "train loss:0.06579958152296225\n", + "train loss:0.008409560794497672\n", + "train loss:0.0066497772206427115\n", + "train loss:0.01770137127132873\n", + "train loss:0.11056042088244396\n", + "train loss:0.027622815775052423\n", + "train loss:0.00952313127326749\n", + "train loss:0.04230439518534692\n", + "train loss:0.01698358872400787\n", + "train loss:0.013193334176323415\n", + "train loss:0.024487914234480376\n", + "train loss:0.009521120310506568\n", + "train loss:0.009586749646341453\n", + "train loss:0.02053839755548124\n", + "train loss:0.0018680961820362954\n", + "train loss:0.003521511662360626\n", + "train loss:0.009097020123734322\n", + "train loss:0.027322081480953567\n", + "train loss:0.008001863295541341\n", + "train loss:0.010433397225368648\n", + "train loss:0.012435983905054286\n", + "train loss:0.028241333710143906\n", + "train loss:0.010132116888925475\n", + "train loss:0.0055021906522837085\n", + "train loss:0.03839104305953717\n", + "train loss:0.02248541226764173\n", + "train loss:0.07061904910937153\n", + "train loss:0.00724093298883528\n", + "train loss:0.011663888443150732\n", + "train loss:0.010033318025087619\n", + "train loss:0.007270615132072935\n", + "train loss:0.01337949896567193\n", + "train loss:0.0018178027441787545\n", + "train loss:0.01881740482226054\n", + "train loss:0.024195709622437726\n", + "train loss:0.014417367426050551\n", + "train loss:0.005868396534104707\n", + "train loss:0.015800635352561477\n", + "train loss:0.03394670831082867\n", + "train loss:0.029960360576263844\n", + "train loss:0.00947264029031772\n", + "train loss:0.023058400149015154\n", + "train loss:0.011660883603437852\n", + "train loss:0.031687907130747164\n", + "train loss:0.07179361501887215\n", + "train loss:0.0032143372588013253\n", + "train loss:0.03395803980616228\n", + "train loss:0.005243012675934622\n", + "train loss:0.010924672845739867\n", + "train loss:0.012418562859866583\n", + "train loss:0.06737098313607133\n", + "train loss:0.006620871992735097\n", + "train loss:0.013187435742194942\n", + "train loss:0.012692665917296309\n", + "train loss:0.012582268126119305\n", + "train loss:0.017638209988133518\n", + "train loss:0.011585321961192685\n", + "train loss:0.004775141845797196\n", + "train loss:0.007765355102380515\n", + "train loss:0.013413790410501036\n", + "train loss:0.03449292291724224\n", + "train loss:0.042268189564898834\n", + "train loss:0.008596861583998134\n", + "train loss:0.013040475619343333\n", + "train loss:0.016815119209621848\n", + "train loss:0.01954748835542172\n", + "train loss:0.011815020596097086\n", + "train loss:0.0045935401017322235\n", + "train loss:0.008578487457604568\n", + "train loss:0.03272032217171873\n", + "train loss:0.014769505128623659\n", + "train loss:0.025126460712147122\n", + "train loss:0.016005973807077283\n", + "train loss:0.05205634947309013\n", + "train loss:0.006670259699277926\n", + "train loss:0.01020395123604235\n", + "train loss:0.000963726298429902\n", + "train loss:0.0014061441426578899\n", + "train loss:0.006406628192806986\n", + "train loss:0.07805146706324514\n", + "train loss:0.017276147708167176\n", + "train loss:0.00945453907317787\n", + "train loss:0.001824946182836841\n", + "train loss:0.018477602011928763\n", + "train loss:0.0496541783553689\n", + "train loss:0.0155697796699337\n", + "train loss:0.013423364891226586\n", + "train loss:0.008976504714780119\n", + "train loss:0.002362965249241658\n", + "train loss:0.023871342964506114\n", + "train loss:0.006813483988632424\n", + "train loss:0.03536700397754598\n", + "train loss:0.008244565671430514\n", + "train loss:0.007542800108929964\n", + "train loss:0.012281122088792356\n", + "train loss:0.0021101015131190647\n", + "train loss:0.09382630933134532\n", + "train loss:0.009596858154450362\n", + "train loss:0.03282508864367207\n", + "train loss:0.005535628894779722\n", + "train loss:0.04242968742890021\n", + "train loss:0.0030988353432914325\n", + "train loss:0.007547963556639127\n", + "train loss:0.0048338991205182135\n", + "train loss:0.020166337373904688\n", + "train loss:0.034963244083627255\n", + "train loss:0.007416021969552986\n", + "train loss:0.02500987911456712\n", + "train loss:0.004474938928318284\n", + "train loss:0.0176622105949477\n", + "train loss:0.035477215329794524\n", + "train loss:0.033573083841638415\n", + "train loss:0.00888968474856313\n", + "train loss:0.05245175152114598\n", + "train loss:0.020228257088735338\n", + "train loss:0.0015132314248476567\n", + "train loss:0.03515202084663895\n", + "train loss:0.04601995718271242\n", + "train loss:0.009882265255643577\n", + "train loss:0.015798593874407307\n", + "train loss:0.03562433516997582\n", + "train loss:0.011082431952416769\n", + "train loss:0.01846445969182892\n", + "train loss:0.006666818631239749\n", + "train loss:0.00508080930230332\n", + "train loss:0.05511118372453045\n", + "train loss:0.024219163948958358\n", + "train loss:0.009827913417693568\n", + "train loss:0.011167715089300033\n", + "train loss:0.010866441833718255\n", + "train loss:0.03876497503112247\n", + "train loss:0.006720832828052224\n", + "train loss:0.014625509010896744\n", + "train loss:0.009791070505243818\n", + "train loss:0.06489966361341203\n", + "train loss:0.0020924118714172844\n", + "train loss:0.027728298249511226\n", + "train loss:0.02575405568788292\n", + "train loss:0.01458250052695387\n", + "train loss:0.014604386406094478\n", + "train loss:0.04352435070686962\n", + "train loss:0.09421235654432694\n", + "train loss:0.01193188385359771\n", + "train loss:0.023771528884129558\n", + "train loss:0.008537026032471674\n", + "train loss:0.042209363550771456\n", + "train loss:0.00857605591599234\n", + "train loss:0.04334155753907901\n", + "train loss:0.0036502978131723748\n", + "train loss:0.014688374408946304\n", + "train loss:0.09604820958658035\n", + "train loss:0.04547479052305297\n", + "train loss:0.05762434855648964\n", + "train loss:0.044509508417865655\n", + "train loss:0.015572171923829084\n", + "train loss:0.02013043099953425\n", + "train loss:0.00913032639806441\n", + "train loss:0.013106500122036829\n", + "train loss:0.012797703742500168\n", + "train loss:0.05748894826467701\n", + "train loss:0.0128157081504665\n", + "train loss:0.006474387865598263\n", + "train loss:0.007611726465849926\n", + "train loss:0.0094723432905301\n", + "train loss:0.025128763286226798\n", + "train loss:0.014201280146699434\n", + "train loss:0.006679451633874179\n", + "train loss:0.00946767158450158\n", + "train loss:0.02629641212877858\n", + "train loss:0.028221081752611954\n", + "train loss:0.021127732086048033\n", + "train loss:0.046554268452795394\n", + "train loss:0.02300109916244846\n", + "train loss:0.03000244535618763\n", + "train loss:0.004553741526860236\n", + "train loss:0.004223980636905411\n", + "train loss:0.06037396922711741\n", + "train loss:0.08647350050406283\n", + "train loss:0.015635447391812524\n", + "train loss:0.009281619381977418\n", + "train loss:0.006955378025979687\n", + "train loss:0.08583653305074501\n", + "train loss:0.005995203918140393\n", + "train loss:0.013606224032355698\n", + "train loss:0.0037605139788986913\n", + "train loss:0.06056741984961788\n", + "train loss:0.008795500444621365\n", + "train loss:0.02243822122181579\n", + "train loss:0.013597047737893352\n", + "train loss:0.014575443760547232\n", + "train loss:0.021529233500228586\n", + "train loss:0.010887616303205288\n", + "train loss:0.026033443694321742\n", + "train loss:0.015014614474419976\n", + "train loss:0.03157149724011072\n", + "train loss:0.01748235718533156\n", + "train loss:0.0659784342826122\n", + "train loss:0.01045424986890562\n", + "train loss:0.010778221115326584\n", + "train loss:0.04762640307022289\n", + "train loss:0.0351749023831557\n", + "train loss:0.006818524397292334\n", + "train loss:0.009663595485421707\n", + "train loss:0.015305341907841946\n", + "train loss:0.013731277959440246\n", + "train loss:0.030446067264604523\n", + "train loss:0.010583714858779306\n", + "train loss:0.008488690135433422\n", + "train loss:0.040323098304507844\n", + "train loss:0.09008042188949603\n", + "train loss:0.060739413204336436\n", + "train loss:0.029482785463964923\n", + "train loss:0.02287122268258054\n", + "train loss:0.004581488923680552\n", + "train loss:0.05552950065450073\n", + "train loss:0.005660653052420261\n", + "train loss:0.009871270694412435\n", + "train loss:0.024992273084008837\n", + "train loss:0.087800080806733\n", + "train loss:0.023512781330453997\n", + "train loss:0.013832496156696319\n", + "train loss:0.01884421689547292\n", + "train loss:0.013468720280050204\n", + "train loss:0.04331903432659285\n", + "train loss:0.04206645302852786\n", + "train loss:0.016255073497263853\n", + "train loss:0.006729655932782086\n", + "train loss:0.007932791190439605\n", + "train loss:0.018923371226395657\n", + "train loss:0.016635688821256843\n", + "train loss:0.03442371748349411\n", + "train loss:0.003809161880378331\n", + "train loss:0.014782499889974337\n", + "train loss:0.11931809083427497\n", + "train loss:0.013729190082938653\n", + "train loss:0.02491886629830096\n", + "train loss:0.00861392913424082\n", + "train loss:0.009577094004522451\n", + "train loss:0.03425863465460088\n", + "train loss:0.06162996251306315\n", + "train loss:0.003175046852826711\n", + "train loss:0.01944478884329686\n", + "train loss:0.024359434305519016\n", + "train loss:0.0769988054903299\n", + "train loss:0.01798669165426874\n", + "train loss:0.013286320173288395\n", + "train loss:0.04180297193878093\n", + "train loss:0.02916838278115042\n", + "train loss:0.016312773777493465\n", + "train loss:0.001757112669200138\n", + "train loss:0.013231937928831948\n", + "train loss:0.004028227780415562\n", + "train loss:0.019123590964783322\n", + "train loss:0.020042015896531783\n", + "train loss:0.028172625926464395\n", + "train loss:0.004978880667782554\n", + "train loss:0.014892803907064907\n", + "train loss:0.004845275340388292\n", + "train loss:0.008070869650068323\n", + "train loss:0.00213941730511085\n", + "train loss:0.022372723927750506\n", + "train loss:0.04139379189260781\n", + "train loss:0.008583796967161881\n", + "train loss:0.01939548438543638\n", + "train loss:0.012157173404279385\n", + "train loss:0.09187485188003638\n", + "train loss:0.016892263971905686\n", + "train loss:0.007055641865045124\n", + "train loss:0.018715324468625217\n", + "train loss:0.005107659303215895\n", + "train loss:0.006314653963376458\n", + "train loss:0.020918695440553265\n", + "train loss:0.015301526925996624\n", + "train loss:0.04924879956626792\n", + "train loss:0.007560923725372831\n", + "train loss:0.01734750175897683\n", + "train loss:0.016664405623518074\n", + "train loss:0.014619609323934553\n", + "train loss:0.005180201742792677\n", + "train loss:0.019198321853120183\n", + "train loss:0.012808655931170653\n", + "train loss:0.0553536056575699\n", + "train loss:0.008208572938657233\n", + "train loss:0.07439308202567248\n", + "train loss:0.026584619141343458\n", + "train loss:0.014378758444315737\n", + "train loss:0.01790251722272139\n", + "train loss:0.0167106853795964\n", + "train loss:0.01022915958982189\n", + "train loss:0.026129249189144686\n", + "train loss:0.01453828792646734\n", + "train loss:0.029444484186945265\n", + "train loss:0.016466315150008445\n", + "train loss:0.024808405469490206\n", + "train loss:0.00681718129510558\n", + "train loss:0.022525561931176833\n", + "train loss:0.10888930553988722\n", + "train loss:0.004414452703650684\n", + "train loss:0.023993379372217002\n", + "train loss:0.03461587819976671\n", + "train loss:0.009733105875241987\n", + "train loss:0.008337443998287222\n", + "train loss:0.03674844934300464\n", + "train loss:0.008975536240320575\n", + "train loss:0.013796523910091452\n", + "train loss:0.02481327421055235\n", + "train loss:0.03525529791958709\n", + "train loss:0.0062176611036669095\n", + "train loss:0.04700332452112433\n", + "train loss:0.014211643596859598\n", + "train loss:0.0014481593593348007\n", + "train loss:0.001476257599833817\n", + "train loss:0.02884078735023594\n", + "train loss:0.015460063245078077\n", + "train loss:0.03726499656596056\n", + "train loss:0.03310023421438287\n", + "train loss:0.016772415026359497\n", + "train loss:0.006426788777046181\n", + "train loss:0.02404109757440666\n", + "train loss:0.003843115753492566\n", + "train loss:0.17042807733733983\n", + "train loss:0.0028106675140630666\n", + "train loss:0.03839473777233248\n", + "train loss:0.005198466921000345\n", + "train loss:0.0068515156051725855\n", + "train loss:0.0070158557471584814\n", + "train loss:0.014001461366159412\n", + "train loss:0.024622266788174463\n", + "train loss:0.0060924982993270415\n", + "train loss:0.007047428139295148\n", + "train loss:0.03928759429278078\n", + "train loss:0.058711560658202516\n", + "train loss:0.016049865713206112\n", + "train loss:0.01159218975309086\n", + "train loss:0.0025535382261230423\n", + "train loss:0.01199029609550222\n", + "train loss:0.006528752888731282\n", + "train loss:0.006602675591130948\n", + "train loss:0.00644016764576374\n", + "train loss:0.018638713918810744\n", + "train loss:0.006403925965340916\n", + "train loss:0.009753049564898328\n", + "train loss:0.006009829552255877\n", + "train loss:0.011916095453845475\n", + "train loss:0.007762599685915638\n", + "train loss:0.002278832418287037\n", + "train loss:0.024976695477014154\n", + "train loss:0.005630587745236326\n", + "train loss:0.005716754527749716\n", + "train loss:0.05606594371997517\n", + "train loss:0.009753323580953455\n", + "train loss:0.006864570047499329\n", + "train loss:0.004394556600792008\n", + "train loss:0.031854836929854025\n", + "train loss:0.08713623539533412\n", + "train loss:0.007617256651817057\n", + "train loss:0.0064244164160508896\n", + "train loss:0.0094187076717414\n", + "train loss:0.025009123439645443\n", + "train loss:0.009369160535721193\n", + "train loss:0.02179726368129152\n", + "train loss:0.006921784434882303\n", + "train loss:0.009914411826559258\n", + "train loss:0.007745551151296837\n", + "train loss:0.017325211121772936\n", + "train loss:0.008910167379908594\n", + "train loss:0.17275655999161074\n", + "train loss:0.059960336701004514\n", + "train loss:0.011283323617067274\n", + "train loss:0.05822223309671057\n", + "train loss:0.006264379769804215\n", + "train loss:0.010462987789936295\n", + "train loss:0.01772587230367596\n", + "train loss:0.006394170444722862\n", + "train loss:0.015381989843846484\n", + "train loss:0.012783933149471285\n", + "train loss:0.005074295169901638\n", + "train loss:0.00895331960890494\n", + "train loss:0.015279933063073712\n", + "train loss:0.019940291476679167\n", + "train loss:0.026197801343484577\n", + "train loss:0.012717396925290841\n", + "train loss:0.014562950116072552\n", + "train loss:0.011479106332857605\n", + "train loss:0.0028764223284449887\n", + "train loss:0.016716245108294062\n", + "train loss:0.0033800538139871256\n", + "train loss:0.007849184720110347\n", + "train loss:0.05538361777910181\n", + "train loss:0.004790928962094059\n", + "train loss:0.003648742086366079\n", + "train loss:0.023045236845168765\n", + "train loss:0.015479244570466637\n", + "train loss:0.007249725515925362\n", + "train loss:0.002423734183757652\n", + "train loss:0.0033663786363238575\n", + "train loss:0.03196931514242186\n", + "train loss:0.04815781478369884\n", + "train loss:0.04087771032113952\n", + "train loss:0.018112580668646083\n", + "train loss:0.018207163193823032\n", + "train loss:0.04027555505264094\n", + "train loss:0.01864160435013278\n", + "train loss:0.012038654539406396\n", + "train loss:0.0065278446483718324\n", + "train loss:0.003176104004295105\n", + "train loss:0.027249023854944446\n", + "train loss:0.013597704769899013\n", + "train loss:0.005234227194714566\n", + "train loss:0.029929844808225466\n", + "train loss:0.015075793903695234\n", + "train loss:0.007420803878997204\n", + "train loss:0.03492714893684354\n", + "train loss:0.0010460917381492074\n", + "train loss:0.008766901115125552\n", + "train loss:0.008394361552983889\n", + "=== epoch:7, train acc:0.992, test acc:0.984 ===\n", + "train loss:0.014363152128975291\n", + "train loss:0.007033571856582509\n", + "train loss:0.00207400986837361\n", + "train loss:0.021342008518471563\n", + "train loss:0.026526496406864754\n", + "train loss:0.008965823927418175\n", + "train loss:0.006329275010948764\n", + "train loss:0.013414149621443156\n", + "train loss:0.005274858741432123\n", + "train loss:0.03608319718655305\n", + "train loss:0.013796150662729609\n", + "train loss:0.027935838530122444\n", + "train loss:0.014246459652915284\n", + "train loss:0.002576427493742615\n", + "train loss:0.021562228300364333\n", + "train loss:0.006823621051468793\n", + "train loss:0.006251712513224987\n", + "train loss:0.015581864805458806\n", + "train loss:0.04296794850731553\n", + "train loss:0.004041320889850882\n", + "train loss:0.003411330574374225\n", + "train loss:0.011241020163566783\n", + "train loss:0.010655350566330848\n", + "train loss:0.014678064547694747\n", + "train loss:0.008884638029416277\n", + "train loss:0.02419531262617672\n", + "train loss:0.003733305753473124\n", + "train loss:0.040042168568008504\n", + "train loss:0.009986210271175211\n", + "train loss:0.017770856720439585\n", + "train loss:0.02656050791691103\n", + "train loss:0.012055411708328625\n", + "train loss:0.0816090260400478\n", + "train loss:0.0053247059497629\n", + "train loss:0.08529995226475455\n", + "train loss:0.011312500746456068\n", + "train loss:0.021146097247947963\n", + "train loss:0.015295137892420773\n", + "train loss:0.07509325305210517\n", + "train loss:0.003350348613527308\n", + "train loss:0.0025223577425391797\n", + "train loss:0.004715878018087583\n", + "train loss:0.02518813292472962\n", + "train loss:0.011763721378790946\n", + "train loss:0.01056085595857297\n", + "train loss:0.004847316526981664\n", + "train loss:0.028382207263317447\n", + "train loss:0.012449762822862302\n", + "train loss:0.002931660850223981\n", + "train loss:0.03405963270183723\n", + "train loss:0.009592873770136708\n", + "train loss:0.020162923304524093\n", + "train loss:0.012252188513421969\n", + "train loss:0.02810013889851174\n", + "train loss:0.05374381701932334\n", + "train loss:0.007556332458723394\n", + "train loss:0.022563195919169773\n", + "train loss:0.047539202947133846\n", + "train loss:0.01032140674668398\n", + "train loss:0.008579042123116571\n", + "train loss:0.010687201792094838\n", + "train loss:0.007835774474332771\n", + "train loss:0.0430494199309749\n", + "train loss:0.008644640142217459\n", + "train loss:0.012418644273915612\n", + "train loss:0.03417668873803087\n", + "train loss:0.012950387161486176\n", + "train loss:0.004636599817612791\n", + "train loss:0.015489634860942559\n", + "train loss:0.025711003730775495\n", + "train loss:0.00776655514189615\n", + "train loss:0.027870541781678974\n", + "train loss:0.008480991681513268\n", + "train loss:0.014379170996818817\n", + "train loss:0.014603185413184916\n", + "train loss:0.043524455113276315\n", + "train loss:0.003931136502361108\n", + "train loss:0.010104617488532239\n", + "train loss:0.010399669409552819\n", + "train loss:0.006149821481402505\n", + "train loss:0.008840725204710598\n", + "train loss:0.003107019269070701\n", + "train loss:0.022486994571328914\n", + "train loss:0.03192835605176301\n", + "train loss:0.012652827159555933\n", + "train loss:0.043860271624739246\n", + "train loss:0.0043416024547938145\n", + "train loss:0.0038607310767981005\n", + "train loss:0.00986150033097764\n", + "train loss:0.008533167692103234\n", + "train loss:0.005992597513263568\n", + "train loss:0.012659494935829954\n", + "train loss:0.047858932483589106\n", + "train loss:0.015057222156716068\n", + "train loss:0.02586517822098546\n", + "train loss:0.014861708746690669\n", + "train loss:0.009851921913698847\n", + "train loss:0.0021482008666622106\n", + "train loss:0.02165878048885429\n", + "train loss:0.008311261942350951\n", + "train loss:0.002163258515290414\n", + "train loss:0.01814440206335869\n", + "train loss:0.028363030676533944\n", + "train loss:0.009341430181495866\n", + "train loss:0.0009920270989337678\n", + "train loss:0.06247628539930543\n", + "train loss:0.0036645202408386248\n", + "train loss:0.007946195169319879\n", + "train loss:0.018042394597269126\n", + "train loss:0.0036832216509757572\n", + "train loss:0.019221854794545922\n", + "train loss:0.032884351372743474\n", + "train loss:0.004913280772990965\n", + "train loss:0.010708391246496831\n", + "train loss:0.040321614176530934\n", + "train loss:0.021824585148909934\n", + "train loss:0.01072804057609878\n", + "train loss:0.011101843941788848\n", + "train loss:0.04833970357100647\n", + "train loss:0.011699028636338999\n", + "train loss:0.038523296794532945\n", + "train loss:0.002368993146874696\n", + "train loss:0.005459042645553226\n", + "train loss:0.03285749287812087\n", + "train loss:0.011662558349676038\n", + "train loss:0.02883893807335081\n", + "train loss:0.005314211213439711\n", + "train loss:0.00769611829094939\n", + "train loss:0.06178752487310951\n", + "train loss:0.012383609766296728\n", + "train loss:0.015545084493242456\n", + "train loss:0.009831084420418565\n", + "train loss:0.01649733090060461\n", + "train loss:0.05560059563919494\n", + "train loss:0.01133156372527748\n", + "train loss:0.010719384817566712\n", + "train loss:0.010654250263565175\n", + "train loss:0.020503679174513515\n", + "train loss:0.03151693436327652\n", + "train loss:0.011083856542041257\n", + "train loss:0.004527602848336248\n", + "train loss:0.03264321160835543\n", + "train loss:0.031195452956825336\n", + "train loss:0.028121098593957332\n", + "train loss:0.0027629460419038103\n", + "train loss:0.019525868872497017\n", + "train loss:0.03891598516178136\n", + "train loss:0.02663446716353741\n", + "train loss:0.020629498434949368\n", + "train loss:0.01570608413297307\n", + "train loss:0.022456750603344674\n", + "train loss:0.011619676624447595\n", + "train loss:0.004043010781027087\n", + "train loss:0.02988201341911239\n", + "train loss:0.002212225534314845\n", + "train loss:0.00621161171310503\n", + "train loss:0.016974232901566293\n", + "train loss:0.006308452982926863\n", + "train loss:0.024569746358214448\n", + "train loss:0.02031279147065749\n", + "train loss:0.040659484214987114\n", + "train loss:0.037435371219900794\n", + "train loss:0.01340061094574412\n", + "train loss:0.009193936685592189\n", + "train loss:0.014206831456849374\n", + "train loss:0.007689300198808823\n", + "train loss:0.048131408862488165\n", + "train loss:0.0059429844283658785\n", + "train loss:0.01470783507550877\n", + "train loss:0.023932739810270786\n", + "train loss:0.0060946840422595495\n", + "train loss:0.023073930856874564\n", + "train loss:0.013526778177852835\n", + "train loss:0.008583918452476209\n", + "train loss:0.01327449803742816\n", + "train loss:0.02351905443662581\n", + "train loss:0.02863079732038587\n", + "train loss:0.01826028327589507\n", + "train loss:0.00666902799333393\n", + "train loss:0.11166022168876749\n", + "train loss:0.020817956600958042\n", + "train loss:0.007685404098795664\n", + "train loss:0.015349065096869598\n", + "train loss:0.009954958593046419\n", + "train loss:0.018029230286965705\n", + "train loss:0.014655237554577387\n", + "train loss:0.01710249593209224\n", + "train loss:0.046123056645654845\n", + "train loss:0.004382201803201445\n", + "train loss:0.0036846418342378778\n", + "train loss:0.012533632349470731\n", + "train loss:0.014104488427985262\n", + "train loss:0.0024453364020094763\n", + "train loss:0.00646673064122037\n", + "train loss:0.006621904930166631\n", + "train loss:0.01721134708970607\n", + "train loss:0.007798966058060198\n", + "train loss:0.15940305075065822\n", + "train loss:0.023864539893656656\n", + "train loss:0.006192842495972677\n", + "train loss:0.004196187767460145\n", + "train loss:0.013183759238438668\n", + "train loss:0.019317353313337577\n", + "train loss:0.013771731266497101\n", + "train loss:0.007201579902966346\n", + "train loss:0.03728649756450392\n", + "train loss:0.021453172101904557\n", + "train loss:0.052217893748569916\n", + "train loss:0.030656459819851635\n", + "train loss:0.025115302515607448\n", + "train loss:0.013954450059839509\n", + "train loss:0.030631855260316906\n", + "train loss:0.024892148939642967\n", + "train loss:0.005322851323437121\n", + "train loss:0.019077598711773672\n", + "train loss:0.017767554640900768\n", + "train loss:0.0053154111360156\n", + "train loss:0.006536347554404853\n", + "train loss:0.0219608371618859\n", + "train loss:0.04428057680141047\n", + "train loss:0.0402166119532345\n", + "train loss:0.0059780776010570245\n", + "train loss:0.009021707210029872\n", + "train loss:0.012341925440219234\n", + "train loss:0.005900041008139614\n", + "train loss:0.02406410412074043\n", + "train loss:0.006421765485764834\n", + "train loss:0.011101518218551414\n", + "train loss:0.009258883635582667\n", + "train loss:0.002515876209831508\n", + "train loss:0.030381721782078427\n", + "train loss:0.017898353406574266\n", + "train loss:0.013711717441749477\n", + "train loss:0.03969650142333577\n", + "train loss:0.007117225995278333\n", + "train loss:0.025524273090788068\n", + "train loss:0.02177278312606385\n", + "train loss:0.058234123226577054\n", + "train loss:0.028671340915029583\n", + "train loss:0.005603496464231311\n", + "train loss:0.022158018428129457\n", + "train loss:0.008337314536157273\n", + "train loss:0.006884801935540347\n", + "train loss:0.007856757678701027\n", + "train loss:0.04864678765233454\n", + "train loss:0.00715003859888284\n", + "train loss:0.01330522893308704\n", + "train loss:0.017471331318194352\n", + "train loss:0.0024226722412337533\n", + "train loss:0.0058350060130743465\n", + "train loss:0.022433290536393598\n", + "train loss:0.0021547910421011924\n", + "train loss:0.017350735079439548\n", + "train loss:0.009916483902562475\n", + "train loss:0.03233025776120434\n", + "train loss:0.0378808141269913\n", + "train loss:0.02206430232851824\n", + "train loss:0.009400569493048521\n", + "train loss:0.01290913621675159\n", + "train loss:0.005088646863681676\n", + "train loss:0.014754463063714474\n", + "train loss:0.009480875997029127\n", + "train loss:0.019470763736186635\n", + "train loss:0.025190169549207133\n", + "train loss:0.008035343361491946\n", + "train loss:0.007386943633280055\n", + "train loss:0.009618307273291347\n", + "train loss:0.011070836386088944\n", + "train loss:0.027271724963280265\n", + "train loss:0.004646972846692528\n", + "train loss:0.003643521645253227\n", + "train loss:0.006917292476410163\n", + "train loss:0.04386017340914776\n", + "train loss:0.016535452855640224\n", + "train loss:0.0101545261378036\n", + "train loss:0.005747958451925652\n", + "train loss:0.003390419386604301\n", + "train loss:0.007943567269061919\n", + "train loss:0.00610782806077898\n", + "train loss:0.029633757672674288\n", + "train loss:0.014854622974257903\n", + "train loss:0.02432686501394976\n", + "train loss:0.017683333387315064\n", + "train loss:0.027976597088941547\n", + "train loss:0.012336642869798638\n", + "train loss:0.0075193808220231076\n", + "train loss:0.014439623823788782\n", + "train loss:0.024689507898593886\n", + "train loss:0.0073097132066460725\n", + "train loss:0.01776995320896947\n", + "train loss:0.0021541356345245984\n", + "train loss:0.0897373246590249\n", + "train loss:0.025657760503645\n", + "train loss:0.04003103119372525\n", + "train loss:0.008969370927062612\n", + "train loss:0.00799312473944502\n", + "train loss:0.00628174619196412\n", + "train loss:0.014288259074925843\n", + "train loss:0.00963024367807126\n", + "train loss:0.0076484364416707605\n", + "train loss:0.00752217527026754\n", + "train loss:0.003560848529980571\n", + "train loss:0.04124146141483469\n", + "train loss:0.004618601817126495\n", + "train loss:0.00368024215717066\n", + "train loss:0.016217907868054427\n", + "train loss:0.010943147074148245\n", + "train loss:0.024328260585589675\n", + "train loss:0.00945326415269631\n", + "train loss:0.0229466077663924\n", + "train loss:0.02728666787741791\n", + "train loss:0.02145675702284539\n", + "train loss:0.0033196942344786307\n", + "train loss:0.0051663436679038124\n", + "train loss:0.008812735109810737\n", + "train loss:0.010446019306689118\n", + "train loss:0.001254150567656198\n", + "train loss:0.06264211109514997\n", + "train loss:0.043633433170441265\n", + "train loss:0.022623229893667586\n", + "train loss:0.05558981320344354\n", + "train loss:0.017063276592825333\n", + "train loss:0.0231707259146441\n", + "train loss:0.004118752492904156\n", + "train loss:0.010163786140910007\n", + "train loss:0.014117815276155321\n", + "train loss:0.0317017723446522\n", + "train loss:0.010065792622957028\n", + "train loss:0.009860071948840674\n", + "train loss:0.022121662970992637\n", + "train loss:0.052454222811119465\n", + "train loss:0.01312443177526744\n", + "train loss:0.01266901972727701\n", + "train loss:0.007825183558742793\n", + "train loss:0.009671488267010463\n", + "train loss:0.07328856714564126\n", + "train loss:0.005572795406987286\n", + "train loss:0.07371606718809837\n", + "train loss:0.02119768298536345\n", + "train loss:0.06260563836734909\n", + "train loss:0.0030866455046565083\n", + "train loss:0.005922206548110341\n", + "train loss:0.01270328808865814\n", + "train loss:0.00785176751940913\n", + "train loss:0.027307905727675844\n", + "train loss:0.005502989722169633\n", + "train loss:0.004995125634151989\n", + "train loss:0.012597066268042278\n", + "train loss:0.03007996134421315\n", + "train loss:0.012294691384766031\n", + "train loss:0.004695693189457263\n", + "train loss:0.030599744969299455\n", + "train loss:0.0644139319828548\n", + "train loss:0.012476506262290118\n", + "train loss:0.005178610998507178\n", + "train loss:0.01821324849370761\n", + "train loss:0.040298871508969256\n", + "train loss:0.010290388011271967\n", + "train loss:0.030130984794933945\n", + "train loss:0.01921773685236579\n", + "train loss:0.011127433600632806\n", + "train loss:0.009735098285788078\n", + "train loss:0.007190130549762142\n", + "train loss:0.03603240692084499\n", + "train loss:0.009068636765998485\n", + "train loss:0.017215803498406998\n", + "train loss:0.0077486260732619085\n", + "train loss:0.011593460956297888\n", + "train loss:0.01696817670529409\n", + "train loss:0.0035439050588639766\n", + "train loss:0.004801727434136162\n", + "train loss:0.01723353960890429\n", + "train loss:0.009705226897251973\n", + "train loss:0.015326823276635442\n", + "train loss:0.024420954549795412\n", + "train loss:0.005955983313453221\n", + "train loss:0.03308454176183849\n", + "train loss:0.012631694593257272\n", + "train loss:0.006062934840941384\n", + "train loss:0.04570629158793685\n", + "train loss:0.019852783607094908\n", + "train loss:0.009735469759912374\n", + "train loss:0.007926842781988932\n", + "train loss:0.007230916851472053\n", + "train loss:0.004864160477983795\n", + "train loss:0.002332295318183278\n", + "train loss:0.1063405696480648\n", + "train loss:0.006527483332482776\n", + "train loss:0.014585383217740909\n", + "train loss:0.023073884398483666\n", + "train loss:0.003781017411351894\n", + "train loss:0.0031843643715775993\n", + "train loss:0.022211919423445768\n", + "train loss:0.002136537029752058\n", + "train loss:0.004131961555302059\n", + "train loss:0.004601664513029659\n", + "train loss:0.009712801848585785\n", + "train loss:0.03974725383817571\n", + "train loss:0.1663924812823563\n", + "train loss:0.00708416656528604\n", + "train loss:0.0020625837776648763\n", + "train loss:0.017585136906216423\n", + "train loss:0.02407724626572578\n", + "train loss:0.01749412490380966\n", + "train loss:0.004038499865478538\n", + "train loss:0.012333787401712017\n", + "train loss:0.0025478915833981918\n", + "train loss:0.011230201575166066\n", + "train loss:0.00576784267547954\n", + "train loss:0.02286531318816793\n", + "train loss:0.02119561155070296\n", + "train loss:0.006077234347561947\n", + "train loss:0.011842499595788432\n", + "train loss:0.0042998511720604045\n", + "train loss:0.00719357706814513\n", + "train loss:0.04165019940820077\n", + "train loss:0.0030839571683261295\n", + "train loss:0.08185212293743707\n", + "train loss:0.021181538289021598\n", + "train loss:0.009429015655982243\n", + "train loss:0.013804640483235072\n", + "train loss:0.01711994629973957\n", + "train loss:0.01609049200044616\n", + "train loss:0.03396107125755674\n", + "train loss:0.0023360200660687055\n", + "train loss:0.0065796978640807425\n", + "train loss:0.03240199632893357\n", + "train loss:0.030434352942398078\n", + "train loss:0.009886626811411107\n", + "train loss:0.019410740189931035\n", + "train loss:0.022462868897990648\n", + "train loss:0.009666583080274634\n", + "train loss:0.008636079974488862\n", + "train loss:0.015131176037914694\n", + "train loss:0.015029995820075416\n", + "train loss:0.04527779850282123\n", + "train loss:0.007639782480623933\n", + "train loss:0.01577361815656739\n", + "train loss:0.0204563701528341\n", + "train loss:0.020191438740370483\n", + "train loss:0.0025414807849445716\n", + "train loss:0.07886268292127162\n", + "train loss:0.004015873111450965\n", + "train loss:0.005558770026089423\n", + "train loss:0.0029117849513192328\n", + "train loss:0.013559245188811946\n", + "train loss:0.023034526197556082\n", + "train loss:0.00698040840185576\n", + "train loss:0.04707286779088357\n", + "train loss:0.0020386559574113046\n", + "train loss:0.06783117294214014\n", + "train loss:0.014909139659848329\n", + "train loss:0.007048599011483463\n", + "train loss:0.02523067044373471\n", + "train loss:0.018031181927503435\n", + "train loss:0.005862193678891379\n", + "train loss:0.018992040485632973\n", + "train loss:0.02255649360772989\n", + "train loss:0.058734127690382054\n", + "train loss:0.006090374211113886\n", + "train loss:0.025425463783895663\n", + "train loss:0.07694182786300266\n", + "train loss:0.00960502916868856\n", + "train loss:0.0013352768816037566\n", + "train loss:0.012369892033534755\n", + "train loss:0.024136181234736882\n", + "train loss:0.012660552382455992\n", + "train loss:0.03735774129006351\n", + "train loss:0.012331078923173372\n", + "train loss:0.004150231492646033\n", + "train loss:0.0035187963938592788\n", + "train loss:0.009330733142246337\n", + "train loss:0.004293828723471361\n", + "train loss:0.0031809202856163898\n", + "train loss:0.011213016407908068\n", + "train loss:0.0044832766354900855\n", + "train loss:0.008365248319843744\n", + "train loss:0.03483174563318356\n", + "train loss:0.005723816203313538\n", + "train loss:0.008183860981425546\n", + "train loss:0.01288570705462485\n", + "train loss:0.010466264110265928\n", + "train loss:0.00922315214734169\n", + "train loss:0.017080562533579396\n", + "train loss:0.013830754247914544\n", + "train loss:0.002588578252469427\n", + "train loss:0.002359247575686825\n", + "train loss:0.016162101734307342\n", + "train loss:0.005075084313396704\n", + "train loss:0.0032079218419668854\n", + "train loss:0.027926539592094447\n", + "train loss:0.02142640135431657\n", + "train loss:0.04877488850101355\n", + "train loss:0.012394591317917345\n", + "train loss:0.010728689203011434\n", + "train loss:0.14569719162453457\n", + "train loss:0.04841627533799971\n", + "train loss:0.014361576885948819\n", + "train loss:0.006172124020638247\n", + "train loss:0.008089555276782248\n", + "train loss:0.05746295625815996\n", + "train loss:0.0038345826046908916\n", + "train loss:0.008902853076649534\n", + "train loss:0.004645527908415149\n", + "train loss:0.011128551721278373\n", + "train loss:0.017938099674691857\n", + "train loss:0.013707771300109965\n", + "train loss:0.0072043673652052356\n", + "train loss:0.023091222172878078\n", + "train loss:0.07377486297611247\n", + "train loss:0.016062807798677387\n", + "train loss:0.045640311039927745\n", + "train loss:0.014356970250411705\n", + "train loss:0.005646443773492038\n", + "train loss:0.012110067862024995\n", + "train loss:0.004810121038577918\n", + "train loss:0.003268293906416672\n", + "train loss:0.0033686946610144443\n", + "train loss:0.005736047400881381\n", + "train loss:0.06429421301984206\n", + "train loss:0.018375345433429526\n", + "train loss:0.003669635944194465\n", + "train loss:0.014497197391153481\n", + "train loss:0.00325389202371195\n", + "train loss:0.010850390073940739\n", + "train loss:0.0365870416416772\n", + "train loss:0.014290351039244113\n", + "train loss:0.0028335354840447204\n", + "train loss:0.015307730010777015\n", + "train loss:0.007404959239719277\n", + "train loss:0.11928628908763883\n", + "train loss:0.007827484057883282\n", + "train loss:0.02258216970514461\n", + "train loss:0.0696743315409074\n", + "train loss:0.02098224022802101\n", + "train loss:0.0019155324389726117\n", + "train loss:0.04760008703517712\n", + "train loss:0.003447484877698972\n", + "train loss:0.005534484721110139\n", + "train loss:0.0014192055852549068\n", + "train loss:0.00484296873300258\n", + "train loss:0.004462903194064829\n", + "train loss:0.007473824152032996\n", + "train loss:0.025723245644247016\n", + "train loss:0.003750161396883716\n", + "train loss:0.0019801565129629536\n", + "train loss:0.003564030234293655\n", + "train loss:0.0022077374051524606\n", + "train loss:0.0008252602922706741\n", + "train loss:0.06500577851965735\n", + "train loss:0.022751735866429857\n", + "train loss:0.027450737537127335\n", + "train loss:0.004034057556957521\n", + "train loss:0.007363149630942103\n", + "train loss:0.0010485294999615432\n", + "train loss:0.0029913040891653584\n", + "train loss:0.007992596818559088\n", + "train loss:0.0500020894450527\n", + "train loss:0.001599259438154814\n", + "train loss:0.005117667300297052\n", + "train loss:0.01083012504162666\n", + "train loss:0.008089864502459207\n", + "train loss:0.007998571184647302\n", + "train loss:0.00926079531610022\n", + "train loss:0.05785912557353757\n", + "train loss:0.007664318886145549\n", + "train loss:0.0027520271022457915\n", + "train loss:0.022451484217707485\n", + "train loss:0.008128244190857397\n", + "train loss:0.002890399913314712\n", + "train loss:0.003991359591986023\n", + "train loss:0.009656237726383497\n", + "train loss:0.010307953918459439\n", + "train loss:0.02640888065144468\n", + "train loss:0.028516761313693934\n", + "train loss:0.004952183359174758\n", + "train loss:0.025759838876403034\n", + "train loss:0.0679095614813479\n", + "train loss:0.010597303796939248\n", + "train loss:0.006543098027010562\n", + "train loss:0.00798790317061746\n", + "train loss:0.06016511009613695\n", + "train loss:0.0050921484501256185\n", + "train loss:0.005435889882715286\n", + "train loss:0.008130017096084652\n", + "train loss:0.007417673764682549\n", + "train loss:0.017344277153819948\n", + "train loss:0.14564857219407398\n", + "train loss:0.03642807194950174\n", + "train loss:0.013068973171863972\n", + "train loss:0.003650276265667539\n", + "train loss:0.006082913371010344\n", + "train loss:0.011434319259457341\n", + "train loss:0.009100604681033736\n", + "train loss:0.004624425393029769\n", + "train loss:0.003560646082188661\n", + "train loss:0.022680458133122926\n", + "train loss:0.006578504507110082\n", + "train loss:0.025732308551664244\n", + "train loss:0.030437403576003684\n", + "=== epoch:8, train acc:0.99, test acc:0.983 ===\n", + "train loss:0.01188645972180352\n", + "train loss:0.01347452655006645\n", + "train loss:0.04248575282812874\n", + "train loss:0.0016060374469501716\n", + "train loss:0.008901727739654546\n", + "train loss:0.01558199782543342\n", + "train loss:0.0026786057300957405\n", + "train loss:0.01959615468349815\n", + "train loss:0.0066834576136000955\n", + "train loss:0.013394337111380179\n", + "train loss:0.006940790996846247\n", + "train loss:0.028308553286179493\n", + "train loss:0.00782048045228374\n", + "train loss:0.003144961272156263\n", + "train loss:0.007212374756157522\n", + "train loss:0.003051797980478538\n", + "train loss:0.028086431402743015\n", + "train loss:0.030612327464535256\n", + "train loss:0.010879725384382501\n", + "train loss:0.00980748787471033\n", + "train loss:0.003094421507982909\n", + "train loss:0.004623118688442995\n", + "train loss:0.022969949514269717\n", + "train loss:0.0040186501308792835\n", + "train loss:0.003347007862327877\n", + "train loss:0.018660531191297687\n", + "train loss:0.0078511268522323\n", + "train loss:0.0457431464300496\n", + "train loss:0.02005238563790976\n", + "train loss:0.0229714806344032\n", + "train loss:0.0115041100809642\n", + "train loss:0.0030581941122588513\n", + "train loss:0.008999781071457984\n", + "train loss:0.009921572653356326\n", + "train loss:0.004297463510619493\n", + "train loss:0.0027573025710736377\n", + "train loss:0.0651170337101901\n", + "train loss:0.09634101393682122\n", + "train loss:0.02928831765559476\n", + "train loss:0.02294224371777588\n", + "train loss:0.0381387568845075\n", + "train loss:0.059744409677777346\n", + "train loss:0.004982958466312586\n", + "train loss:0.023711837034025292\n", + "train loss:0.015304400169897902\n", + "train loss:0.0032437397121691503\n", + "train loss:0.006180525038749473\n", + "train loss:0.015724135494813333\n", + "train loss:0.03168723323105611\n", + "train loss:0.022278150069065923\n", + "train loss:0.014076616813144068\n", + "train loss:0.02415908139419603\n", + "train loss:0.0023866147690719606\n", + "train loss:0.009688774355915036\n", + "train loss:0.0060855057202895135\n", + "train loss:0.014487607841959127\n", + "train loss:0.08320000571566279\n", + "train loss:0.09468966023391431\n", + "train loss:0.032045791104950566\n", + "train loss:0.004100706471474388\n", + "train loss:0.042596535454179095\n", + "train loss:0.005046187880616705\n", + "train loss:0.010846818084326798\n", + "train loss:0.009806363640480936\n", + "train loss:0.0182952215097739\n", + "train loss:0.007655526798355072\n", + "train loss:0.015892004765347603\n", + "train loss:0.008527672489079857\n", + "train loss:0.003508106916934715\n", + "train loss:0.03301369264401838\n", + "train loss:0.005961774306705517\n", + "train loss:0.03201686208932682\n", + "train loss:0.02669082814445824\n", + "train loss:0.004465180571294049\n", + "train loss:0.003274701557115177\n", + "train loss:0.007614774602060963\n", + "train loss:0.06735202810005798\n", + "train loss:0.016341250667475046\n", + "train loss:0.007178265524246971\n", + "train loss:0.03130090869288684\n", + "train loss:0.005757632541884597\n", + "train loss:0.06234479511693348\n", + "train loss:0.01906863558821351\n", + "train loss:0.03267457048771052\n", + "train loss:0.04401692589385079\n", + "train loss:0.02074431834502839\n", + "train loss:0.030232786389654813\n", + "train loss:0.019249105655263773\n", + "train loss:0.007115803642129995\n", + "train loss:0.03333698072196401\n", + "train loss:0.026985046573926075\n", + "train loss:0.005362241573491471\n", + "train loss:0.03427487011035835\n", + "train loss:0.01038508992046969\n", + "train loss:0.006650949007899766\n", + "train loss:0.01179728182679768\n", + "train loss:0.0025626058358159697\n", + "train loss:0.002836329072612403\n", + "train loss:0.009093057282619098\n", + "train loss:0.011608286858477819\n", + "train loss:0.001156295708690354\n", + "train loss:0.013463646634477754\n", + "train loss:0.0021416828867336147\n", + "train loss:0.021943989256392377\n", + "train loss:0.011693177933653551\n", + "train loss:0.009314554413611729\n", + "train loss:0.009791738610366555\n", + "train loss:0.0038679503244219288\n", + "train loss:0.05185267024423574\n", + "train loss:0.004002609592291216\n", + "train loss:0.005092421114471343\n", + "train loss:0.0314028820490648\n", + "train loss:0.009651407567091291\n", + "train loss:0.008085005999132854\n", + "train loss:0.013907328717070986\n", + "train loss:0.009554201381000334\n", + "train loss:0.0032730726988273906\n", + "train loss:0.012186709789584131\n", + "train loss:0.005252531734610512\n", + "train loss:0.06050996052190524\n", + "train loss:0.008745444420834409\n", + "train loss:0.010249977145256247\n", + "train loss:0.010340635377310533\n", + "train loss:0.004624946563267051\n", + "train loss:0.023341781026796724\n", + "train loss:0.005820757227417732\n", + "train loss:0.008211604919197665\n", + "train loss:0.004368557223014141\n", + "train loss:0.0349620548867639\n", + "train loss:0.004029069162513296\n", + "train loss:0.01888133010269523\n", + "train loss:0.0015506828479391862\n", + "train loss:0.014213104358257178\n", + "train loss:0.05182241064459344\n", + "train loss:0.04904021428021897\n", + "train loss:0.01085532383034541\n", + "train loss:0.006513851547900541\n", + "train loss:0.00522801408736298\n", + "train loss:0.005717037784148692\n", + "train loss:0.008688246915917998\n", + "train loss:0.008318538150177156\n", + "train loss:0.013307259075996813\n", + "train loss:0.006644319767108346\n", + "train loss:0.0035852246376515485\n", + "train loss:0.03795446205619293\n", + "train loss:0.003899023303637252\n", + "train loss:0.07398356599127526\n", + "train loss:0.008001462451980327\n", + "train loss:0.01237272938331252\n", + "train loss:0.01118696141354973\n", + "train loss:0.006381371738044368\n", + "train loss:0.03038287869691704\n", + "train loss:0.004521972031883374\n", + "train loss:0.021666239758140086\n", + "train loss:0.0033995613459186485\n", + "train loss:0.02122836207117763\n", + "train loss:0.005634974328044437\n", + "train loss:0.01273859654836532\n", + "train loss:0.0026634764993632883\n", + "train loss:0.008326238908588269\n", + "train loss:0.013565781000296291\n", + "train loss:0.009485571219994092\n", + "train loss:0.008901877049471105\n", + "train loss:0.02082067169744113\n", + "train loss:0.0056404072260545675\n", + "train loss:0.03800192253880512\n", + "train loss:0.01173786541472641\n", + "train loss:0.018669483273384847\n", + "train loss:0.0027246933919989735\n", + "train loss:0.016348839598239955\n", + "train loss:0.005259467484018818\n", + "train loss:0.006087969909208065\n", + "train loss:0.014316954586354227\n", + "train loss:0.006217565190233156\n", + "train loss:0.003557860105312824\n", + "train loss:0.00775873121356181\n", + "train loss:0.006213479980274709\n", + "train loss:0.011553464421270906\n", + "train loss:0.023965999700791697\n", + "train loss:0.0057602633232144125\n", + "train loss:0.01811609929845818\n", + "train loss:0.010247867107438961\n", + "train loss:0.002104561878353091\n", + "train loss:0.01770289983602788\n", + "train loss:0.009749841378088682\n", + "train loss:0.004221404152212377\n", + "train loss:0.006120982724085282\n", + "train loss:0.013350807137679707\n", + "train loss:0.001974336290107773\n", + "train loss:0.006786367862466073\n", + "train loss:0.015616532234007434\n", + "train loss:0.014557975514230498\n", + "train loss:0.0022092976961144433\n", + "train loss:0.004154426073973889\n", + "train loss:0.004490254250695261\n", + "train loss:0.017499003913252664\n", + "train loss:0.006812229171780541\n", + "train loss:0.021311288876107736\n", + "train loss:0.0051867776818280585\n", + "train loss:0.00327201485994957\n", + "train loss:0.007932621290456719\n", + "train loss:0.009819530011068082\n", + "train loss:0.03924410162816367\n", + "train loss:0.01687638412883939\n", + "train loss:0.011895123081463588\n", + "train loss:0.006950786534614403\n", + "train loss:0.011848594404016264\n", + "train loss:0.005198428906763736\n", + "train loss:0.002936860399956231\n", + "train loss:0.012642333221095332\n", + "train loss:0.06527898683040942\n", + "train loss:0.0024368203396035615\n", + "train loss:0.015209366402564895\n", + "train loss:0.010011344406757107\n", + "train loss:0.0037058636069679613\n", + "train loss:0.015375448254040308\n", + "train loss:0.011609840637147104\n", + "train loss:0.0039744399511777405\n", + "train loss:0.010012095880963934\n", + "train loss:0.01148947569933388\n", + "train loss:0.006691104226345422\n", + "train loss:0.04558723280851702\n", + "train loss:0.00183566466230106\n", + "train loss:0.0028494885633654327\n", + "train loss:0.007180455136601741\n", + "train loss:0.003477636227681663\n", + "train loss:0.013449647474403288\n", + "train loss:0.008954759670105599\n", + "train loss:0.011360437881260304\n", + "train loss:0.01059332525773159\n", + "train loss:0.009288543741334199\n", + "train loss:0.007046679525691749\n", + "train loss:0.07378733107716776\n", + "train loss:0.01638978707330192\n", + "train loss:0.0205847203253252\n", + "train loss:0.015400770953401095\n", + "train loss:0.010379555912196197\n", + "train loss:0.010025548400772508\n", + "train loss:0.0023581496184625623\n", + "train loss:0.004782399662199058\n", + "train loss:0.008954775839072003\n", + "train loss:0.001439813142399382\n", + "train loss:0.01657285669595656\n", + "train loss:0.0066709699820333805\n", + "train loss:0.00608889395393872\n", + "train loss:0.002714983539455479\n", + "train loss:0.01951979308843669\n", + "train loss:0.009426425232287032\n", + "train loss:0.009053505976198382\n", + "train loss:0.0007713661651063201\n", + "train loss:0.005626061562231111\n", + "train loss:0.002592750406620087\n", + "train loss:0.010460812739454555\n", + "train loss:0.001828909722123872\n", + "train loss:0.04866588891922677\n", + "train loss:0.013429057538032328\n", + "train loss:0.0458994616014322\n", + "train loss:0.002132899094760416\n", + "train loss:0.010319817280682764\n", + "train loss:0.006863351801558361\n", + "train loss:0.06814596820646708\n", + "train loss:0.007881954994295705\n", + "train loss:0.0022531051531756814\n", + "train loss:0.018085994433377616\n", + "train loss:0.0057794897222867465\n", + "train loss:0.0012038426232806087\n", + "train loss:0.03679092838901802\n", + "train loss:0.003232372412415805\n", + "train loss:0.011677826702300971\n", + "train loss:0.007002816852535582\n", + "train loss:0.0038701478802197105\n", + "train loss:0.006745331642789882\n", + "train loss:0.013526590900039217\n", + "train loss:0.025324002706376265\n", + "train loss:0.0038719432116892283\n", + "train loss:0.0018776780822869702\n", + "train loss:0.006076485922501228\n", + "train loss:0.029167190483985053\n", + "train loss:0.007926853498602776\n", + "train loss:0.010803514379302407\n", + "train loss:0.02985995587697032\n", + "train loss:0.011906145421854794\n", + "train loss:0.004933145505537178\n", + "train loss:0.01874031779767815\n", + "train loss:0.0028926092867523935\n", + "train loss:0.005170134504092804\n", + "train loss:0.013803421058106257\n", + "train loss:0.016463198382924295\n", + "train loss:0.012132845831679395\n", + "train loss:0.010441443853142138\n", + "train loss:0.033423322628579395\n", + "train loss:0.007597781587609028\n", + "train loss:0.003636224716419623\n", + "train loss:0.019015025064262826\n", + "train loss:0.0007843113418255831\n", + "train loss:0.010689116587784575\n", + "train loss:0.0015281571975359306\n", + "train loss:0.050388105014372755\n", + "train loss:0.0025539120213839113\n", + "train loss:0.019985284658253583\n", + "train loss:0.006881020073896864\n", + "train loss:0.004856136136719777\n", + "train loss:0.003929692442508258\n", + "train loss:0.004488226691264045\n", + "train loss:0.0038723060090335134\n", + "train loss:0.02402053859657151\n", + "train loss:0.004066800943585667\n", + "train loss:0.008504960709299847\n", + "train loss:0.018377165662271794\n", + "train loss:0.005697933190767811\n", + "train loss:0.004450271954907922\n", + "train loss:0.016051197998615457\n", + "train loss:0.004441264267739158\n", + "train loss:0.01108946980555657\n", + "train loss:0.021534120310245822\n", + "train loss:0.011663112369223247\n", + "train loss:0.0022808938299453585\n", + "train loss:0.0015033016740917105\n", + "train loss:0.005792145499013739\n", + "train loss:0.0021963123295298407\n", + "train loss:0.04081845647789455\n", + "train loss:0.006908755683803727\n", + "train loss:0.001866298128586715\n", + "train loss:0.03203688708062852\n", + "train loss:0.0034513305051780446\n", + "train loss:0.011540734572686718\n", + "train loss:0.0020069647639058465\n", + "train loss:0.012071211009226835\n", + "train loss:0.031142150437501015\n", + "train loss:0.005277467395256327\n", + "train loss:0.015267199809204282\n", + "train loss:0.005694012456930386\n", + "train loss:0.0046893816609647684\n", + "train loss:0.12421859096240874\n", + "train loss:0.002350590106039283\n", + "train loss:0.02833357990756934\n", + "train loss:0.003348953270960347\n", + "train loss:0.007066944547441587\n", + "train loss:0.010522158860359778\n", + "train loss:0.0027411606014723262\n", + "train loss:0.007618434197540122\n", + "train loss:0.010281987015286098\n", + "train loss:0.009539989806755283\n", + "train loss:0.013859851036182867\n", + "train loss:0.0175474774720536\n", + "train loss:0.01228800492032329\n", + "train loss:0.024243051080895604\n", + "train loss:0.007096427845363864\n", + "train loss:0.009961518109129685\n", + "train loss:0.006607007582799302\n", + "train loss:0.002849801378085461\n", + "train loss:0.011463910074502424\n", + "train loss:0.0021198514591075504\n", + "train loss:0.032438809110148\n", + "train loss:0.005961853513155234\n", + "train loss:0.0005086461757048791\n", + "train loss:0.012800347324339512\n", + "train loss:0.028360133840527508\n", + "train loss:0.014017640784938452\n", + "train loss:0.002691719869111752\n", + "train loss:0.0007117672821970615\n", + "train loss:0.015213493064569887\n", + "train loss:0.011673113507523264\n", + "train loss:0.009403308001102754\n", + "train loss:0.00588947230818109\n", + "train loss:0.012114613812044863\n", + "train loss:0.0022372727035973134\n", + "train loss:0.014539961535217355\n", + "train loss:0.015880641068999727\n", + "train loss:0.0022311402095992815\n", + "train loss:0.009029941651493482\n", + "train loss:0.026350675610771757\n", + "train loss:0.03142956109354359\n", + "train loss:0.0053142995778498615\n", + "train loss:0.01676872485127268\n", + "train loss:0.005383326533427571\n", + "train loss:0.03260990162172762\n", + "train loss:0.004516186691577224\n", + "train loss:0.005375536287686175\n", + "train loss:0.003583352900342869\n", + "train loss:0.0054276941650441175\n", + "train loss:0.002166826016784943\n", + "train loss:0.01230312049928878\n", + "train loss:0.007067168076430231\n", + "train loss:0.010004792868103029\n", + "train loss:0.006749522290049951\n", + "train loss:0.012738689939791246\n", + "train loss:0.05166471800342041\n", + "train loss:0.019350911913702962\n", + "train loss:0.013651231106996509\n", + "train loss:0.02030375065296912\n", + "train loss:0.008098429363953863\n", + "train loss:0.0012600911566379958\n", + "train loss:0.0022841212758855016\n", + "train loss:0.01619609254795412\n", + "train loss:0.002543281862410633\n", + "train loss:0.010112693048818823\n", + "train loss:0.008369010168843276\n", + "train loss:0.026364970524326778\n", + "train loss:0.0024178883505823995\n", + "train loss:0.021220467508401217\n", + "train loss:0.00937849012688132\n", + "train loss:0.0017022346044754655\n", + "train loss:0.01998655866096037\n", + "train loss:0.0034198050430395764\n", + "train loss:0.009966629651654846\n", + "train loss:0.006278492963823856\n", + "train loss:0.07888137861878994\n", + "train loss:0.010180482274050854\n", + "train loss:0.01880590381415822\n", + "train loss:0.027178950212849794\n", + "train loss:0.01440825485236078\n", + "train loss:0.006022731706388761\n", + "train loss:0.08369338840758647\n", + "train loss:0.008893505206268484\n", + "train loss:0.0019598096655467803\n", + "train loss:0.05156270037505229\n", + "train loss:0.009403007992477286\n", + "train loss:0.0032978537394533596\n", + "train loss:0.0015194731699299802\n", + "train loss:0.0057140560653281035\n", + "train loss:0.012949902238713111\n", + "train loss:0.008817011090677217\n", + "train loss:0.011421102634194026\n", + "train loss:0.011975489533202996\n", + "train loss:0.00396768245107089\n", + "train loss:0.007626971203996864\n", + "train loss:0.003502322187319944\n", + "train loss:0.014567862108018853\n", + "train loss:0.025331039087304753\n", + "train loss:0.003897423417427569\n", + "train loss:0.004750876813728569\n", + "train loss:0.0022565907372734846\n", + "train loss:0.0017966380945177705\n", + "train loss:0.004661101189721768\n", + "train loss:0.02101477437435566\n", + "train loss:0.013139424122578115\n", + "train loss:0.00188843568259534\n", + "train loss:0.002871361527971193\n", + "train loss:0.011492076814370127\n", + "train loss:0.006359129004417513\n", + "train loss:0.0007241961424577985\n", + "train loss:0.017554096040105934\n", + "train loss:0.011198416581458584\n", + "train loss:0.044779334391667876\n", + "train loss:0.017364631312232995\n", + "train loss:0.03482991403726323\n", + "train loss:0.022780185086519977\n", + "train loss:0.0023671079016541873\n", + "train loss:0.011677848489784965\n", + "train loss:0.010528306864332294\n", + "train loss:0.018244991788817083\n", + "train loss:0.03429103921217494\n", + "train loss:0.011292813997836451\n", + "train loss:0.009788714181120428\n", + "train loss:0.010330580377614902\n", + "train loss:0.0020868095741626213\n", + "train loss:0.0038374218856361705\n", + "train loss:0.0032343348434089414\n", + "train loss:0.004512741748892224\n", + "train loss:0.002091701980209125\n", + "train loss:0.014871035882130727\n", + "train loss:0.003607681800888429\n", + "train loss:0.03633192545203326\n", + "train loss:0.0021050121400772253\n", + "train loss:0.004100603557297052\n", + "train loss:0.0014892363272516515\n", + "train loss:0.06306085610909577\n", + "train loss:0.01126795096329818\n", + "train loss:0.014647113541695738\n", + "train loss:0.00601882009498558\n", + "train loss:0.00329618865399214\n", + "train loss:0.09199856752609953\n", + "train loss:0.026867628396684787\n", + "train loss:0.0036786377025077323\n", + "train loss:0.0008435906333870923\n", + "train loss:0.006507349071414156\n", + "train loss:0.006925537806601493\n", + "train loss:0.0021492853140364487\n", + "train loss:0.003752799143263048\n", + "train loss:0.00119171175586391\n", + "train loss:0.0037323416363914037\n", + "train loss:0.01086048719903042\n", + "train loss:0.00741668294588685\n", + "train loss:0.004367808808175767\n", + "train loss:0.006646783650608956\n", + "train loss:0.018726677690648195\n", + "train loss:0.003801594810469404\n", + "train loss:0.006467321455152267\n", + "train loss:0.007644928199788499\n", + "train loss:0.004192429016363005\n", + "train loss:0.0012488100741586473\n", + "train loss:0.002247712873984968\n", + "train loss:0.0035132123016988386\n", + "train loss:0.0017231032309434108\n", + "train loss:0.014224016562168429\n", + "train loss:0.006271859300590658\n", + "train loss:0.00584487954944428\n", + "train loss:0.01484803979919639\n", + "train loss:0.002452257390939185\n", + "train loss:0.020092875887085\n", + "train loss:0.009096854837366743\n", + "train loss:0.0197180156357149\n", + "train loss:0.007645163677371756\n", + "train loss:0.0057338506334987695\n", + "train loss:0.004754201347148742\n", + "train loss:0.009979122871644755\n", + "train loss:0.011361555731771214\n", + "train loss:0.009658025629743813\n", + "train loss:0.0013948185668876372\n", + "train loss:0.008538098543480019\n", + "train loss:0.0033131487971165426\n", + "train loss:0.011272486389170465\n", + "train loss:0.0010743213851221874\n", + "train loss:0.02062673089709153\n", + "train loss:0.0064142104728211625\n", + "train loss:0.016788539525288568\n", + "train loss:0.005382124492993978\n", + "train loss:0.009329927060384739\n", + "train loss:0.011915638663185058\n", + "train loss:0.006946171317188282\n", + "train loss:0.005827442284992733\n", + "train loss:0.0009541310391392595\n", + "train loss:0.04332754573919809\n", + "train loss:0.005588052573073536\n", + "train loss:0.007215800529639732\n", + "train loss:0.006091229277171631\n", + "train loss:0.05544698397645512\n", + "train loss:0.0025434118856303718\n", + "train loss:0.0035134930310313796\n", + "train loss:0.0030248676198584195\n", + "train loss:0.0030268196524509228\n", + "train loss:0.009455195522847303\n", + "train loss:0.005855313950076432\n", + "train loss:0.0062942158312882645\n", + "train loss:0.0011076400956146102\n", + "train loss:0.002695153719464172\n", + "train loss:0.008651419572438762\n", + "train loss:0.008826617143081172\n", + "train loss:0.009478315585886028\n", + "train loss:0.0020952947460629954\n", + "train loss:0.0165635546996748\n", + "train loss:0.01032422501024336\n", + "train loss:0.0023519573953229935\n", + "train loss:0.019195453556237866\n", + "train loss:0.018441646566587058\n", + "train loss:0.0076321634240315815\n", + "train loss:0.0035703160040015712\n", + "train loss:0.005889974921781707\n", + "train loss:0.004635668652526133\n", + "train loss:0.031817142288231\n", + "train loss:0.011353095389948291\n", + "train loss:0.004930120949502645\n", + "train loss:0.013450070304227364\n", + "train loss:0.011930473958122969\n", + "train loss:0.018119833495224398\n", + "train loss:0.009673446252959284\n", + "train loss:0.0014855569817751975\n", + "train loss:0.04991440024872602\n", + "train loss:0.008743817126093125\n", + "train loss:0.0022478672736883777\n", + "train loss:0.0042389771831586286\n", + "train loss:0.021100406957308557\n", + "train loss:0.011453258654759239\n", + "train loss:0.010886956090358627\n", + "train loss:0.008722723720850851\n", + "train loss:0.013471399350401807\n", + "train loss:0.005470577167896272\n", + "train loss:0.003721672645612328\n", + "train loss:0.0020798586375573914\n", + "train loss:0.001455946289021374\n", + "train loss:0.004316455203439658\n", + "train loss:0.006958267695104405\n", + "train loss:0.008525661586388426\n", + "train loss:0.01454890161968215\n", + "train loss:0.006412060527552165\n", + "train loss:0.007230027784604293\n", + "train loss:0.01595394939952177\n", + "train loss:0.008256646768880108\n", + "train loss:0.013710615165162929\n", + "train loss:0.020824835934689166\n", + "train loss:0.010007718242732338\n", + "train loss:0.0032964682238191645\n", + "train loss:0.004177912191359412\n", + "train loss:0.001461890734950237\n", + "train loss:0.005716855379229319\n", + "train loss:0.011822617936903916\n", + "train loss:0.014739570738252515\n", + "train loss:0.01233921445464905\n", + "train loss:0.0027323447381901677\n", + "train loss:0.0013244960814736897\n", + "train loss:0.024782247043748196\n", + "train loss:0.01830563181393928\n", + "train loss:0.009862272444581039\n", + "train loss:0.011683569899145456\n", + "train loss:0.002024165191626997\n", + "train loss:0.006872892407130789\n", + "train loss:0.05155107831891297\n", + "train loss:0.00663013029350974\n", + "train loss:0.011374784649598674\n", + "=== epoch:9, train acc:0.991, test acc:0.989 ===\n", + "train loss:0.0005902993607911365\n", + "train loss:0.03403512966181197\n", + "train loss:0.026544332774083704\n", + "train loss:0.013036511509574598\n", + "train loss:0.0019217732034296261\n", + "train loss:0.0012686060037369416\n", + "train loss:0.0009057361853687425\n", + "train loss:0.020432517644094584\n", + "train loss:0.01564549525313301\n", + "train loss:0.005623166718221372\n", + "train loss:0.005712436507029545\n", + "train loss:0.011163753007628568\n", + "train loss:0.013286080430677513\n", + "train loss:0.009839381198889816\n", + "train loss:0.10152736219572958\n", + "train loss:0.010209279985344592\n", + "train loss:0.0005326091710334813\n", + "train loss:0.010781252150029254\n", + "train loss:0.036420721032177965\n", + "train loss:0.017177161195032327\n", + "train loss:0.011556795459317277\n", + "train loss:0.0023433587057652967\n", + "train loss:0.026238138055669255\n", + "train loss:0.005701832185415089\n", + "train loss:0.05104000424792982\n", + "train loss:0.003066027106009272\n", + "train loss:0.013841499513069136\n", + "train loss:0.026470773856233837\n", + "train loss:0.004222574889305926\n", + "train loss:0.012571567434697973\n", + "train loss:0.014947943378221515\n", + "train loss:0.007675010322966721\n", + "train loss:0.011959749630695644\n", + "train loss:0.003996396750123907\n", + "train loss:0.023058509817378513\n", + "train loss:0.01350536526138589\n", + "train loss:0.026480338680420018\n", + "train loss:0.001146880469402616\n", + "train loss:0.04132340175886836\n", + "train loss:0.007259465973540716\n", + "train loss:0.04353523198371065\n", + "train loss:0.014010720980208408\n", + "train loss:0.0019426495113676952\n", + "train loss:0.007203932723874186\n", + "train loss:0.010750840169231135\n", + "train loss:0.005489021171356081\n", + "train loss:0.022535534316454074\n", + "train loss:0.04457916399463162\n", + "train loss:0.004095385251084725\n", + "train loss:0.011119962512038388\n", + "train loss:0.011794289008149566\n", + "train loss:0.008351451731878567\n", + "train loss:0.043627661230301575\n", + "train loss:0.004162489317232776\n", + "train loss:0.019559922957494487\n", + "train loss:0.006067225736598134\n", + "train loss:0.008570523369869276\n", + "train loss:0.002344016437972436\n", + "train loss:0.0622038066140401\n", + "train loss:0.0011615705821892855\n", + "train loss:0.015050606796601237\n", + "train loss:0.00556392491106866\n", + "train loss:0.025884614692118686\n", + "train loss:0.006856439951766701\n", + "train loss:0.0030213227108914\n", + "train loss:0.028317904019841175\n", + "train loss:0.07112627600425583\n", + "train loss:0.004212936770942807\n", + "train loss:0.006808805468519172\n", + "train loss:0.05196891205457971\n", + "train loss:0.003992050846006745\n", + "train loss:0.004384894332145231\n", + "train loss:0.017962582458863553\n", + "train loss:0.010672062450666032\n", + "train loss:0.009673488624559304\n", + "train loss:0.009485600088167286\n", + "train loss:0.00514241962089908\n", + "train loss:0.004066337133382261\n", + "train loss:0.00510896314111249\n", + "train loss:0.003281497108463901\n", + "train loss:0.010011725499467996\n", + "train loss:0.01452088148443098\n", + "train loss:0.0038043006444267507\n", + "train loss:0.00840060861174079\n", + "train loss:0.00975696045627341\n", + "train loss:0.005597039425722226\n", + "train loss:0.014733008867345583\n", + "train loss:0.028846477754435176\n", + "train loss:0.007546125543991176\n", + "train loss:0.01743399356045389\n", + "train loss:0.01596444087647493\n", + "train loss:0.0027075250429061675\n", + "train loss:0.004624512234316232\n", + "train loss:0.007085771039021298\n", + "train loss:0.015760895063063746\n", + "train loss:0.002025988098439069\n", + "train loss:0.0047175524449249925\n", + "train loss:0.02231818470952067\n", + "train loss:0.0028048797344295585\n", + "train loss:0.008283411792129528\n", + "train loss:0.004157387756368873\n", + "train loss:0.01168123950722627\n", + "train loss:0.016160722398123523\n", + "train loss:0.037838606679977085\n", + "train loss:0.0026874763023748615\n", + "train loss:0.0032704394955008864\n", + "train loss:0.004005635232598578\n", + "train loss:0.02191137042705782\n", + "train loss:0.027966635258106082\n", + "train loss:0.0036981055831814373\n", + "train loss:0.0011086652414176955\n", + "train loss:0.015602502044201747\n", + "train loss:0.04571940682320122\n", + "train loss:0.011712758320676088\n", + "train loss:0.007862615088358869\n", + "train loss:0.005102260996691183\n", + "train loss:0.00659240568513351\n", + "train loss:0.004299533285240232\n", + "train loss:0.004175933497511417\n", + "train loss:0.01749881233389215\n", + "train loss:0.019398532146184623\n", + "train loss:0.005812620994765082\n", + "train loss:0.007053217112005361\n", + "train loss:0.02407215862676717\n", + "train loss:0.001887483002108158\n", + "train loss:0.0019168609862626495\n", + "train loss:0.004050068048868868\n", + "train loss:0.013772585422361231\n", + "train loss:0.01317388419177774\n", + "train loss:0.0043089992301008\n", + "train loss:0.0025518215472686455\n", + "train loss:0.013014883024879234\n", + "train loss:0.052143341765724605\n", + "train loss:0.002764742604672677\n", + "train loss:0.004110525191834567\n", + "train loss:0.025794103930550864\n", + "train loss:0.0066822288574269785\n", + "train loss:0.0005976650044655312\n", + "train loss:0.005074258005027747\n", + "train loss:0.0016998144626370155\n", + "train loss:0.01060516596531905\n", + "train loss:0.002443142312782575\n", + "train loss:0.0019788972913053608\n", + "train loss:0.014288045777104939\n", + "train loss:0.01611790996461081\n", + "train loss:0.008351811508369687\n", + "train loss:0.003462855374829302\n", + "train loss:0.003557971528503705\n", + "train loss:0.008945047823296056\n", + "train loss:0.0014259963004796658\n", + "train loss:0.003798413995036376\n", + "train loss:0.001740792031896421\n", + "train loss:0.0019318304347466996\n", + "train loss:0.026231299214744076\n", + "train loss:0.010282454472483611\n", + "train loss:0.010187319748385035\n", + "train loss:0.008212474435990111\n", + "train loss:0.0037317884540967222\n", + "train loss:0.03724534146870414\n", + "train loss:0.009203226737962861\n", + "train loss:0.005873172619022399\n", + "train loss:0.000673737165640369\n", + "train loss:0.006394030391033884\n", + "train loss:0.0008633193097103726\n", + "train loss:0.004521438114789038\n", + "train loss:0.002919658409529095\n", + "train loss:0.007584144870345617\n", + "train loss:0.011095217400342085\n", + "train loss:0.0009658971397914397\n", + "train loss:0.018071846747045095\n", + "train loss:0.002426360204260963\n", + "train loss:0.014747498607059983\n", + "train loss:0.003522504445179024\n", + "train loss:0.005755402791431958\n", + "train loss:0.00971618640429724\n", + "train loss:0.012479665812840912\n", + "train loss:0.02936436446667801\n", + "train loss:0.0012585531312225382\n", + "train loss:0.0028463698494033845\n", + "train loss:0.0038931113447005657\n", + "train loss:0.0027786675016566063\n", + "train loss:0.001984385996626566\n", + "train loss:0.008482555883225985\n", + "train loss:0.005076005097460446\n", + "train loss:0.007972620072669474\n", + "train loss:0.011559662569838728\n", + "train loss:0.01289263234315735\n", + "train loss:0.008263111405322134\n", + "train loss:0.04922014486518313\n", + "train loss:0.0024810554332523977\n", + "train loss:0.002840736558369323\n", + "train loss:0.013258698867391991\n", + "train loss:0.015159907074835331\n", + "train loss:0.02857862433808464\n", + "train loss:0.0032133205246973077\n", + "train loss:0.013609574669890823\n", + "train loss:0.0007954631521968809\n", + "train loss:0.0067635363980689325\n", + "train loss:0.005804694000757257\n", + "train loss:0.011070614348253122\n", + "train loss:0.03467582852156345\n", + "train loss:0.002631740563207594\n", + "train loss:0.026228667770651613\n", + "train loss:0.004499764566064619\n", + "train loss:0.0024957076374909214\n", + "train loss:0.010808978092271031\n", + "train loss:0.05846781249065958\n", + "train loss:0.025380263678885667\n", + "train loss:0.014102585034342014\n", + "train loss:0.012906671429253107\n", + "train loss:0.015208402184522223\n", + "train loss:0.004694239649607978\n", + "train loss:0.005473208095488871\n", + "train loss:0.021743390148122682\n", + "train loss:0.0032255877148841677\n", + "train loss:0.006967549110816409\n", + "train loss:0.011621884625017192\n", + "train loss:0.024291477455977244\n", + "train loss:0.03492017607326153\n", + "train loss:0.002843313695822205\n", + "train loss:0.051686368717381345\n", + "train loss:0.0054119952353788815\n", + "train loss:0.0036881152450715326\n", + "train loss:0.0027317291563933766\n", + "train loss:0.004281091375243681\n", + "train loss:0.010913890654216461\n", + "train loss:0.0033970130193789892\n", + "train loss:0.009014667342532097\n", + "train loss:0.0009422580121984322\n", + "train loss:0.08561098205595805\n", + "train loss:0.01446078062724565\n", + "train loss:0.027670057325861183\n", + "train loss:0.004816356397470394\n", + "train loss:0.004462722432782995\n", + "train loss:0.004433115808016966\n", + "train loss:0.024158608532180853\n", + "train loss:0.007087376479529551\n", + "train loss:0.003930470643242003\n", + "train loss:0.007306881868514758\n", + "train loss:0.008018683178154908\n", + "train loss:0.01167685888020285\n", + "train loss:0.003710924847422856\n", + "train loss:0.002151311386103539\n", + "train loss:0.0032209928859439187\n", + "train loss:0.00574971839807132\n", + "train loss:0.011018603697619294\n", + "train loss:0.013986763567898252\n", + "train loss:0.009165166992611497\n", + "train loss:0.04379250090883091\n", + "train loss:0.005823338702910391\n", + "train loss:0.008685921750822395\n", + "train loss:0.00127850496606733\n", + "train loss:0.009579144223450487\n", + "train loss:0.004559377265024207\n", + "train loss:0.0019825488259478294\n", + "train loss:0.004435916230710923\n", + "train loss:0.021930266189404343\n", + "train loss:0.016108998984859072\n", + "train loss:0.0025341634876324733\n", + "train loss:0.03692776693626827\n", + "train loss:0.006153356826988565\n", + "train loss:0.004369950851858173\n", + "train loss:0.0030608601247814633\n", + "train loss:0.0022712412975201624\n", + "train loss:0.03595452158880824\n", + "train loss:0.004160967847048388\n", + "train loss:0.02176604051529482\n", + "train loss:0.006468030502166083\n", + "train loss:0.003733227048713024\n", + "train loss:0.008473977257721641\n", + "train loss:0.04307541330594716\n", + "train loss:0.004500356894464957\n", + "train loss:0.01294613947124066\n", + "train loss:0.004725818377212832\n", + "train loss:0.01726763582139779\n", + "train loss:0.0023397650069373575\n", + "train loss:0.006935735822036072\n", + "train loss:0.009267559333772182\n", + "train loss:0.02289851949074081\n", + "train loss:0.014668346283440527\n", + "train loss:0.04343490941255535\n", + "train loss:0.005392486758494316\n", + "train loss:0.009258763043241955\n", + "train loss:0.013681839394000634\n", + "train loss:0.031322100451792304\n", + "train loss:0.0018873017203015741\n", + "train loss:0.004473871762060277\n", + "train loss:0.0012550211374336138\n", + "train loss:0.002599533827864814\n", + "train loss:0.07498426658744929\n", + "train loss:0.0032558776681716538\n", + "train loss:0.028890592235265796\n", + "train loss:0.00571472249770388\n", + "train loss:0.011693113001846011\n", + "train loss:0.0095527149347024\n", + "train loss:0.011798272082914856\n", + "train loss:0.007065457522452855\n", + "train loss:0.003475585903096091\n", + "train loss:0.01493441788570096\n", + "train loss:0.005265355431852451\n", + "train loss:0.026143378966956943\n", + "train loss:0.00491744933759224\n", + "train loss:0.009139593651029449\n", + "train loss:0.0015026661444194434\n", + "train loss:0.03240064544444028\n", + "train loss:0.014455733480721884\n", + "train loss:0.009003356656630908\n", + "train loss:0.005923712631090092\n", + "train loss:0.005292778282371534\n", + "train loss:0.009395740792082276\n", + "train loss:0.016599876973693216\n", + "train loss:0.019115806610656653\n", + "train loss:0.008196028942502619\n", + "train loss:0.004247783478219096\n", + "train loss:0.003353410943224375\n", + "train loss:0.004884246955476793\n", + "train loss:0.0009807511753146636\n", + "train loss:0.02856832213484933\n", + "train loss:0.0033067316195050656\n", + "train loss:0.004078704580442304\n", + "train loss:0.007325851876259669\n", + "train loss:0.019383274833242873\n", + "train loss:0.020456623834272717\n", + "train loss:0.0007812974351538493\n", + "train loss:0.010843857314912695\n", + "train loss:0.004374667658293031\n", + "train loss:0.0241626129337257\n", + "train loss:0.007859955065776712\n", + "train loss:0.039929271634942504\n", + "train loss:0.00708102940051759\n", + "train loss:0.002624410636700337\n", + "train loss:0.00650547230371779\n", + "train loss:0.010568597329989065\n", + "train loss:0.008234310313618346\n", + "train loss:0.004725266822917307\n", + "train loss:0.004753673996025746\n", + "train loss:0.007698820845181547\n", + "train loss:0.009896022916885955\n", + "train loss:0.009365994011561601\n", + "train loss:0.007576837032226577\n", + "train loss:0.0344796782165176\n", + "train loss:0.003909452744092582\n", + "train loss:0.005380109141842455\n", + "train loss:0.005993575018270446\n", + "train loss:0.01097936458937783\n", + "train loss:0.01757947685048142\n", + "train loss:0.008758991604156737\n", + "train loss:0.005185181542705261\n", + "train loss:0.015785332399428354\n", + "train loss:0.0067532064157028926\n", + "train loss:0.0034247557514774695\n", + "train loss:0.004716121845813802\n", + "train loss:0.001155578829662111\n", + "train loss:0.006303270081247864\n", + "train loss:0.008560927814341457\n", + "train loss:0.03023966141859234\n", + "train loss:0.006041512768135148\n", + "train loss:0.0066959446266778985\n", + "train loss:0.004147336417380455\n", + "train loss:0.005078271105181157\n", + "train loss:0.018578621732352224\n", + "train loss:0.034121246516879755\n", + "train loss:0.0056593755391443415\n", + "train loss:0.00596388220405205\n", + "train loss:0.05147466660415796\n", + "train loss:0.0027005323502088344\n", + "train loss:0.0033507742051761013\n", + "train loss:0.007075705192100596\n", + "train loss:0.009565265695464793\n", + "train loss:0.03134279510666721\n", + "train loss:0.004745172566859552\n", + "train loss:0.012181324638229659\n", + "train loss:0.0011054559326565874\n", + "train loss:0.005382196864583967\n", + "train loss:0.009121434129752932\n", + "train loss:0.011631778190075652\n", + "train loss:0.004555014918595227\n", + "train loss:0.004889650157748363\n", + "train loss:0.009096710086587034\n", + "train loss:0.00924553269244445\n", + "train loss:0.007944747461751377\n", + "train loss:0.003459500841613428\n", + "train loss:0.01566008527427497\n", + "train loss:0.0008911464800127508\n", + "train loss:0.001091698205476946\n", + "train loss:0.0009505770695874688\n", + "train loss:0.007867986287712734\n", + "train loss:0.004968000324636349\n", + "train loss:0.0056121285885257525\n", + "train loss:0.007904635754945705\n", + "train loss:0.005197557588620477\n", + "train loss:0.005312977587160819\n", + "train loss:0.0020087423437651327\n", + "train loss:0.005294712491600181\n", + "train loss:0.0012405246341708844\n", + "train loss:0.0031783980822181774\n", + "train loss:0.1039724174242753\n", + "train loss:0.0037169780116194113\n", + "train loss:0.009759011343440406\n", + "train loss:0.0048018812051014645\n", + "train loss:0.006350426595224866\n", + "train loss:0.0008512095176504292\n", + "train loss:0.024253785368810593\n", + "train loss:0.0025916427487574062\n", + "train loss:0.0033269182947714727\n", + "train loss:0.09459760155500772\n", + "train loss:0.0047064993301111566\n", + "train loss:0.009045834540739643\n", + "train loss:0.0092606440169875\n", + "train loss:0.0075359863657588665\n", + "train loss:0.0183934461734446\n", + "train loss:0.01849892897252604\n", + "train loss:0.050874723831401104\n", + "train loss:0.007198767667317597\n", + "train loss:0.018661939001193967\n", + "train loss:0.0022028017841392174\n", + "train loss:0.018174116082275663\n", + "train loss:0.0017078903514663622\n", + "train loss:0.1459966672693368\n", + "train loss:0.006329843863072363\n", + "train loss:0.014378688194342711\n", + "train loss:0.01018378928810117\n", + "train loss:0.0009835564430315331\n", + "train loss:0.0056429997290290725\n", + "train loss:0.0010823893738730554\n", + "train loss:0.0043434085569439545\n", + "train loss:0.0030214509992223726\n", + "train loss:0.009926291548281655\n", + "train loss:0.015583007579840477\n", + "train loss:0.04296343915525511\n", + "train loss:0.005700470032062838\n", + "train loss:0.006183856552480422\n", + "train loss:0.0103129350615071\n", + "train loss:0.005623782881403926\n", + "train loss:0.004771483108086103\n", + "train loss:0.0022846827441920757\n", + "train loss:0.0070627647061852605\n", + "train loss:0.011700000064499427\n", + "train loss:0.006878545896291811\n", + "train loss:0.022344043115474315\n", + "train loss:0.013311365446273444\n", + "train loss:0.018434942623669858\n", + "train loss:0.01775084619643194\n", + "train loss:0.013375670648267272\n", + "train loss:0.002056485497154178\n", + "train loss:0.0018363345092885655\n", + "train loss:0.0011910873054445333\n", + "train loss:0.0021574398454583185\n", + "train loss:0.006961013560578591\n", + "train loss:0.04977116139251549\n", + "train loss:0.024193106720847082\n", + "train loss:0.019680667616881774\n", + "train loss:0.0052599166607132705\n", + "train loss:0.015396218206327075\n", + "train loss:0.0025889084914699186\n", + "train loss:0.008656963674933916\n", + "train loss:0.011366341339881484\n", + "train loss:0.0022448520707168173\n", + "train loss:0.0003427579085717119\n", + "train loss:0.014017099789055083\n", + "train loss:0.005286911899970182\n", + "train loss:0.002328978683078542\n", + "train loss:0.004394594403320315\n", + "train loss:0.003106831655873691\n", + "train loss:0.005016104437630236\n", + "train loss:0.0431066040586051\n", + "train loss:0.0076347954210563476\n", + "train loss:0.004873603683503737\n", + "train loss:0.01043082406237778\n", + "train loss:0.006092876008172955\n", + "train loss:0.005255821672366996\n", + "train loss:0.005628588583878875\n", + "train loss:0.0018846267040014606\n", + "train loss:0.0034342418193344998\n", + "train loss:0.0031498871117091242\n", + "train loss:0.016940578448135055\n", + "train loss:0.003260483259769068\n", + "train loss:0.01609160404934448\n", + "train loss:0.02206764472597681\n", + "train loss:0.008207123560034134\n", + "train loss:0.004358644595891921\n", + "train loss:0.007164831073969598\n", + "train loss:0.02634636059960875\n", + "train loss:0.017935455134055398\n", + "train loss:0.013872612345251953\n", + "train loss:0.014928728286260637\n", + "train loss:0.0033717031192576656\n", + "train loss:0.00822355061135789\n", + "train loss:0.005488733158157799\n", + "train loss:0.02550137055464332\n", + "train loss:0.011211660941091495\n", + "train loss:0.020907006192941047\n", + "train loss:0.012536649616985808\n", + "train loss:0.0031854216375890552\n", + "train loss:0.005385548680637622\n", + "train loss:0.024517075339633574\n", + "train loss:0.0074035240331445365\n", + "train loss:0.004254139067435342\n", + "train loss:0.0058829869904971\n", + "train loss:0.00853292432222234\n", + "train loss:0.02421496105187329\n", + "train loss:0.030974674281876852\n", + "train loss:0.013558521101576858\n", + "train loss:0.001858841869825652\n", + "train loss:0.02249357178600816\n", + "train loss:0.000500688914726695\n", + "train loss:0.012754598342220121\n", + "train loss:0.0023250307927846618\n", + "train loss:0.015588251430763464\n", + "train loss:0.021620929276049094\n", + "train loss:0.0032378818279185924\n", + "train loss:0.009692469524749886\n", + "train loss:0.08153647493011407\n", + "train loss:0.0056021477028105685\n", + "train loss:0.0008558945811552965\n", + "train loss:0.0024013208819945843\n", + "train loss:0.002022813904675698\n", + "train loss:0.0037117716681564776\n", + "train loss:0.00839416765208489\n", + "train loss:0.0022782768690073757\n", + "train loss:0.002042345942153006\n", + "train loss:0.037942080621939274\n", + "train loss:0.022064514240763406\n", + "train loss:0.0024210047231849226\n", + "train loss:0.0022182282787880678\n", + "train loss:0.002960918835554736\n", + "train loss:0.01687819454455562\n", + "train loss:0.032778960805304874\n", + "train loss:0.007558917867781768\n", + "train loss:0.006276258094573075\n", + "train loss:0.006903485956991742\n", + "train loss:0.01329753019022129\n", + "train loss:0.006100418517242749\n", + "train loss:0.0016190198364459498\n", + "train loss:0.006357330621681482\n", + "train loss:0.014051048830323026\n", + "train loss:0.0019165278873068514\n", + "train loss:0.012283409253111272\n", + "train loss:0.0004767032382887312\n", + "train loss:0.019315072446860048\n", + "train loss:0.013422040127603563\n", + "train loss:0.0006387369676177679\n", + "train loss:0.044423117100681545\n", + "train loss:0.009307951672255227\n", + "train loss:0.001652964685332176\n", + "train loss:0.0065048787566231135\n", + "train loss:0.021696148099957905\n", + "train loss:0.0009728583363724333\n", + "train loss:0.0011444721589118868\n", + "train loss:0.0015734742321270748\n", + "train loss:0.02143178689379717\n", + "train loss:0.007039078397827944\n", + "train loss:0.0009912872874003715\n", + "train loss:0.0034309013445205966\n", + "train loss:0.02275822068859825\n", + "train loss:0.003594258553329393\n", + "train loss:0.032178619615598064\n", + "train loss:0.013172302543865875\n", + "train loss:0.027110886972945013\n", + "train loss:0.006881847360590838\n", + "train loss:0.013791915707289467\n", + "train loss:0.012229731573256577\n", + "train loss:0.00996833478747986\n", + "train loss:0.0024573178923401173\n", + "train loss:0.003561402526371457\n", + "train loss:0.013769882671671042\n", + "train loss:0.00409994060061491\n", + "train loss:0.0033968952817230265\n", + "train loss:0.01747878703594751\n", + "train loss:0.00522876012038518\n", + "train loss:0.021446393141952794\n", + "train loss:0.008928426123211796\n", + "train loss:0.02051899569395377\n", + "train loss:0.011205647668535773\n", + "train loss:0.006976013388955122\n", + "train loss:0.008869331220677415\n", + "train loss:0.008539244512300198\n", + "train loss:0.0036322542240998412\n", + "train loss:0.04234968919276943\n", + "train loss:0.00334966715203166\n", + "train loss:0.009029382628082144\n", + "train loss:0.02172250058242092\n", + "train loss:0.015452175988101098\n", + "train loss:0.0027217219598769642\n", + "train loss:0.007235037686440381\n", + "train loss:0.01051027117794479\n", + "train loss:0.003938026690403711\n", + "train loss:0.003802565763352752\n", + "train loss:0.004761418443436841\n", + "train loss:0.013461807305842228\n", + "train loss:0.002036456168702846\n", + "train loss:0.003032060781626539\n", + "train loss:0.01591748573551803\n", + "train loss:0.006706472419507407\n", + "train loss:0.0034934718405741404\n", + "train loss:0.00937394216336106\n", + "train loss:0.00396047530166028\n", + "train loss:0.01915445294472339\n", + "train loss:0.010915591020089887\n", + "train loss:0.0034371283521484846\n", + "=== epoch:10, train acc:0.989, test acc:0.986 ===\n", + "train loss:0.004152176802283203\n", + "train loss:0.011444205147666206\n", + "train loss:0.0030225899060887028\n", + "train loss:0.0032246510361145764\n", + "train loss:0.010826100063612305\n", + "train loss:0.01925036409598172\n", + "train loss:0.03748163254670555\n", + "train loss:0.006804604279780044\n", + "train loss:0.0015559248017458487\n", + "train loss:0.011588371973761667\n", + "train loss:0.0011244018593414996\n", + "train loss:0.005755780073222744\n", + "train loss:0.001335918719565163\n", + "train loss:0.008787724078582478\n", + "train loss:0.00445628450573777\n", + "train loss:0.008226852223695907\n", + "train loss:0.00866795057454833\n", + "train loss:0.050613944977183155\n", + "train loss:0.043935737654510164\n", + "train loss:0.0004296089270960264\n", + "train loss:0.003922235465478686\n", + "train loss:0.008777787015849805\n", + "train loss:0.0015961356420109904\n", + "train loss:0.0019552588034362868\n", + "train loss:0.005105671738137553\n", + "train loss:0.0016221446635984735\n", + "train loss:0.0009908816073145917\n", + "train loss:0.012369650943206403\n", + "train loss:0.0037909478719594415\n", + "train loss:0.0019424340382218042\n", + "train loss:0.010982227484106459\n", + "train loss:0.009838119056063263\n", + "train loss:0.018283744681136062\n", + "train loss:0.005254002601885219\n", + "train loss:0.003976950807736353\n", + "train loss:0.01436884271221458\n", + "train loss:0.0065748140868349\n", + "train loss:0.009784215468705733\n", + "train loss:0.009065781362288914\n", + "train loss:0.00010137585387863971\n", + "train loss:0.008197679727035882\n", + "train loss:0.023851416361961073\n", + "train loss:0.006409149879717166\n", + "train loss:0.012286175915197048\n", + "train loss:0.0005813449133810354\n", + "train loss:0.00887810792283175\n", + "train loss:0.036218745003282475\n", + "train loss:0.0013044255918975697\n", + "train loss:0.004941251583070005\n", + "train loss:0.0039889271424887705\n", + "train loss:0.0059408621521440585\n", + "train loss:0.004704955631276692\n", + "train loss:0.003533674453316602\n", + "train loss:0.02296450142280602\n", + "train loss:0.0013853727530979076\n", + "train loss:0.011181854269216569\n", + "train loss:0.0052373813177011355\n", + "train loss:0.007009587040047091\n", + "train loss:0.016271642438821066\n", + "train loss:0.018392050337313066\n", + "train loss:0.003102470684099587\n", + "train loss:0.008863592255879254\n", + "train loss:0.006629543464891228\n", + "train loss:0.004526557809150268\n", + "train loss:0.006377352673897548\n", + "train loss:0.003976700677642091\n", + "train loss:0.0124848273485682\n", + "train loss:0.0022984895374087485\n", + "train loss:0.004144639287414399\n", + "train loss:0.008308529154235515\n", + "train loss:0.0015845167795295737\n", + "train loss:0.015645885479871596\n", + "train loss:0.004743162896889404\n", + "train loss:0.0018403363497701219\n", + "train loss:0.004996461947039934\n", + "train loss:0.0036374079437583844\n", + "train loss:0.007232472291638347\n", + "train loss:0.0016694687015468485\n", + "train loss:0.0030586325196168755\n", + "train loss:0.0018718630895809421\n", + "train loss:0.011632124940242404\n", + "train loss:0.007338786194562198\n", + "train loss:0.014984224186938582\n", + "train loss:0.0039652338125618376\n", + "train loss:0.00280052742728254\n", + "train loss:0.003036844016987424\n", + "train loss:0.007955794362476374\n", + "train loss:0.001988605167315156\n", + "train loss:0.00794910421496666\n", + "train loss:0.0011481258337704614\n", + "train loss:0.005662495582648102\n", + "train loss:0.007415225524966663\n", + "train loss:0.0015038768900600625\n", + "train loss:0.00984864938862302\n", + "train loss:0.006938702746062476\n", + "train loss:0.018039497244816197\n", + "train loss:0.003025990341469284\n", + "train loss:0.00562091273474571\n", + "train loss:0.0065531564300997935\n", + "train loss:0.006755176382765522\n", + "train loss:0.024288310092201594\n", + "train loss:0.002506539743258724\n", + "train loss:0.002304213266988145\n", + "train loss:0.0031478540437329646\n", + "train loss:0.009582751781976777\n", + "train loss:0.004033307919316155\n", + "train loss:0.004218567261496712\n", + "train loss:0.014702040811399213\n", + "train loss:0.0067563482393045125\n", + "train loss:0.023191206883774983\n", + "train loss:0.005646810998936548\n", + "train loss:0.09237152758798681\n", + "train loss:0.003892881996505428\n", + "train loss:0.0018961048079536877\n", + "train loss:0.006085788404784319\n", + "train loss:0.01041089233763039\n", + "train loss:0.006309472880187589\n", + "train loss:0.007559100464773488\n", + "train loss:0.016832195231354763\n", + "train loss:0.06050888288980862\n", + "train loss:0.017723686363937986\n", + "train loss:0.0053843628834639445\n", + "train loss:0.008171828780703922\n", + "train loss:0.018670230332516958\n", + "train loss:0.00587239759795825\n", + "train loss:0.004058870698659836\n", + "train loss:0.002293619182250444\n", + "train loss:0.027587863356592468\n", + "train loss:0.004877951808091856\n", + "train loss:0.035544737605570045\n", + "train loss:0.008851568508111167\n", + "train loss:0.03060677191262822\n", + "train loss:0.004274815906810381\n", + "train loss:0.0012645923572440032\n", + "train loss:0.00895642186452837\n", + "train loss:0.0019503432033776485\n", + "train loss:0.011977206119950474\n", + "train loss:0.0064871738449147455\n", + "train loss:0.008791048347450396\n", + "train loss:0.03941645974285413\n", + "train loss:0.0031139785254499512\n", + "train loss:0.008804812225670198\n", + "train loss:0.015446399163162518\n", + "train loss:0.01178995413121598\n", + "train loss:0.012705173513700605\n", + "train loss:0.002776205881560229\n", + "train loss:0.0033605426617531347\n", + "train loss:0.015559460055161982\n", + "train loss:0.19253853323839526\n", + "train loss:0.0014801544180012053\n", + "train loss:0.0010453993262331813\n", + "train loss:0.016880021050123865\n", + "train loss:0.0016743053392563908\n", + "train loss:0.02552353378583486\n", + "train loss:0.02667154541932183\n", + "train loss:0.01636829730417767\n", + "train loss:0.010398691566562696\n", + "train loss:0.002952536639568324\n", + "train loss:0.0022809507835539313\n", + "train loss:0.03177860560299269\n", + "train loss:0.0024455194081306852\n", + "train loss:0.04250535281196976\n", + "train loss:0.0018801631652352016\n", + "train loss:0.010116311668957413\n", + "train loss:0.0026409221025671587\n", + "train loss:0.004528142863142443\n", + "train loss:0.039915295636342\n", + "train loss:0.0007970028629885858\n", + "train loss:0.007907190568488152\n", + "train loss:0.003619876160318143\n", + "train loss:0.006463545515821144\n", + "train loss:0.0030356602720395865\n", + "train loss:0.009037781312917973\n", + "train loss:0.017996336650215314\n", + "train loss:0.0032715921455107287\n", + "train loss:0.0022573405763575633\n", + "train loss:0.004957120138560164\n", + "train loss:0.0014058721564725399\n", + "train loss:0.000508258734177101\n", + "train loss:0.02629597096937675\n", + "train loss:0.0020708313090385664\n", + "train loss:0.010570595215563711\n", + "train loss:0.014442033299753122\n", + "train loss:0.03163789662125663\n", + "train loss:0.011214360851325593\n", + "train loss:0.0016539218637576616\n", + "train loss:0.015065405649349614\n", + "train loss:0.0042481774234032045\n", + "train loss:0.0365635818937145\n", + "train loss:0.0187607010391974\n", + "train loss:0.016236444759842424\n", + "train loss:0.010210423897323408\n", + "train loss:0.011535402305981315\n", + "train loss:0.0031863022810900005\n", + "train loss:0.0077927554284317295\n", + "train loss:0.03162864656650884\n", + "train loss:0.00913570046842477\n", + "train loss:0.006321493403483717\n", + "train loss:0.004688769559091957\n", + "train loss:0.01720723521895977\n", + "train loss:0.017491022681434033\n", + "train loss:0.02022690844253853\n", + "train loss:0.014531308201273897\n", + "train loss:0.011142833573037539\n", + "train loss:0.04209690975951949\n", + "train loss:0.007515261623397651\n", + "train loss:0.0016203399270297264\n", + "train loss:0.003551369828198259\n", + "train loss:0.0038023169971498206\n", + "train loss:0.005365255833491056\n", + "train loss:0.00940407506604825\n", + "train loss:0.007076022876153748\n", + "train loss:0.026968088595980433\n", + "train loss:0.023553248840064694\n", + "train loss:0.012660836317151179\n", + "train loss:0.023381899167499314\n", + "train loss:0.004440872321325066\n", + "train loss:0.0022297048031715656\n", + "train loss:0.0036135693744899517\n", + "train loss:0.006062412900495341\n", + "train loss:0.00763313630780239\n", + "train loss:0.005312463037937148\n", + "train loss:0.012403768945458775\n", + "train loss:0.016727559698249763\n", + "train loss:0.007407309776003328\n", + "train loss:0.0030617948111259265\n", + "train loss:0.004050634106630292\n", + "train loss:0.01631553155875064\n", + "train loss:0.006314531440893537\n", + "train loss:0.011844594576885487\n", + "train loss:0.004479272722390536\n", + "train loss:0.014012735044091389\n", + "train loss:0.0020072968060891707\n", + "train loss:0.0019800034861049186\n", + "train loss:0.009935626827723233\n", + "train loss:0.009022507922718817\n", + "train loss:0.005707372971983091\n", + "train loss:0.006792622433184225\n", + "train loss:0.006062630121579763\n", + "train loss:0.004544462390145606\n", + "train loss:0.022192662565561416\n", + "train loss:0.0012970715676425546\n", + "train loss:0.00448858824184376\n", + "train loss:0.0038395385266455895\n", + "train loss:0.0048711400312821465\n", + "train loss:0.008309863808701808\n", + "train loss:0.0020361374737851434\n", + "train loss:0.006884572311579962\n", + "train loss:0.01185198496009391\n", + "train loss:0.012054044074346787\n", + "train loss:0.005285779416891919\n", + "train loss:0.0020569351920501616\n", + "train loss:0.0030297854828291474\n", + "train loss:0.002498707360927585\n", + "train loss:0.0036363989884754078\n", + "train loss:0.005337760399657166\n", + "train loss:0.003403019697501354\n", + "train loss:0.013257334164382779\n", + "train loss:0.0017378598209657383\n", + "train loss:0.0016579008210053962\n", + "train loss:0.008346985201645759\n", + "train loss:0.0061259862445442945\n", + "train loss:0.0045629837272112474\n", + "train loss:0.0001983821698395381\n", + "train loss:0.006355842387703583\n", + "train loss:0.004232285647050108\n", + "train loss:0.028713156911074504\n", + "train loss:0.02871413283706186\n", + "train loss:0.004311365173556812\n", + "train loss:0.011279562259503075\n", + "train loss:0.00035561967257554365\n", + "train loss:0.004302829084402483\n", + "train loss:0.002431436222318472\n", + "train loss:0.005694393072288307\n", + "train loss:0.006387481247450998\n", + "train loss:0.0040429165825466165\n", + "train loss:0.005574183775178038\n", + "train loss:0.017985103883166483\n", + "train loss:0.001374959562611247\n", + "train loss:0.005701622335423664\n", + "train loss:0.003809419616025812\n", + "train loss:0.0016931908411246049\n", + "train loss:0.004758264490107222\n", + "train loss:0.011711880174206959\n", + "train loss:0.0015842980897652964\n", + "train loss:0.002384628454336574\n", + "train loss:0.003682258117314366\n", + "train loss:0.002315576213999536\n", + "train loss:0.005122052109774559\n", + "train loss:0.005407160028527019\n", + "train loss:0.00514888027637812\n", + "train loss:0.005212652568258155\n", + "train loss:0.0027991643082745017\n", + "train loss:0.012892082505825499\n", + "train loss:0.0003681072234235739\n", + "train loss:0.004865555307634981\n", + "train loss:0.005695629210203078\n", + "train loss:0.0020208502631254223\n", + "train loss:0.000651128735427313\n", + "train loss:0.00181868095114618\n", + "train loss:0.022031493880561786\n", + "train loss:0.012881247562812155\n", + "train loss:0.001844323761778206\n", + "train loss:0.028795428161077163\n", + "train loss:0.0015846145404458778\n", + "train loss:0.008839389546673489\n", + "train loss:0.0030965027902207435\n", + "train loss:0.011549420196784298\n", + "train loss:0.017043338295091037\n", + "train loss:0.007023413321391934\n", + "train loss:0.00887168483199522\n", + "train loss:0.012174658259342995\n", + "train loss:0.007792827800663774\n", + "train loss:0.0026899757270953746\n", + "train loss:0.025075986017332123\n", + "train loss:0.005902624836237986\n", + "train loss:0.00457414448368691\n", + "train loss:0.002908225517702709\n", + "train loss:0.003425037249992881\n", + "train loss:0.004905477688690763\n", + "train loss:0.0028410894719949164\n", + "train loss:0.0020146865772631526\n", + "train loss:0.006100498241430243\n", + "train loss:0.0076703592051360955\n", + "train loss:0.001792293992331043\n", + "train loss:0.0037053007186089687\n", + "train loss:0.0033137442692250502\n", + "train loss:0.008214007799259416\n", + "train loss:0.01542315713600698\n", + "train loss:0.023903368614027764\n", + "train loss:0.004982187815756821\n", + "train loss:0.0003014732299713153\n", + "train loss:0.002187395432970617\n", + "train loss:0.003799415270831005\n", + "train loss:0.00706557449140978\n", + "train loss:0.011181486548667897\n", + "train loss:0.00089989862115641\n", + "train loss:0.013690704950368069\n", + "train loss:0.00482062036968136\n", + "train loss:0.0012661481840969796\n", + "train loss:0.02417832496007756\n", + "train loss:0.004163536522437518\n", + "train loss:0.011083192148831135\n", + "train loss:0.000559622598117533\n", + "train loss:0.0043615348229493036\n", + "train loss:0.007026372287966698\n", + "train loss:0.0005844082797375357\n", + "train loss:0.0026095645571620712\n", + "train loss:0.013850987393363353\n", + "train loss:0.005509457367032912\n", + "train loss:0.0013625886615260118\n", + "train loss:0.006679453855470479\n", + "train loss:0.001012464890558809\n", + "train loss:0.0020700354474246264\n", + "train loss:0.003899697094818998\n", + "train loss:0.0011171999219902063\n", + "train loss:0.0017787370271516864\n", + "train loss:0.0015948969997811211\n", + "train loss:0.0033144073081751175\n", + "train loss:0.003400788306595921\n", + "train loss:0.012866487458998878\n", + "train loss:0.014934543337768074\n", + "train loss:0.0024092666364162775\n", + "train loss:0.004509725451379536\n", + "train loss:0.006087250501243405\n", + "train loss:0.003412877020397752\n", + "train loss:0.03549528885845218\n", + "train loss:0.01731130227395986\n", + "train loss:0.001963949070901295\n", + "train loss:0.012289496842646533\n", + "train loss:0.010885711008645084\n", + "train loss:0.009048469292206174\n", + "train loss:0.02494724220522563\n", + "train loss:0.00730088706480893\n", + "train loss:0.002202662849544785\n", + "train loss:0.00546929617721405\n", + "train loss:0.002146131981499185\n", + "train loss:0.004173250010805002\n", + "train loss:0.0058655372247093255\n", + "train loss:0.0034196185980422665\n", + "train loss:0.007359830253231411\n", + "train loss:0.0005625306240807986\n", + "train loss:0.00250165555656888\n", + "train loss:0.0014903902292149563\n", + "train loss:0.01050926809532355\n", + "train loss:0.00195855215372101\n", + "train loss:0.011277552165263428\n", + "train loss:0.0008932906974572232\n", + "train loss:0.008678430198588293\n", + "train loss:0.0034394295486614357\n", + "train loss:0.014722541522140295\n", + "train loss:0.009254407211968126\n", + "train loss:0.016478383425742864\n", + "train loss:0.0018557601946513063\n", + "train loss:0.0871654388006691\n", + "train loss:0.0020563337853506725\n", + "train loss:0.008130153859024747\n", + "train loss:0.009006549155444507\n", + "train loss:0.008658453115534401\n", + "train loss:0.040885234437240736\n", + "train loss:0.012704277380765296\n", + "train loss:0.006412736227737689\n", + "train loss:0.01620393712192926\n", + "train loss:0.0012255161257290405\n", + "train loss:0.004944923273327346\n", + "train loss:0.004387143974960709\n", + "train loss:0.0006583260201638161\n", + "train loss:0.03294001025408699\n", + "train loss:0.0045972662028786766\n", + "train loss:0.009423016962468988\n", + "train loss:0.018466078065348734\n", + "train loss:0.009473973994762684\n", + "train loss:0.004803933909670826\n", + "train loss:0.010253255422843452\n", + "train loss:0.020636076702257443\n", + "train loss:0.005895734754781571\n", + "train loss:0.008560995298061527\n", + "train loss:0.004687866093769502\n", + "train loss:0.0007045204347177945\n", + "train loss:0.004793279131762746\n", + "train loss:0.025294653797476946\n", + "train loss:0.001347653879263792\n", + "train loss:0.04198975789722918\n", + "train loss:0.019157339273533826\n", + "train loss:0.006460850551584963\n", + "train loss:0.0016024836189168984\n", + "train loss:0.011548659978805088\n", + "train loss:0.007959428459098264\n", + "train loss:0.011130536083085134\n", + "train loss:0.0070220949853000226\n", + "train loss:0.008931085417561239\n", + "train loss:0.002867603419298801\n", + "train loss:0.007200632069659862\n", + "train loss:0.0019428967756518938\n", + "train loss:0.01735106648634741\n", + "train loss:0.03123150758891803\n", + "train loss:0.003264810820726164\n", + "train loss:0.011570399391342433\n", + "train loss:0.005250982654359495\n", + "train loss:0.006200933216706049\n", + "train loss:0.0033276458533423934\n", + "train loss:0.01634724938216908\n", + "train loss:0.0010329655746597233\n", + "train loss:0.0033890800047324835\n", + "train loss:0.004385547719369044\n", + "train loss:0.0074912768119097615\n", + "train loss:0.0028394554257394396\n", + "train loss:0.040512575737471225\n", + "train loss:0.033099269300293686\n", + "train loss:0.004399687116174101\n", + "train loss:0.020637662457113612\n", + "train loss:0.006700726987157735\n", + "train loss:0.003375010208945153\n", + "train loss:0.010251718479151068\n", + "train loss:0.001612451318164467\n", + "train loss:0.0010587946604568123\n", + "train loss:0.0051255233133494105\n", + "train loss:0.0028857640796250473\n", + "train loss:0.009301080572349234\n", + "train loss:0.002861213706256039\n", + "train loss:0.01582008909028616\n", + "train loss:0.0028376316141985798\n", + "train loss:0.0008556938289184822\n", + "train loss:0.007671839270960295\n", + "train loss:0.004225138823378669\n", + "train loss:0.025046317996923514\n", + "train loss:0.004392524039315647\n", + "train loss:0.001460340885398165\n", + "train loss:0.017345740290986015\n", + "train loss:0.00042582717328334\n", + "train loss:0.005895356631702772\n", + "train loss:0.002010271754766567\n", + "train loss:0.008133768900899507\n", + "train loss:0.004839356646756464\n", + "train loss:0.0003346819470559107\n", + "train loss:0.01601454837629541\n", + "train loss:0.001059611319036028\n", + "train loss:0.00821891258959908\n", + "train loss:0.005278390799694309\n", + "train loss:0.05144385589176356\n", + "train loss:0.0446838107420751\n", + "train loss:0.0022184476931855694\n", + "train loss:0.0043880040233680835\n", + "train loss:0.00035135967949394866\n", + "train loss:0.004176994001430222\n", + "train loss:0.00407940805583126\n", + "train loss:0.00460755439721878\n", + "train loss:0.0019918239846153886\n", + "train loss:0.004124948402163198\n", + "train loss:0.03496529276619796\n", + "train loss:0.004360507561666146\n", + "train loss:0.0023606379163853518\n", + "train loss:0.03050022619299674\n", + "train loss:0.016695070083234988\n", + "train loss:0.0057462448305650145\n", + "train loss:0.022633087348306317\n", + "train loss:0.0076068234918503985\n", + "train loss:0.002640002767394285\n", + "train loss:0.002212288814500479\n", + "train loss:0.06170205698477452\n", + "train loss:0.0053634253667708106\n", + "train loss:0.0021556532068859155\n", + "train loss:0.0024424308560409046\n", + "train loss:0.0015856334333924442\n", + "train loss:0.0020509425956977603\n", + "train loss:0.002311091361551937\n", + "train loss:0.006375821186815756\n", + "train loss:0.01327338080286732\n", + "train loss:0.004214986969628925\n", + "train loss:0.008766110435489112\n", + "train loss:0.013034686070446215\n", + "train loss:0.006659086692630605\n", + "train loss:0.010018540377748344\n", + "train loss:0.007917543456941838\n", + "train loss:0.01748703939097911\n", + "train loss:0.0032995605383161065\n", + "train loss:0.0006794536762746111\n", + "train loss:0.0035242809570686685\n", + "train loss:0.011107767653358509\n", + "train loss:0.1632281403389209\n", + "train loss:0.058854250019591506\n", + "train loss:0.021345068207908\n", + "train loss:0.007124172699745627\n", + "train loss:0.043099357273770435\n", + "train loss:0.004009789756743425\n", + "train loss:0.005289111646842782\n", + "train loss:0.007865039647149805\n", + "train loss:0.011149513684191316\n", + "train loss:0.00967526020072876\n", + "train loss:0.008723442618054559\n", + "train loss:0.015312079653140274\n", + "train loss:0.0020735847637150568\n", + "train loss:0.004785437195525382\n", + "train loss:0.011125161818402838\n", + "train loss:0.03995094178378101\n", + "train loss:0.011394234986826084\n", + "train loss:0.005271050114117268\n", + "train loss:0.0012102201741897977\n", + "train loss:0.011462184385073855\n", + "train loss:0.005897526837784661\n", + "train loss:0.0006637649192019796\n", + "train loss:0.023315687872842328\n", + "train loss:0.0014734861250271917\n", + "train loss:0.0035057163305640907\n", + "train loss:0.003071592461783681\n", + "train loss:0.0030116382528132223\n", + "train loss:0.014601909607848051\n", + "train loss:0.011775535791360606\n", + "train loss:0.033980496909716704\n", + "train loss:0.005553313289321587\n", + "train loss:0.008525879879512366\n", + "train loss:0.006046704337049359\n", + "train loss:0.002792824937024913\n", + "train loss:0.020220408316787074\n", + "train loss:0.0007643390140597054\n", + "train loss:0.009490095343874919\n", + "train loss:0.020379235412240244\n", + "train loss:0.0029084238461013715\n", + "train loss:0.001765403109198668\n", + "train loss:0.0010202268477971781\n", + "train loss:0.012777063716856331\n", + "train loss:0.004869947458613834\n", + "train loss:0.004992299044964749\n", + "train loss:0.007199493166733641\n", + "train loss:0.006340438055080669\n", + "train loss:0.0017292664871103023\n", + "train loss:0.007319864058387008\n", + "train loss:0.001729700599264023\n", + "train loss:0.010348993635794728\n", + "train loss:0.004312398459853025\n", + "train loss:0.030368879879162935\n", + "train loss:0.0024497006119297096\n", + "train loss:0.0016662532553674185\n", + "train loss:0.01022428975966313\n", + "train loss:0.011020861716290157\n", + "train loss:0.007965307314351853\n", + "train loss:0.01672853047633309\n", + "train loss:0.009729522764196906\n", + "train loss:0.006314165267587124\n", + "train loss:0.0016331708177720647\n", + "train loss:0.01650790452903283\n", + "train loss:0.0018466096247191318\n", + "train loss:0.002823484735125333\n", + "train loss:0.004568096642175817\n", + "train loss:0.009614866810638757\n", + "train loss:0.0018029136311278988\n", + "train loss:0.0031469256911874637\n", + "train loss:0.0013833586903249108\n", + "train loss:0.016071206173172564\n", + "train loss:0.0024205915202175667\n", + "train loss:0.004569414386879623\n", + "train loss:0.0030047736697423793\n", + "train loss:0.0036970984381252997\n", + "train loss:0.029323190220021077\n", + "train loss:0.00483714128581959\n", + "train loss:0.005673180224060389\n", + "train loss:0.0009612323619111001\n", + "train loss:0.0022567460623184234\n", + "train loss:0.00888058270899279\n", + "train loss:0.03626939592835377\n", + "=== epoch:11, train acc:0.996, test acc:0.986 ===\n", + "train loss:0.0046927828200519165\n", + "train loss:0.001730212249779993\n", + "train loss:0.0037038832562686034\n", + "train loss:0.019515350940279803\n", + "train loss:0.0018721190960816214\n", + "train loss:0.003458201268484668\n", + "train loss:0.0008072177802511082\n", + "train loss:0.016843495157538736\n", + "train loss:0.002336712820631938\n", + "train loss:0.0025426882435072686\n", + "train loss:0.04007504770004573\n", + "train loss:0.0033943375631721967\n", + "train loss:0.005085230959254645\n", + "train loss:0.01047729762445885\n", + "train loss:0.01720206163889212\n", + "train loss:0.0027365914074844516\n", + "train loss:0.0013238513129382084\n", + "train loss:0.004813491762837606\n", + "train loss:0.0007577562813795548\n", + "train loss:0.002861503306049375\n", + "train loss:0.0051313556926099145\n", + "train loss:0.006987420473733599\n", + "train loss:0.0022100118930466215\n", + "train loss:0.027434583851913587\n", + "train loss:0.0023460527354198708\n", + "train loss:0.001617734838627232\n", + "train loss:0.013696642424561511\n", + "train loss:0.02998865829894999\n", + "train loss:0.0014236881514425733\n", + "train loss:0.008901156371783913\n", + "train loss:0.0018488512506746129\n", + "train loss:0.010227026837583069\n", + "train loss:0.004895195307048737\n", + "train loss:0.001296435914134556\n", + "train loss:0.0039383545155283655\n", + "train loss:0.0024625221065896633\n", + "train loss:0.0008095093857667415\n", + "train loss:0.0005045870610615032\n", + "train loss:0.003386565223136765\n", + "train loss:0.007943735044616379\n", + "train loss:0.002579314751532921\n", + "train loss:0.0023912150825315215\n", + "train loss:0.02939266954232469\n", + "train loss:0.004577588427072399\n", + "train loss:0.014838678090189818\n", + "train loss:0.12065589434246075\n", + "train loss:0.004769946494141588\n", + "train loss:0.0035403509719385915\n", + "train loss:0.006785569427551568\n", + "train loss:0.0176581599144324\n", + "train loss:0.007920229416770624\n", + "train loss:0.003083426002354803\n", + "train loss:0.003269725048909108\n", + "train loss:0.026363832185844913\n", + "train loss:0.0020513398877254514\n", + "train loss:0.0015993076319247303\n", + "train loss:0.002328489915252304\n", + "train loss:0.00396779470315162\n", + "train loss:0.010829262197618338\n", + "train loss:0.008246331218984364\n", + "train loss:0.017241462005732146\n", + "train loss:0.011819494893977605\n", + "train loss:0.0007689009951712352\n", + "train loss:0.005146464979721995\n", + "train loss:0.0012902640547254366\n", + "train loss:0.0010469500614460894\n", + "train loss:0.0006430037931543271\n", + "train loss:0.0005930521501728216\n", + "train loss:0.004399640957576296\n", + "train loss:0.0077712208146303455\n", + "train loss:0.0021598372365207704\n", + "train loss:0.0034220980247771575\n", + "train loss:0.007464862912667244\n", + "train loss:0.0006975155484991125\n", + "train loss:0.026882180255929793\n", + "train loss:0.006906415481317387\n", + "train loss:0.007905562599134119\n", + "train loss:0.0011315925833574247\n", + "train loss:0.00971874766056834\n", + "train loss:0.0029440983982673796\n", + "train loss:0.004563240174735952\n", + "train loss:0.006487367968885054\n", + "train loss:0.0442093471758195\n", + "train loss:0.01032242055750972\n", + "train loss:0.0013141951589451402\n", + "train loss:0.004215838459698886\n", + "train loss:0.001112230168249428\n", + "train loss:0.007776273897079846\n", + "train loss:0.0070586418214086365\n", + "train loss:0.006450645384517646\n", + "train loss:0.006561514128385527\n", + "train loss:0.0023831567408051117\n", + "train loss:0.0023025642046404274\n", + "train loss:0.0038216951336722993\n", + "train loss:0.0042412862726552425\n", + "train loss:0.0036921822172067565\n", + "train loss:0.003433694935875195\n", + "train loss:0.022181333140680794\n", + "train loss:0.006474966165706463\n", + "train loss:0.002594071418871366\n", + "train loss:0.0040617200579514436\n", + "train loss:0.007672779849836477\n", + "train loss:0.016863787630687466\n", + "train loss:0.0023875315996254964\n", + "train loss:0.0075080161439440955\n", + "train loss:0.03973253592087797\n", + "train loss:0.005027767259151228\n", + "train loss:0.014300717886048342\n", + "train loss:0.00590830732197374\n", + "train loss:0.003222310027061669\n", + "train loss:0.007066358355885813\n", + "train loss:0.0142540343160634\n", + "train loss:0.03549295288765461\n", + "train loss:0.002766220052530057\n", + "train loss:0.012812503508192392\n", + "train loss:0.00447994224033231\n", + "train loss:0.005366614535928535\n", + "train loss:0.0007002034249442603\n", + "train loss:0.003641524035408453\n", + "train loss:0.0006361098907971715\n", + "train loss:0.0024471430274702125\n", + "train loss:0.008564242015069432\n", + "train loss:0.008113371180690124\n", + "train loss:0.035217700693233794\n", + "train loss:0.0014676672995602542\n", + "train loss:0.0040154673887946996\n", + "train loss:0.06258507734234285\n", + "train loss:0.002121824783745121\n", + "train loss:0.0039547568378801475\n", + "train loss:0.003312538081326497\n", + "train loss:0.010669975326557564\n", + "train loss:0.006393669541296728\n", + "train loss:0.03569270221376572\n", + "train loss:0.013334603176983992\n", + "train loss:0.0033345303055432748\n", + "train loss:0.012168524850784474\n", + "train loss:0.001120952571883308\n", + "train loss:0.0053748545160571485\n", + "train loss:0.025984957789206717\n", + "train loss:0.027497441357579578\n", + "train loss:0.006677097351775015\n", + "train loss:0.010550976502824794\n", + "train loss:0.0015978898510777897\n", + "train loss:0.029309778847610154\n", + "train loss:0.0016635233499721317\n", + "train loss:0.0047437136385169104\n", + "train loss:0.00405463930016966\n", + "train loss:0.0034086386801385864\n", + "train loss:0.001491692394294545\n", + "train loss:0.005806096525999055\n", + "train loss:0.008868594696476934\n", + "train loss:0.0006600914938366249\n", + "train loss:0.0010519751512899714\n", + "train loss:0.0034366397982870858\n", + "train loss:0.003161914693274874\n", + "train loss:0.05815235909039389\n", + "train loss:0.00399682107136351\n", + "train loss:0.004538817156584775\n", + "train loss:0.004819702862643653\n", + "train loss:0.0044183587336733\n", + "train loss:0.003405883374724896\n", + "train loss:0.03690196807984236\n", + "train loss:0.0034790735700450247\n", + "train loss:0.003058741124781665\n", + "train loss:0.020106920270880936\n", + "train loss:0.012283233554968735\n", + "train loss:0.003848952443052774\n", + "train loss:0.01212661671748817\n", + "train loss:0.0011816647839549745\n", + "train loss:0.0019407714657557968\n", + "train loss:0.0015481848147886803\n", + "train loss:0.002440855932960091\n", + "train loss:0.020126682825228247\n", + "train loss:0.0014184747938272158\n", + "train loss:0.007977916035122145\n", + "train loss:0.030531333521751573\n", + "train loss:0.0081545615298041\n", + "train loss:0.025827861842246662\n", + "train loss:0.010173791354276422\n", + "train loss:0.008234847584883624\n", + "train loss:0.001962144898353665\n", + "train loss:0.007246603795722218\n", + "train loss:0.005181124227843119\n", + "train loss:0.016131903199234847\n", + "train loss:0.0012935957125459227\n", + "train loss:0.027539533535814526\n", + "train loss:0.003955899637661323\n", + "train loss:0.01491466948908333\n", + "train loss:0.00299190576330765\n", + "train loss:0.015280849525923134\n", + "train loss:0.013724502225004029\n", + "train loss:0.0009055741799527606\n", + "train loss:0.002640668903950562\n", + "train loss:0.0055162753905496605\n", + "train loss:0.013091351560480502\n", + "train loss:0.004857414965574689\n", + "train loss:0.006538897984851252\n", + "train loss:0.002432246138139135\n", + "train loss:0.015474245436760457\n", + "train loss:0.001824972086511069\n", + "train loss:0.0007515317685806835\n", + "train loss:0.0032644898164920296\n", + "train loss:0.003118674250849102\n", + "train loss:0.0020841949679050067\n", + "train loss:0.018902032671798533\n", + "train loss:0.0052745008617129585\n", + "train loss:0.013106959571672317\n", + "train loss:0.0028423342648072145\n", + "train loss:0.00038734539763264804\n", + "train loss:0.034273249069100224\n", + "train loss:0.0031608051290538835\n", + "train loss:0.0024426116809007988\n", + "train loss:0.0016573656428878992\n", + "train loss:0.002940588339870061\n", + "train loss:0.007152398218207527\n", + "train loss:0.0033259723728623542\n", + "train loss:0.024054019087551847\n", + "train loss:0.011359113687234688\n", + "train loss:0.002988149311127139\n", + "train loss:0.0019113812898063638\n", + "train loss:0.003061231606654664\n", + "train loss:0.002628351732898558\n", + "train loss:0.0076276682016799225\n", + "train loss:0.012034151092819675\n", + "train loss:0.0046543381259469925\n", + "train loss:0.0015455705826686317\n", + "train loss:0.004983751461141312\n", + "train loss:0.003500484891428882\n", + "train loss:0.0011841784307994182\n", + "train loss:0.005756025229879796\n", + "train loss:0.005048022304982861\n", + "train loss:0.003579769274101924\n", + "train loss:0.030260839465735795\n", + "train loss:0.00970299521773383\n", + "train loss:0.0009451822095723276\n", + "train loss:0.00908209362225059\n", + "train loss:0.006289070190290707\n", + "train loss:0.004171542314382857\n", + "train loss:0.003160250180964411\n", + "train loss:0.004497888423072236\n", + "train loss:0.0011329083187253369\n", + "train loss:0.004257242188313983\n", + "train loss:0.013651142823967687\n", + "train loss:0.0016768691499877359\n", + "train loss:0.0023810075933780855\n", + "train loss:0.004287408782700802\n", + "train loss:0.0012100985244105765\n", + "train loss:0.026298014464333525\n", + "train loss:0.0012674278922622554\n", + "train loss:0.0013599600745321672\n", + "train loss:0.0013005445914666682\n", + "train loss:0.007644598396100083\n", + "train loss:0.0004785242026665329\n", + "train loss:0.0007537480231809156\n", + "train loss:0.0015890400068608087\n", + "train loss:0.002920538168779892\n", + "train loss:0.006348234189236395\n", + "train loss:0.013966442683729836\n", + "train loss:0.013916052298748528\n", + "train loss:0.015174687132905453\n", + "train loss:0.0013613811512541872\n", + "train loss:0.02008631734513622\n", + "train loss:0.005378136831602338\n", + "train loss:0.006117318909533397\n", + "train loss:0.0029178166944324423\n", + "train loss:0.013035588845115482\n", + "train loss:0.0008923083923972186\n", + "train loss:0.0032947912631343845\n", + "train loss:0.00991973802884954\n", + "train loss:0.01593967768210907\n", + "train loss:0.004086199004396033\n", + "train loss:0.0014249951154592813\n", + "train loss:0.005210117901374343\n", + "train loss:0.00604788204910442\n", + "train loss:0.0003476524976375582\n", + "train loss:0.004391570931912198\n", + "train loss:0.0059204628986581735\n", + "train loss:0.009926677966892835\n", + "train loss:0.002694886511838026\n", + "train loss:0.006392083742442129\n", + "train loss:0.016452952647465043\n", + "train loss:0.0064311980148070635\n", + "train loss:0.008719404872458593\n", + "train loss:0.0018813200050569712\n", + "train loss:0.0012661380121365548\n", + "train loss:0.005337610002339225\n", + "train loss:0.003585427463647646\n", + "train loss:0.005464982340742948\n", + "train loss:0.0036800417590197574\n", + "train loss:0.013658298238483059\n", + "train loss:0.001007851403164006\n", + "train loss:0.0037882393422829165\n", + "train loss:0.007744054315897952\n", + "train loss:0.002446706813561284\n", + "train loss:0.005152821288180609\n", + "train loss:0.004207717162813095\n", + "train loss:0.004541628757494783\n", + "train loss:0.0026831696430072156\n", + "train loss:0.04529225116007257\n", + "train loss:0.009647496876176718\n", + "train loss:0.0012107653738688716\n", + "train loss:0.0038979083661867947\n", + "train loss:0.0275097471889487\n", + "train loss:0.0012810698977255802\n", + "train loss:0.0018042819558379477\n", + "train loss:0.0017454779071847178\n", + "train loss:0.004674938504878227\n", + "train loss:0.001309598562866691\n", + "train loss:0.006959468492690947\n", + "train loss:0.004553519470910895\n", + "train loss:0.003175400982700339\n", + "train loss:0.004352458278604343\n", + "train loss:0.0018650293591514684\n", + "train loss:0.001405364844883363\n", + "train loss:0.004799674579418097\n", + "train loss:0.007657451976596521\n", + "train loss:0.0016068992180850116\n", + "train loss:0.006353476514990165\n", + "train loss:0.006201903065164542\n", + "train loss:0.005405713623799008\n", + "train loss:0.0007671164058568569\n", + "train loss:0.0006114743337208116\n", + "train loss:0.00423977735686354\n", + "train loss:0.005881697773831995\n", + "train loss:0.0043698681094241024\n", + "train loss:0.004938915110957582\n", + "train loss:0.05593968634866563\n", + "train loss:0.001494218099118648\n", + "train loss:0.002771596976408812\n", + "train loss:0.0053168498519110315\n", + "train loss:0.0010808065503424532\n", + "train loss:0.002887677251654555\n", + "train loss:0.007199460806565205\n", + "train loss:0.0013474810754026381\n", + "train loss:0.0054280827225032845\n", + "train loss:0.03124603584712779\n", + "train loss:0.009269406179321768\n", + "train loss:0.018433917272668583\n", + "train loss:0.004364003383621181\n", + "train loss:0.006107042412959865\n", + "train loss:0.02197162353281057\n", + "train loss:0.006474086223626685\n", + "train loss:0.0020837867187792425\n", + "train loss:0.026671680544403782\n", + "train loss:0.005956732292704765\n", + "train loss:0.0005855430151112346\n", + "train loss:0.0006673898919602773\n", + "train loss:0.00579833295428112\n", + "train loss:0.003687521558553689\n", + "train loss:0.005606858311242525\n", + "train loss:0.00232589383527603\n", + "train loss:0.013460722781594603\n", + "train loss:0.019467645669661242\n", + "train loss:0.0009657394264172703\n", + "train loss:0.0031034017465484415\n", + "train loss:0.001997255687524797\n", + "train loss:0.02214965268312331\n", + "train loss:0.003094384148932179\n", + "train loss:0.0015443842666298592\n", + "train loss:0.0002443833054373029\n", + "train loss:0.0018143263838136378\n", + "train loss:0.015631036772162214\n", + "train loss:0.0013189482152528708\n", + "train loss:0.01481815315031537\n", + "train loss:0.008845353744519805\n", + "train loss:0.00462728185283378\n", + "train loss:0.00068871730083089\n", + "train loss:0.009106421029643286\n", + "train loss:0.005636749099059859\n", + "train loss:0.005284107602563009\n", + "train loss:0.01466704199644938\n", + "train loss:0.0012912868495247101\n", + "train loss:0.008086944015843329\n", + "train loss:0.0009629208369823317\n", + "train loss:0.0018989861102775014\n", + "train loss:0.004599882985562592\n", + "train loss:0.004630853470340065\n", + "train loss:0.004784097185970278\n", + "train loss:0.0026294830561276773\n", + "train loss:0.00046067092997396317\n", + "train loss:0.002740230322042791\n", + "train loss:0.016527578369135945\n", + "train loss:0.003836272151366965\n", + "train loss:0.018388471778640173\n", + "train loss:0.0046988538852795\n", + "train loss:0.003047083408877404\n", + "train loss:0.004263209047082225\n", + "train loss:0.00902242995029762\n", + "train loss:0.007096568260656116\n", + "train loss:0.020139281295632996\n", + "train loss:0.020486036660674247\n", + "train loss:0.008424060441130234\n", + "train loss:0.015345925943318966\n", + "train loss:0.0031863520704660036\n", + "train loss:0.039756590707627576\n", + "train loss:0.011359522829618779\n", + "train loss:0.0016451089733192639\n", + "train loss:0.0017939290178995357\n", + "train loss:0.005109220412197244\n", + "train loss:0.006497205341437712\n", + "train loss:0.002047240372497496\n", + "train loss:0.0005341233543427288\n", + "train loss:0.0029712487704214104\n", + "train loss:0.0008220519832915025\n", + "train loss:0.002575997228128108\n", + "train loss:0.003708478095728605\n", + "train loss:0.009395067537604924\n", + "train loss:0.0019798135248328564\n", + "train loss:0.0040437296485576315\n", + "train loss:0.0006400824478434121\n", + "train loss:0.0017209755835213283\n", + "train loss:0.003404553562498887\n", + "train loss:0.00967528691546122\n", + "train loss:0.01855429694772093\n", + "train loss:0.004668419876897564\n", + "train loss:0.007786669175781472\n", + "train loss:0.001936512969865132\n", + "train loss:0.012370449189652674\n", + "train loss:0.014036014693979115\n", + "train loss:0.028915146370910562\n", + "train loss:0.0015066157045339971\n", + "train loss:0.0017265788410152328\n", + "train loss:0.0012200876184709645\n", + "train loss:0.0011504737262906148\n", + "train loss:0.004138885240381396\n", + "train loss:0.0031572642716184702\n", + "train loss:0.0045150472016305095\n", + "train loss:0.005316804633704501\n", + "train loss:0.010419742618161925\n", + "train loss:0.009084888678481446\n", + "train loss:0.0032142996234478423\n", + "train loss:0.01302345853456228\n", + "train loss:0.030421429519878886\n", + "train loss:0.0006320825795780187\n", + "train loss:0.0013807668340670334\n", + "train loss:0.05051126946413922\n", + "train loss:0.0005632508354900169\n", + "train loss:0.0019673642587872435\n", + "train loss:0.005549318870990336\n", + "train loss:0.0030809783263114877\n", + "train loss:0.0024283792543110575\n", + "train loss:0.008220068150142135\n", + "train loss:0.007796677681340878\n", + "train loss:0.002559415561751806\n", + "train loss:0.027085095152595495\n", + "train loss:0.0034307406622066995\n", + "train loss:0.0036104246278462894\n", + "train loss:0.0034185312939593844\n", + "train loss:0.0017432276283604914\n", + "train loss:0.0011618670789699127\n", + "train loss:0.0033601543711467828\n", + "train loss:0.005149028214399423\n", + "train loss:0.01872521891847144\n", + "train loss:0.0009315826833341512\n", + "train loss:0.0064741841601437524\n", + "train loss:0.0024724127131606887\n", + "train loss:0.0026058663910869095\n", + "train loss:0.0017379622853237534\n", + "train loss:0.005463855056595776\n", + "train loss:0.005596691518155601\n", + "train loss:0.02115199231470499\n", + "train loss:0.011305702707041869\n", + "train loss:0.015211638682375135\n", + "train loss:0.005604549119141204\n", + "train loss:0.007238419155723588\n", + "train loss:0.0022260123743476877\n", + "train loss:0.002534090659958281\n", + "train loss:0.0014734203542925625\n", + "train loss:0.013055353719873203\n", + "train loss:0.0060784959529301685\n", + "train loss:0.011979224234194228\n", + "train loss:0.0005008776680418938\n", + "train loss:0.001761081579189952\n", + "train loss:0.02159847536047025\n", + "train loss:0.031034240550220183\n", + "train loss:0.002056718935998179\n", + "train loss:0.0030048634731285567\n", + "train loss:0.004018533499846466\n", + "train loss:0.0004722218289149653\n", + "train loss:0.023521607285671552\n", + "train loss:0.028340335401444715\n", + "train loss:0.00512354396507975\n", + "train loss:0.0012081246116970674\n", + "train loss:0.007090472511258866\n", + "train loss:0.002993237055117547\n", + "train loss:0.007243078914977255\n", + "train loss:0.003344522463923466\n", + "train loss:0.0007106535183807822\n", + "train loss:0.0007164081870774143\n", + "train loss:0.0012213114459520922\n", + "train loss:0.06857259278937236\n", + "train loss:0.002931536500413545\n", + "train loss:0.0050468787531352255\n", + "train loss:0.0017593210860889614\n", + "train loss:0.003560564577366736\n", + "train loss:0.0005057291046460092\n", + "train loss:0.004214673092185986\n", + "train loss:0.002034803397956064\n", + "train loss:0.004277443689927452\n", + "train loss:0.00514903160122575\n", + "train loss:0.01688510010542266\n", + "train loss:0.002122765171078783\n", + "train loss:0.001968785881633218\n", + "train loss:0.004869563315143399\n", + "train loss:0.002402785203590315\n", + "train loss:0.0034932736843803097\n", + "train loss:0.0010438315015232672\n", + "train loss:0.0013045781149015763\n", + "train loss:0.0034878159785441424\n", + "train loss:0.011753035768574296\n", + "train loss:0.004910840306639627\n", + "train loss:0.006707203544908785\n", + "train loss:0.0019541366169274973\n", + "train loss:0.0021396235646928396\n", + "train loss:0.002219846552573296\n", + "train loss:0.007698390231681566\n", + "train loss:0.002203845466457724\n", + "train loss:0.006141778515834048\n", + "train loss:0.005532210886529931\n", + "train loss:0.0012542018531291957\n", + "train loss:0.0022282099537523055\n", + "train loss:0.022535302539686754\n", + "train loss:0.0009463850789706245\n", + "train loss:0.0066679947636763435\n", + "train loss:0.0002576172125695573\n", + "train loss:0.01645135920137427\n", + "train loss:0.0018018391330213604\n", + "train loss:0.004382186941664965\n", + "train loss:0.001744404860762974\n", + "train loss:0.0019663498688237556\n", + "train loss:0.011592980792216117\n", + "train loss:0.009086693421076496\n", + "train loss:0.0034423216743163275\n", + "train loss:0.002140924999129697\n", + "train loss:0.0017724046208369892\n", + "train loss:0.01542639856384149\n", + "train loss:0.015000562159127113\n", + "train loss:0.0024531965453031767\n", + "train loss:0.005620999112970138\n", + "train loss:0.0027051783261324604\n", + "train loss:0.008193066519604504\n", + "train loss:0.033303177200467764\n", + "train loss:0.0019301355283259417\n", + "train loss:0.008570544938008382\n", + "train loss:0.0016933871051129246\n", + "train loss:0.00571853635170145\n", + "train loss:0.007457142679365796\n", + "train loss:0.002283539969392863\n", + "train loss:0.000502254858005948\n", + "train loss:0.00448337645611542\n", + "train loss:0.0016344315129658011\n", + "train loss:0.004057337219080597\n", + "train loss:0.008571570508457861\n", + "train loss:0.004360808978755069\n", + "train loss:0.010315799078391865\n", + "train loss:0.010052960953152983\n", + "train loss:0.0005258944530297333\n", + "train loss:0.0012863372732286238\n", + "train loss:0.012617057778269864\n", + "train loss:0.005759501510382749\n", + "train loss:0.006067058610917969\n", + "train loss:0.00030275936060001604\n", + "train loss:0.001871223744490972\n", + "train loss:0.01391872910832837\n", + "train loss:0.002001216743124955\n", + "train loss:0.018439735448744686\n", + "train loss:0.003486259844172216\n", + "train loss:0.004417167937594703\n", + "train loss:0.011788320904798704\n", + "train loss:0.0067117458455261516\n", + "train loss:0.00234715401997214\n", + "train loss:0.02819058171418581\n", + "train loss:0.00587817783587941\n", + "train loss:0.01755761228696425\n", + "train loss:0.0039047837005430587\n", + "train loss:0.001907583812000747\n", + "train loss:0.027494574258075714\n", + "train loss:0.003298522356168853\n", + "train loss:0.008109134810672736\n", + "train loss:0.003069528520124767\n", + "train loss:0.023530056778730723\n", + "train loss:0.002793855771785195\n", + "train loss:0.005190388209196679\n", + "train loss:0.0159163277201782\n", + "train loss:0.006894944554746678\n", + "train loss:0.00484638511290693\n", + "train loss:0.0029346594168625493\n", + "train loss:0.0035716929204164588\n", + "train loss:0.007840391628773041\n", + "train loss:0.017462753520586634\n", + "train loss:0.0039681476494076075\n", + "train loss:0.007602483302035061\n", + "train loss:0.010483623519570374\n", + "train loss:0.008414050204746072\n", + "train loss:0.003353078657267244\n", + "train loss:0.00874888558710851\n", + "train loss:0.005722623226888764\n", + "train loss:0.0008869756399206468\n", + "train loss:0.004243580619460445\n", + "train loss:0.005687148872526684\n", + "=== epoch:12, train acc:0.995, test acc:0.988 ===\n", + "train loss:0.004094429892582126\n", + "train loss:0.005261023900179001\n", + "train loss:0.002442075123339899\n", + "train loss:0.002570397318945974\n", + "train loss:0.0016753265427764251\n", + "train loss:0.008654657467746147\n", + "train loss:0.004972109331414275\n", + "train loss:0.0021578788181848864\n", + "train loss:0.0009335678904998342\n", + "train loss:0.007278414584871868\n", + "train loss:0.002485439199660215\n", + "train loss:0.035996788986532906\n", + "train loss:0.0005887988008215807\n", + "train loss:0.0031090904325107834\n", + "train loss:0.0007611435934915932\n", + "train loss:0.007117786936205045\n", + "train loss:0.002408970880265077\n", + "train loss:0.010357466466219276\n", + "train loss:0.001259026096399502\n", + "train loss:0.005207031193806337\n", + "train loss:0.0017905141407115067\n", + "train loss:0.003831617481977786\n", + "train loss:0.002075452630107041\n", + "train loss:0.006501533337721585\n", + "train loss:0.0008532695342503204\n", + "train loss:0.0047250897981212\n", + "train loss:0.006883958117081258\n", + "train loss:0.0033211261330697685\n", + "train loss:0.00906949382295159\n", + "train loss:0.0025203984614259566\n", + "train loss:0.020966887693823107\n", + "train loss:0.0006485888399137528\n", + "train loss:0.005505968540776095\n", + "train loss:0.004852117539490966\n", + "train loss:6.818113774147882e-05\n", + "train loss:0.016944513664241555\n", + "train loss:0.0012712620682178788\n", + "train loss:0.002204030683067075\n", + "train loss:0.004589155526205788\n", + "train loss:0.002219377527500937\n", + "train loss:0.0022411722445911876\n", + "train loss:0.01007179195720815\n", + "train loss:0.0005284420600613869\n", + "train loss:0.0005104469837465504\n", + "train loss:0.01199541915922653\n", + "train loss:0.002924604124938354\n", + "train loss:0.005542961397510816\n", + "train loss:0.004312080483593168\n", + "train loss:0.0038271647514522495\n", + "train loss:0.005530810048353581\n", + "train loss:0.013520442896102219\n", + "train loss:0.002477671625878594\n", + "train loss:0.00031266044674827664\n", + "train loss:0.0015117100371385141\n", + "train loss:0.0003327165433079442\n", + "train loss:0.0189988510920475\n", + "train loss:0.0039423573981734895\n", + "train loss:0.002377114519963809\n", + "train loss:0.0008095288076929991\n", + "train loss:0.007327408119086363\n", + "train loss:0.007076981661788998\n", + "train loss:0.003768934859405198\n", + "train loss:0.001886211543246276\n", + "train loss:0.01426752398106976\n", + "train loss:0.0004467375864682516\n", + "train loss:0.005884243416296528\n", + "train loss:0.0031085312645764444\n", + "train loss:0.0004051028681619269\n", + "train loss:0.00294795920436732\n", + "train loss:0.011537916156927328\n", + "train loss:0.006514410481750343\n", + "train loss:0.003551495926155399\n", + "train loss:0.0126742156713549\n", + "train loss:0.002246212540816481\n", + "train loss:0.0007094130580226577\n", + "train loss:0.005737558483530429\n", + "train loss:0.0021653849267061504\n", + "train loss:0.001914917778447058\n", + "train loss:0.018131321585331598\n", + "train loss:0.0034972974986618084\n", + "train loss:0.0014174518734359585\n", + "train loss:0.005709002656854071\n", + "train loss:0.02161328610838316\n", + "train loss:0.002595211095367918\n", + "train loss:0.01704159745833076\n", + "train loss:0.008540488974347971\n", + "train loss:0.003783914669046126\n", + "train loss:0.0443610049439096\n", + "train loss:0.03143523308988851\n", + "train loss:0.0004413802931677694\n", + "train loss:0.031456378521494105\n", + "train loss:0.0026139296406128077\n", + "train loss:0.004014788133690297\n", + "train loss:0.0018750742967454104\n", + "train loss:0.0061306779165481206\n", + "train loss:0.011979563814763465\n", + "train loss:0.0215053227333843\n", + "train loss:0.023897939469313224\n", + "train loss:0.029011375449119154\n", + "train loss:0.019949480245319114\n", + "train loss:0.004336373469016014\n", + "train loss:0.0074270410678799435\n", + "train loss:0.00027591892888389883\n", + "train loss:0.011153117063309766\n", + "train loss:0.002750589491995596\n", + "train loss:0.0021421411139703676\n", + "train loss:0.005639655256625705\n", + "train loss:0.004951664790846788\n", + "train loss:0.0019385218130225986\n", + "train loss:0.010427194838391772\n", + "train loss:0.010477766081575895\n", + "train loss:0.003716811775118586\n", + "train loss:0.0018570063228076042\n", + "train loss:0.015714665333348685\n", + "train loss:0.015713720211733822\n", + "train loss:0.0010550290436682412\n", + "train loss:0.013321647162836734\n", + "train loss:0.003415331580839552\n", + "train loss:0.0016379931342395604\n", + "train loss:0.00859815393362425\n", + "train loss:0.0011813358810563229\n", + "train loss:0.0018631119026836665\n", + "train loss:0.003495272176030166\n", + "train loss:0.007466766859292273\n", + "train loss:0.013595898014310685\n", + "train loss:0.0012706765058522302\n", + "train loss:0.0019297641771617341\n", + "train loss:0.0020352340052596936\n", + "train loss:0.0126055146845348\n", + "train loss:0.004996199664738648\n", + "train loss:0.037511669973296434\n", + "train loss:0.0016947680045532936\n", + "train loss:0.0008286578988047913\n", + "train loss:0.0013005255152212308\n", + "train loss:0.0027003157170060977\n", + "train loss:0.0065732993585604325\n", + "train loss:0.009131113626360477\n", + "train loss:0.0057834182928424285\n", + "train loss:0.007771730783929681\n", + "train loss:0.004183976518678645\n", + "train loss:0.006399124074382644\n", + "train loss:0.002677650067686255\n", + "train loss:0.0014211201696027204\n", + "train loss:0.0030117448297853062\n", + "train loss:0.0008756795326712762\n", + "train loss:0.007903176613367107\n", + "train loss:0.0034654944526455837\n", + "train loss:0.0027782454597969674\n", + "train loss:0.0029481519916215175\n", + "train loss:0.00023473191517917342\n", + "train loss:0.006824198873002016\n", + "train loss:0.0045450964262967915\n", + "train loss:0.010283850159509248\n", + "train loss:0.0006769874284677244\n", + "train loss:0.0014835011544019052\n", + "train loss:0.0030690860687156416\n", + "train loss:0.02271488742404836\n", + "train loss:0.005637393514371191\n", + "train loss:0.0005838671361768081\n", + "train loss:0.0003487897730195141\n", + "train loss:0.018585123521203156\n", + "train loss:0.003346903412718141\n", + "train loss:0.002911389674950056\n", + "train loss:0.000963612832122165\n", + "train loss:0.023947332835812584\n", + "train loss:0.002803712858735942\n", + "train loss:0.003544586611446233\n", + "train loss:0.015337998594742355\n", + "train loss:0.003451746747652927\n", + "train loss:0.0043128354253818115\n", + "train loss:0.0014754606813472421\n", + "train loss:0.006083511399781744\n", + "train loss:0.007970218876408612\n", + "train loss:0.002482309719050997\n", + "train loss:0.004393027226990098\n", + "train loss:0.0030432932494030827\n", + "train loss:0.0015661616873127193\n", + "train loss:0.001925161832131529\n", + "train loss:0.0197381892637316\n", + "train loss:0.0017221843735364664\n", + "train loss:0.005712573039540945\n", + "train loss:0.003181010309056696\n", + "train loss:0.011573189032453485\n", + "train loss:0.0006435480546380368\n", + "train loss:0.0011290706335443748\n", + "train loss:0.007185777061343549\n", + "train loss:0.007455754978234337\n", + "train loss:0.001342667313368562\n", + "train loss:0.0024253368665405634\n", + "train loss:0.006604448414682826\n", + "train loss:0.0012370502415029528\n", + "train loss:0.009856602929702014\n", + "train loss:0.0001873114065085817\n", + "train loss:0.008372479428338847\n", + "train loss:0.0008254556111387645\n", + "train loss:0.004107270454112264\n", + "train loss:0.01609700706610278\n", + "train loss:0.001522228826513818\n", + "train loss:0.001901458123945687\n", + "train loss:0.0030296678864267608\n", + "train loss:0.0022892014675150833\n", + "train loss:0.0006323492752544485\n", + "train loss:0.01250070688514484\n", + "train loss:0.008682442341959746\n", + "train loss:0.004966913936866093\n", + "train loss:0.003813809211533217\n", + "train loss:0.0015014831258485673\n", + "train loss:0.008208041702731608\n", + "train loss:0.007912039808507819\n", + "train loss:0.0002787897297504664\n", + "train loss:0.006643033234316395\n", + "train loss:0.0019248327481250133\n", + "train loss:0.006095837600687498\n", + "train loss:0.019249732187045055\n", + "train loss:0.0016800659756624342\n", + "train loss:0.007327603663875567\n", + "train loss:0.0056317843265237645\n", + "train loss:0.028382859158018494\n", + "train loss:0.002010869708424784\n", + "train loss:0.0034433506513790917\n", + "train loss:0.003730155783581758\n", + "train loss:0.005807646494719416\n", + "train loss:0.03871629050959134\n", + "train loss:0.0067885548946422765\n", + "train loss:0.0015329760372672016\n", + "train loss:0.0012532653978851258\n", + "train loss:0.0037465758241997053\n", + "train loss:0.004540699391442121\n", + "train loss:0.0031359254768144936\n", + "train loss:0.004908984033022808\n", + "train loss:0.0011516710488026147\n", + "train loss:0.0020194844421794985\n", + "train loss:0.0017999333445597374\n", + "train loss:0.0036371911713064943\n", + "train loss:0.00239212797681574\n", + "train loss:0.002254080776409289\n", + "train loss:0.004293534334719512\n", + "train loss:0.003277762599446064\n", + "train loss:0.000647873217879364\n", + "train loss:0.007958955215066923\n", + "train loss:0.0023031873005442704\n", + "train loss:0.0025801158214393692\n", + "train loss:0.005263930817486173\n", + "train loss:0.016052723924724566\n", + "train loss:0.0011053312965768447\n", + "train loss:0.0029918025095532806\n", + "train loss:0.0016269887916132968\n", + "train loss:0.0017402289807634112\n", + "train loss:0.0008997077382256072\n", + "train loss:0.0018838675878568194\n", + "train loss:0.004001273665799431\n", + "train loss:0.0056408482378319325\n", + "train loss:0.006134037674732977\n", + "train loss:0.0029595287563134705\n", + "train loss:0.013402604317151257\n", + "train loss:0.004606525462564992\n", + "train loss:0.022693852626915246\n", + "train loss:0.0005504854254887462\n", + "train loss:0.005996985856697226\n", + "train loss:0.00256974510477006\n", + "train loss:0.000987490624315418\n", + "train loss:0.0055626909244653\n", + "train loss:0.0025216158179410366\n", + "train loss:0.0025660825848031073\n", + "train loss:0.002866505411405679\n", + "train loss:0.009708717249940477\n", + "train loss:0.0020439652670832626\n", + "train loss:0.001033406149940218\n", + "train loss:0.0028239749873169334\n", + "train loss:0.006084337083605341\n", + "train loss:0.001286421044475476\n", + "train loss:0.000853860353409048\n", + "train loss:0.005481936896972648\n", + "train loss:0.0015953243911413766\n", + "train loss:0.008138132926437622\n", + "train loss:0.0032099507033182713\n", + "train loss:0.0017957109576445763\n", + "train loss:0.0044677222170941815\n", + "train loss:0.004928356172966479\n", + "train loss:0.001763549747297903\n", + "train loss:0.011859096881819797\n", + "train loss:0.006023013103380961\n", + "train loss:0.0017793859767953268\n", + "train loss:0.0020738636492460493\n", + "train loss:0.0013649035197595464\n", + "train loss:0.012310112540614225\n", + "train loss:0.0007401425653863886\n", + "train loss:0.002719788559580498\n", + "train loss:0.002013909483632039\n", + "train loss:0.004238358077023333\n", + "train loss:0.004213545916998429\n", + "train loss:0.006420119426494143\n", + "train loss:0.004694929956971996\n", + "train loss:0.028011478292341324\n", + "train loss:0.0002628164238628929\n", + "train loss:0.00011443104287655019\n", + "train loss:0.000987382974815261\n", + "train loss:0.003798300517627326\n", + "train loss:0.0014567362049434185\n", + "train loss:0.0025790861936244424\n", + "train loss:0.0005815291730886966\n", + "train loss:0.0024484268468585703\n", + "train loss:0.0016802969420941422\n", + "train loss:0.000639317679905143\n", + "train loss:0.004969210824840858\n", + "train loss:0.00023802622243479212\n", + "train loss:0.027042804354513582\n", + "train loss:0.0027181127843891144\n", + "train loss:0.0013631095327825016\n", + "train loss:0.0010226887023397282\n", + "train loss:0.0026883851907170387\n", + "train loss:0.0025035654371895516\n", + "train loss:0.05285079767757364\n", + "train loss:0.002061810094237324\n", + "train loss:0.0027766206982007074\n", + "train loss:0.05407389129518723\n", + "train loss:0.0010760371677665775\n", + "train loss:0.005928762686892528\n", + "train loss:0.0007384230327994526\n", + "train loss:0.008335913865086142\n", + "train loss:0.0047510873861969\n", + "train loss:0.0012316453042330309\n", + "train loss:0.00853788716890394\n", + "train loss:0.006716602548600324\n", + "train loss:0.004977106544944775\n", + "train loss:0.007788780420050421\n", + "train loss:0.02266777419571417\n", + "train loss:0.0005695919861709947\n", + "train loss:0.013100543671633632\n", + "train loss:0.007674537312930979\n", + "train loss:0.011584087863735533\n", + "train loss:0.0023884132218787353\n", + "train loss:0.0007805224434444267\n", + "train loss:0.0022953004679366145\n", + "train loss:0.004300569281914284\n", + "train loss:0.0339003488574762\n", + "train loss:0.003518524767235532\n", + "train loss:0.006373226164552453\n", + "train loss:0.001491204097497734\n", + "train loss:0.0026293288984931113\n", + "train loss:0.002105115815833644\n", + "train loss:0.0010453090358878542\n", + "train loss:0.001576360523723156\n", + "train loss:0.0001615365227681291\n", + "train loss:0.003945598440181246\n", + "train loss:0.009738841921126371\n", + "train loss:0.0015600068332627052\n", + "train loss:0.0016878615088376553\n", + "train loss:0.004536409194045265\n", + "train loss:0.01187180964348855\n", + "train loss:0.03606811288438572\n", + "train loss:0.0068486076468404974\n", + "train loss:0.0020829780374755124\n", + "train loss:0.0016547960598501834\n", + "train loss:0.005600173553942629\n", + "train loss:0.013852534989523234\n", + "train loss:0.013548995687352168\n", + "train loss:0.0028062850488407187\n", + "train loss:0.017505938636219506\n", + "train loss:0.0018407026722212984\n", + "train loss:0.013831835898189726\n", + "train loss:0.0034327848573748976\n", + "train loss:0.003596372380048969\n", + "train loss:0.005479162158884852\n", + "train loss:0.0053091738114356265\n", + "train loss:0.003078371348702978\n", + "train loss:0.006415015289789527\n", + "train loss:0.005594335832719983\n", + "train loss:0.0012699211677269584\n", + "train loss:0.004387700306291921\n", + "train loss:0.0010627723147289033\n", + "train loss:0.018743939907629646\n", + "train loss:0.004906369719739015\n", + "train loss:0.006269109186818774\n", + "train loss:0.005695515585201152\n", + "train loss:0.00032792853524655813\n", + "train loss:0.0013033257391169947\n", + "train loss:0.003829966593879124\n", + "train loss:0.010382397235927694\n", + "train loss:0.0010918436008721217\n", + "train loss:0.0018282549686691552\n", + "train loss:0.0010470275061909783\n", + "train loss:0.0106067260442727\n", + "train loss:0.011683687026345453\n", + "train loss:0.006150170996352805\n", + "train loss:0.006059338360985832\n", + "train loss:0.0017433443579596124\n", + "train loss:0.0002048332761208539\n", + "train loss:0.005120740819584852\n", + "train loss:0.006318008058379863\n", + "train loss:0.018903914312952713\n", + "train loss:0.0002855242150560647\n", + "train loss:0.0037018638682376026\n", + "train loss:0.0008926635248822024\n", + "train loss:0.008068834119723452\n", + "train loss:0.011898369984415333\n", + "train loss:0.00786797821955785\n", + "train loss:0.002163099340807175\n", + "train loss:0.002818552762811723\n", + "train loss:0.0015065487115952679\n", + "train loss:0.00037886337171555846\n", + "train loss:0.0013136532619781873\n", + "train loss:0.007600737891300277\n", + "train loss:0.011941565300335492\n", + "train loss:0.002170905864514182\n", + "train loss:0.01134790592905465\n", + "train loss:0.0012065482005252023\n", + "train loss:0.006109378016160617\n", + "train loss:0.003023475548111945\n", + "train loss:0.0023241141665401245\n", + "train loss:0.0008365702394313982\n", + "train loss:0.005946456235549738\n", + "train loss:0.004388980321368512\n", + "train loss:0.005767150449392555\n", + "train loss:0.00033341638981024285\n", + "train loss:0.006363929407458609\n", + "train loss:0.001523275215380275\n", + "train loss:0.012291981262199807\n", + "train loss:0.002421364386741466\n", + "train loss:0.0025321457758580197\n", + "train loss:0.011138719771991578\n", + "train loss:0.004948356657985535\n", + "train loss:0.003423727700619913\n", + "train loss:0.001631827045780375\n", + "train loss:0.00011341114031615918\n", + "train loss:0.013756115767149281\n", + "train loss:0.007776301715222148\n", + "train loss:0.002127706092996907\n", + "train loss:0.004086796431485622\n", + "train loss:0.0027904333834956087\n", + "train loss:0.018066432937042357\n", + "train loss:0.008138083967876597\n", + "train loss:0.0013332814395681134\n", + "train loss:0.002515947565672989\n", + "train loss:0.00679188511208345\n", + "train loss:0.005954146029960372\n", + "train loss:0.004904215279604245\n", + "train loss:0.008410986636990293\n", + "train loss:0.0022660349819904222\n", + "train loss:0.00039129042460613815\n", + "train loss:0.01966595422628345\n", + "train loss:0.001041587052239422\n", + "train loss:0.0027159613856128717\n", + "train loss:0.03549218008472292\n", + "train loss:0.0002945175394593685\n", + "train loss:0.003985874730598481\n", + "train loss:0.006976536790590262\n", + "train loss:0.002478313771207038\n", + "train loss:0.002659726725917822\n", + "train loss:0.0012912812681594753\n", + "train loss:0.005109876612525168\n", + "train loss:0.00934457006099987\n", + "train loss:0.0015527581420736248\n", + "train loss:0.005344527911591731\n", + "train loss:0.0041971740402040325\n", + "train loss:0.005191528302220754\n", + "train loss:0.001079205630087957\n", + "train loss:0.0016884564870287694\n", + "train loss:0.0021324911888739046\n", + "train loss:0.01428919898639252\n", + "train loss:0.00027663580294374666\n", + "train loss:0.005867896946383212\n", + "train loss:0.0024869935658353463\n", + "train loss:0.0015901396590000602\n", + "train loss:0.0038523664807850093\n", + "train loss:0.0010387755292129272\n", + "train loss:0.008790648438524739\n", + "train loss:0.001464357088488329\n", + "train loss:0.0006874227904424616\n", + "train loss:0.00114426823160731\n", + "train loss:0.0026579591943164255\n", + "train loss:0.008739827725796573\n", + "train loss:0.0052771289993086565\n", + "train loss:0.0025780860778286587\n", + "train loss:0.0005074560097408915\n", + "train loss:0.0035924646699626245\n", + "train loss:0.002046532334763607\n", + "train loss:0.01091222311493465\n", + "train loss:0.007425848078356793\n", + "train loss:0.0017138494858984497\n", + "train loss:0.01454771773051254\n", + "train loss:0.0014256508641386785\n", + "train loss:0.00215340845979578\n", + "train loss:0.00017953437491480625\n", + "train loss:0.008140256600469832\n", + "train loss:0.00655145287040255\n", + "train loss:0.004066356390528975\n", + "train loss:0.001352075255451126\n", + "train loss:0.001670135477544643\n", + "train loss:0.0034908546197978613\n", + "train loss:0.011749427558782298\n", + "train loss:0.004138891578753358\n", + "train loss:0.0014819007956448278\n", + "train loss:0.007165965869502637\n", + "train loss:0.003917694396665725\n", + "train loss:0.000352560268100198\n", + "train loss:0.006158965745964545\n", + "train loss:0.004299918410896758\n", + "train loss:0.0003098513095227214\n", + "train loss:0.010874769951073155\n", + "train loss:0.008660973402609745\n", + "train loss:0.002148437746404626\n", + "train loss:0.01468025262540083\n", + "train loss:0.0018698172279477498\n", + "train loss:0.01053450258166777\n", + "train loss:0.00040466531367389937\n", + "train loss:0.004244390113344554\n", + "train loss:0.013966640899150612\n", + "train loss:0.002390705819273206\n", + "train loss:0.00718085918413309\n", + "train loss:0.0011016521981142403\n", + "train loss:0.0026767080128633747\n", + "train loss:0.0008117096498206577\n", + "train loss:0.004270054076115087\n", + "train loss:0.0012784886054911645\n", + "train loss:0.012400696163660845\n", + "train loss:0.0022810612187913245\n", + "train loss:0.02251424479546145\n", + "train loss:0.0012797948267965751\n", + "train loss:0.000586629328042763\n", + "train loss:0.0010693814222483022\n", + "train loss:0.003030547151569848\n", + "train loss:0.0007024844884213796\n", + "train loss:0.008395365365368397\n", + "train loss:0.0015625615124113365\n", + "train loss:0.00039072827281221267\n", + "train loss:0.02270506441935419\n", + "train loss:0.0019564328406903174\n", + "train loss:0.010138725249243353\n", + "train loss:0.0017505481793671446\n", + "train loss:0.0014568283042530677\n", + "train loss:0.0018321635255226637\n", + "train loss:0.0012163148368121105\n", + "train loss:0.014612052673312857\n", + "train loss:0.0015061801333467798\n", + "train loss:0.0019507670384796738\n", + "train loss:0.007277066558128904\n", + "train loss:0.0012766566327453044\n", + "train loss:0.0029082961280741367\n", + "train loss:0.006984997957769928\n", + "train loss:0.0024557685254453197\n", + "train loss:0.0013475673949574548\n", + "train loss:0.0020853171633411875\n", + "train loss:0.0022257139684603356\n", + "train loss:0.0028931876834721038\n", + "train loss:0.0011515621512384457\n", + "train loss:0.0007297760193586417\n", + "train loss:0.03705749742985768\n", + "train loss:0.004981375724416929\n", + "train loss:0.005198425771267189\n", + "train loss:0.0015661416503779937\n", + "train loss:0.001306352236311534\n", + "train loss:0.005705302589186708\n", + "train loss:0.0027016080787002116\n", + "train loss:0.003548514121322543\n", + "train loss:0.001015124596165243\n", + "train loss:0.00601002175225526\n", + "train loss:0.006573766912721588\n", + "train loss:0.005153073594761292\n", + "train loss:0.0037416221943822954\n", + "train loss:0.001802750016133855\n", + "train loss:0.022689209089221018\n", + "train loss:0.0036025555536511266\n", + "train loss:0.00895222149735643\n", + "train loss:0.0013900448581270033\n", + "train loss:0.031162542041477073\n", + "train loss:0.00534014330371717\n", + "train loss:0.0007257308403450262\n", + "train loss:0.0018361194646969656\n", + "train loss:0.0025560129626985345\n", + "train loss:0.012664963580119933\n", + "train loss:0.002264703327379244\n", + "train loss:0.0012845116210233759\n", + "train loss:0.0008115836144130206\n", + "train loss:0.00188425789684086\n", + "train loss:0.014894305304221114\n", + "train loss:0.004011545112277644\n", + "train loss:0.006692884737827951\n", + "train loss:0.005698281530288978\n", + "train loss:0.009905791129393082\n", + "train loss:0.002941893980186788\n", + "train loss:0.0014480538345863281\n", + "train loss:0.003193118010152324\n", + "train loss:0.005387307573357491\n", + "train loss:0.00552009420571138\n", + "train loss:0.000889586446859261\n", + "train loss:0.0011965430820883225\n", + "train loss:0.004970566756863797\n", + "train loss:0.0007967258907968532\n", + "train loss:0.002120958511880381\n", + "train loss:0.002410246036272641\n", + "train loss:0.02080263756806534\n", + "train loss:0.01134499450447776\n", + "train loss:0.0005384351623773685\n", + "train loss:0.00103703871758848\n", + "train loss:0.0033492889029920958\n", + "train loss:0.0017553780008795511\n", + "train loss:0.00010776168059167683\n", + "train loss:0.015680023159968724\n", + "train loss:0.0072647205929702915\n", + "=== epoch:13, train acc:0.997, test acc:0.984 ===\n", + "train loss:0.000980668072447895\n", + "train loss:0.0015432538609776003\n", + "train loss:0.0005201830777332154\n", + "train loss:0.0031476187627350275\n", + "train loss:0.0020622109968045517\n", + "train loss:0.0027788306912345326\n", + "train loss:0.008613347397108184\n", + "train loss:0.00676742989606274\n", + "train loss:0.0008554894835635363\n", + "train loss:0.0009245723051217335\n", + "train loss:0.010886145742768739\n", + "train loss:0.0017077055367909764\n", + "train loss:0.007292974229416069\n", + "train loss:0.0016168421686295444\n", + "train loss:0.0028553418689121523\n", + "train loss:0.004828701333753466\n", + "train loss:0.0008761066644170507\n", + "train loss:0.012611733723350775\n", + "train loss:0.005089762364580273\n", + "train loss:0.006268022414885586\n", + "train loss:0.009905485327366716\n", + "train loss:0.002111631665113651\n", + "train loss:0.022242743611348627\n", + "train loss:0.002420634980242378\n", + "train loss:0.0011846956503228153\n", + "train loss:0.0006493139345946934\n", + "train loss:0.009972796792547286\n", + "train loss:0.0011854193875466261\n", + "train loss:0.002954451505769779\n", + "train loss:0.0048282562624363005\n", + "train loss:0.001755654075197868\n", + "train loss:0.0009045593875364645\n", + "train loss:0.006910630487456672\n", + "train loss:0.0029022913786163618\n", + "train loss:0.004585298771518221\n", + "train loss:0.002867807754047888\n", + "train loss:0.002154982693198649\n", + "train loss:0.00045410702859921976\n", + "train loss:0.010724555612526132\n", + "train loss:0.015160660543346433\n", + "train loss:0.0007714833634092051\n", + "train loss:0.010137643338900834\n", + "train loss:0.007214950436486362\n", + "train loss:0.003443215794175308\n", + "train loss:0.002223031543877282\n", + "train loss:0.0070222994000706095\n", + "train loss:0.0036546818906493116\n", + "train loss:0.002474263783022612\n", + "train loss:0.0016619902457291802\n", + "train loss:0.007857027864025696\n", + "train loss:0.0029534635176238044\n", + "train loss:0.0015324484832123489\n", + "train loss:0.0038443894395616468\n", + "train loss:0.00044183054681590206\n", + "train loss:0.0006687086722789275\n", + "train loss:0.0008774800200070951\n", + "train loss:0.005215848500309316\n", + "train loss:0.004707991388276897\n", + "train loss:0.010738765780879306\n", + "train loss:0.000980650868293323\n", + "train loss:0.0021518997492228037\n", + "train loss:0.002707003698174949\n", + "train loss:0.0034471098035178103\n", + "train loss:0.00035543543003473094\n", + "train loss:0.000783164987859141\n", + "train loss:0.002324516077600614\n", + "train loss:0.005912627870150892\n", + "train loss:0.004246714248770638\n", + "train loss:0.0006132466731658942\n", + "train loss:0.007353858446205177\n", + "train loss:0.0007497978000144598\n", + "train loss:0.001055765259743001\n", + "train loss:0.001251542771701336\n", + "train loss:0.002042254153623084\n", + "train loss:0.0021752227256362547\n", + "train loss:0.0035226701847818763\n", + "train loss:0.004034823801458041\n", + "train loss:0.0012257940128841006\n", + "train loss:0.005232432833527712\n", + "train loss:0.002388923235501122\n", + "train loss:0.002371958390665963\n", + "train loss:0.0064591210168298725\n", + "train loss:0.0005730102061754457\n", + "train loss:0.0041733246604465195\n", + "train loss:0.0016887221896860483\n", + "train loss:0.004126403785526469\n", + "train loss:0.00039158699948507465\n", + "train loss:8.472231218806764e-05\n", + "train loss:0.0018725037726049617\n", + "train loss:0.002268088593969249\n", + "train loss:0.0015829995236284974\n", + "train loss:0.0009029996367551136\n", + "train loss:0.00048261050683183764\n", + "train loss:0.0008841144966251853\n", + "train loss:0.009285307753569453\n", + "train loss:0.0026816196991960163\n", + "train loss:0.00435900804337183\n", + "train loss:0.0005350649199246127\n", + "train loss:0.0009906978174369111\n", + "train loss:0.0009982070885888\n", + "train loss:0.0010818384439299652\n", + "train loss:0.003174642415543906\n", + "train loss:0.021182003720132833\n", + "train loss:0.0037962737058721426\n", + "train loss:0.00236639989423074\n", + "train loss:0.003047330497507742\n", + "train loss:0.000489095979143658\n", + "train loss:0.0014152900021525445\n", + "train loss:0.0018927734408379952\n", + "train loss:0.0026242028165384176\n", + "train loss:0.0010141733149466759\n", + "train loss:0.0025441443809702926\n", + "train loss:0.0005094621466544245\n", + "train loss:0.004986836228997798\n", + "train loss:0.0010275270983111434\n", + "train loss:0.00023175223674225164\n", + "train loss:0.0004724828399550227\n", + "train loss:0.000763921678837212\n", + "train loss:0.004700030610819931\n", + "train loss:0.006466739136898638\n", + "train loss:0.0004583258800215384\n", + "train loss:0.0029478317696742095\n", + "train loss:0.0007780696200553182\n", + "train loss:0.0026863677302213433\n", + "train loss:0.002172490878845281\n", + "train loss:0.0028723144358083004\n", + "train loss:0.0007094948154580354\n", + "train loss:0.00010715287790214882\n", + "train loss:0.0012005191715878402\n", + "train loss:0.0011713687565917924\n", + "train loss:0.0014355064738887338\n", + "train loss:0.005007260482291793\n", + "train loss:0.0018803190676037502\n", + "train loss:0.006587490539051941\n", + "train loss:0.008408762345635921\n", + "train loss:0.004943034231964991\n", + "train loss:0.0015457869280185584\n", + "train loss:0.0016808657532264035\n", + "train loss:0.007311245131317828\n", + "train loss:0.0011552888629769082\n", + "train loss:0.009101303261093657\n", + "train loss:0.0005451538680743358\n", + "train loss:0.005567132527197656\n", + "train loss:0.000673229734522774\n", + "train loss:0.0016969046363655\n", + "train loss:0.0025459228287764662\n", + "train loss:0.00745137584198925\n", + "train loss:0.0069943253224648595\n", + "train loss:0.003249382551600024\n", + "train loss:0.003132268068275482\n", + "train loss:0.0008507935866862579\n", + "train loss:0.0009330914461558899\n", + "train loss:0.0004001390110897881\n", + "train loss:0.0005530529265943364\n", + "train loss:0.0015519350279821753\n", + "train loss:0.004212457215434972\n", + "train loss:0.001160164212626418\n", + "train loss:0.0003805032469230436\n", + "train loss:0.001157679065055928\n", + "train loss:0.006675472785883787\n", + "train loss:0.0002901662839974176\n", + "train loss:0.0023228266998774937\n", + "train loss:0.0012363674207705349\n", + "train loss:0.027311676372915462\n", + "train loss:0.001068942705173454\n", + "train loss:5.7275555781357985e-05\n", + "train loss:0.003797316877085049\n", + "train loss:0.0019301142491706667\n", + "train loss:0.002655374270464354\n", + "train loss:0.0019511779978294466\n", + "train loss:0.00013538356743723117\n", + "train loss:0.017452999175294196\n", + "train loss:0.0006366939620685423\n", + "train loss:0.014393565356312945\n", + "train loss:0.001640512681976393\n", + "train loss:0.01332417531984375\n", + "train loss:0.0018668090141364558\n", + "train loss:0.0012767039600208585\n", + "train loss:0.0028842233958043086\n", + "train loss:0.007402035453819658\n", + "train loss:0.013526714271058086\n", + "train loss:0.0029160549242786345\n", + "train loss:0.003568650393293946\n", + "train loss:0.002607099158573739\n", + "train loss:0.006084577015365454\n", + "train loss:0.005342310057704545\n", + "train loss:0.0012619487368318466\n", + "train loss:0.012544377246525573\n", + "train loss:0.0015065025157776023\n", + "train loss:0.0013178293852693281\n", + "train loss:0.00021679782083885312\n", + "train loss:0.0015570081707072328\n", + "train loss:0.0011475262592003017\n", + "train loss:0.004046838131271529\n", + "train loss:0.0005676868884128659\n", + "train loss:0.0017565422713915714\n", + "train loss:0.0011301576248258268\n", + "train loss:0.004386644524196685\n", + "train loss:0.0019863657036474206\n", + "train loss:0.005372699376725722\n", + "train loss:0.0020074523144830003\n", + "train loss:0.0006245117182635809\n", + "train loss:0.00411300016804857\n", + "train loss:0.0065190566857470855\n", + "train loss:0.006812957921110194\n", + "train loss:0.00761992411819673\n", + "train loss:0.00025534508311141264\n", + "train loss:0.0008283664599707638\n", + "train loss:0.007177900175308255\n", + "train loss:0.0067438566165233214\n", + "train loss:0.008256582319053738\n", + "train loss:0.016102049846659694\n", + "train loss:0.0009235247761864112\n", + "train loss:0.003161205035641859\n", + "train loss:0.03165879871539782\n", + "train loss:0.0015449837083693033\n", + "train loss:0.0055597243152195365\n", + "train loss:0.0022592557380489505\n", + "train loss:0.0006293309084596808\n", + "train loss:0.0038667674321636674\n", + "train loss:0.00030650124936510385\n", + "train loss:0.0025285130730809385\n", + "train loss:0.0035946975023219197\n", + "train loss:0.0012137969698083116\n", + "train loss:0.0004006926626556222\n", + "train loss:0.0016533912812223559\n", + "train loss:0.0007627912137696069\n", + "train loss:0.0034644578321732676\n", + "train loss:0.023852216838927277\n", + "train loss:0.005648590784303079\n", + "train loss:0.0039401284159619986\n", + "train loss:0.00041850924749792977\n", + "train loss:0.0014996913908347973\n", + "train loss:0.0038469839375678255\n", + "train loss:0.0175267692240069\n", + "train loss:0.0013544028378410713\n", + "train loss:0.006718595841614023\n", + "train loss:0.0030066476220108867\n", + "train loss:0.0015297825467442854\n", + "train loss:0.004319981298495254\n", + "train loss:0.000436211979895326\n", + "train loss:0.0023476885037634746\n", + "train loss:0.00297239100956119\n", + "train loss:0.0017358222545477446\n", + "train loss:0.0005187503930540805\n", + "train loss:0.0012769905109887847\n", + "train loss:0.00325716900857411\n", + "train loss:0.002127234325062577\n", + "train loss:0.003027527458028627\n", + "train loss:0.0010245158287118996\n", + "train loss:0.002562314185464313\n", + "train loss:0.005073208004756414\n", + "train loss:0.0028742621559129738\n", + "train loss:0.0016150669404078441\n", + "train loss:0.0006698051921834597\n", + "train loss:0.00020193318269897973\n", + "train loss:0.0021959175237791467\n", + "train loss:0.0007933014463044669\n", + "train loss:0.0025081529608133373\n", + "train loss:0.001504317954722333\n", + "train loss:0.002360919494353802\n", + "train loss:0.012106700788936142\n", + "train loss:0.0010559590549735585\n", + "train loss:0.0012893107092639092\n", + "train loss:0.0329394899338803\n", + "train loss:0.0040369477959840624\n", + "train loss:0.0003010962497052507\n", + "train loss:0.0033616782874424374\n", + "train loss:0.001688517213677269\n", + "train loss:0.0010708526199544642\n", + "train loss:0.00256143099195854\n", + "train loss:0.001134485429802284\n", + "train loss:0.00048464511180498976\n", + "train loss:0.0007366679140580021\n", + "train loss:0.008203166456671582\n", + "train loss:0.008756226367292983\n", + "train loss:0.004808162107982949\n", + "train loss:0.0031003696138903465\n", + "train loss:0.004612596279301306\n", + "train loss:0.008307206481499548\n", + "train loss:0.0018999568705054131\n", + "train loss:0.00023154064412019094\n", + "train loss:0.001008528351943782\n", + "train loss:0.0009720529370422292\n", + "train loss:0.014467998497894811\n", + "train loss:0.00853353270203431\n", + "train loss:0.003979350161644905\n", + "train loss:0.0015404090068141987\n", + "train loss:0.0013839926000097482\n", + "train loss:0.0015746726269552445\n", + "train loss:0.0011583940510126243\n", + "train loss:0.005608896421542985\n", + "train loss:0.003264496963404299\n", + "train loss:0.004751482729195355\n", + "train loss:0.025968835774801025\n", + "train loss:0.008270862720304372\n", + "train loss:0.00020158718930432426\n", + "train loss:0.0016845818665882672\n", + "train loss:0.00042330492645128217\n", + "train loss:0.0001693042702946995\n", + "train loss:0.0009472676522040097\n", + "train loss:0.0024743498742307653\n", + "train loss:0.000995589288710081\n", + "train loss:0.025327410489038228\n", + "train loss:0.006412260913348185\n", + "train loss:0.010588773777735363\n", + "train loss:0.003569496826866954\n", + "train loss:0.0016581641699233154\n", + "train loss:0.0017631030840985528\n", + "train loss:0.0014849554661379395\n", + "train loss:0.002275593719527926\n", + "train loss:0.002981615262158272\n", + "train loss:0.007560639395962347\n", + "train loss:0.008757175649968963\n", + "train loss:0.008319072669035095\n", + "train loss:0.0007056095025464093\n", + "train loss:0.0031205667667879773\n", + "train loss:0.0011935247182611366\n", + "train loss:0.042225725315768375\n", + "train loss:0.004408935070088288\n", + "train loss:0.001251162363352742\n", + "train loss:0.0033178169606852877\n", + "train loss:0.0003186671931123913\n", + "train loss:0.0036666381602437153\n", + "train loss:0.003564393004347224\n", + "train loss:0.0022798223389058443\n", + "train loss:0.010504947583792421\n", + "train loss:0.0009929485488638582\n", + "train loss:0.006160295071518862\n", + "train loss:0.0007200785782932561\n", + "train loss:0.02099320059390609\n", + "train loss:0.01341027386885773\n", + "train loss:0.0021056379379569556\n", + "train loss:0.0028320532198188564\n", + "train loss:0.002712160809455242\n", + "train loss:0.0005990039935271961\n", + "train loss:0.0004193679847358557\n", + "train loss:0.004766935435486138\n", + "train loss:0.001160445587161103\n", + "train loss:0.0047493938556952865\n", + "train loss:0.0006327386639613067\n", + "train loss:0.0008922757338410751\n", + "train loss:0.0009486592409041375\n", + "train loss:0.0027342554169872547\n", + "train loss:0.01104584296727668\n", + "train loss:0.02404182597934729\n", + "train loss:0.001234126090172919\n", + "train loss:0.009592808186319655\n", + "train loss:0.0005732648707064673\n", + "train loss:0.005524726192616184\n", + "train loss:0.005398479036733589\n", + "train loss:0.0014263042006174092\n", + "train loss:0.0006188532963490176\n", + "train loss:0.00048054834784529296\n", + "train loss:0.0018803222614616805\n", + "train loss:0.005244628951732215\n", + "train loss:0.0008720063268086631\n", + "train loss:0.0031560983202541678\n", + "train loss:0.0008435703223133742\n", + "train loss:0.002467039427321831\n", + "train loss:0.0068154777875574475\n", + "train loss:0.0007955635161654929\n", + "train loss:0.0022119896221050863\n", + "train loss:0.018015394214017346\n", + "train loss:0.01100531027445606\n", + "train loss:0.002098548047094125\n", + "train loss:0.00020037276893455057\n", + "train loss:0.0022857340362817556\n", + "train loss:0.007258434602689784\n", + "train loss:0.0013356310133656654\n", + "train loss:0.0007060259559785695\n", + "train loss:0.005106808793091457\n", + "train loss:0.0032810738268256173\n", + "train loss:0.03856768497404055\n", + "train loss:0.00224957505931029\n", + "train loss:0.006464331113854499\n", + "train loss:0.001966446402250324\n", + "train loss:0.0035001007286926313\n", + "train loss:0.0017748748087855354\n", + "train loss:0.0018033298178182452\n", + "train loss:0.0032884060728626163\n", + "train loss:0.0022171766278698143\n", + "train loss:0.0006770517224071608\n", + "train loss:0.0034788344584237864\n", + "train loss:0.003426254842991783\n", + "train loss:0.0011626811075730085\n", + "train loss:0.0041702554115991735\n", + "train loss:0.0017207169870201366\n", + "train loss:0.0010488824073274091\n", + "train loss:0.005255300231250112\n", + "train loss:0.059742526469592966\n", + "train loss:0.0032027944410141125\n", + "train loss:0.00417029753645637\n", + "train loss:0.015050016524128806\n", + "train loss:0.0060077260183389455\n", + "train loss:0.0013252229741955346\n", + "train loss:0.0022382887269756114\n", + "train loss:0.0015529348198744253\n", + "train loss:0.00474658101609288\n", + "train loss:0.032264744225805886\n", + "train loss:0.012716857724440915\n", + "train loss:0.0015706179621849936\n", + "train loss:0.0005769256703656267\n", + "train loss:0.001757121487091467\n", + "train loss:0.0008327433175335781\n", + "train loss:0.004165362798534168\n", + "train loss:0.003955574181041224\n", + "train loss:0.003708463144301455\n", + "train loss:0.007189679746460662\n", + "train loss:0.007031635873873027\n", + "train loss:0.0025733143025340618\n", + "train loss:0.021364157011995302\n", + "train loss:0.005648566820512993\n", + "train loss:0.003321639958605599\n", + "train loss:0.007328148048632891\n", + "train loss:0.0016689095170632244\n", + "train loss:0.01024313729237624\n", + "train loss:0.0012033352226983346\n", + "train loss:0.0045885425775883445\n", + "train loss:0.005998457905053255\n", + "train loss:0.017380184913765286\n", + "train loss:0.002223296814928134\n", + "train loss:0.0010821320632397068\n", + "train loss:0.008600006711929793\n", + "train loss:0.0014134175902650046\n", + "train loss:0.00034742226169540277\n", + "train loss:0.004610359896328102\n", + "train loss:0.0012683625865149905\n", + "train loss:0.0017607870624595375\n", + "train loss:0.0005882156804865923\n", + "train loss:0.0011507987618279006\n", + "train loss:0.0022497300421240075\n", + "train loss:0.000583620758203903\n", + "train loss:0.0007761610147914002\n", + "train loss:0.0007988389876838654\n", + "train loss:0.004416783391264384\n", + "train loss:0.005597954488222269\n", + "train loss:0.0018731729748587178\n", + "train loss:0.00044038305369695837\n", + "train loss:0.0005844018977962599\n", + "train loss:0.0003393554279994995\n", + "train loss:0.0025978129227494555\n", + "train loss:0.0002938196781235047\n", + "train loss:0.0036037561779609815\n", + "train loss:0.013399063958278007\n", + "train loss:0.001178320355090888\n", + "train loss:0.0011028720642612456\n", + "train loss:0.0002843618151837493\n", + "train loss:0.004664626102212818\n", + "train loss:0.005114304486654702\n", + "train loss:0.0044936679112715155\n", + "train loss:0.0008757603036049739\n", + "train loss:0.008077986734360334\n", + "train loss:0.0002329334354398851\n", + "train loss:0.0012385522015986006\n", + "train loss:0.02289845785406187\n", + "train loss:0.004219893525304872\n", + "train loss:0.0028379985933622864\n", + "train loss:0.007851032543450997\n", + "train loss:0.0023217646483923906\n", + "train loss:0.0004100474931123326\n", + "train loss:0.0016328254631333386\n", + "train loss:0.010389166102209127\n", + "train loss:0.006244115399184721\n", + "train loss:0.024821871482486543\n", + "train loss:0.002430283543511875\n", + "train loss:0.0019520116577506326\n", + "train loss:0.023757333784694953\n", + "train loss:0.0007113042947605895\n", + "train loss:0.07076153829777017\n", + "train loss:0.002162929977508678\n", + "train loss:0.001047881665153765\n", + "train loss:0.0028015219830542027\n", + "train loss:0.004549004598871516\n", + "train loss:0.0002163336445051652\n", + "train loss:0.006557147766523313\n", + "train loss:0.00457384912191359\n", + "train loss:0.009334182115436537\n", + "train loss:0.0018168728101970776\n", + "train loss:0.002829023170696401\n", + "train loss:0.02359185652610664\n", + "train loss:0.005509291987585246\n", + "train loss:0.015134367342872858\n", + "train loss:0.0008258910060766267\n", + "train loss:0.0001808500971009399\n", + "train loss:0.0098847583179516\n", + "train loss:0.001202796314007398\n", + "train loss:0.00015798975577867237\n", + "train loss:0.0024576727319578777\n", + "train loss:0.0021079003962618404\n", + "train loss:0.0021520122758429366\n", + "train loss:0.0029713351110176056\n", + "train loss:0.0003027864587905426\n", + "train loss:0.0006316089123021947\n", + "train loss:0.0013089389301159113\n", + "train loss:0.0028938114729244392\n", + "train loss:0.001378143341715452\n", + "train loss:0.001394016050725536\n", + "train loss:0.0033323854835843607\n", + "train loss:0.0020071163034560326\n", + "train loss:0.00577124977680556\n", + "train loss:0.0017406946333486397\n", + "train loss:0.013205347760155917\n", + "train loss:0.002735965704244604\n", + "train loss:0.00038658307803170596\n", + "train loss:0.002827174707394869\n", + "train loss:0.0015018848427369698\n", + "train loss:0.0005661628689639265\n", + "train loss:0.0014821030249327705\n", + "train loss:0.0016310947704609605\n", + "train loss:0.004490286848350929\n", + "train loss:0.0010602842020651882\n", + "train loss:0.0017189798375913214\n", + "train loss:6.682572946258413e-05\n", + "train loss:0.005594981346902611\n", + "train loss:0.0014098759941325472\n", + "train loss:0.006627956855770774\n", + "train loss:0.006514132253014645\n", + "train loss:0.0007187025817873412\n", + "train loss:0.0002922382538274821\n", + "train loss:0.003310164715441524\n", + "train loss:0.001623035261319925\n", + "train loss:0.0028028114445569673\n", + "train loss:0.003489410859217571\n", + "train loss:0.007700114290489971\n", + "train loss:0.004919177845810439\n", + "train loss:0.004985969574656606\n", + "train loss:0.0013459799577581464\n", + "train loss:0.0036422137245669993\n", + "train loss:0.005195748964075567\n", + "train loss:0.0019342949232717304\n", + "train loss:0.0033345970044177577\n", + "train loss:0.00017348297395281974\n", + "train loss:0.0023555092258015563\n", + "train loss:0.0001719720726937964\n", + "train loss:0.008356002107081066\n", + "train loss:0.0010142150765612827\n", + "train loss:0.008137497368966039\n", + "train loss:0.0028068269400412845\n", + "train loss:0.003193351803188742\n", + "train loss:0.002070555771619084\n", + "train loss:0.0036681938083026793\n", + "train loss:0.0037665758129091804\n", + "train loss:0.0034102548785513464\n", + "train loss:0.0007219195916634071\n", + "train loss:0.010289095626331854\n", + "train loss:0.0008907048354391617\n", + "train loss:0.001997999912919165\n", + "train loss:0.0022429211580492826\n", + "train loss:0.005213591121860802\n", + "train loss:0.001573606283671545\n", + "train loss:0.003087390456435163\n", + "train loss:0.002325881272462075\n", + "train loss:0.011434747430345166\n", + "train loss:0.006476163731538749\n", + "train loss:0.001850200041814675\n", + "train loss:0.0026373341089862543\n", + "train loss:0.0004614524689075312\n", + "train loss:0.00024062601906566384\n", + "train loss:0.0009604511246443558\n", + "train loss:0.0018793738162398578\n", + "train loss:0.00513931206599355\n", + "train loss:0.003271651655542817\n", + "train loss:0.002969579999184354\n", + "train loss:0.0073085338553784684\n", + "train loss:0.008888366176764613\n", + "train loss:0.00030456309255674335\n", + "train loss:0.00043746205746862557\n", + "train loss:0.0034033910504434302\n", + "train loss:0.000636838400561045\n", + "train loss:0.0183535633953773\n", + "train loss:0.017768688116939334\n", + "train loss:0.0035928398411242644\n", + "train loss:0.00037646167537956214\n", + "train loss:0.008659120747075312\n", + "train loss:0.004853393640164436\n", + "train loss:0.0007245711281156901\n", + "train loss:0.0004871459777855455\n", + "train loss:0.022858000047800787\n", + "train loss:0.00035596742071022155\n", + "train loss:0.003380844441707825\n", + "train loss:0.004553488204581912\n", + "train loss:0.0021612565585467564\n", + "train loss:0.006001048816359579\n", + "train loss:0.0033485953370154735\n", + "train loss:0.001265833180462722\n", + "train loss:0.007544067414729626\n", + "train loss:0.013825175758773447\n", + "train loss:0.0010081118758594487\n", + "train loss:0.002743070681078623\n", + "train loss:0.005560423122102793\n", + "train loss:0.006103886285491279\n", + "train loss:0.0013546702269394515\n", + "train loss:0.0015777353969843805\n", + "train loss:0.0025796785485401453\n", + "train loss:0.010996065798204504\n", + "train loss:0.0006754303645314655\n", + "train loss:0.0008152014525114865\n", + "train loss:0.0002975216352187709\n", + "train loss:0.010760501388532469\n", + "=== epoch:14, train acc:0.991, test acc:0.977 ===\n", + "train loss:0.005295270403425826\n", + "train loss:0.0009016994158020441\n", + "train loss:0.008377256693058036\n", + "train loss:0.0025434938910941485\n", + "train loss:0.0026597592125962\n", + "train loss:0.005600410521822117\n", + "train loss:0.0011510643565423016\n", + "train loss:0.002183799054431248\n", + "train loss:0.0005550154891463305\n", + "train loss:0.0006380932512473784\n", + "train loss:0.0028791169403043354\n", + "train loss:0.0016368540652772464\n", + "train loss:0.00389588859207202\n", + "train loss:0.013893006752842083\n", + "train loss:0.01910477074880143\n", + "train loss:0.004193054613751184\n", + "train loss:0.003398833619257342\n", + "train loss:0.0004146519918612077\n", + "train loss:0.001353249538482104\n", + "train loss:0.0010027933440386707\n", + "train loss:0.0053800009883736765\n", + "train loss:0.000999202218662566\n", + "train loss:0.002628593080921437\n", + "train loss:0.005932016917975061\n", + "train loss:0.008126203086023697\n", + "train loss:0.0028581284038844\n", + "train loss:0.0011621744001397024\n", + "train loss:0.0005873674622335719\n", + "train loss:0.0027394765778073382\n", + "train loss:0.004673347852978257\n", + "train loss:0.004163114079683724\n", + "train loss:0.002009891414556306\n", + "train loss:0.0016520981287653303\n", + "train loss:0.0008123659811509641\n", + "train loss:0.0077758013995116145\n", + "train loss:0.001274329749346156\n", + "train loss:0.0012132763290489878\n", + "train loss:0.00624251896138706\n", + "train loss:0.008956894187374933\n", + "train loss:0.002345006393847668\n", + "train loss:0.003878452983325473\n", + "train loss:0.0011840863188568784\n", + "train loss:0.00040339996785864374\n", + "train loss:0.004687298367086714\n", + "train loss:0.004410354276640962\n", + "train loss:0.0004663478588940193\n", + "train loss:0.002137884181806555\n", + "train loss:0.0023435809154577288\n", + "train loss:0.0003790600216805019\n", + "train loss:0.009422092880505977\n", + "train loss:0.002769107007052847\n", + "train loss:0.006104838058413301\n", + "train loss:0.0013028427534384453\n", + "train loss:0.00027493626508471637\n", + "train loss:0.005258593334315731\n", + "train loss:0.005856522298127904\n", + "train loss:0.004268903894288115\n", + "train loss:0.004186847464425142\n", + "train loss:0.01450209216430671\n", + "train loss:0.001714720339850108\n", + "train loss:0.0022542943813428176\n", + "train loss:0.0021191340285284088\n", + "train loss:0.006745346791565904\n", + "train loss:0.0019143988621188514\n", + "train loss:0.001895224665622225\n", + "train loss:0.002151468864933937\n", + "train loss:0.0017425588280571733\n", + "train loss:0.0039923249552838505\n", + "train loss:0.023495707884893927\n", + "train loss:0.001308249062897483\n", + "train loss:0.00367203342003999\n", + "train loss:0.0007613757515449569\n", + "train loss:0.002211843109189702\n", + "train loss:0.004212281169350167\n", + "train loss:0.006839549780163406\n", + "train loss:0.00045122636918649387\n", + "train loss:0.004816761989418714\n", + "train loss:0.001309474507708261\n", + "train loss:0.003757728441332613\n", + "train loss:0.0006752661434596735\n", + "train loss:0.0016480983992613228\n", + "train loss:0.0004944723050303645\n", + "train loss:0.009822392451004348\n", + "train loss:0.0013742457436961585\n", + "train loss:0.0006786483471198741\n", + "train loss:0.020119806070334076\n", + "train loss:0.00119780979989019\n", + "train loss:0.0006112457239462336\n", + "train loss:0.0013046660053105319\n", + "train loss:0.011907026197084647\n", + "train loss:0.0032605094866240756\n", + "train loss:0.002327150125799972\n", + "train loss:0.0017665243851931022\n", + "train loss:0.0022582925113228303\n", + "train loss:0.0008735932355047705\n", + "train loss:0.0025341671163456717\n", + "train loss:0.0024190162533889066\n", + "train loss:0.0011636072038105842\n", + "train loss:0.002928231909505935\n", + "train loss:0.018943857663514266\n", + "train loss:0.00042603084615104575\n", + "train loss:0.0004421243750486418\n", + "train loss:0.003978068581838413\n", + "train loss:0.0009386717323534568\n", + "train loss:0.000384631070759704\n", + "train loss:0.0018233829390971463\n", + "train loss:0.0012335518645635816\n", + "train loss:0.0034697705693486334\n", + "train loss:0.0017227252064376008\n", + "train loss:0.0010539351299156834\n", + "train loss:0.0020546905892726507\n", + "train loss:0.0006902243093285555\n", + "train loss:0.003093984424457935\n", + "train loss:0.00028197431058381723\n", + "train loss:0.001450266119767213\n", + "train loss:0.006663542701237738\n", + "train loss:0.0002474193237737261\n", + "train loss:0.0008190955031565375\n", + "train loss:0.0008477441552077391\n", + "train loss:0.0007695880521801536\n", + "train loss:0.01758957536319639\n", + "train loss:0.0024534617132133977\n", + "train loss:0.006905887682215818\n", + "train loss:0.006773919735535046\n", + "train loss:0.0020946020784671678\n", + "train loss:0.010214873345229738\n", + "train loss:0.003645982965875368\n", + "train loss:0.0014039067281831604\n", + "train loss:0.007656302087295508\n", + "train loss:0.003022455199086889\n", + "train loss:0.005296377380301188\n", + "train loss:0.0012879707364068205\n", + "train loss:0.00044965682251885803\n", + "train loss:0.00423269120830359\n", + "train loss:0.0012566727517725545\n", + "train loss:0.0012693850137359824\n", + "train loss:0.006128951310367522\n", + "train loss:0.0006633357251162586\n", + "train loss:0.016313860043710337\n", + "train loss:0.0021554844774169125\n", + "train loss:0.0005051536911424201\n", + "train loss:0.001915333455064641\n", + "train loss:0.01490089145941999\n", + "train loss:0.0005010184780964155\n", + "train loss:0.0005032118125573862\n", + "train loss:0.0003440743879134113\n", + "train loss:0.011571781586124333\n", + "train loss:0.044835121871518974\n", + "train loss:0.0014255572330289568\n", + "train loss:0.0009441797938504254\n", + "train loss:0.004285054433881924\n", + "train loss:0.0017047201321519268\n", + "train loss:0.0007116104535080472\n", + "train loss:0.002069688648173477\n", + "train loss:0.0005273152512905864\n", + "train loss:0.008778004356789042\n", + "train loss:0.0032290060348331966\n", + "train loss:0.001414021680461504\n", + "train loss:0.0037018084132868583\n", + "train loss:0.0002642670252822706\n", + "train loss:0.001985919418251274\n", + "train loss:0.0014379533091877037\n", + "train loss:0.00027253528499663\n", + "train loss:0.0016946649924092603\n", + "train loss:0.0021678147478861338\n", + "train loss:0.001486582932489179\n", + "train loss:0.0010798301091223294\n", + "train loss:0.0027166900228923043\n", + "train loss:0.0027067558145289837\n", + "train loss:0.0042993515203736425\n", + "train loss:0.0015557347030699304\n", + "train loss:0.0002373105381134959\n", + "train loss:0.022396474402055288\n", + "train loss:0.04149736869530262\n", + "train loss:0.001647692932809478\n", + "train loss:0.0007610701527916564\n", + "train loss:0.001637441590529612\n", + "train loss:0.00021065757561142994\n", + "train loss:0.004823585614408479\n", + "train loss:0.0011534283790117451\n", + "train loss:0.00010609290139425947\n", + "train loss:0.0084370558546632\n", + "train loss:0.0006829000186604053\n", + "train loss:0.004137345437426623\n", + "train loss:0.0027259615870761037\n", + "train loss:0.00031835144605969924\n", + "train loss:0.004094067204095635\n", + "train loss:0.0006970606950709847\n", + "train loss:0.007474376999226596\n", + "train loss:0.0027340868344878254\n", + "train loss:0.005501682600097268\n", + "train loss:0.0033761588649837294\n", + "train loss:0.0038739178878960325\n", + "train loss:0.0046515929225271575\n", + "train loss:0.0033917147901166207\n", + "train loss:9.756509911405723e-05\n", + "train loss:0.007987572097191024\n", + "train loss:0.002311809736636817\n", + "train loss:0.001092557246131464\n", + "train loss:0.0008057708192203026\n", + "train loss:0.00010619404086839926\n", + "train loss:0.014931067706158865\n", + "train loss:0.021629400128066165\n", + "train loss:0.004437701273032665\n", + "train loss:0.0046696476788253664\n", + "train loss:0.0003850687872450969\n", + "train loss:0.0044413293678195525\n", + "train loss:0.023481510286756605\n", + "train loss:0.0009253826204552676\n", + "train loss:0.0005577063429007017\n", + "train loss:0.006927621756317987\n", + "train loss:0.004983127409619198\n", + "train loss:0.0045512537238416835\n", + "train loss:0.019908646608544564\n", + "train loss:0.0027041540342746294\n", + "train loss:0.007140321644194111\n", + "train loss:0.006937762327692814\n", + "train loss:0.023324466966848006\n", + "train loss:0.005346113122400673\n", + "train loss:0.0037637097445030352\n", + "train loss:0.0018537498095123138\n", + "train loss:0.0002169276455103134\n", + "train loss:0.0016814294913972997\n", + "train loss:0.00271810019559709\n", + "train loss:0.0013223772816811981\n", + "train loss:0.0017449076736427063\n", + "train loss:0.0007646486811920777\n", + "train loss:0.003004763974136052\n", + "train loss:0.030312853731730205\n", + "train loss:0.001368487271025066\n", + "train loss:0.0013231699218793627\n", + "train loss:0.0032467545637530825\n", + "train loss:0.0059868640987815955\n", + "train loss:0.001597773788875782\n", + "train loss:0.009793774250031216\n", + "train loss:0.0042012983404335355\n", + "train loss:0.001419168941325607\n", + "train loss:0.0011632958811076297\n", + "train loss:0.0008610740168699911\n", + "train loss:0.0007909678426802353\n", + "train loss:0.002762188479815874\n", + "train loss:0.002660914264464105\n", + "train loss:0.0044515289411432265\n", + "train loss:0.0047048351177110285\n", + "train loss:0.00011577262100506802\n", + "train loss:0.0039027958509113775\n", + "train loss:0.002147904620915923\n", + "train loss:0.0043540002929159435\n", + "train loss:0.00026639256102267147\n", + "train loss:0.0021792951222329424\n", + "train loss:0.002860662239519878\n", + "train loss:0.0018911330823098964\n", + "train loss:0.00345606200062497\n", + "train loss:0.006549529601118459\n", + "train loss:0.00027515749827920267\n", + "train loss:0.004596058232185497\n", + "train loss:0.10164556545108608\n", + "train loss:0.00041244430832474023\n", + "train loss:0.000302642815742701\n", + "train loss:0.0007277629302950238\n", + "train loss:0.006641113915252958\n", + "train loss:0.0010557187565536608\n", + "train loss:0.0011632238186912915\n", + "train loss:0.0007504288912262434\n", + "train loss:0.009829555292140562\n", + "train loss:0.0009589919423726222\n", + "train loss:0.0007074166652100716\n", + "train loss:0.00594913786850516\n", + "train loss:0.006186022257334658\n", + "train loss:0.0025332128198461267\n", + "train loss:0.0008527082205710668\n", + "train loss:0.004707146367645973\n", + "train loss:0.002210579767203551\n", + "train loss:0.0023510828574347235\n", + "train loss:0.00622616852892391\n", + "train loss:0.004754849948059761\n", + "train loss:0.00193038491027798\n", + "train loss:0.0018503942234789155\n", + "train loss:0.004138626175906713\n", + "train loss:0.0008430632284775575\n", + "train loss:0.0030188276155454414\n", + "train loss:0.007683604449000745\n", + "train loss:0.0038517002730255267\n", + "train loss:0.0004667917675343634\n", + "train loss:0.002585348780828203\n", + "train loss:0.004694113148658705\n", + "train loss:0.0020330769506814207\n", + "train loss:0.00033575114988010623\n", + "train loss:0.002947986823490995\n", + "train loss:0.001146768646991972\n", + "train loss:0.003442124982484906\n", + "train loss:0.0006467801594245155\n", + "train loss:0.0068345483121328545\n", + "train loss:0.008744750541190902\n", + "train loss:0.003777934447868087\n", + "train loss:0.0012448106290885918\n", + "train loss:0.0004921747547351362\n", + "train loss:0.001461615561052338\n", + "train loss:0.0044129689870813895\n", + "train loss:0.0033723157248168978\n", + "train loss:0.0005485283009707259\n", + "train loss:0.0026158556398334525\n", + "train loss:0.0036887873040982976\n", + "train loss:0.09278486515059933\n", + "train loss:0.006399613303713628\n", + "train loss:0.002613038977166701\n", + "train loss:0.0023094120943109755\n", + "train loss:0.00018684895802040732\n", + "train loss:0.003962481768532571\n", + "train loss:0.0034504700276628687\n", + "train loss:0.015921997676875584\n", + "train loss:0.007044169730785117\n", + "train loss:0.00014503689902963876\n", + "train loss:0.003974551201397947\n", + "train loss:0.0024023901593713446\n", + "train loss:0.0020231501100488308\n", + "train loss:0.0006761750650266156\n", + "train loss:0.14825166674035808\n", + "train loss:0.005958010226328141\n", + "train loss:0.020538703830776765\n", + "train loss:0.019453872849888542\n", + "train loss:0.025402728363051966\n", + "train loss:0.0036284397848130134\n", + "train loss:0.004119299573643871\n", + "train loss:0.029977111230611843\n", + "train loss:0.009417375213142556\n", + "train loss:0.030842074481914478\n", + "train loss:0.0030253368992522543\n", + "train loss:0.002491226350267361\n", + "train loss:0.012302465810263428\n", + "train loss:0.005122417465076297\n", + "train loss:0.01762803843062925\n", + "train loss:0.0274779274286751\n", + "train loss:0.0031764848555530367\n", + "train loss:0.0053623005915702515\n", + "train loss:0.011199371316039491\n", + "train loss:0.0004365067774132935\n", + "train loss:0.002785231263522044\n", + "train loss:0.005279937065996755\n", + "train loss:0.002676754923927258\n", + "train loss:0.0010056018009253654\n", + "train loss:0.006692722879549861\n", + "train loss:0.001821115758679287\n", + "train loss:0.009460394465027512\n", + "train loss:0.008456490824182636\n", + "train loss:0.000984084964341651\n", + "train loss:0.0002708560140200246\n", + "train loss:0.0016680958329615297\n", + "train loss:0.000953564342937778\n", + "train loss:0.007593314116798739\n", + "train loss:0.007683968394221517\n", + "train loss:0.031120076708903616\n", + "train loss:0.02351785144779952\n", + "train loss:0.002028508111939616\n", + "train loss:0.002565153629385423\n", + "train loss:0.0015632793806596562\n", + "train loss:0.01915251134001885\n", + "train loss:0.004564349839931063\n", + "train loss:0.015187290530801653\n", + "train loss:0.009001774859273035\n", + "train loss:0.007697634615506072\n", + "train loss:0.0022696318549205578\n", + "train loss:0.0041365609363603175\n", + "train loss:0.004743440651555918\n", + "train loss:0.00371953842973227\n", + "train loss:0.01200273192069925\n", + "train loss:0.0014437174356983174\n", + "train loss:0.0013442961696821323\n", + "train loss:0.0014862585697633555\n", + "train loss:0.0009125089250097933\n", + "train loss:0.0002910363237812587\n", + "train loss:0.003421945453117676\n", + "train loss:0.0017676003882358563\n", + "train loss:0.0009741229067713399\n", + "train loss:0.007969400966146666\n", + "train loss:0.008496014012745873\n", + "train loss:0.0012501043540160816\n", + "train loss:0.00025584407109670076\n", + "train loss:0.003191037764156762\n", + "train loss:0.00680831210552467\n", + "train loss:0.009910637977341997\n", + "train loss:0.025404732630495176\n", + "train loss:0.0008265953307054353\n", + "train loss:0.0010274258547687991\n", + "train loss:0.0727200455903091\n", + "train loss:0.003696956549532219\n", + "train loss:0.0010492985165098145\n", + "train loss:0.0003508032582074749\n", + "train loss:0.00013258510976312936\n", + "train loss:0.001579193139245233\n", + "train loss:0.019965419986858014\n", + "train loss:0.002259991124392093\n", + "train loss:0.0011200692902090346\n", + "train loss:0.018297405679516317\n", + "train loss:0.00020758091774652332\n", + "train loss:0.00045291626106597286\n", + "train loss:0.0004769253744904104\n", + "train loss:0.002683249967815818\n", + "train loss:0.0003203212101466171\n", + "train loss:0.00671309963542286\n", + "train loss:0.001491814319926144\n", + "train loss:0.005961534498334491\n", + "train loss:0.0015177959934522239\n", + "train loss:0.0037627052697626006\n", + "train loss:0.00022700431321451958\n", + "train loss:0.0011650455323228047\n", + "train loss:0.0012606384051683094\n", + "train loss:0.0006073459240101972\n", + "train loss:0.003448683855149862\n", + "train loss:0.009367474199760197\n", + "train loss:0.001872400343193579\n", + "train loss:0.009817626604092666\n", + "train loss:0.0015605338184137764\n", + "train loss:3.725291052603859e-05\n", + "train loss:0.0024703853687030324\n", + "train loss:0.00377142356042767\n", + "train loss:0.005012706896446153\n", + "train loss:0.0006100523915618955\n", + "train loss:0.001366858307039313\n", + "train loss:0.004733284463066456\n", + "train loss:0.0022521990101559766\n", + "train loss:0.0007543565585523486\n", + "train loss:0.0068544203875989815\n", + "train loss:0.003758184178599038\n", + "train loss:0.003635323909197101\n", + "train loss:0.0032109136407516784\n", + "train loss:0.005073238043119057\n", + "train loss:0.0026476180509226134\n", + "train loss:0.010610124365194215\n", + "train loss:0.0012235546550912126\n", + "train loss:0.0014932392911823245\n", + "train loss:0.0030118108390294134\n", + "train loss:0.009385746140452412\n", + "train loss:0.0024290807375695373\n", + "train loss:0.005398242621236124\n", + "train loss:0.0012112220942305468\n", + "train loss:0.0003982828546845108\n", + "train loss:0.001718503306137875\n", + "train loss:0.008378595587171626\n", + "train loss:0.002087848682639145\n", + "train loss:0.005832858248170924\n", + "train loss:0.003092772954727774\n", + "train loss:0.0012748884855209028\n", + "train loss:0.007836016108785192\n", + "train loss:0.001008010971931415\n", + "train loss:0.00028761808005848313\n", + "train loss:0.017011319990439464\n", + "train loss:0.005923273807906105\n", + "train loss:0.0005451944099529787\n", + "train loss:0.0007826394863352573\n", + "train loss:0.0004897864442553995\n", + "train loss:0.001547738144555632\n", + "train loss:0.00043144944651310094\n", + "train loss:0.00040224496576511345\n", + "train loss:0.004951594504466757\n", + "train loss:0.0044900213057510645\n", + "train loss:0.0023977109992617857\n", + "train loss:0.0008871785924948626\n", + "train loss:0.011133855851584584\n", + "train loss:0.006083340764537045\n", + "train loss:0.0006572114398635622\n", + "train loss:0.0033635719337789865\n", + "train loss:0.005225509317706005\n", + "train loss:0.0018432571176962285\n", + "train loss:0.0005508160379496532\n", + "train loss:0.005817780038385451\n", + "train loss:0.0003174029900763067\n", + "train loss:0.0013565931488920774\n", + "train loss:0.012263204063853521\n", + "train loss:0.0015911154852730532\n", + "train loss:0.0010181584197499185\n", + "train loss:0.000173205745514178\n", + "train loss:0.0031253824481213394\n", + "train loss:0.0006736399087181361\n", + "train loss:0.003170712193491199\n", + "train loss:0.0037837985896096243\n", + "train loss:0.010018063276938232\n", + "train loss:0.0038999117848921433\n", + "train loss:0.007169157874517758\n", + "train loss:0.0008637039429257628\n", + "train loss:0.007122391500486835\n", + "train loss:0.000785821030949814\n", + "train loss:0.0008517214471944465\n", + "train loss:0.008535350017355446\n", + "train loss:0.003436114387201204\n", + "train loss:0.00736464258666075\n", + "train loss:0.0026657434234492066\n", + "train loss:0.00207170635719532\n", + "train loss:0.002591063236258171\n", + "train loss:0.004095769477109733\n", + "train loss:0.000818727987521407\n", + "train loss:0.016985582257783884\n", + "train loss:0.0010256372589947144\n", + "train loss:0.0022402691963525696\n", + "train loss:0.0018757607962420668\n", + "train loss:0.0012080124945980863\n", + "train loss:0.06646869612519865\n", + "train loss:0.01222395203739153\n", + "train loss:0.0023661091380658985\n", + "train loss:0.001192737325265361\n", + "train loss:0.0006885542536914347\n", + "train loss:0.059840588568021734\n", + "train loss:0.0024865834679340714\n", + "train loss:0.0024916250211850554\n", + "train loss:0.012730089244137195\n", + "train loss:0.0010415863376581306\n", + "train loss:0.004171950079650017\n", + "train loss:0.0021791265664371164\n", + "train loss:0.0021452380771580593\n", + "train loss:0.00045974254526157186\n", + "train loss:0.004687667507961629\n", + "train loss:0.004834500239361998\n", + "train loss:0.0007475785053549125\n", + "train loss:0.001587127327922911\n", + "train loss:0.0006263383707443327\n", + "train loss:0.0006914215735001404\n", + "train loss:0.000197586313798846\n", + "train loss:0.0006032875710297676\n", + "train loss:0.00045859451316247366\n", + "train loss:0.004774478223985788\n", + "train loss:0.0008630754630920948\n", + "train loss:0.008467928089551699\n", + "train loss:0.017108735534966907\n", + "train loss:0.0019874130003276953\n", + "train loss:0.0029359946416088125\n", + "train loss:0.0015849793010635571\n", + "train loss:0.0016655218105547564\n", + "train loss:0.018746778280269306\n", + "train loss:0.003591349485536093\n", + "train loss:0.004343503675626161\n", + "train loss:0.002202429015487362\n", + "train loss:0.0023916209157628086\n", + "train loss:0.0064786628813652955\n", + "train loss:0.0007635979279356949\n", + "train loss:0.00925522600680715\n", + "train loss:0.00028246039563725994\n", + "train loss:0.00012579601809845816\n", + "train loss:0.006015135454102479\n", + "train loss:0.0014145649231878746\n", + "train loss:0.0010939203186159363\n", + "train loss:0.006273886101262189\n", + "train loss:0.04313876670696634\n", + "train loss:0.002048486998104939\n", + "train loss:0.0013979076927302402\n", + "train loss:0.0028519054998319636\n", + "train loss:0.003823824113783883\n", + "train loss:0.0007699429319831344\n", + "train loss:0.0019815498481655525\n", + "train loss:0.0005325204893234533\n", + "train loss:0.004850710904972487\n", + "train loss:0.004545846069755554\n", + "train loss:0.007542589573681051\n", + "train loss:0.00012624809424397295\n", + "train loss:0.0003629340974318049\n", + "train loss:0.0012680528472458858\n", + "train loss:0.0004063951994502649\n", + "train loss:0.0016471535386753224\n", + "train loss:0.0002819172117012553\n", + "train loss:0.015938710514329803\n", + "train loss:0.002410100176688494\n", + "train loss:0.0023690618263767214\n", + "train loss:0.006894518552206745\n", + "train loss:0.0023248022481352844\n", + "train loss:0.001040359424038802\n", + "train loss:0.005294501854885249\n", + "train loss:0.006897279506605935\n", + "train loss:0.01212924912660337\n", + "train loss:0.0020910759225395994\n", + "train loss:0.00257216615662608\n", + "train loss:0.0012556570577405579\n", + "train loss:0.004650474155626983\n", + "train loss:0.019369879095983387\n", + "train loss:0.0018105978814562745\n", + "train loss:0.007849593273065987\n", + "train loss:0.0018804230752172122\n", + "train loss:0.008429172350673309\n", + "train loss:0.004173224711949093\n", + "train loss:0.004143046797648709\n", + "train loss:0.0066190700328991\n", + "train loss:0.011410392501168503\n", + "train loss:0.007649361039506569\n", + "train loss:0.0019876782517357482\n", + "train loss:0.002565774388868544\n", + "train loss:0.00025557370279504876\n", + "train loss:0.007192642644363046\n", + "train loss:0.0077797864090682145\n", + "train loss:0.0058033126977306585\n", + "train loss:0.002753305308674553\n", + "train loss:0.004238501541120249\n", + "train loss:0.03277275073801611\n", + "train loss:0.0005455713575318933\n", + "train loss:0.0022867074416387146\n", + "train loss:0.013309435337598147\n", + "train loss:0.001265433152991833\n", + "train loss:0.02312427736716475\n", + "train loss:0.0008595360472787434\n", + "train loss:0.005251352067168814\n", + "train loss:0.01459603082500627\n", + "train loss:0.002791523773322519\n", + "train loss:0.0031293107606583\n", + "=== epoch:15, train acc:0.994, test acc:0.984 ===\n", + "train loss:0.0032397652727585496\n", + "train loss:0.004069880482810998\n", + "train loss:0.00014774091642985176\n", + "train loss:0.0017019388553772858\n", + "train loss:0.0028487869778942966\n", + "train loss:0.0015184864892426352\n", + "train loss:0.018206211583550194\n", + "train loss:0.012137071681856671\n", + "train loss:0.0012335677587895684\n", + "train loss:0.002687848956572496\n", + "train loss:0.004865027539890431\n", + "train loss:0.017784591958044042\n", + "train loss:0.0001243463295919291\n", + "train loss:0.0011792907002461139\n", + "train loss:0.0034865637123615827\n", + "train loss:0.0007697953937801986\n", + "train loss:0.00017149653308470093\n", + "train loss:0.0022642096300299216\n", + "train loss:0.10478395475678187\n", + "train loss:0.00850718482977179\n", + "train loss:0.001332977442096335\n", + "train loss:0.0011070878584249274\n", + "train loss:0.0025487015845437134\n", + "train loss:0.0007211963087939484\n", + "train loss:0.0009627977744896289\n", + "train loss:0.0014303065465913509\n", + "train loss:0.001177517279781651\n", + "train loss:0.00891139328039403\n", + "train loss:0.0014580424544659771\n", + "train loss:0.0026434751311648326\n", + "train loss:0.0021242008186173177\n", + "train loss:0.0019403826694527671\n", + "train loss:0.00037803186129402213\n", + "train loss:0.002654958381697955\n", + "train loss:0.0362198603911933\n", + "train loss:0.0022755891645288525\n", + "train loss:0.0019221574283154739\n", + "train loss:0.0012893195092505438\n", + "train loss:0.0049034455987005034\n", + "train loss:0.0006051615747182185\n", + "train loss:0.009959404008937297\n", + "train loss:0.00018091808681250517\n", + "train loss:0.006411838042917883\n", + "train loss:0.0006358009419141036\n", + "train loss:0.0005743403666752179\n", + "train loss:0.01570882943205831\n", + "train loss:0.0006457342698241471\n", + "train loss:0.012825001958553135\n", + "train loss:0.021907852242024344\n", + "train loss:0.009776476962943264\n", + "train loss:0.0029773894240806504\n", + "train loss:0.002155859833138858\n", + "train loss:0.0008236499099058647\n", + "train loss:0.00041102779241130477\n", + "train loss:0.005110277888505067\n", + "train loss:0.007044593662540717\n", + "train loss:0.000593569318563984\n", + "train loss:0.004999790470062392\n", + "train loss:0.0020686147730927373\n", + "train loss:0.0017184488267177613\n", + "train loss:0.004954746432105282\n", + "train loss:0.006040980165965547\n", + "train loss:0.005610698891911911\n", + "train loss:0.002462481518760018\n", + "train loss:0.001844245138256634\n", + "train loss:0.0005562130403474589\n", + "train loss:0.0033925186321522266\n", + "train loss:0.00041453062954254876\n", + "train loss:0.0028027498362907443\n", + "train loss:0.0007037803461619874\n", + "train loss:0.009689200531634568\n", + "train loss:0.0004892690087086578\n", + "train loss:0.022393429963207177\n", + "train loss:0.002378723308020015\n", + "train loss:0.0005989655802556794\n", + "train loss:0.001984930940481826\n", + "train loss:0.01626867890651928\n", + "train loss:0.0015232208764589868\n", + "train loss:0.0007515004849794966\n", + "train loss:0.020076773556386533\n", + "train loss:0.003941445651600895\n", + "train loss:0.0018511873623193087\n", + "train loss:0.0012576800629674064\n", + "train loss:0.0014264613838432703\n", + "train loss:0.0058322136155685225\n", + "train loss:0.00018133917798791592\n", + "train loss:0.0008946526049682865\n", + "train loss:0.0012911467384732337\n", + "train loss:0.0008475629152159916\n", + "train loss:0.0023157356258634836\n", + "train loss:0.004837009235218201\n", + "train loss:0.0013811876698848608\n", + "train loss:0.0006228320635094974\n", + "train loss:0.006042413148381878\n", + "train loss:0.0019092754028198983\n", + "train loss:0.0023470179198962255\n", + "train loss:0.0010827980826463165\n", + "train loss:0.0014612148252563177\n", + "train loss:0.0019480499960490977\n", + "train loss:0.0006423088699981845\n", + "train loss:0.0017620518322407936\n", + "train loss:0.0007477288284175503\n", + "train loss:0.0008761152098121679\n", + "train loss:0.0008967295456207468\n", + "train loss:0.0030121914745853983\n", + "train loss:0.0015308332056334453\n", + "train loss:0.007227591618777419\n", + "train loss:0.012934263883231092\n", + "train loss:0.000259598110728978\n", + "train loss:0.0004399037801446692\n", + "train loss:0.0004101721570428549\n", + "train loss:0.0014927183439499348\n", + "train loss:0.0008159525487921079\n", + "train loss:0.0030760225554139565\n", + "train loss:0.0024018555584340226\n", + "train loss:0.0005324671512791994\n", + "train loss:0.008285937998975753\n", + "train loss:0.0010416067354028407\n", + "train loss:0.00620132059858686\n", + "train loss:0.00039840775547268987\n", + "train loss:0.001518087431911344\n", + "train loss:0.001374277060433228\n", + "train loss:0.0015605860744442085\n", + "train loss:0.0036772836652044076\n", + "train loss:0.013576082599494634\n", + "train loss:0.0010649452160089309\n", + "train loss:0.0008412167106612845\n", + "train loss:0.004531711055187284\n", + "train loss:0.0015539702965054849\n", + "train loss:0.0021715976977655835\n", + "train loss:0.0020115545256626506\n", + "train loss:0.0005329583569394397\n", + "train loss:0.002863148611530494\n", + "train loss:0.000963897235137716\n", + "train loss:0.0012205811007282691\n", + "train loss:0.003963101640933106\n", + "train loss:0.0031266905585268655\n", + "train loss:0.004176583033816756\n", + "train loss:6.11482283419242e-05\n", + "train loss:0.001615874212020473\n", + "train loss:0.006036249005501351\n", + "train loss:0.0005749931854839054\n", + "train loss:0.000337385224665875\n", + "train loss:0.004289313053094713\n", + "train loss:0.00025201085991862767\n", + "train loss:0.017930301528398324\n", + "train loss:0.002203353056297415\n", + "train loss:0.012913011859252452\n", + "train loss:0.002444936405183138\n", + "train loss:0.00267173531880079\n", + "train loss:0.001149138068612488\n", + "train loss:0.003509722297435544\n", + "train loss:0.00047818563540041734\n", + "train loss:0.002644322885023561\n", + "train loss:0.0021834677057977494\n", + "train loss:0.00537676759773726\n", + "train loss:0.0017194839288876206\n", + "train loss:0.0009477471771531515\n", + "train loss:0.00431082847485732\n", + "train loss:0.00013657014800289344\n", + "train loss:0.001013239160801463\n", + "train loss:0.0004132568818514193\n", + "train loss:0.001105283225804852\n", + "train loss:0.05279060582055919\n", + "train loss:0.00018840654507833063\n", + "train loss:0.0009011806921334514\n", + "train loss:0.003634458530591142\n", + "train loss:0.0031766672327607137\n", + "train loss:0.0008335979389555302\n", + "train loss:0.0005890419395142602\n", + "train loss:0.0021724055602451633\n", + "train loss:0.012631438742093236\n", + "train loss:0.0006569043256087882\n", + "train loss:0.001887215628862682\n", + "train loss:0.0005848918753411037\n", + "train loss:0.0033840696618567608\n", + "train loss:0.031607517088349135\n", + "train loss:0.0023361545598157164\n", + "train loss:0.004523382104104986\n", + "train loss:0.0006649841731433784\n", + "train loss:0.00876175639998079\n", + "train loss:0.0016568994312511093\n", + "train loss:0.0015310565227964138\n", + "train loss:0.0010777861559464934\n", + "train loss:0.013214804740295391\n", + "train loss:0.010138958265182374\n", + "train loss:0.0011723146412911832\n", + "train loss:0.00017118263436239977\n", + "train loss:0.0014800170874957428\n", + "train loss:0.00029873415869749806\n", + "train loss:0.0007411424943288875\n", + "train loss:0.0007696603752259678\n", + "train loss:0.0021253467568931924\n", + "train loss:0.0032628952838687055\n", + "train loss:0.0022483547877185563\n", + "train loss:0.00014016657014793155\n", + "train loss:0.000592034074989929\n", + "train loss:0.0016537919347121965\n", + "train loss:0.0008265552788093161\n", + "train loss:0.00027832685010669757\n", + "train loss:0.0025427614397676725\n", + "train loss:0.001357081338112833\n", + "train loss:9.896415116583715e-05\n", + "train loss:0.003522650986705012\n", + "train loss:0.004192343324999707\n", + "train loss:0.0010417546740079673\n", + "train loss:0.0006128683387921562\n", + "train loss:0.00031883712666903646\n", + "train loss:0.004271401799395457\n", + "train loss:0.0032493351208288984\n", + "train loss:0.0018749473045618\n", + "train loss:0.0053868921007219515\n", + "train loss:0.0006194863463102138\n", + "train loss:0.002095569897398598\n", + "train loss:0.0011066386252688546\n", + "train loss:0.0003848392576072463\n", + "train loss:0.0023226686383132477\n", + "train loss:0.0006082524726005494\n", + "train loss:0.0036564569027248174\n", + "train loss:0.0001509829338184141\n", + "train loss:5.910504826861739e-05\n", + "train loss:0.013270800522210807\n", + "train loss:0.023354275427322935\n", + "train loss:0.0018698385644993806\n", + "train loss:0.002054251460893282\n", + "train loss:8.55644217332018e-05\n", + "train loss:0.001999307951774275\n", + "train loss:0.0020957704810561167\n", + "train loss:0.0028993007264821254\n", + "train loss:0.002033529541365454\n", + "train loss:0.05516769204651508\n", + "train loss:0.0016669193915937015\n", + "train loss:0.004074906083439264\n", + "train loss:0.007937393597695462\n", + "train loss:0.0009644260337239501\n", + "train loss:0.004961963854878944\n", + "train loss:0.014006375052523558\n", + "train loss:0.00045552930435093056\n", + "train loss:0.006960717145860786\n", + "train loss:0.007619347918250787\n", + "train loss:0.00044508779776097923\n", + "train loss:0.0005567659839391684\n", + "train loss:0.000745837099187966\n", + "train loss:0.007102999803457109\n", + "train loss:0.005119335175397117\n", + "train loss:0.0006464202347690386\n", + "train loss:0.0004660007313578854\n", + "train loss:0.0026422873026192744\n", + "train loss:0.0007658895221148679\n", + "train loss:0.0017283495657235343\n", + "train loss:0.00046403620482921113\n", + "train loss:0.0064210605671641725\n", + "train loss:0.006382575574174404\n", + "train loss:0.024985067998522962\n", + "train loss:0.007328595057183256\n", + "train loss:0.0005395877556882035\n", + "train loss:0.004586463071017983\n", + "train loss:0.0008678194517385441\n", + "train loss:0.016336167974458013\n", + "train loss:0.040273559816740905\n", + "train loss:0.00952078160019387\n", + "train loss:0.0007435976740001336\n", + "train loss:0.008462716775750346\n", + "train loss:0.0013838108192954256\n", + "train loss:9.662045739809445e-05\n", + "train loss:0.0057015540753835095\n", + "train loss:0.003489350894164405\n", + "train loss:0.003776877531654635\n", + "train loss:0.002872192107525548\n", + "train loss:0.0016731321560852345\n", + "train loss:0.0039789844901829425\n", + "train loss:0.001026162395805878\n", + "train loss:0.014834593024079109\n", + "train loss:0.0022117359524764903\n", + "train loss:0.0010057126763719758\n", + "train loss:0.005250667218186027\n", + "train loss:0.006966343663974253\n", + "train loss:0.0020935583531454163\n", + "train loss:0.004297882580876642\n", + "train loss:0.0017565258100410298\n", + "train loss:0.0043123849910263095\n", + "train loss:0.0017941747011057138\n", + "train loss:0.050251976095517285\n", + "train loss:0.0004952535824295501\n", + "train loss:0.0032239779795580296\n", + "train loss:0.0003496065032716525\n", + "train loss:0.005109187307947188\n", + "train loss:0.004520531670992093\n", + "train loss:0.001374841434778139\n", + "train loss:0.00012962151835203532\n", + "train loss:0.001108847843357278\n", + "train loss:0.004199221653685792\n", + "train loss:0.0020452193241171485\n", + "train loss:0.00044871880019535585\n", + "train loss:0.0009326387046016597\n", + "train loss:0.0026849142228444196\n", + "train loss:0.014175576104812897\n", + "train loss:0.01318682984224991\n", + "train loss:0.002383760509084649\n", + "train loss:0.0032743360794909625\n", + "train loss:0.0007697163102196153\n", + "train loss:0.0041253147492214025\n", + "train loss:0.0073884988761018944\n", + "train loss:0.0025818364964714994\n", + "train loss:0.0011502478470660482\n", + "train loss:0.00031104601302914665\n", + "train loss:0.001147393152140801\n", + "train loss:0.00016371566647514066\n", + "train loss:0.0004860096154661885\n", + "train loss:0.0034035626216197155\n", + "train loss:0.0012772843683616828\n", + "train loss:0.014502519836647\n", + "train loss:0.00018674286308961158\n", + "train loss:0.03110734140864995\n", + "train loss:0.003509666690566313\n", + "train loss:0.002911356954559855\n", + "train loss:0.002926287028928096\n", + "train loss:0.00325186855751043\n", + "train loss:0.0037750757806304124\n", + "train loss:0.007771394608666566\n", + "train loss:0.000920974963061045\n", + "train loss:0.007959062346072278\n", + "train loss:0.0016831348631913038\n", + "train loss:0.0026424477461654983\n", + "train loss:0.004620387919983737\n", + "train loss:0.0002750054243689916\n", + "train loss:0.00473176093339547\n", + "train loss:0.0025692844926373227\n", + "train loss:0.010087482147970504\n", + "train loss:0.00257051167244999\n", + "train loss:0.002078865814366453\n", + "train loss:0.0022056652450955006\n", + "train loss:0.006720680180564067\n", + "train loss:5.031576150143758e-05\n", + "train loss:0.0007032780026483589\n", + "train loss:0.0016747756439347951\n", + "train loss:0.003426818616476097\n", + "train loss:0.0011437602577595908\n", + "train loss:0.00246796743101373\n", + "train loss:0.0012658223265285063\n", + "train loss:0.001965093327538609\n", + "train loss:0.0016895495354845478\n", + "train loss:0.012066923045736835\n", + "train loss:0.003518572646002807\n", + "train loss:0.0029549654590746866\n", + "train loss:0.0014314379129631615\n", + "train loss:0.007154751176150652\n", + "train loss:0.027475039636954225\n", + "train loss:0.00023632599603151365\n", + "train loss:0.0008203178224716727\n", + "train loss:0.013880161279119674\n", + "train loss:0.0028527484744491688\n", + "train loss:0.0017973643775943302\n", + "train loss:0.001924820927642422\n", + "train loss:0.0003352054506370575\n", + "train loss:0.0009453839435825974\n", + "train loss:0.00016854848476129098\n", + "train loss:0.004050578936581221\n", + "train loss:0.00190650339327381\n", + "train loss:0.0008354348444733786\n", + "train loss:0.0006027773718789842\n", + "train loss:0.00560517579491598\n", + "train loss:0.001463112451685027\n", + "train loss:0.001302919205931852\n", + "train loss:0.0010174484345350765\n", + "train loss:0.00024785999547995364\n", + "train loss:0.00177469308840798\n", + "train loss:0.0007782406396266442\n", + "train loss:8.298801367254108e-05\n", + "train loss:0.01360051665402478\n", + "train loss:0.0011569466108887992\n", + "train loss:0.00040091448288755724\n", + "train loss:0.001646497658573734\n", + "train loss:0.0012416519202798494\n", + "train loss:0.002614638926450202\n", + "train loss:0.0001654947419235437\n", + "train loss:0.03333953643148731\n", + "train loss:0.0002890731403324747\n", + "train loss:0.007709238848084872\n", + "train loss:0.00012455753913503126\n", + "train loss:0.0008690512086441622\n", + "train loss:0.0020776777092315446\n", + "train loss:0.0008435733869728983\n", + "train loss:0.00033385604921736846\n", + "train loss:0.001389125653537837\n", + "train loss:0.00014651379490027223\n", + "train loss:0.0006649912187250414\n", + "train loss:0.01199631873712488\n", + "train loss:0.01116894209974776\n", + "train loss:0.0015984270824816271\n", + "train loss:0.0014910522363014724\n", + "train loss:0.002302526044541847\n", + "train loss:0.012897047756706937\n", + "train loss:0.0006417821675530823\n", + "train loss:0.00027926860513719144\n", + "train loss:0.007916396105981043\n", + "train loss:0.004328335968992134\n", + "train loss:0.000793344300577205\n", + "train loss:0.005093071565315374\n", + "train loss:0.00060635409944068\n", + "train loss:0.006889395403171576\n", + "train loss:0.0035649825530311785\n", + "train loss:0.0009713347595906991\n", + "train loss:0.006764570084752596\n", + "train loss:0.005430291439584025\n", + "train loss:0.005091207490075364\n", + "train loss:0.004927444193801179\n", + "train loss:0.0023639134479317187\n", + "train loss:0.0047124383246257735\n", + "train loss:0.0033614137098941055\n", + "train loss:0.005975870138350484\n", + "train loss:0.0023914690451406497\n", + "train loss:0.0012966057964916159\n", + "train loss:0.002000862948660208\n", + "train loss:0.0015131322967830158\n", + "train loss:0.0037789041288543964\n", + "train loss:7.20482470945194e-05\n", + "train loss:0.003532597191426754\n", + "train loss:0.0025696096851964226\n", + "train loss:0.0025455162942231136\n", + "train loss:0.0012257947652909598\n", + "train loss:0.006377058780187567\n", + "train loss:0.002916644027055661\n", + "train loss:0.00013931507964608288\n", + "train loss:0.0014638295092363007\n", + "train loss:0.006780650672110914\n", + "train loss:0.0009405411350653637\n", + "train loss:0.00022367274227091269\n", + "train loss:0.0015879136414453752\n", + "train loss:0.003351955688505456\n", + "train loss:0.00027179524223305135\n", + "train loss:0.001748739766062308\n", + "train loss:0.00519303376435561\n", + "train loss:0.0002986729042965361\n", + "train loss:0.0011755886357787957\n", + "train loss:0.0037426693872784794\n", + "train loss:0.0006652476149964201\n", + "train loss:0.006567251930869841\n", + "train loss:0.0029440988232235714\n", + "train loss:0.0036316924567891483\n", + "train loss:0.02408921852277033\n", + "train loss:0.00033835439203977176\n", + "train loss:0.0008187807609979285\n", + "train loss:0.0045644048945391955\n", + "train loss:0.00036497940835896804\n", + "train loss:0.0035277807865424053\n", + "train loss:0.002816254641285686\n", + "train loss:0.00045756589798155343\n", + "train loss:0.001309266820019097\n", + "train loss:0.0003283247456655993\n", + "train loss:0.035803793074377616\n", + "train loss:0.000935570039279045\n", + "train loss:0.001985220627864091\n", + "train loss:0.0032293865481290065\n", + "train loss:0.0008438759222931399\n", + "train loss:0.0069832839185171\n", + "train loss:0.004770340721169265\n", + "train loss:0.002149324494372427\n", + "train loss:0.008847241543523496\n", + "train loss:0.0006860084424948254\n", + "train loss:0.0014727939191501104\n", + "train loss:0.005229369586590409\n", + "train loss:0.001888504217129601\n", + "train loss:0.005034672204300972\n", + "train loss:0.002119287559883147\n", + "train loss:0.001460439437157552\n", + "train loss:0.004983467548793089\n", + "train loss:0.0016992342891195373\n", + "train loss:0.0029445673737929627\n", + "train loss:0.0008191143962910349\n", + "train loss:0.0004221466167698104\n", + "train loss:0.004398736621388166\n", + "train loss:0.004766923309860863\n", + "train loss:0.001669845292853565\n", + "train loss:0.0022741805437126355\n", + "train loss:0.00011405659733277757\n", + "train loss:0.0030974511524923675\n", + "train loss:0.0007385930614406047\n", + "train loss:0.003078320824618205\n", + "train loss:0.0009121267488487423\n", + "train loss:0.0008530157776647728\n", + "train loss:0.0014046889466541284\n", + "train loss:0.0028145323591638773\n", + "train loss:0.0020682521507103388\n", + "train loss:0.0021494709800742007\n", + "train loss:0.003965245363734608\n", + "train loss:0.0012100132597256087\n", + "train loss:0.008521144173531607\n", + "train loss:0.004782120175471135\n", + "train loss:0.00015674340757336347\n", + "train loss:0.0010591915316991323\n", + "train loss:0.0030948654981382954\n", + "train loss:0.00023976735918534398\n", + "train loss:0.00116060441445797\n", + "train loss:0.0004800178777158333\n", + "train loss:0.004102238766418144\n", + "train loss:0.0017765155341650338\n", + "train loss:0.000554845808678729\n", + "train loss:0.004411708048245148\n", + "train loss:0.0010534810290256488\n", + "train loss:0.000573282461861122\n", + "train loss:0.0018156051621244956\n", + "train loss:0.003488266852952931\n", + "train loss:9.629773473966421e-05\n", + "train loss:0.002016283207163754\n", + "train loss:0.006417496329146019\n", + "train loss:0.0003137740042194626\n", + "train loss:0.0009290925004129215\n", + "train loss:0.0007580319412089535\n", + "train loss:0.003521604147388419\n", + "train loss:0.0007373570089742484\n", + "train loss:0.007485059348026787\n", + "train loss:0.0022309274066350223\n", + "train loss:0.001193813726025917\n", + "train loss:0.008420775603332625\n", + "train loss:0.00016920103957028957\n", + "train loss:0.0005596640261361732\n", + "train loss:0.001066896131141084\n", + "train loss:5.2807764374587664e-05\n", + "train loss:0.0011746401534522266\n", + "train loss:0.003129579805164258\n", + "train loss:0.036389189733620986\n", + "train loss:0.0021795984952361364\n", + "train loss:0.007551976785314718\n", + "train loss:0.0017977449087137431\n", + "train loss:0.0012209020508019551\n", + "train loss:0.0009989640111976387\n", + "train loss:0.012586910462519568\n", + "train loss:0.0004132185932137461\n", + "train loss:0.0006075475533815895\n", + "train loss:9.033301292843979e-05\n", + "train loss:0.012080749083982925\n", + "train loss:0.0011423884652849608\n", + "train loss:0.0006193408588896841\n", + "train loss:0.0019703890971923712\n", + "train loss:0.003164754735209926\n", + "train loss:0.0003175871446030883\n", + "train loss:0.003949343997281708\n", + "train loss:0.002312819110263616\n", + "train loss:0.00033162498333510175\n", + "train loss:0.0027202222158457497\n", + "train loss:0.0008037153846963345\n", + "train loss:0.000411709853243364\n", + "train loss:0.0007693684653926572\n", + "train loss:0.002349695047982958\n", + "train loss:0.0037796330517299425\n", + "train loss:0.0005110720732132507\n", + "train loss:0.003275777827769946\n", + "train loss:0.0003108867934166341\n", + "train loss:2.824535882840313e-05\n", + "train loss:0.003912413841903415\n", + "train loss:0.00038715470807641604\n", + "train loss:0.001170421606942369\n", + "train loss:0.00018587257158546484\n", + "train loss:0.00018985566617107073\n", + "train loss:0.001145045488801332\n", + "train loss:0.00017396231963100154\n", + "train loss:0.0004350217506199496\n", + "train loss:0.0028842541715450665\n", + "train loss:0.0038934214681696474\n", + "train loss:0.0006174568329045785\n", + "train loss:0.0008887331702994999\n", + "train loss:0.012318657312488457\n", + "train loss:0.011990224711382969\n", + "train loss:9.615529367545412e-05\n", + "train loss:0.002165072904639889\n", + "train loss:0.0002745489861930194\n", + "train loss:1.335949049202723e-05\n", + "train loss:0.005495751490049925\n", + "train loss:0.012304213231563213\n", + "train loss:0.0006244919749324867\n", + "train loss:0.0008759182103681884\n", + "train loss:0.0017470344629200816\n", + "train loss:0.0017766012302765151\n", + "train loss:0.0003321117842415633\n", + "train loss:0.0007609236884456637\n", + "train loss:0.005168600445731498\n", + "train loss:0.0015683671866570418\n", + "train loss:0.0005129055882059894\n", + "train loss:0.001093723995719312\n", + "train loss:0.00020641160132522918\n", + "train loss:0.0007050944149724417\n", + "train loss:0.0020255939970736567\n", + "train loss:0.003476789827492332\n", + "train loss:0.00138531481028189\n", + "train loss:0.000548936103882458\n", + "train loss:0.0001046651814870439\n", + "train loss:0.0015665962158093636\n", + "train loss:0.0006460389182245152\n", + "train loss:0.00019757142643653412\n", + "train loss:0.0011534211514478909\n", + "train loss:0.0031882672696765374\n", + "train loss:0.0019862522384414137\n", + "train loss:0.004427588329344357\n", + "train loss:0.0014514753534261172\n", + "train loss:0.000533157184069062\n", + "train loss:0.04693709558486421\n", + "train loss:0.0012170704085740195\n", + "train loss:0.003567263641136259\n", + "train loss:0.0014561013129257385\n", + "=== epoch:16, train acc:0.999, test acc:0.988 ===\n", + "train loss:0.0017582999220133804\n", + "train loss:0.003944548977933845\n", + "train loss:0.00034179019529944883\n", + "train loss:0.0016876584190863436\n", + "train loss:0.0005742751450549771\n", + "train loss:0.0022509897718930847\n", + "train loss:0.0002184306013722232\n", + "train loss:0.0009251452251222573\n", + "train loss:0.0002999587244051553\n", + "train loss:0.0045073437342237925\n", + "train loss:0.00022103040295068282\n", + "train loss:0.0009300713541218064\n", + "train loss:0.00018834029684574322\n", + "train loss:0.0029040068030556114\n", + "train loss:0.00592657949217719\n", + "train loss:0.0008357148312299384\n", + "train loss:0.001190954476748208\n", + "train loss:0.0012680078374061124\n", + "train loss:0.0012478929491602292\n", + "train loss:0.001249855591380049\n", + "train loss:0.0050981104492628234\n", + "train loss:0.007271989268273644\n", + "train loss:8.956981166969263e-05\n", + "train loss:0.0005593242115863546\n", + "train loss:0.002524970184955055\n", + "train loss:7.769092783030565e-05\n", + "train loss:0.0016768321616219904\n", + "train loss:0.0006034253460861631\n", + "train loss:0.004875581300699698\n", + "train loss:0.0020154992573016618\n", + "train loss:0.055170889722022484\n", + "train loss:0.00254652197728088\n", + "train loss:0.0009938312623715235\n", + "train loss:0.0008233282106526456\n", + "train loss:0.002140740039961363\n", + "train loss:0.00033452334066135105\n", + "train loss:0.0024403992144879567\n", + "train loss:0.0017089366647020444\n", + "train loss:0.0015275352063325643\n", + "train loss:0.0030498851890066207\n", + "train loss:0.0006679394060945586\n", + "train loss:0.0008070849592829454\n", + "train loss:0.0012855822623570802\n", + "train loss:0.00027473057323224265\n", + "train loss:0.000780956459852467\n", + "train loss:0.007329304896561825\n", + "train loss:0.002201373562891596\n", + "train loss:0.00011370235230840763\n", + "train loss:0.0008538547443069684\n", + "train loss:0.0037016821368557372\n", + "train loss:0.0031228926610491264\n", + "train loss:0.0005693598919912659\n", + "train loss:0.003878199691314846\n", + "train loss:0.0017468256821229135\n", + "train loss:0.0036823655130602\n", + "train loss:0.002301840243764097\n", + "train loss:0.0004524233079043383\n", + "train loss:0.0025090371984933047\n", + "train loss:0.0014709533684511664\n", + "train loss:0.0006604960918876195\n", + "train loss:0.00013068810750061475\n", + "train loss:0.0008174938758322008\n", + "train loss:0.0034808976864879756\n", + "train loss:0.001110555640347111\n", + "train loss:0.0011971313405386636\n", + "train loss:0.0011352246876902906\n", + "train loss:0.0013745899691443594\n", + "train loss:0.0008721693111758903\n", + "train loss:0.00011737519755098124\n", + "train loss:3.2071323175403185e-05\n", + "train loss:0.001865514864363246\n", + "train loss:0.0025040547002632123\n", + "train loss:0.0012465855224214903\n", + "train loss:0.0013833009445397984\n", + "train loss:0.0007551077129626952\n", + "train loss:0.0003948994611025018\n", + "train loss:0.0036115686905245793\n", + "train loss:0.007363465502324944\n", + "train loss:0.0009883786410563452\n", + "train loss:0.0004847866299539164\n", + "train loss:0.000337273244939767\n", + "train loss:0.00031927411490918\n", + "train loss:0.0003935408964765294\n", + "train loss:0.003034038176177944\n", + "train loss:0.000272937824403089\n", + "train loss:0.0004793279179409166\n", + "train loss:0.00022721823334452326\n", + "train loss:0.0015269798516946975\n", + "train loss:0.0009197403730864173\n", + "train loss:0.0009706448458426243\n", + "train loss:0.0006715135887770518\n", + "train loss:0.0001664895462948491\n", + "train loss:0.000882211149955597\n", + "train loss:0.0017723650428553119\n", + "train loss:0.00039165801010620046\n", + "train loss:0.0014286367568731196\n", + "train loss:0.0006118534639169781\n", + "train loss:0.0015447965149898621\n", + "train loss:0.00031711105658042494\n", + "train loss:0.0027479721655195815\n", + "train loss:0.0032422317508318467\n", + "train loss:0.0014573764117730612\n", + "train loss:0.015676339475675583\n", + "train loss:0.002474835805924034\n", + "train loss:0.0021244738228844854\n", + "train loss:0.0011609053891119547\n", + "train loss:0.0026127637348979747\n", + "train loss:0.00275008774503845\n", + "train loss:0.0006772195836109518\n", + "train loss:0.0004592502365021609\n", + "train loss:0.0008958528316442516\n", + "train loss:0.00041123800850808017\n", + "train loss:0.0001285821629435828\n", + "train loss:0.002783639448866432\n", + "train loss:0.0005944740386506741\n", + "train loss:0.00023207309886815784\n", + "train loss:0.0012413649515487508\n", + "train loss:0.0014188300160429437\n", + "train loss:0.00036916182329300924\n", + "train loss:0.0009811682800667306\n", + "train loss:0.000502448168108315\n", + "train loss:0.0006138272765193181\n", + "train loss:0.00026875212251062223\n", + "train loss:0.0006831757182430222\n", + "train loss:0.0002543936523420126\n", + "train loss:0.0023158394438185055\n", + "train loss:0.0036251313037945765\n", + "train loss:0.0012230609793988235\n", + "train loss:0.0013822492799123694\n", + "train loss:0.0011278754518439403\n", + "train loss:0.004072033366990291\n", + "train loss:2.1831930802937543e-05\n", + "train loss:0.0025226509158849013\n", + "train loss:0.004537667803858763\n", + "train loss:0.001515207826721542\n", + "train loss:0.0006514215432117766\n", + "train loss:0.00019520649341886923\n", + "train loss:0.0012872587120796705\n", + "train loss:0.0025081301699919727\n", + "train loss:0.0012479760255684857\n", + "train loss:0.0001272634255515174\n", + "train loss:0.001552707358276282\n", + "train loss:0.0004263846965507406\n", + "train loss:0.0017716168412963665\n", + "train loss:0.00047165329192560526\n", + "train loss:0.0006879467824708915\n", + "train loss:0.0005624284375149542\n", + "train loss:0.00017727535449484243\n", + "train loss:0.003031854664581723\n", + "train loss:0.061255431162352485\n", + "train loss:0.00021056744081690586\n", + "train loss:0.003928800060561956\n", + "train loss:0.00040067958461272133\n", + "train loss:0.0002730280397015682\n", + "train loss:0.002552533253897774\n", + "train loss:0.01987888715213287\n", + "train loss:0.0012922013729276373\n", + "train loss:0.0014978312156634175\n", + "train loss:0.0007450877058078069\n", + "train loss:0.0007864617401071732\n", + "train loss:0.0014469963536163167\n", + "train loss:0.0004676853779463658\n", + "train loss:0.003923863386657001\n", + "train loss:0.0016561550249064682\n", + "train loss:0.0005063724679687715\n", + "train loss:6.61365942289523e-05\n", + "train loss:0.0011223890025478744\n", + "train loss:0.0023038356351388735\n", + "train loss:0.0007379328532028323\n", + "train loss:0.0003351773841015356\n", + "train loss:0.0011313128966597209\n", + "train loss:0.003939320120263297\n", + "train loss:0.0006131821168653635\n", + "train loss:0.0009075508456291033\n", + "train loss:0.001943409172646157\n", + "train loss:0.021096221628920553\n", + "train loss:0.0012439735321103824\n", + "train loss:0.00043275675031407857\n", + "train loss:0.00015337931479154172\n", + "train loss:0.0007024813691949569\n", + "train loss:0.0014505683059522418\n", + "train loss:0.00012362675359533373\n", + "train loss:0.0009559119847648871\n", + "train loss:0.0005526640335101947\n", + "train loss:0.001751672218620095\n", + "train loss:0.00482312479874069\n", + "train loss:0.0002485399021659373\n", + "train loss:0.0002191697858375134\n", + "train loss:4.455350453267918e-05\n", + "train loss:0.004389614726515932\n", + "train loss:4.19401199020098e-05\n", + "train loss:0.00044401238165783026\n", + "train loss:0.0023912466478523105\n", + "train loss:0.00024291264990751636\n", + "train loss:0.00024324282725467423\n", + "train loss:0.00012425127457682785\n", + "train loss:0.0006831142555904809\n", + "train loss:0.0019426883681161237\n", + "train loss:0.002616235767491727\n", + "train loss:0.0012204471425146782\n", + "train loss:4.584917229063972e-05\n", + "train loss:0.012483097155400509\n", + "train loss:0.00016506299485325156\n", + "train loss:0.0007643547281598171\n", + "train loss:0.003773931725416669\n", + "train loss:0.00336399729348996\n", + "train loss:0.014174176788706094\n", + "train loss:0.004087650656845692\n", + "train loss:0.000537076321613296\n", + "train loss:0.06350927042597371\n", + "train loss:0.0017329405625156\n", + "train loss:0.0011644472398342634\n", + "train loss:0.00022153055068402852\n", + "train loss:0.0016927881870073584\n", + "train loss:0.0021618932113039667\n", + "train loss:0.0019815455463885936\n", + "train loss:0.006274249343055515\n", + "train loss:0.0006253235014806748\n", + "train loss:0.0004767946095994162\n", + "train loss:0.0016558060877493732\n", + "train loss:0.0013554022572372052\n", + "train loss:0.035710302521773055\n", + "train loss:0.00029996396583844507\n", + "train loss:0.00216233564216746\n", + "train loss:0.0023372800735024356\n", + "train loss:0.006600637595971631\n", + "train loss:0.0027969793885827695\n", + "train loss:0.002789240558016929\n", + "train loss:0.0023820194212027627\n", + "train loss:0.0010426417419444791\n", + "train loss:0.0026562942837508275\n", + "train loss:0.005383883797517855\n", + "train loss:0.00019928791010886005\n", + "train loss:0.0011568016328131186\n", + "train loss:0.00027176473306993366\n", + "train loss:0.00047763874220072423\n", + "train loss:0.0001213861660222856\n", + "train loss:0.0032301310282456057\n", + "train loss:0.007583148804599434\n", + "train loss:0.00944161126764183\n", + "train loss:0.006212352345848835\n", + "train loss:0.005297201928278837\n", + "train loss:0.001071263752054232\n", + "train loss:0.0008909944588275808\n", + "train loss:0.007222779393455072\n", + "train loss:0.00027520197212081417\n", + "train loss:0.0004519530492009234\n", + "train loss:0.010435274497562947\n", + "train loss:0.0007289016326722863\n", + "train loss:0.00029756419643480283\n", + "train loss:0.00206458736425594\n", + "train loss:0.0016945165639595267\n", + "train loss:0.0038557358798051496\n", + "train loss:0.0027468260929683257\n", + "train loss:0.00019143651386650424\n", + "train loss:0.0013974119834164712\n", + "train loss:0.0004464645225133489\n", + "train loss:0.0003085973429321018\n", + "train loss:0.000931702533309999\n", + "train loss:0.00032576030928680637\n", + "train loss:0.07319686344676715\n", + "train loss:0.00024540474686449767\n", + "train loss:8.098881574371157e-05\n", + "train loss:9.352924767779424e-05\n", + "train loss:3.680682256151892e-05\n", + "train loss:0.001448340570141027\n", + "train loss:0.00011854185038222188\n", + "train loss:0.0018398603273018135\n", + "train loss:0.007902946857863523\n", + "train loss:0.0022038419220709402\n", + "train loss:0.0020269162815382716\n", + "train loss:0.003703780793406374\n", + "train loss:0.00020341587595987316\n", + "train loss:0.0008028350289876886\n", + "train loss:0.0011438503976701443\n", + "train loss:0.0011487433342483606\n", + "train loss:0.001392566955659929\n", + "train loss:0.0006437651033768913\n", + "train loss:0.004455851504589434\n", + "train loss:0.0030265208660600657\n", + "train loss:0.0023186956698132964\n", + "train loss:0.00820949326670181\n", + "train loss:0.0011490565132238207\n", + "train loss:0.00017306605021089543\n", + "train loss:0.0003643891860144878\n", + "train loss:0.0013317833254217423\n", + "train loss:0.0010783135073208535\n", + "train loss:0.002235271414700939\n", + "train loss:0.0019593382896514497\n", + "train loss:0.002355138621859486\n", + "train loss:0.00136726042525598\n", + "train loss:0.0016678367852610975\n", + "train loss:0.002005513791933336\n", + "train loss:0.00012643409998382878\n", + "train loss:0.0011214300962012623\n", + "train loss:0.0007801047901982609\n", + "train loss:0.0005555890498999648\n", + "train loss:0.0403200374984329\n", + "train loss:0.0010605101454818236\n", + "train loss:0.0015840737992831352\n", + "train loss:0.001521918121775368\n", + "train loss:0.0021373974244186834\n", + "train loss:0.00035060281265820856\n", + "train loss:0.0014643268810309899\n", + "train loss:0.0010817949931633559\n", + "train loss:0.0014327174851359048\n", + "train loss:0.006554073727600064\n", + "train loss:0.0016517591746031896\n", + "train loss:0.0010048775095969082\n", + "train loss:0.006124615763730027\n", + "train loss:0.0012201811206435592\n", + "train loss:0.0010386388759554656\n", + "train loss:0.00026995791527448547\n", + "train loss:0.002144817963608315\n", + "train loss:0.0010424738526554102\n", + "train loss:0.0021611388907992165\n", + "train loss:0.00594742463098841\n", + "train loss:0.0008076219218444136\n", + "train loss:0.0025112813211926703\n", + "train loss:0.001191853413855036\n", + "train loss:0.0007552671722838691\n", + "train loss:0.003588400792711545\n", + "train loss:0.0012412780358402199\n", + "train loss:0.0003822533892199237\n", + "train loss:0.0008954707996986843\n", + "train loss:0.001415679597605034\n", + "train loss:9.104985088594444e-05\n", + "train loss:0.0003341283275084864\n", + "train loss:0.001615917833134424\n", + "train loss:0.0021480519246466208\n", + "train loss:0.0008381005062647755\n", + "train loss:0.0036495747787094056\n", + "train loss:0.0003509194866758769\n", + "train loss:8.902442208400323e-05\n", + "train loss:0.0012644854821466118\n", + "train loss:0.0004345703040956606\n", + "train loss:0.00012248898505825184\n", + "train loss:0.0012043742413828577\n", + "train loss:0.001315735491831011\n", + "train loss:0.0005720866272562107\n", + "train loss:0.0037461314711911605\n", + "train loss:0.0011807038329645708\n", + "train loss:0.000385052352963265\n", + "train loss:0.00135236341095682\n", + "train loss:0.001449374237237369\n", + "train loss:0.004661943511308059\n", + "train loss:0.0019307791323953478\n", + "train loss:0.007911689514380177\n", + "train loss:0.0019898436849784804\n", + "train loss:0.0005580046578003969\n", + "train loss:0.00016195299207915847\n", + "train loss:0.0011699544537123446\n", + "train loss:0.0007769225451467362\n", + "train loss:0.0005228174714244528\n", + "train loss:0.00021469150737042593\n", + "train loss:0.00025020483408718893\n", + "train loss:0.0032593762377886716\n", + "train loss:0.002524099044474866\n", + "train loss:0.0008740733312194932\n", + "train loss:0.0026472650242537537\n", + "train loss:0.002632275721962421\n", + "train loss:0.0006342675544290968\n", + "train loss:0.012605060072130444\n", + "train loss:0.0020793622590757374\n", + "train loss:0.00013591669968274073\n", + "train loss:0.0002223366268004627\n", + "train loss:0.003148389391604954\n", + "train loss:0.00018286149396523895\n", + "train loss:0.000379086128451454\n", + "train loss:0.00048140013684133003\n", + "train loss:0.00463466670727198\n", + "train loss:0.0013343163351319295\n", + "train loss:0.007202627840193934\n", + "train loss:0.0003939686470984353\n", + "train loss:0.0004164089485033917\n", + "train loss:0.005667870401323527\n", + "train loss:0.0006164837044832433\n", + "train loss:0.004529651114173213\n", + "train loss:0.000986414030715124\n", + "train loss:0.0006226938615132399\n", + "train loss:0.00044583850292117643\n", + "train loss:0.000622411932940038\n", + "train loss:0.0046916270687337195\n", + "train loss:0.009445373852958848\n", + "train loss:0.0007539809709894968\n", + "train loss:0.0022218848573152894\n", + "train loss:0.00022802834136561112\n", + "train loss:0.0007948941628484166\n", + "train loss:0.00097598171222426\n", + "train loss:0.0020384004282934186\n", + "train loss:0.003543544986689066\n", + "train loss:0.0007765314238654635\n", + "train loss:0.0036223047398643566\n", + "train loss:0.007248752351887319\n", + "train loss:0.0003309838668733135\n", + "train loss:0.0006081494992998603\n", + "train loss:0.004277078837526386\n", + "train loss:0.0018438844309843373\n", + "train loss:0.0013508679173348985\n", + "train loss:0.001519516046701864\n", + "train loss:0.0009383829417283039\n", + "train loss:0.003842185464599045\n", + "train loss:0.0019409028815521897\n", + "train loss:0.00017364067740495198\n", + "train loss:0.0032094946532938494\n", + "train loss:0.0004987258454212905\n", + "train loss:0.0028038641430959445\n", + "train loss:0.00025983517450421623\n", + "train loss:0.0005508225397572331\n", + "train loss:0.0016402454790494557\n", + "train loss:0.0020926015258990894\n", + "train loss:0.00012346196193192236\n", + "train loss:0.002638923901013614\n", + "train loss:0.01092015617594077\n", + "train loss:0.0005138920848244728\n", + "train loss:0.001004596368392022\n", + "train loss:0.0020148559585911594\n", + "train loss:0.0008294028862457377\n", + "train loss:0.0017914876905864732\n", + "train loss:0.0010791161171768125\n", + "train loss:0.0006448848899704588\n", + "train loss:0.0011571228444496448\n", + "train loss:0.00045987729944376186\n", + "train loss:0.0008745913708055598\n", + "train loss:0.0023388984857699406\n", + "train loss:6.414151130503845e-05\n", + "train loss:0.0012526510568311444\n", + "train loss:0.003702159895876804\n", + "train loss:0.003970850172700187\n", + "train loss:0.002462979829922056\n", + "train loss:0.001360226156721705\n", + "train loss:0.002180966850512325\n", + "train loss:0.0019253585199627613\n", + "train loss:0.005149236508767427\n", + "train loss:0.0009272849935166892\n", + "train loss:0.001417026266130281\n", + "train loss:0.0009048417201857632\n", + "train loss:0.00902034775390861\n", + "train loss:0.0003191439658276205\n", + "train loss:0.0028369394408274207\n", + "train loss:0.0001219125291607011\n", + "train loss:0.0007254296653479749\n", + "train loss:0.0008232405133718706\n", + "train loss:0.0004566701320990643\n", + "train loss:0.0007359848411621382\n", + "train loss:0.0007911369468864725\n", + "train loss:9.56339964413809e-05\n", + "train loss:0.0007978944780463708\n", + "train loss:0.0033511595432524316\n", + "train loss:0.0024595527220975305\n", + "train loss:0.0001095465885116912\n", + "train loss:0.0027763820516224563\n", + "train loss:0.0070266597608720106\n", + "train loss:0.00761517307920341\n", + "train loss:0.0006149936865260174\n", + "train loss:5.485260378127934e-05\n", + "train loss:0.0005261053263718411\n", + "train loss:0.0006554361152405473\n", + "train loss:0.00248779497917738\n", + "train loss:0.0007039607475032004\n", + "train loss:3.895158285666154e-05\n", + "train loss:0.00033218308103715274\n", + "train loss:0.0011870293322198732\n", + "train loss:0.00025238615413001204\n", + "train loss:0.00037411855881902523\n", + "train loss:0.00023496722767244352\n", + "train loss:0.00024531430358304537\n", + "train loss:0.0067689093019934\n", + "train loss:0.0005421662921089496\n", + "train loss:0.005735617971912612\n", + "train loss:0.008200865406309477\n", + "train loss:0.0008057890512898001\n", + "train loss:0.00025996784110731905\n", + "train loss:6.16685355694556e-05\n", + "train loss:0.002028896794203463\n", + "train loss:0.00017232538380483476\n", + "train loss:0.0011561937621661312\n", + "train loss:0.0001778317144859885\n", + "train loss:0.0007695393644188145\n", + "train loss:0.002589859279148077\n", + "train loss:0.0028461516974140556\n", + "train loss:0.0003098916039123784\n", + "train loss:0.00014442566033244853\n", + "train loss:0.0006998797111374103\n", + "train loss:0.0005449941811876729\n", + "train loss:0.00032396899992527957\n", + "train loss:0.0022842905522077782\n", + "train loss:0.0007086104664920716\n", + "train loss:0.00043835632584729813\n", + "train loss:0.00015530607680400523\n", + "train loss:0.0008761075686014884\n", + "train loss:0.00017952900958541248\n", + "train loss:0.004074757808123502\n", + "train loss:0.00763900733211882\n", + "train loss:0.000895789956442668\n", + "train loss:0.00010377074777250966\n", + "train loss:8.55031028969495e-05\n", + "train loss:0.004851317330535822\n", + "train loss:8.549138854217955e-05\n", + "train loss:0.0023128991333120647\n", + "train loss:0.0037435604939249894\n", + "train loss:0.0009086771688484081\n", + "train loss:0.0008965621763603088\n", + "train loss:0.0005630121925396551\n", + "train loss:0.0049361734768176265\n", + "train loss:0.012345000359231768\n", + "train loss:0.013373583871813775\n", + "train loss:0.004347552319363865\n", + "train loss:0.00020791967455644853\n", + "train loss:0.00032071180203704816\n", + "train loss:0.0004299759323748823\n", + "train loss:0.0007727212535427336\n", + "train loss:0.005195136462642085\n", + "train loss:0.019947166341662968\n", + "train loss:0.00043744529713949694\n", + "train loss:0.000735049809869701\n", + "train loss:0.0013731677486533683\n", + "train loss:0.001370100762937856\n", + "train loss:0.0011118993573063516\n", + "train loss:0.00045616385833194446\n", + "train loss:0.00015354851459214511\n", + "train loss:0.001885386511651041\n", + "train loss:0.0001038829120347471\n", + "train loss:0.0011024588978280944\n", + "train loss:0.002298775457240504\n", + "train loss:0.0016509754365802846\n", + "train loss:0.0004201499731036245\n", + "train loss:0.000624898856829724\n", + "train loss:0.0008159464052417419\n", + "train loss:0.0009443179687623171\n", + "train loss:0.0037763164755276234\n", + "train loss:0.0016849874755833455\n", + "train loss:0.003902871201326864\n", + "train loss:0.0003539673713846549\n", + "train loss:0.0008431043415010042\n", + "train loss:0.0017871345968767463\n", + "train loss:0.0007081709589874595\n", + "train loss:0.001497292489590464\n", + "train loss:5.471459060158774e-05\n", + "train loss:0.003448536882600371\n", + "train loss:0.0024903642717709912\n", + "train loss:0.0009141849806722335\n", + "train loss:0.00016044892774401274\n", + "train loss:2.9459345853118683e-05\n", + "train loss:0.0007478451846848329\n", + "train loss:0.0009737734208622255\n", + "train loss:0.01082258014259804\n", + "train loss:0.0014754817967312602\n", + "train loss:0.00035940477123813685\n", + "train loss:0.0026771630370909434\n", + "train loss:0.0014336192548771393\n", + "train loss:0.004394326626642422\n", + "train loss:0.002884741594947247\n", + "train loss:0.0020071710958638037\n", + "train loss:0.0002644655937781062\n", + "train loss:0.00047330306811532946\n", + "train loss:0.0035762019419390066\n", + "train loss:0.010648172057648815\n", + "train loss:0.0013567466378221918\n", + "train loss:0.00197736535261263\n", + "train loss:0.0005690127446134509\n", + "train loss:0.0004872038065229816\n", + "train loss:0.00241274547997243\n", + "train loss:0.0042739832454321775\n", + "train loss:0.001277490814280513\n", + "train loss:0.00026011169066435426\n", + "train loss:0.00025053295261414114\n", + "train loss:0.0001584094886334484\n", + "train loss:0.0030828702750959995\n", + "train loss:0.0010323950211807006\n", + "train loss:0.0010590720883513597\n", + "train loss:0.002141435570790481\n", + "train loss:0.012499660562732596\n", + "train loss:0.0006326094148617608\n", + "train loss:0.0006827613703861647\n", + "train loss:0.0024199862722254157\n", + "train loss:0.005311772782314405\n", + "train loss:0.0013312231529390372\n", + "train loss:0.00250131068811138\n", + "train loss:5.767400479787071e-05\n", + "train loss:0.007199553458399769\n", + "train loss:0.002664116884428415\n", + "train loss:0.0009486463024943243\n", + "train loss:0.00061363997131429\n", + "train loss:0.0008320213751247113\n", + "train loss:0.00019691769477491245\n", + "train loss:0.000699639664088761\n", + "train loss:0.0023415886539033762\n", + "train loss:0.00043646943468432216\n", + "train loss:0.006732637955792805\n", + "train loss:0.00017613118945424507\n", + "train loss:1.4935578284004895e-05\n", + "train loss:0.0036386054756933463\n", + "train loss:0.0013919914586803367\n", + "train loss:0.0014557987979008536\n", + "train loss:0.00037830185345877386\n", + "train loss:0.0008183242749497364\n", + "train loss:0.005321204018786584\n", + "train loss:0.0009295894764540354\n", + "train loss:0.0005313527759971655\n", + "=== epoch:17, train acc:0.999, test acc:0.99 ===\n", + "train loss:0.00529649864772141\n", + "train loss:0.0001097765405847573\n", + "train loss:0.00042904505884104035\n", + "train loss:0.0010310293874101408\n", + "train loss:0.000202921596944486\n", + "train loss:0.0012311216096129824\n", + "train loss:0.01725094191246529\n", + "train loss:0.0004796165305408107\n", + "train loss:0.004794433103009817\n", + "train loss:0.0005445124850991227\n", + "train loss:0.000920603655381986\n", + "train loss:0.002587376495246138\n", + "train loss:0.0017394747791539664\n", + "train loss:0.0009714731833170471\n", + "train loss:0.0009884829359190523\n", + "train loss:0.0018086085624830195\n", + "train loss:0.00037608438213456835\n", + "train loss:0.0009180952789731627\n", + "train loss:0.0001447130733116748\n", + "train loss:0.0042167454899873355\n", + "train loss:0.0005416034013433393\n", + "train loss:0.00023462452538529452\n", + "train loss:0.002680307737113034\n", + "train loss:0.0014463987480443057\n", + "train loss:0.002336077388447556\n", + "train loss:0.002827402832632056\n", + "train loss:5.7016040417657384e-05\n", + "train loss:0.00015715656566688333\n", + "train loss:0.0030588399679984447\n", + "train loss:0.021732545317148078\n", + "train loss:0.002560277637310323\n", + "train loss:0.00018018117326336336\n", + "train loss:0.0010495725667855013\n", + "train loss:0.013847893912006129\n", + "train loss:0.002752083961990941\n", + "train loss:0.0004685669249428051\n", + "train loss:0.000900206715623575\n", + "train loss:0.0008130694082962149\n", + "train loss:0.0012302443736693172\n", + "train loss:0.0006340742643394868\n", + "train loss:0.00032389361823883996\n", + "train loss:0.004663810225957319\n", + "train loss:0.03051358773045923\n", + "train loss:0.0020837795338623545\n", + "train loss:0.00016604865307943254\n", + "train loss:0.0003443931658531924\n", + "train loss:0.00923411223440943\n", + "train loss:0.0029353827630885713\n", + "train loss:0.001164048017334726\n", + "train loss:0.00258529247206968\n", + "train loss:0.001871668531414577\n", + "train loss:0.007743598499648823\n", + "train loss:0.003259379855724673\n", + "train loss:7.081811615718645e-05\n", + "train loss:0.0020013360877645225\n", + "train loss:0.00017238200084099614\n", + "train loss:0.00439545689904593\n", + "train loss:0.0006522958520236374\n", + "train loss:0.00695724561671771\n", + "train loss:0.0008872782810554055\n", + "train loss:0.0012444601658876968\n", + "train loss:0.0003373753580669044\n", + "train loss:0.0007252098163324905\n", + "train loss:8.937152247470596e-05\n", + "train loss:0.005489927908891653\n", + "train loss:0.002855621227130749\n", + "train loss:0.0014711976973171854\n", + "train loss:0.0001827024556359811\n", + "train loss:0.001930274221869306\n", + "train loss:0.0014683286828642403\n", + "train loss:0.0007769477080613379\n", + "train loss:0.003732774171918446\n", + "train loss:0.001582203927434128\n", + "train loss:0.0005030027292922421\n", + "train loss:0.002788004437283454\n", + "train loss:0.0005049119783531814\n", + "train loss:0.0004139670364005366\n", + "train loss:0.0010588696806388782\n", + "train loss:0.00037725036417694097\n", + "train loss:0.0005868857635129165\n", + "train loss:0.0007338044629295788\n", + "train loss:0.0011680194137243852\n", + "train loss:0.01634660078471837\n", + "train loss:0.0004420799797684152\n", + "train loss:0.00046238071711829555\n", + "train loss:0.0012445844146625467\n", + "train loss:0.0006804018144437268\n", + "train loss:0.0018048689985092584\n", + "train loss:0.0060859138415561885\n", + "train loss:0.0025336134845123652\n", + "train loss:0.011657110089773643\n", + "train loss:0.0009283134742467576\n", + "train loss:0.0010610474256033228\n", + "train loss:0.0003465091571427151\n", + "train loss:0.00024340620064580053\n", + "train loss:0.0006403287495306371\n", + "train loss:0.0002372981616191561\n", + "train loss:0.002025252848295288\n", + "train loss:0.0002981215956311731\n", + "train loss:0.005127655370436059\n", + "train loss:0.007119394090195594\n", + "train loss:0.00840858375007657\n", + "train loss:0.0014605062291600216\n", + "train loss:0.002771925564075537\n", + "train loss:0.005892833561739045\n", + "train loss:0.006063468975144817\n", + "train loss:0.0003585351672199074\n", + "train loss:0.002558184050471816\n", + "train loss:0.00044101951477292607\n", + "train loss:0.0009508998189699475\n", + "train loss:0.0006992504128289289\n", + "train loss:0.0020988529214155996\n", + "train loss:0.000558640088744938\n", + "train loss:0.0027561998142733566\n", + "train loss:0.00020731398414150905\n", + "train loss:0.0013865852944756143\n", + "train loss:0.00033397526060971764\n", + "train loss:0.0014872962232796564\n", + "train loss:0.004614595005981675\n", + "train loss:0.003724034500701946\n", + "train loss:0.0007023031271799792\n", + "train loss:0.00029431620606398085\n", + "train loss:0.00031915554375935005\n", + "train loss:0.0008174165117316816\n", + "train loss:0.00015061614799012093\n", + "train loss:0.0016387099422519782\n", + "train loss:0.00021890439484164133\n", + "train loss:0.0014424932071069945\n", + "train loss:0.0008883832116733204\n", + "train loss:0.002366098800094411\n", + "train loss:0.0016503849767743944\n", + "train loss:0.00084580562971115\n", + "train loss:3.646951749679609e-05\n", + "train loss:0.0007900031049246607\n", + "train loss:0.0002384322427017002\n", + "train loss:0.00022979577414854958\n", + "train loss:0.0643451302389254\n", + "train loss:8.655410461324705e-05\n", + "train loss:0.0037148191030258364\n", + "train loss:0.00036500971184058844\n", + "train loss:0.0009649506002156902\n", + "train loss:0.0018804930598810376\n", + "train loss:0.0004280001724386485\n", + "train loss:0.0012725763942842755\n", + "train loss:0.0008969288191262372\n", + "train loss:0.0007280334199655722\n", + "train loss:0.004275857525710959\n", + "train loss:0.00045867702345161776\n", + "train loss:0.0006763577934823329\n", + "train loss:0.0007554605141315508\n", + "train loss:0.0008469968368895988\n", + "train loss:0.0002648859635869607\n", + "train loss:0.0012451024983111607\n", + "train loss:0.006110052817472857\n", + "train loss:0.0045871655996569645\n", + "train loss:0.0016936033645279808\n", + "train loss:0.0014757108424909684\n", + "train loss:0.0016888895939969073\n", + "train loss:0.0023697640585755068\n", + "train loss:0.00012482768614454522\n", + "train loss:0.0013599870628325033\n", + "train loss:0.00016729487555038132\n", + "train loss:0.0011293267461833048\n", + "train loss:0.00037095533744942974\n", + "train loss:0.003383877201490386\n", + "train loss:0.003630454123603612\n", + "train loss:0.0016743891615497914\n", + "train loss:0.0004753794245676441\n", + "train loss:0.0023362477646342926\n", + "train loss:0.0014441042615017511\n", + "train loss:0.00404471650896511\n", + "train loss:0.0050394702515069245\n", + "train loss:8.392546122535087e-05\n", + "train loss:7.391232340691089e-05\n", + "train loss:0.002028894542235323\n", + "train loss:0.0013942277027702752\n", + "train loss:0.0006083629576918953\n", + "train loss:2.5562977747224178e-05\n", + "train loss:0.0005159329685472955\n", + "train loss:0.00012886350714174353\n", + "train loss:0.005290505015687369\n", + "train loss:4.604183182329553e-05\n", + "train loss:0.0006977993475397238\n", + "train loss:0.004029178392100167\n", + "train loss:0.00460729641296833\n", + "train loss:0.00019184633137692944\n", + "train loss:0.00011230109231463941\n", + "train loss:0.005021935181170005\n", + "train loss:0.0032763748776558025\n", + "train loss:0.0029669887507167182\n", + "train loss:7.174541522035673e-05\n", + "train loss:0.0019673076113933445\n", + "train loss:0.0007388354267730789\n", + "train loss:0.0009937324319938266\n", + "train loss:0.0029535655952059804\n", + "train loss:0.00012844508980318082\n", + "train loss:0.0013955205501840048\n", + "train loss:6.796570838976155e-05\n", + "train loss:0.006557580167227835\n", + "train loss:9.111491102852014e-05\n", + "train loss:0.0010263957608615379\n", + "train loss:9.39525308647669e-06\n", + "train loss:0.0008462007472992361\n", + "train loss:0.0032139077379827485\n", + "train loss:0.0022391123200034948\n", + "train loss:0.0006066236976196857\n", + "train loss:0.0007886818033087695\n", + "train loss:0.00012010812259044723\n", + "train loss:0.0009104769961104057\n", + "train loss:0.000431076349183074\n", + "train loss:0.001984299148761432\n", + "train loss:0.0004926801726578616\n", + "train loss:0.0001477322554454662\n", + "train loss:0.0006675174395694276\n", + "train loss:0.001556657150548559\n", + "train loss:0.0005196423073096565\n", + "train loss:0.0006825287967760129\n", + "train loss:0.0013378431628399275\n", + "train loss:0.0011789985349805931\n", + "train loss:5.7827740779626734e-05\n", + "train loss:0.02152404821099009\n", + "train loss:0.001463356690650307\n", + "train loss:0.0014232268909550316\n", + "train loss:0.003176921293044826\n", + "train loss:0.0006501023614957094\n", + "train loss:0.0007387468641411796\n", + "train loss:0.0003034276955768719\n", + "train loss:1.7781690189335298e-05\n", + "train loss:0.001347022536483\n", + "train loss:0.0007072688064629082\n", + "train loss:0.004692762281826185\n", + "train loss:3.389472560697742e-05\n", + "train loss:0.00031863122864467697\n", + "train loss:0.004001233031977154\n", + "train loss:0.00036832739245094506\n", + "train loss:0.00045373964842838953\n", + "train loss:0.0005843013634278267\n", + "train loss:0.0021675222836265917\n", + "train loss:6.852136618978316e-05\n", + "train loss:0.002355998166997441\n", + "train loss:0.0007763808972916236\n", + "train loss:0.004308744497357297\n", + "train loss:0.002444205864798243\n", + "train loss:0.013938145272974071\n", + "train loss:0.00014926047994325763\n", + "train loss:0.004195225484348869\n", + "train loss:0.00033504464615698274\n", + "train loss:0.0003422977634455339\n", + "train loss:0.0011674354173673988\n", + "train loss:0.0007513937975321225\n", + "train loss:0.0016505186053672022\n", + "train loss:0.0012108241270740742\n", + "train loss:0.005814492075767575\n", + "train loss:0.0008109654109163173\n", + "train loss:0.008047810538426532\n", + "train loss:0.007240761916409203\n", + "train loss:0.002409519044820267\n", + "train loss:0.000871061615811555\n", + "train loss:0.0016671128346103174\n", + "train loss:0.00010276666118547067\n", + "train loss:0.0014153986319893506\n", + "train loss:0.016020179002271272\n", + "train loss:0.00038893321961855755\n", + "train loss:0.02255704072642771\n", + "train loss:0.0006003821382434193\n", + "train loss:6.843245394266243e-05\n", + "train loss:0.0018111661025129403\n", + "train loss:0.0007019495079789593\n", + "train loss:0.002024869262253315\n", + "train loss:0.0021389083453553777\n", + "train loss:0.0033803571042992603\n", + "train loss:6.12252423299937e-05\n", + "train loss:0.0019771066549105465\n", + "train loss:0.002788558194858798\n", + "train loss:0.0023983561971086744\n", + "train loss:0.0016781029269870012\n", + "train loss:0.002335544268099719\n", + "train loss:0.0006169879837792052\n", + "train loss:0.0009127381181399206\n", + "train loss:0.0011660891156280537\n", + "train loss:0.0034591059062294206\n", + "train loss:0.00021469424681733982\n", + "train loss:0.0023275887105934823\n", + "train loss:0.006123258597123613\n", + "train loss:0.0036543468397113293\n", + "train loss:0.00020157779613943884\n", + "train loss:0.007933127475387205\n", + "train loss:0.0011363482917057949\n", + "train loss:0.0018922710002551568\n", + "train loss:0.00018708573864764213\n", + "train loss:6.652511133067519e-05\n", + "train loss:0.0024678174094301137\n", + "train loss:0.001435095765844832\n", + "train loss:0.001408232401171331\n", + "train loss:0.002184752313083066\n", + "train loss:0.0004595262605245968\n", + "train loss:0.005595537453845285\n", + "train loss:0.0020770957356415296\n", + "train loss:0.002179168141329399\n", + "train loss:0.0014868139443709246\n", + "train loss:0.001931653801543139\n", + "train loss:0.0010988112297232574\n", + "train loss:0.0017482647523980497\n", + "train loss:0.0020940754020850054\n", + "train loss:0.00425993828521751\n", + "train loss:0.0006324896899552867\n", + "train loss:0.0014680101049076217\n", + "train loss:0.0014986447794986572\n", + "train loss:0.0045221975715619925\n", + "train loss:0.017040392581907232\n", + "train loss:0.0007478043473100659\n", + "train loss:0.006098366691764756\n", + "train loss:0.0004861475181422591\n", + "train loss:0.0012565573673904993\n", + "train loss:0.0007851844905622668\n", + "train loss:0.005612300728829123\n", + "train loss:0.0023265910537685953\n", + "train loss:0.00012644030156757797\n", + "train loss:0.00015336591023567146\n", + "train loss:0.03649275334661023\n", + "train loss:0.0006605232812024677\n", + "train loss:0.0058285778735078465\n", + "train loss:9.594313917651073e-05\n", + "train loss:0.001182743906780062\n", + "train loss:0.004346030297176277\n", + "train loss:0.0007761183791788447\n", + "train loss:0.000639193827144597\n", + "train loss:0.0004275847172871096\n", + "train loss:0.0035688566559540363\n", + "train loss:0.0016100424278322617\n", + "train loss:0.0009150562084851904\n", + "train loss:0.002015851360512777\n", + "train loss:0.00146447003371947\n", + "train loss:0.002595818685101439\n", + "train loss:0.04012533215897179\n", + "train loss:0.001525271248522345\n", + "train loss:0.004132304888464021\n", + "train loss:0.003407991153031144\n", + "train loss:0.0015099397858086394\n", + "train loss:0.00032196047833579105\n", + "train loss:0.003666364110999884\n", + "train loss:0.001270529661358778\n", + "train loss:0.0007210301099317175\n", + "train loss:0.034431946675365095\n", + "train loss:0.000551624277643462\n", + "train loss:0.0023574112327611196\n", + "train loss:0.0012894234666728554\n", + "train loss:0.0013370164275203558\n", + "train loss:0.004410576835032474\n", + "train loss:0.0005011797923489956\n", + "train loss:0.004195711098441512\n", + "train loss:0.003274611584527036\n", + "train loss:0.011973313518711115\n", + "train loss:0.0034661040822764376\n", + "train loss:0.004798981881863656\n", + "train loss:0.0015620353157617492\n", + "train loss:0.03906689152012058\n", + "train loss:0.01852848102367532\n", + "train loss:0.033319057310786104\n", + "train loss:0.0005944913441515504\n", + "train loss:6.771114589043644e-05\n", + "train loss:0.001178410746141117\n", + "train loss:0.00034616197788552635\n", + "train loss:0.002546465772634222\n", + "train loss:0.01447605880648827\n", + "train loss:0.0007610289766299267\n", + "train loss:0.002109892203466103\n", + "train loss:0.0025405792637557116\n", + "train loss:0.0016761886270264662\n", + "train loss:0.04997489853730242\n", + "train loss:0.006502567792305221\n", + "train loss:0.002154295359493234\n", + "train loss:0.003996042204973332\n", + "train loss:0.00042902979264061286\n", + "train loss:0.0015363784006917876\n", + "train loss:0.0007417239159784271\n", + "train loss:0.0024570818403156676\n", + "train loss:0.004034362000243835\n", + "train loss:0.00015948653077888428\n", + "train loss:0.0017644035246602615\n", + "train loss:0.0005619892604328463\n", + "train loss:0.004955182406135777\n", + "train loss:0.0028784295435152524\n", + "train loss:0.004221453942225503\n", + "train loss:0.0005877742040565022\n", + "train loss:0.0025807599621656767\n", + "train loss:0.0037415952599350664\n", + "train loss:0.00031034893700078903\n", + "train loss:0.0024698458551015413\n", + "train loss:1.9904745044775516e-05\n", + "train loss:0.002869137448744854\n", + "train loss:0.0006586271040289759\n", + "train loss:0.002405602852356083\n", + "train loss:0.00019139975597888824\n", + "train loss:0.00328175721915474\n", + "train loss:0.001846915949006077\n", + "train loss:0.0019701504473415648\n", + "train loss:0.0031764370485824573\n", + "train loss:0.0033861783947613266\n", + "train loss:0.0012974540863892364\n", + "train loss:0.0013713363100312267\n", + "train loss:0.0016297596214103808\n", + "train loss:0.0013629915534552912\n", + "train loss:0.0055014172081052715\n", + "train loss:0.007028983895893876\n", + "train loss:0.00017220379557243866\n", + "train loss:0.002751538126911322\n", + "train loss:0.0017809036900671466\n", + "train loss:0.00014124911890886998\n", + "train loss:0.0033998365913597006\n", + "train loss:0.0011472739975341084\n", + "train loss:0.0005524598263505328\n", + "train loss:0.0002659977239774073\n", + "train loss:0.0021331045926117702\n", + "train loss:0.0012082950511210085\n", + "train loss:0.0007236521914422061\n", + "train loss:0.0038296023037695226\n", + "train loss:0.00885357930338106\n", + "train loss:0.006358785912966015\n", + "train loss:0.0001440149205018985\n", + "train loss:0.005839731300337263\n", + "train loss:0.0005909434818854861\n", + "train loss:0.00471408527559813\n", + "train loss:0.006695507877142503\n", + "train loss:0.0015011890914436285\n", + "train loss:0.0023770575000124174\n", + "train loss:0.001474321184277374\n", + "train loss:0.0010297757130871576\n", + "train loss:0.00038005313826746116\n", + "train loss:0.0033187418435313104\n", + "train loss:0.00025150494564459816\n", + "train loss:0.007653718303423646\n", + "train loss:0.002110198264945662\n", + "train loss:0.000709478518941115\n", + "train loss:0.0036541961845346126\n", + "train loss:0.013322026885576353\n", + "train loss:0.005649779122572358\n", + "train loss:0.002179235084149041\n", + "train loss:0.004666637924565756\n", + "train loss:0.004748225047324075\n", + "train loss:0.00514076057989443\n", + "train loss:8.161751122384047e-05\n", + "train loss:0.011968657137435864\n", + "train loss:0.005353937403301759\n", + "train loss:0.00021323615786826295\n", + "train loss:2.9550891632007586e-05\n", + "train loss:0.0014005656578891393\n", + "train loss:0.0021958080675131097\n", + "train loss:0.002800454447290498\n", + "train loss:0.0018410147088665765\n", + "train loss:0.002055661127301154\n", + "train loss:0.001445141383563693\n", + "train loss:0.0024634644283683398\n", + "train loss:0.0011264223922074963\n", + "train loss:0.00037985840365164093\n", + "train loss:0.0009626491577940012\n", + "train loss:0.0019467347939642289\n", + "train loss:0.0025526085098778665\n", + "train loss:0.007025002682075475\n", + "train loss:0.0013579024567708011\n", + "train loss:0.0022766573809829666\n", + "train loss:0.0037695538229546776\n", + "train loss:0.002648675187226906\n", + "train loss:0.0017921239125916755\n", + "train loss:0.0017808835562491605\n", + "train loss:0.0024069914475563074\n", + "train loss:0.0006533496388786457\n", + "train loss:0.0018247361711204871\n", + "train loss:0.0002698170049616059\n", + "train loss:8.584573886239455e-05\n", + "train loss:0.0008994579895110726\n", + "train loss:0.0005161192195520264\n", + "train loss:6.732344162632796e-05\n", + "train loss:0.0030201307544730537\n", + "train loss:0.0013778513227848178\n", + "train loss:0.0003460019086268109\n", + "train loss:0.0015798600784083208\n", + "train loss:0.00032687466170776264\n", + "train loss:3.1411700052953365e-05\n", + "train loss:0.00032675569391359675\n", + "train loss:0.00044500726308035354\n", + "train loss:0.0024564005613118734\n", + "train loss:0.003845773877872179\n", + "train loss:0.007329069047341241\n", + "train loss:0.0010186291475231524\n", + "train loss:4.9049287516226726e-05\n", + "train loss:0.00013468549970073367\n", + "train loss:0.0003422081306653164\n", + "train loss:0.00029640023894942567\n", + "train loss:0.0005291686715019206\n", + "train loss:0.00033194335026242525\n", + "train loss:0.00015236185319093758\n", + "train loss:0.004385977075739143\n", + "train loss:9.992706846957834e-06\n", + "train loss:0.001728121550564739\n", + "train loss:0.0005244171500857503\n", + "train loss:1.6251196003631075e-05\n", + "train loss:0.005309471655753374\n", + "train loss:0.0015182650850205082\n", + "train loss:0.0009406198592451559\n", + "train loss:0.0002219172248988946\n", + "train loss:0.0010497423623777725\n", + "train loss:0.0005457212319961857\n", + "train loss:0.002752873061901551\n", + "train loss:0.00012204088246259863\n", + "train loss:0.0012477597979581407\n", + "train loss:0.0030064625422022654\n", + "train loss:0.0027937565119787013\n", + "train loss:0.00791434824773723\n", + "train loss:0.013567393875163185\n", + "train loss:0.00041410611556675655\n", + "train loss:0.00027544279957211624\n", + "train loss:0.0007310198514626715\n", + "train loss:0.000771704026290016\n", + "train loss:0.0008146395709173615\n", + "train loss:0.005521616838307406\n", + "train loss:0.001545665665432561\n", + "train loss:0.00018791566793775971\n", + "train loss:0.004027185015612562\n", + "train loss:0.00031473849837371\n", + "train loss:0.0037482189282808964\n", + "train loss:0.00019228337398749312\n", + "train loss:0.0004221817962483752\n", + "train loss:0.0005183327929659253\n", + "train loss:0.001902986301556909\n", + "train loss:3.6433541591672756e-05\n", + "train loss:0.02691381044062284\n", + "train loss:0.001914498839687024\n", + "train loss:0.0003521378097555091\n", + "train loss:0.0006624786267925388\n", + "train loss:0.003670546245066785\n", + "train loss:0.0069543882786777\n", + "train loss:0.0013877728781186366\n", + "train loss:0.0013966908062666976\n", + "train loss:0.0002324539940020275\n", + "train loss:0.00043860794193189195\n", + "train loss:0.0007186367962900586\n", + "train loss:0.0006977561562482264\n", + "train loss:0.001161768024164053\n", + "train loss:0.00032369906358923397\n", + "train loss:0.002624947369998617\n", + "train loss:0.0003126261521376604\n", + "train loss:0.0005264371908646862\n", + "train loss:0.010490611662014008\n", + "train loss:0.0005579149575897724\n", + "train loss:0.0012065037654207752\n", + "train loss:0.0006081516988340478\n", + "train loss:0.00037261909507785095\n", + "train loss:0.002807806964777113\n", + "train loss:0.0004975792607500242\n", + "train loss:0.0007112740219018675\n", + "train loss:0.00018815114732522551\n", + "train loss:0.0019099230727896363\n", + "train loss:0.0023308900184184733\n", + "train loss:0.0026387959336414786\n", + "train loss:0.002944699237391962\n", + "train loss:0.000763879221733956\n", + "train loss:9.051481057027023e-05\n", + "train loss:0.0009228309000253507\n", + "train loss:0.001356005853511857\n", + "train loss:0.000489555461301137\n", + "train loss:0.0006928999157352945\n", + "train loss:0.001268742199065022\n", + "train loss:0.00031466752730147215\n", + "train loss:0.00023613471293143263\n", + "train loss:0.0013809121543318036\n", + "train loss:0.002229588853232352\n", + "train loss:0.0009173689966870639\n", + "train loss:0.01574791104378402\n", + "train loss:0.005127866341548992\n", + "train loss:0.003954235003912256\n", + "train loss:0.004724779460277238\n", + "train loss:0.0026142435821161682\n", + "train loss:0.004305200417141725\n", + "train loss:0.004000013032497437\n", + "train loss:0.0009034027383910067\n", + "train loss:0.002153631915674115\n", + "train loss:0.008956510737844465\n", + "train loss:0.0014826292230084345\n", + "train loss:0.0009024662118808286\n", + "train loss:0.002627368836384354\n", + "train loss:0.00917789168493926\n", + "train loss:0.008704647082839755\n", + "train loss:0.00022330872884579215\n", + "train loss:0.0016108525757353707\n", + "train loss:0.0005069470295942664\n", + "train loss:0.0005647709056483123\n", + "train loss:0.0006218659277886706\n", + "train loss:0.0011242712853077633\n", + "train loss:0.0006762790105253373\n", + "train loss:0.0032260332017637365\n", + "train loss:0.0032696217587132826\n", + "train loss:0.008611964315565967\n", + "train loss:0.00029563607998101915\n", + "train loss:0.0012300995504321772\n", + "train loss:0.005071761012063751\n", + "train loss:0.004135591075278628\n", + "train loss:0.0030809434516318674\n", + "train loss:0.0004201180539801171\n", + "train loss:0.002210568635324676\n", + "=== epoch:18, train acc:0.999, test acc:0.985 ===\n", + "train loss:0.00016840831251569593\n", + "train loss:4.1071741229043185e-05\n", + "train loss:0.0005643631920274524\n", + "train loss:0.0007637748253937854\n", + "train loss:0.0002298048578922272\n", + "train loss:0.0003839245690326395\n", + "train loss:0.00552881723267125\n", + "train loss:0.000619904306622759\n", + "train loss:0.0029005105621006484\n", + "train loss:0.0005473479600941299\n", + "train loss:0.020546337562806105\n", + "train loss:0.0006899381778719435\n", + "train loss:0.0012728007103062977\n", + "train loss:0.0003403884143865073\n", + "train loss:0.002575202818947197\n", + "train loss:0.0003664695668521761\n", + "train loss:0.002992490227743116\n", + "train loss:0.0015347601585755132\n", + "train loss:0.0015961306093469627\n", + "train loss:0.001099423682617452\n", + "train loss:0.004843741381510463\n", + "train loss:0.00019351874335478403\n", + "train loss:0.0014566825443104573\n", + "train loss:0.0010016852442777796\n", + "train loss:0.000876636988592642\n", + "train loss:0.0031581619410498\n", + "train loss:0.012159176665713084\n", + "train loss:0.0031861820397066426\n", + "train loss:0.0011176884881274748\n", + "train loss:0.0008144726250607358\n", + "train loss:0.0007736734988533906\n", + "train loss:0.0009825788843025826\n", + "train loss:0.00022538422108690846\n", + "train loss:0.0010780477322263815\n", + "train loss:0.0007792940871927584\n", + "train loss:0.0004936500617477524\n", + "train loss:0.0020858981052807907\n", + "train loss:0.00022293333252730837\n", + "train loss:0.002415571115106081\n", + "train loss:0.009953436584301206\n", + "train loss:0.0017152600908219614\n", + "train loss:8.39755595517393e-05\n", + "train loss:0.004861218779360548\n", + "train loss:0.0011774461635483656\n", + "train loss:0.0008091531000296523\n", + "train loss:0.0002755467832089066\n", + "train loss:0.0016104371778319882\n", + "train loss:0.0065459747731361675\n", + "train loss:0.004146924131530835\n", + "train loss:0.00497426355948364\n", + "train loss:0.0009186311774399264\n", + "train loss:0.00021584760369511394\n", + "train loss:0.002531271434233856\n", + "train loss:0.007984732478039309\n", + "train loss:0.00010756369733896733\n", + "train loss:0.0017644127527547673\n", + "train loss:0.002409580690537212\n", + "train loss:0.0004891138852378835\n", + "train loss:0.007127534557947256\n", + "train loss:0.004622650671673781\n", + "train loss:0.0027263515781480456\n", + "train loss:0.00019083049721215254\n", + "train loss:0.0017056439637824215\n", + "train loss:0.002453974080813034\n", + "train loss:0.000921763539543025\n", + "train loss:0.0009667662227825333\n", + "train loss:0.0002955885016870814\n", + "train loss:0.001559506235087088\n", + "train loss:0.002572224164912656\n", + "train loss:0.006834111438972402\n", + "train loss:3.207015790079667e-05\n", + "train loss:0.014957194344282356\n", + "train loss:0.0009652719670654542\n", + "train loss:0.0012904011617460866\n", + "train loss:0.0037872833775626845\n", + "train loss:0.00078302901702519\n", + "train loss:0.008462792992345685\n", + "train loss:0.0008457738586929979\n", + "train loss:0.0005631520900663918\n", + "train loss:0.009380562090032973\n", + "train loss:0.0003066985793498184\n", + "train loss:0.014155742967010266\n", + "train loss:0.002461519884677363\n", + "train loss:0.0002702289205036588\n", + "train loss:0.002418796125621207\n", + "train loss:0.00023381514311824635\n", + "train loss:6.9675715378606e-05\n", + "train loss:0.002302476210755608\n", + "train loss:0.0012030333671876087\n", + "train loss:0.002081445057188151\n", + "train loss:0.0005524369154808967\n", + "train loss:5.335685290464253e-05\n", + "train loss:0.0008370165853677686\n", + "train loss:0.0011851271283971742\n", + "train loss:0.0008810494160311066\n", + "train loss:0.00390083174090908\n", + "train loss:0.002790050731805678\n", + "train loss:0.0038634994519183108\n", + "train loss:0.0010872879289343482\n", + "train loss:0.0015443576283492937\n", + "train loss:0.00038872349818980294\n", + "train loss:0.0023866695336813865\n", + "train loss:0.0006722596354904076\n", + "train loss:0.002295311807169194\n", + "train loss:1.2863519777696246e-05\n", + "train loss:0.0005851754335052893\n", + "train loss:0.002671170576560264\n", + "train loss:0.0012362059023774525\n", + "train loss:3.775195191735021e-05\n", + "train loss:0.0005708897707111369\n", + "train loss:0.001744772453935698\n", + "train loss:0.0017863446927246537\n", + "train loss:0.0006939616256294465\n", + "train loss:0.004639590804832937\n", + "train loss:0.0020088318737707545\n", + "train loss:0.00017786718520270865\n", + "train loss:8.238200136495712e-05\n", + "train loss:0.000109584525139189\n", + "train loss:0.0011038741316866723\n", + "train loss:0.01045284899067305\n", + "train loss:0.0009007249662435638\n", + "train loss:0.0025261059192472944\n", + "train loss:0.0001759349579520167\n", + "train loss:0.0004213058225703748\n", + "train loss:0.00029012583771788136\n", + "train loss:0.002341099441447979\n", + "train loss:0.0015183642817550335\n", + "train loss:0.0014969958412152625\n", + "train loss:0.003876602429727461\n", + "train loss:0.0006440857457347121\n", + "train loss:0.001078845285110365\n", + "train loss:0.0005366817114698897\n", + "train loss:0.00040238053541626117\n", + "train loss:0.0017991541988556419\n", + "train loss:7.544660738606756e-05\n", + "train loss:0.0033064259830746182\n", + "train loss:0.0008336786852002477\n", + "train loss:0.0014250738022530366\n", + "train loss:0.0034230516992965632\n", + "train loss:0.0006004452609250548\n", + "train loss:0.0008489428801966539\n", + "train loss:0.0005960468852849369\n", + "train loss:0.0011428121303736667\n", + "train loss:0.0026516162376356996\n", + "train loss:0.0005266678159729692\n", + "train loss:0.00029619312762901965\n", + "train loss:9.009486528573279e-05\n", + "train loss:0.0006846119990295067\n", + "train loss:0.0006400240800428562\n", + "train loss:0.002449041387399308\n", + "train loss:0.00014728676512667586\n", + "train loss:0.0011335256255392224\n", + "train loss:0.004080632227191448\n", + "train loss:0.0030102384281644363\n", + "train loss:3.276813385375164e-05\n", + "train loss:0.019226420153038416\n", + "train loss:0.00018874201196637748\n", + "train loss:0.005305589129869519\n", + "train loss:0.0003942262840872435\n", + "train loss:0.002288046374445681\n", + "train loss:0.00024432361609751004\n", + "train loss:0.00010703669980770448\n", + "train loss:0.00022344609472182755\n", + "train loss:0.0014883454600656304\n", + "train loss:0.008426477380671598\n", + "train loss:0.0006642178210869426\n", + "train loss:0.00016181503514773145\n", + "train loss:0.0026931192496604402\n", + "train loss:0.0038176978368305516\n", + "train loss:0.005076306470131666\n", + "train loss:0.00047092823601683977\n", + "train loss:0.004356228059487743\n", + "train loss:0.004035782482753133\n", + "train loss:0.0017662930743445042\n", + "train loss:2.823285500423691e-05\n", + "train loss:0.005896164459326369\n", + "train loss:0.0005832120120060905\n", + "train loss:0.0027767856609951097\n", + "train loss:0.0027254930195017646\n", + "train loss:0.003307558193734884\n", + "train loss:0.00033012333122866834\n", + "train loss:0.002877435247387753\n", + "train loss:0.0001486900943522399\n", + "train loss:0.002287850247827273\n", + "train loss:0.0016116223927377107\n", + "train loss:0.0020381445103247737\n", + "train loss:0.0005145031594167966\n", + "train loss:0.004907892436550152\n", + "train loss:0.006251167924955783\n", + "train loss:0.006435920598959835\n", + "train loss:0.003254316533627123\n", + "train loss:7.056349661720925e-05\n", + "train loss:0.0015864367473632283\n", + "train loss:0.0010966343228395305\n", + "train loss:0.0018818468124963646\n", + "train loss:0.0008819629974027953\n", + "train loss:0.002845752513267142\n", + "train loss:0.0037981400594095105\n", + "train loss:0.003621195724620806\n", + "train loss:0.0021103377926253875\n", + "train loss:0.0018686255137018565\n", + "train loss:0.0005252527500045485\n", + "train loss:0.0013196741923936107\n", + "train loss:0.00030610142796171097\n", + "train loss:0.003075082464957058\n", + "train loss:0.0050741194806232705\n", + "train loss:0.0005868011883736\n", + "train loss:0.002702987496898475\n", + "train loss:0.001303897716176039\n", + "train loss:0.006880054942259062\n", + "train loss:0.0004033616720290942\n", + "train loss:0.0033230390801661075\n", + "train loss:0.004514214401451409\n", + "train loss:0.0016139955304796088\n", + "train loss:0.004573711442186004\n", + "train loss:0.0014174711428730305\n", + "train loss:0.00021456236476774228\n", + "train loss:0.003423279763155534\n", + "train loss:0.0036402556871435493\n", + "train loss:0.002708718654088865\n", + "train loss:0.0012840324493853578\n", + "train loss:0.0009793335104303054\n", + "train loss:0.0001733175551187286\n", + "train loss:0.00021629520216741394\n", + "train loss:2.1208561870349778e-05\n", + "train loss:0.00010497619529036662\n", + "train loss:0.0025788586825350457\n", + "train loss:0.0052703167968618046\n", + "train loss:0.0019355668024999186\n", + "train loss:0.0009775558691898759\n", + "train loss:0.0005895703945958313\n", + "train loss:0.017030324704734593\n", + "train loss:0.0002816628199310151\n", + "train loss:0.0030340078344198176\n", + "train loss:0.0011347194446495064\n", + "train loss:0.002653067743800612\n", + "train loss:0.0007351903517450058\n", + "train loss:0.0005701652694622011\n", + "train loss:8.97063213837596e-05\n", + "train loss:0.004130009731190847\n", + "train loss:0.0009738721719509086\n", + "train loss:0.005608245312422045\n", + "train loss:0.0015590282574210784\n", + "train loss:0.011769405033116232\n", + "train loss:0.0012034828339201854\n", + "train loss:0.0009729366491537503\n", + "train loss:0.00946465839153601\n", + "train loss:0.00280722479363725\n", + "train loss:0.0012103404145414791\n", + "train loss:0.0009583768507617639\n", + "train loss:0.009420411885644176\n", + "train loss:0.0007604507367709968\n", + "train loss:0.0017398387379950148\n", + "train loss:0.003229751227714644\n", + "train loss:0.0009124697801469545\n", + "train loss:0.00247002721363657\n", + "train loss:0.0019935962263981535\n", + "train loss:0.0013714831425241387\n", + "train loss:0.002144313893129755\n", + "train loss:0.001422542277564043\n", + "train loss:0.00023390836309305566\n", + "train loss:0.005489825041252023\n", + "train loss:0.0007626666899526655\n", + "train loss:0.0004397677188406917\n", + "train loss:0.005614354824341699\n", + "train loss:0.001699827001082667\n", + "train loss:0.0006098435211210642\n", + "train loss:0.0006625402640822868\n", + "train loss:9.012009510178238e-05\n", + "train loss:6.889381203336346e-05\n", + "train loss:0.004205401113089762\n", + "train loss:0.003094303506179704\n", + "train loss:0.000514747420878415\n", + "train loss:0.000452773148827875\n", + "train loss:0.0018898639496166554\n", + "train loss:0.0013769319810043629\n", + "train loss:0.0006398198901289243\n", + "train loss:0.0013320768972174346\n", + "train loss:0.0012504068470467113\n", + "train loss:0.00020193593543771\n", + "train loss:0.0009859947753640473\n", + "train loss:0.0027071650456737106\n", + "train loss:0.0012992293896041346\n", + "train loss:0.0040930413989842375\n", + "train loss:7.192073504898249e-05\n", + "train loss:0.003212221835210305\n", + "train loss:0.0006459854293568376\n", + "train loss:0.0009363112026956916\n", + "train loss:0.00021154767447796263\n", + "train loss:7.352427438811808e-05\n", + "train loss:0.013425885642534796\n", + "train loss:0.00017466661525618207\n", + "train loss:0.001705546179628122\n", + "train loss:0.00013371327691937134\n", + "train loss:7.275312521792998e-05\n", + "train loss:0.0007737650475175353\n", + "train loss:0.0024128029407094486\n", + "train loss:0.0008876551578842132\n", + "train loss:0.002538626961127899\n", + "train loss:0.0005907627335806046\n", + "train loss:0.0001793305479577088\n", + "train loss:0.0006572449149783118\n", + "train loss:0.025164948706480318\n", + "train loss:0.0012785270828813743\n", + "train loss:0.0005099768607833759\n", + "train loss:0.00037708341795953006\n", + "train loss:0.0005796475948781334\n", + "train loss:0.00016126029504651956\n", + "train loss:0.000816651058661133\n", + "train loss:0.0040539729503590765\n", + "train loss:0.0004829779104338531\n", + "train loss:0.0004417927798935907\n", + "train loss:0.02781394617911632\n", + "train loss:0.0009752012063242543\n", + "train loss:0.0002492187006446086\n", + "train loss:0.015175826826954477\n", + "train loss:0.0028668642126364846\n", + "train loss:0.0002958229175690656\n", + "train loss:0.0006418800890834758\n", + "train loss:0.000962616788839666\n", + "train loss:0.0030469076346624326\n", + "train loss:0.00013440684153114728\n", + "train loss:0.0026431432385521643\n", + "train loss:0.0049187519472778315\n", + "train loss:9.433841923192559e-05\n", + "train loss:0.0002921448596109379\n", + "train loss:8.747295455157559e-05\n", + "train loss:6.947678151365999e-05\n", + "train loss:0.0004944410541975282\n", + "train loss:0.00029394317452978994\n", + "train loss:0.00045388307003656913\n", + "train loss:0.0009376984243407742\n", + "train loss:0.0008163468756432875\n", + "train loss:0.002620816718094788\n", + "train loss:0.00335273633659938\n", + "train loss:0.0013869906531214409\n", + "train loss:0.00017436038882310398\n", + "train loss:0.00037366096179663105\n", + "train loss:0.002265695628841397\n", + "train loss:0.01674072173911842\n", + "train loss:0.0009123045917322325\n", + "train loss:0.00029795137749632307\n", + "train loss:0.0002013665926880532\n", + "train loss:0.004194035345352971\n", + "train loss:0.0008826632506348494\n", + "train loss:0.03613660841227778\n", + "train loss:0.0017884517360702138\n", + "train loss:0.00038195420664301015\n", + "train loss:0.0015080223659659356\n", + "train loss:0.0015453830799379042\n", + "train loss:0.0020788650782020235\n", + "train loss:0.0018830981807793968\n", + "train loss:0.00011697768424666997\n", + "train loss:0.00012336073532560573\n", + "train loss:0.005582890929594762\n", + "train loss:6.872526809705579e-05\n", + "train loss:0.0002618733703579749\n", + "train loss:0.0005762799957185216\n", + "train loss:0.000546141594634754\n", + "train loss:0.0002201422208018571\n", + "train loss:0.004497808768261689\n", + "train loss:0.0009378028633397717\n", + "train loss:0.0002523641171200336\n", + "train loss:0.003468084369932091\n", + "train loss:0.00026840330994599206\n", + "train loss:0.004497018990671465\n", + "train loss:0.0018100618542051768\n", + "train loss:0.00032286027028648916\n", + "train loss:0.0009692617458704028\n", + "train loss:0.002368877514095066\n", + "train loss:0.009749467959630923\n", + "train loss:0.00012533950729814243\n", + "train loss:0.0018806868503674506\n", + "train loss:0.011258208844306046\n", + "train loss:0.0004465117028885686\n", + "train loss:0.005985279032788368\n", + "train loss:0.009758274791543738\n", + "train loss:0.0011771707900479968\n", + "train loss:0.0005301360009068153\n", + "train loss:0.005912150898063945\n", + "train loss:0.002964094964161705\n", + "train loss:0.00019452570104060317\n", + "train loss:0.0061494622398261065\n", + "train loss:0.00023840444379090502\n", + "train loss:0.0013783922602819936\n", + "train loss:0.004308765378178042\n", + "train loss:0.001062495787377402\n", + "train loss:0.0038448679792790134\n", + "train loss:0.0019261390654462\n", + "train loss:0.01720236056359547\n", + "train loss:0.062010267426241016\n", + "train loss:0.0006878643261074564\n", + "train loss:0.001158513159701854\n", + "train loss:0.0011860672483521547\n", + "train loss:0.00034163043617877544\n", + "train loss:0.004224084902306446\n", + "train loss:0.0002617065027786931\n", + "train loss:0.00018197915835386754\n", + "train loss:0.0043128634775789765\n", + "train loss:0.0018918559117215678\n", + "train loss:0.0001611282681826458\n", + "train loss:0.0008978927704649799\n", + "train loss:0.00013365785988568156\n", + "train loss:0.0016738205366216695\n", + "train loss:0.0027475095536915566\n", + "train loss:0.0015446298731605543\n", + "train loss:0.0012033512050042738\n", + "train loss:0.0007267537878815909\n", + "train loss:0.0010810970718424095\n", + "train loss:0.0028570176733199344\n", + "train loss:0.001332154086677099\n", + "train loss:0.0027045852251518596\n", + "train loss:2.1688621528012426e-05\n", + "train loss:0.0010085571172022514\n", + "train loss:0.000520076402236073\n", + "train loss:0.00029675421591343875\n", + "train loss:0.00010293978544484612\n", + "train loss:0.0041056077760521364\n", + "train loss:0.0001557746425503504\n", + "train loss:0.00025680415699049614\n", + "train loss:0.0007616399536475006\n", + "train loss:0.0008820736738195897\n", + "train loss:0.002237827271876456\n", + "train loss:0.0009080937634230054\n", + "train loss:0.0016465775764032005\n", + "train loss:0.0007963785516535689\n", + "train loss:0.000271710250984186\n", + "train loss:0.00017355478694370738\n", + "train loss:0.00560473626202711\n", + "train loss:0.0015124306980218495\n", + "train loss:0.001978191574265688\n", + "train loss:0.0003478815264682403\n", + "train loss:2.7974285299428715e-05\n", + "train loss:6.220662930715582e-05\n", + "train loss:7.99521570097432e-05\n", + "train loss:0.0007339429619166269\n", + "train loss:0.00023395245030130238\n", + "train loss:0.00016478426873946892\n", + "train loss:0.00022775574316507115\n", + "train loss:0.0002445100657903331\n", + "train loss:0.030563736206458265\n", + "train loss:0.0002518714034776671\n", + "train loss:0.0004705164056985883\n", + "train loss:0.001527731247727847\n", + "train loss:0.0007569505969198174\n", + "train loss:0.0020163838948786296\n", + "train loss:0.0029328796731797374\n", + "train loss:0.002751841902672361\n", + "train loss:0.0015270480052140057\n", + "train loss:0.0015143796258999158\n", + "train loss:0.002135579364599659\n", + "train loss:0.0023330262683956\n", + "train loss:0.0009704519216279936\n", + "train loss:0.0052110346555601225\n", + "train loss:0.002637216341281742\n", + "train loss:0.002462333760759106\n", + "train loss:0.00011211284446285658\n", + "train loss:0.0017860449764777356\n", + "train loss:0.002196145306722232\n", + "train loss:0.0014010692058219498\n", + "train loss:0.00024761138687479355\n", + "train loss:0.0012369741862283535\n", + "train loss:0.0003554670513797348\n", + "train loss:0.000859494076843954\n", + "train loss:0.002008749415089745\n", + "train loss:0.0015742043508043377\n", + "train loss:0.0012636608934753196\n", + "train loss:0.001246901881847769\n", + "train loss:0.00040473681461361885\n", + "train loss:0.0018665302212957505\n", + "train loss:0.0003673891618510809\n", + "train loss:0.0001485670877711396\n", + "train loss:0.004179959465077497\n", + "train loss:0.0008251864378661804\n", + "train loss:0.0004518331688993005\n", + "train loss:0.0009063094403157946\n", + "train loss:0.0007762611401283715\n", + "train loss:0.0002628118165095828\n", + "train loss:7.879281595655134e-05\n", + "train loss:0.001110261621046111\n", + "train loss:0.002650604421750157\n", + "train loss:0.007530584938024058\n", + "train loss:0.0016430168598005237\n", + "train loss:0.0005556047932087575\n", + "train loss:0.0003735470214032005\n", + "train loss:0.003085634974252188\n", + "train loss:0.0026379643856063485\n", + "train loss:0.0016422973268852025\n", + "train loss:0.0007638096615836891\n", + "train loss:0.0005338454681564288\n", + "train loss:0.00588645369389348\n", + "train loss:0.002831659156804419\n", + "train loss:0.0025677493462717125\n", + "train loss:0.005312494688948707\n", + "train loss:0.0022474632374207843\n", + "train loss:0.00024178158703388732\n", + "train loss:0.0010042607118616084\n", + "train loss:0.010737062230379554\n", + "train loss:6.63094088816681e-05\n", + "train loss:0.0001230676282991285\n", + "train loss:0.006589613706810169\n", + "train loss:0.0009748302324524031\n", + "train loss:0.0002797846722038302\n", + "train loss:6.75741857903316e-05\n", + "train loss:0.0017572203885612766\n", + "train loss:0.0004645553434585878\n", + "train loss:0.0007541944374860085\n", + "train loss:0.0015943354516082453\n", + "train loss:0.00031750978396717053\n", + "train loss:0.0009835341077524672\n", + "train loss:0.0024045403430884684\n", + "train loss:0.0018328770361182014\n", + "train loss:0.011503684657119937\n", + "train loss:0.004992638983759658\n", + "train loss:0.0006408134144312585\n", + "train loss:0.0006742879960081817\n", + "train loss:0.0001645644980367372\n", + "train loss:0.00034127705116577747\n", + "train loss:0.006019717357773232\n", + "train loss:0.0037163845011086135\n", + "train loss:0.0006228625350967763\n", + "train loss:0.0002734720783972108\n", + "train loss:0.00036872204011992424\n", + "train loss:0.00041676827405960707\n", + "train loss:0.00010721847888572645\n", + "train loss:0.0012860623137444177\n", + "train loss:0.0014288798454205735\n", + "train loss:0.0024601778780107835\n", + "train loss:0.0012378482273575273\n", + "train loss:0.008837024921957643\n", + "train loss:0.00016941407681388314\n", + "train loss:0.0008814235232502776\n", + "train loss:0.0008745417151102341\n", + "train loss:0.002240826536427365\n", + "train loss:0.0010216739950254768\n", + "train loss:0.0018914169335149738\n", + "train loss:0.009086594658955317\n", + "train loss:0.00229491201148888\n", + "train loss:0.002793688957706313\n", + "train loss:0.0003074973122737487\n", + "train loss:0.0011513220279602793\n", + "train loss:0.002468602281486436\n", + "train loss:0.000174510399375162\n", + "train loss:0.0004983697786096146\n", + "train loss:0.0006909485983277561\n", + "train loss:0.0011415354739220368\n", + "train loss:0.0036549655465641095\n", + "train loss:0.006195615781961495\n", + "train loss:0.00034423958183848016\n", + "train loss:0.006009027632475704\n", + "train loss:0.0013151792716944192\n", + "train loss:0.0006052120390411204\n", + "train loss:0.00019822440391172911\n", + "train loss:0.0004405988325793321\n", + "train loss:0.00012427902304533938\n", + "train loss:0.0008373376717784106\n", + "train loss:0.0005071477971753355\n", + "train loss:0.0019048912916934243\n", + "train loss:0.0017537214763588005\n", + "train loss:0.0021759752341941837\n", + "train loss:0.00040983752204014535\n", + "train loss:0.0009434300887789341\n", + "train loss:0.0013819541046872837\n", + "train loss:0.00048046821997064967\n", + "train loss:0.0007732995788941822\n", + "train loss:0.0013766791758781825\n", + "train loss:0.0007327294107213661\n", + "train loss:0.0005031146182334187\n", + "train loss:0.003431852593105187\n", + "train loss:0.0004776137326494528\n", + "train loss:0.0031918606539401945\n", + "train loss:0.002304364832040249\n", + "train loss:0.0004946141636865046\n", + "train loss:0.00013894234800012364\n", + "train loss:0.002674187643900661\n", + "train loss:0.0005985396948756983\n", + "train loss:0.002649453293392576\n", + "train loss:0.00026157586641198784\n", + "train loss:0.002227584555782466\n", + "train loss:0.0005190507824767979\n", + "train loss:0.0009781406854965976\n", + "train loss:0.0008812345198438854\n", + "train loss:0.0011814678110238653\n", + "train loss:0.0002437733850049643\n", + "train loss:0.0002556045662914611\n", + "train loss:0.0007577022689024528\n", + "train loss:0.0011509224773051468\n", + "train loss:0.0006778654979645811\n", + "train loss:0.00046662936256197446\n", + "train loss:0.0022671670245488834\n", + "train loss:0.003237351184217897\n", + "train loss:0.0013649602149454795\n", + "train loss:0.0008836354299455479\n", + "train loss:0.0006572610119760508\n", + "train loss:0.0008252898428169997\n", + "train loss:0.002107379552377114\n", + "train loss:0.00022065402345832028\n", + "train loss:0.022594065687966864\n", + "train loss:0.0005101759017936313\n", + "train loss:0.00010235677316545006\n", + "=== epoch:19, train acc:0.997, test acc:0.988 ===\n", + "train loss:0.00201562673727647\n", + "train loss:0.0005738821420634085\n", + "train loss:8.584274181179314e-05\n", + "train loss:0.000646741624033347\n", + "train loss:4.221455373470476e-05\n", + "train loss:0.0017331758638621708\n", + "train loss:0.0003555173176857092\n", + "train loss:0.0028662709547707392\n", + "train loss:0.0016401104696126803\n", + "train loss:0.0006290523269648842\n", + "train loss:0.004197247401317439\n", + "train loss:0.0003746467566445499\n", + "train loss:0.0003205023808302073\n", + "train loss:0.002698333408777993\n", + "train loss:0.0001722335426406409\n", + "train loss:0.003758922222542738\n", + "train loss:0.000571995878227311\n", + "train loss:0.0007160325461869798\n", + "train loss:0.00030654212997040497\n", + "train loss:0.00805401716426235\n", + "train loss:0.0010954957270582664\n", + "train loss:0.0013285688011125953\n", + "train loss:0.002432302451395929\n", + "train loss:0.0002126198619939483\n", + "train loss:0.0013277385640800552\n", + "train loss:3.6084589209132347e-05\n", + "train loss:0.00044517014622645704\n", + "train loss:0.0024223288946936135\n", + "train loss:0.007032399394834072\n", + "train loss:0.00421317161054626\n", + "train loss:0.0036575036170661403\n", + "train loss:0.0002901515788292286\n", + "train loss:0.004902332430008246\n", + "train loss:0.0005722351666270119\n", + "train loss:0.002208123155720256\n", + "train loss:0.0008660925771962748\n", + "train loss:0.0001645306644798551\n", + "train loss:0.0004413248429086699\n", + "train loss:0.004867894211282838\n", + "train loss:0.0010179494499526025\n", + "train loss:4.799572228552165e-05\n", + "train loss:8.950325016450355e-05\n", + "train loss:0.0013484538469949222\n", + "train loss:0.0016283393507306467\n", + "train loss:0.007471204943485437\n", + "train loss:0.00047778113743786245\n", + "train loss:0.006568268410619131\n", + "train loss:0.00154705190056182\n", + "train loss:5.990102657734085e-05\n", + "train loss:0.0011521274295942271\n", + "train loss:8.552913255871227e-05\n", + "train loss:0.0009174531283128963\n", + "train loss:0.0002425593112382108\n", + "train loss:0.0012163704795576766\n", + "train loss:0.0008225546920514215\n", + "train loss:0.0008744487109544416\n", + "train loss:0.0003378695874359519\n", + "train loss:0.0031679123248877393\n", + "train loss:0.0013734358864490783\n", + "train loss:0.0007683123532072091\n", + "train loss:0.0003684332423496734\n", + "train loss:8.905028207044287e-05\n", + "train loss:0.00023969121890444356\n", + "train loss:0.002312663565784003\n", + "train loss:0.005535709902674533\n", + "train loss:0.0021170988426417008\n", + "train loss:0.002393593272924301\n", + "train loss:0.0027635547237329335\n", + "train loss:0.002183398693004779\n", + "train loss:7.639680299867609e-05\n", + "train loss:0.0009357011258897599\n", + "train loss:0.00015994512183376553\n", + "train loss:0.001510084185387153\n", + "train loss:0.0004220938230620774\n", + "train loss:0.017172443918326123\n", + "train loss:0.0005551756777641205\n", + "train loss:0.002539242901107027\n", + "train loss:0.0006618786341030771\n", + "train loss:0.00011130550459460006\n", + "train loss:0.0003011537896396056\n", + "train loss:0.0027367423739486653\n", + "train loss:0.0008749496484705701\n", + "train loss:0.001354951445011406\n", + "train loss:9.431455925977238e-05\n", + "train loss:0.0002837738108929504\n", + "train loss:0.005298487047217685\n", + "train loss:0.0002456988232937063\n", + "train loss:0.001639404144778367\n", + "train loss:0.0008315946107248422\n", + "train loss:0.0029510799752572262\n", + "train loss:0.00033906366624857466\n", + "train loss:0.0017953643289535179\n", + "train loss:0.0008329891755657161\n", + "train loss:0.0009341825431847478\n", + "train loss:0.023924736479076603\n", + "train loss:0.0023254252558215878\n", + "train loss:0.004636674077047982\n", + "train loss:0.00014629320521406309\n", + "train loss:0.0012638818592574064\n", + "train loss:0.0011543306961161446\n", + "train loss:0.0010645127222807243\n", + "train loss:0.0002525618146565728\n", + "train loss:0.00010981706007977568\n", + "train loss:0.0011418238251197305\n", + "train loss:0.00026907573338869105\n", + "train loss:0.00835970570301537\n", + "train loss:0.00033525125777401075\n", + "train loss:0.0010487987016567935\n", + "train loss:0.004498035147237731\n", + "train loss:0.002444924378569104\n", + "train loss:0.008515039118977934\n", + "train loss:0.005121440307490713\n", + "train loss:0.00045516233746311263\n", + "train loss:0.0008701329662212882\n", + "train loss:0.0042407031248265364\n", + "train loss:0.00027504946476849217\n", + "train loss:0.0006765014528193099\n", + "train loss:0.041168012895678056\n", + "train loss:3.3288900870106754e-05\n", + "train loss:0.00015135656137786542\n", + "train loss:0.0003316138537802417\n", + "train loss:0.002384722201644558\n", + "train loss:0.0028987535862759657\n", + "train loss:0.001237956475727634\n", + "train loss:0.00041273366754099685\n", + "train loss:0.0007773064988105473\n", + "train loss:0.001891754282486741\n", + "train loss:0.0007823124137727366\n", + "train loss:0.018537969867314617\n", + "train loss:0.0015121544324406442\n", + "train loss:0.0004551413263382978\n", + "train loss:0.00346233680515184\n", + "train loss:0.002096378963786115\n", + "train loss:6.644812987597719e-05\n", + "train loss:0.00014842889974354918\n", + "train loss:0.003776390599851215\n", + "train loss:0.0031762863707388966\n", + "train loss:0.001712372333681476\n", + "train loss:0.0036252991015460743\n", + "train loss:0.00020819483279546186\n", + "train loss:0.00029498666249786295\n", + "train loss:0.00026604286607457135\n", + "train loss:0.0006674656087718843\n", + "train loss:0.011046733077596897\n", + "train loss:0.002844491881091754\n", + "train loss:0.001384760592289852\n", + "train loss:0.005681464087263197\n", + "train loss:0.00016518026857191301\n", + "train loss:0.0002485362417457427\n", + "train loss:0.000438651852280454\n", + "train loss:0.0007351154784804641\n", + "train loss:0.00023762850161507357\n", + "train loss:0.002168542409509366\n", + "train loss:0.0005854041609653163\n", + "train loss:0.0034368776536537653\n", + "train loss:0.004807251017783537\n", + "train loss:0.00016694203462981204\n", + "train loss:0.0008518171161053169\n", + "train loss:0.0015078026046227962\n", + "train loss:0.001597216904822876\n", + "train loss:0.005097177531994812\n", + "train loss:4.173643915215239e-05\n", + "train loss:0.006367570915876319\n", + "train loss:0.005653150876744977\n", + "train loss:0.00036103745884132836\n", + "train loss:0.00030469585599897245\n", + "train loss:0.0011146344702771289\n", + "train loss:0.00041729532618309397\n", + "train loss:0.027733572729749346\n", + "train loss:0.0005826072693332742\n", + "train loss:0.00611048399149567\n", + "train loss:0.00033191972410400903\n", + "train loss:0.009608710556373848\n", + "train loss:0.007135993859316434\n", + "train loss:0.012746025346633437\n", + "train loss:5.357021138749502e-05\n", + "train loss:0.0009724700244976611\n", + "train loss:0.0022421895860598967\n", + "train loss:0.00031043206379086004\n", + "train loss:0.0005611573045984767\n", + "train loss:0.00474430851230446\n", + "train loss:0.003210654240023339\n", + "train loss:0.002673339774837046\n", + "train loss:0.0030281717954051624\n", + "train loss:0.0006523479157631639\n", + "train loss:0.0016658141150751357\n", + "train loss:0.0035826560475634185\n", + "train loss:0.0006290968093489898\n", + "train loss:0.003315382188386398\n", + "train loss:0.002486259932165057\n", + "train loss:0.000579756054411207\n", + "train loss:8.121829959833062e-05\n", + "train loss:0.0015778563489285554\n", + "train loss:0.0004048463157683449\n", + "train loss:0.0003115987376515391\n", + "train loss:0.0016948048634879591\n", + "train loss:0.0005730551719601684\n", + "train loss:0.0006116651254999414\n", + "train loss:0.0019298740288611381\n", + "train loss:0.016392215387112406\n", + "train loss:0.000878923135796477\n", + "train loss:0.005330877709567838\n", + "train loss:0.0029896491411537233\n", + "train loss:0.003977474836956842\n", + "train loss:0.000982498737211159\n", + "train loss:0.002503608122322425\n", + "train loss:0.0022634240493438593\n", + "train loss:9.272619840380558e-05\n", + "train loss:0.00108174784443588\n", + "train loss:0.00017742496341430436\n", + "train loss:0.002747535938566787\n", + "train loss:0.0016798066593863787\n", + "train loss:0.003448902397315172\n", + "train loss:9.942222987120088e-05\n", + "train loss:0.0004317665145998878\n", + "train loss:0.0017721797204072525\n", + "train loss:0.002633748807825329\n", + "train loss:0.005823373309490812\n", + "train loss:0.0002552907480015143\n", + "train loss:0.0008304314866740185\n", + "train loss:0.00101618060161584\n", + "train loss:0.0002742195191514226\n", + "train loss:0.0029673447096534513\n", + "train loss:0.0010541931143333435\n", + "train loss:0.0008730192611471706\n", + "train loss:0.00048278691728056365\n", + "train loss:0.0007358073845739019\n", + "train loss:0.024766515959101114\n", + "train loss:0.000598266198801763\n", + "train loss:0.0003611643935058745\n", + "train loss:0.0002586400316807489\n", + "train loss:0.0017631355178854633\n", + "train loss:0.03512889254555709\n", + "train loss:0.004892176587574364\n", + "train loss:0.0023444210668304177\n", + "train loss:0.00464996004910188\n", + "train loss:0.0004998254249681981\n", + "train loss:0.027198669015190774\n", + "train loss:0.0003838884798553287\n", + "train loss:0.006235031318717982\n", + "train loss:0.006032732293399396\n", + "train loss:0.0026841630833612014\n", + "train loss:9.107957944663506e-05\n", + "train loss:0.0478707443539909\n", + "train loss:0.007439507334840413\n", + "train loss:5.85698031220205e-05\n", + "train loss:0.007414038413266884\n", + "train loss:0.0014315534505867588\n", + "train loss:0.0034082641435285504\n", + "train loss:0.0018395949559591477\n", + "train loss:0.0028274813872695274\n", + "train loss:0.00210866735814968\n", + "train loss:0.0022813818764869124\n", + "train loss:0.004216093912009445\n", + "train loss:0.004303640528944524\n", + "train loss:0.0010084138835416622\n", + "train loss:0.001013628595579011\n", + "train loss:0.00017886377236425315\n", + "train loss:0.0036720283523055735\n", + "train loss:0.0029889427702976183\n", + "train loss:0.006170841262436226\n", + "train loss:0.0056168085122332845\n", + "train loss:0.0014440209028591133\n", + "train loss:0.00017456258653666758\n", + "train loss:3.367394803116703e-05\n", + "train loss:0.0007139370905795557\n", + "train loss:0.0018612458174460064\n", + "train loss:0.0015725946628407093\n", + "train loss:0.0011340487084645448\n", + "train loss:0.008366606101848697\n", + "train loss:0.0050497570391574865\n", + "train loss:0.0006173029238928476\n", + "train loss:0.004140077788615883\n", + "train loss:0.0006205559213562187\n", + "train loss:0.0005478490688415936\n", + "train loss:0.0010041926868561916\n", + "train loss:0.0028541551383136393\n", + "train loss:0.005919807566736969\n", + "train loss:0.001143849916802972\n", + "train loss:0.0013219934650442302\n", + "train loss:0.0007171925795887306\n", + "train loss:0.00021240595048886018\n", + "train loss:9.079450799494716e-05\n", + "train loss:0.0008555387678533657\n", + "train loss:0.0006535275827521129\n", + "train loss:0.0028735281139254387\n", + "train loss:0.0023076875194869874\n", + "train loss:0.003122469393470128\n", + "train loss:0.0006195102275365334\n", + "train loss:0.00019871291327192106\n", + "train loss:0.0015783756336767171\n", + "train loss:0.0019700521011579305\n", + "train loss:0.00020755383613426967\n", + "train loss:0.0008998388768699287\n", + "train loss:0.0009878041807769272\n", + "train loss:0.0004566369643070693\n", + "train loss:0.0010107434104172663\n", + "train loss:0.0015771535242870116\n", + "train loss:7.145147628787198e-05\n", + "train loss:0.0001477578521052238\n", + "train loss:0.0014538028419469628\n", + "train loss:0.00028519323090133857\n", + "train loss:0.0014461469528576094\n", + "train loss:0.0012001775394762245\n", + "train loss:0.00020923390341947098\n", + "train loss:0.004775955554646396\n", + "train loss:0.009968608803728596\n", + "train loss:0.0011461611835624544\n", + "train loss:7.782287775413652e-05\n", + "train loss:0.0008099063554755522\n", + "train loss:0.0036101670116682714\n", + "train loss:0.0010554468811131935\n", + "train loss:0.0002780517107854672\n", + "train loss:0.0016167932249672313\n", + "train loss:0.0003202299202396304\n", + "train loss:0.000869576363022842\n", + "train loss:0.02284751155813229\n", + "train loss:0.0025063513084733076\n", + "train loss:0.008675362673555289\n", + "train loss:0.0021909973541238046\n", + "train loss:0.001939820902244141\n", + "train loss:0.00028808559823077963\n", + "train loss:0.0002912078662617112\n", + "train loss:0.0005154776855868839\n", + "train loss:0.002332781900759128\n", + "train loss:9.086141929328353e-05\n", + "train loss:0.0026398756605815464\n", + "train loss:0.007072997043472512\n", + "train loss:0.0005828139590274104\n", + "train loss:0.0004141946655607246\n", + "train loss:0.002807064091364975\n", + "train loss:0.0014425620804020534\n", + "train loss:0.001969390687009602\n", + "train loss:0.0006980814470788889\n", + "train loss:0.0003870200649133003\n", + "train loss:8.941715814052527e-05\n", + "train loss:0.0036943851329821133\n", + "train loss:0.0841729254000139\n", + "train loss:0.0006543640372564392\n", + "train loss:0.004645010709393847\n", + "train loss:0.005773031932812265\n", + "train loss:0.00011594964066509634\n", + "train loss:0.0004847760609787515\n", + "train loss:0.000977065659430292\n", + "train loss:0.0005370695717950736\n", + "train loss:0.0003042438031744199\n", + "train loss:0.001160091822054909\n", + "train loss:5.6208544613496785e-05\n", + "train loss:8.576191336236843e-05\n", + "train loss:0.0007949063856598358\n", + "train loss:0.00025953187552335566\n", + "train loss:0.0009394369105703679\n", + "train loss:0.0075852417609582525\n", + "train loss:7.651914645177443e-05\n", + "train loss:0.00047532101899023913\n", + "train loss:0.0011598855151222496\n", + "train loss:0.00021808518400729952\n", + "train loss:0.0003209493673684025\n", + "train loss:0.002306948483491966\n", + "train loss:0.030996265025029227\n", + "train loss:0.0012993583701120285\n", + "train loss:0.0005679186342692227\n", + "train loss:0.001659753305221893\n", + "train loss:0.007541509441909535\n", + "train loss:0.0013550614663562872\n", + "train loss:0.000514837484089126\n", + "train loss:0.0016579514969157377\n", + "train loss:0.0026496588014587397\n", + "train loss:0.0008271099954844008\n", + "train loss:0.002508382946058963\n", + "train loss:0.003543976173548667\n", + "train loss:0.00022772169345163968\n", + "train loss:0.0006886773754489764\n", + "train loss:0.00046552146095566995\n", + "train loss:0.0013247505044254007\n", + "train loss:0.00014165743498813032\n", + "train loss:0.0011338607897472494\n", + "train loss:0.0003182577273590469\n", + "train loss:0.0016046450326717193\n", + "train loss:0.0003422058743844433\n", + "train loss:0.033463511398700116\n", + "train loss:0.000991904317115498\n", + "train loss:0.004249333006745761\n", + "train loss:0.0005864282055251304\n", + "train loss:0.0027191155151357668\n", + "train loss:0.0032271863429720825\n", + "train loss:0.0005664587463699685\n", + "train loss:0.0012369243813821868\n", + "train loss:0.0002434108388913198\n", + "train loss:8.483089078941899e-05\n", + "train loss:0.0002259032033877728\n", + "train loss:0.0012361167925284018\n", + "train loss:0.0038905226605616657\n", + "train loss:0.00013210851155146712\n", + "train loss:0.0001366292703322705\n", + "train loss:9.144706460096856e-05\n", + "train loss:0.0001348209889548926\n", + "train loss:0.0006089205226553399\n", + "train loss:0.00038976270713085315\n", + "train loss:0.0024821740177786654\n", + "train loss:0.0008800831244150058\n", + "train loss:0.0002845254076083477\n", + "train loss:5.502842107027729e-05\n", + "train loss:0.0034608518367675034\n", + "train loss:0.00045882714207694735\n", + "train loss:5.6265931654745603e-05\n", + "train loss:0.0005243654561597552\n", + "train loss:0.0024458822133993125\n", + "train loss:0.00013899935000366405\n", + "train loss:0.00011356573694417582\n", + "train loss:0.00018716744124576003\n", + "train loss:0.0002253614479048799\n", + "train loss:0.0007682784076920035\n", + "train loss:0.0005933607117697006\n", + "train loss:0.00020636707936150285\n", + "train loss:0.0016473009054688847\n", + "train loss:0.0009648305643258276\n", + "train loss:0.0007602042587731963\n", + "train loss:0.00191305305151286\n", + "train loss:0.0004906616589757719\n", + "train loss:9.289524407918928e-05\n", + "train loss:0.0006769777813715402\n", + "train loss:0.0013396614504627025\n", + "train loss:0.00014178154597280058\n", + "train loss:0.00022133925231092587\n", + "train loss:0.001024759005523674\n", + "train loss:0.008665840571297831\n", + "train loss:0.0003155442785148567\n", + "train loss:4.2369365314337985e-05\n", + "train loss:0.0015541317828533562\n", + "train loss:3.157734954192132e-05\n", + "train loss:0.001621785782490444\n", + "train loss:0.005024154367888245\n", + "train loss:0.0001344958356597919\n", + "train loss:0.00020723697078415352\n", + "train loss:0.009011128439449763\n", + "train loss:0.000979951857468748\n", + "train loss:0.0010614486244896338\n", + "train loss:7.65491058154957e-05\n", + "train loss:0.0016451286483667405\n", + "train loss:0.0005048393302178722\n", + "train loss:0.0005503543493214078\n", + "train loss:0.00578654471850681\n", + "train loss:0.007472172606871271\n", + "train loss:0.0016590542764813763\n", + "train loss:0.00015031941047846827\n", + "train loss:0.00019627523845281282\n", + "train loss:0.0002049852914258531\n", + "train loss:0.0017579260418005603\n", + "train loss:0.0003421723866009297\n", + "train loss:0.0008199465926888073\n", + "train loss:0.0016231027917538955\n", + "train loss:0.004036178538447944\n", + "train loss:0.000958693245927841\n", + "train loss:0.0008204892121547831\n", + "train loss:0.0019381273045792295\n", + "train loss:0.000945267672571838\n", + "train loss:0.000709042431886426\n", + "train loss:0.0003013031015133319\n", + "train loss:0.0004241414351309533\n", + "train loss:0.006384110608368639\n", + "train loss:0.00012920187321641973\n", + "train loss:0.0012066475460768542\n", + "train loss:0.0075370546384813004\n", + "train loss:0.006112779063997176\n", + "train loss:0.00026868426821866477\n", + "train loss:0.0006371404276123883\n", + "train loss:0.0002149244205567416\n", + "train loss:4.863376760757092e-05\n", + "train loss:0.003951825300239647\n", + "train loss:0.0010578021645361502\n", + "train loss:0.000797873801506392\n", + "train loss:0.0033573005806040923\n", + "train loss:0.0026607042151810647\n", + "train loss:0.0039401141924132735\n", + "train loss:0.002469701526503155\n", + "train loss:0.002240215165863572\n", + "train loss:0.003130014094916654\n", + "train loss:0.000706193058471721\n", + "train loss:0.0028189488776458062\n", + "train loss:0.01732086182853873\n", + "train loss:0.001429764705252115\n", + "train loss:0.0008190795260651664\n", + "train loss:0.009298371021012225\n", + "train loss:0.00040176678809288003\n", + "train loss:0.0003754179156305222\n", + "train loss:0.0005859743705516128\n", + "train loss:0.0038411070289117465\n", + "train loss:0.00020916988875515976\n", + "train loss:0.007259732681302364\n", + "train loss:0.005728377278139529\n", + "train loss:0.0020712612837809905\n", + "train loss:6.956316547755206e-05\n", + "train loss:0.0002278824650866555\n", + "train loss:0.003067141189208879\n", + "train loss:0.0011341443883366852\n", + "train loss:0.0016955849325181582\n", + "train loss:0.00048463488570750344\n", + "train loss:0.0008152306792455408\n", + "train loss:0.0001313403917158109\n", + "train loss:0.00014830677024366503\n", + "train loss:0.007980224560968958\n", + "train loss:0.00025035843042210665\n", + "train loss:0.0036522074015055135\n", + "train loss:0.0006900979711607576\n", + "train loss:0.05889396021090247\n", + "train loss:0.03234272275410196\n", + "train loss:0.0025189445568412306\n", + "train loss:0.0018024223029741646\n", + "train loss:0.00021806282892738955\n", + "train loss:0.0005225352429549934\n", + "train loss:0.0001492795494826197\n", + "train loss:0.00018721075322119404\n", + "train loss:0.0002568299945009554\n", + "train loss:0.0028006525456081154\n", + "train loss:0.004817970816075981\n", + "train loss:0.00031133708945982135\n", + "train loss:0.010466009359128566\n", + "train loss:0.001217897553092976\n", + "train loss:0.000513472423418304\n", + "train loss:0.00294928042273202\n", + "train loss:0.0005576294929338445\n", + "train loss:0.0011793106223474893\n", + "train loss:0.0026778636371399965\n", + "train loss:0.0016010436044605622\n", + "train loss:0.0008360925993324805\n", + "train loss:0.04330548665778476\n", + "train loss:0.0034121579697360053\n", + "train loss:0.006154588281945171\n", + "train loss:0.0002321805921926395\n", + "train loss:0.0009756304338040253\n", + "train loss:0.0012720136792768969\n", + "train loss:0.0008111579826422985\n", + "train loss:0.00020225085570226025\n", + "train loss:0.0014845095336292846\n", + "train loss:0.0006903652483634244\n", + "train loss:0.003033536037125984\n", + "train loss:0.0009740468048759786\n", + "train loss:0.003214252629359056\n", + "train loss:0.0018524852840957073\n", + "train loss:0.0033013364852061246\n", + "train loss:0.000943464271813532\n", + "train loss:0.0009146952856603506\n", + "train loss:0.003914981444115151\n", + "train loss:0.05550105814897471\n", + "train loss:0.0003096186089576023\n", + "train loss:0.03722798976347605\n", + "train loss:0.0037890241475087376\n", + "train loss:0.0003372445838245382\n", + "train loss:0.0013659475203158095\n", + "train loss:0.021017577641938158\n", + "train loss:0.01060645322549989\n", + "train loss:3.789638324708787e-05\n", + "train loss:0.0004575531923380112\n", + "train loss:0.0004078292153083727\n", + "train loss:0.0016315281103408794\n", + "train loss:0.00011531067541335383\n", + "train loss:0.0003769209781876958\n", + "train loss:0.003335348569822409\n", + "train loss:0.003105881457863847\n", + "train loss:0.0007226024632956497\n", + "train loss:9.562816303370371e-05\n", + "train loss:0.004096060887382989\n", + "train loss:0.0001804082282854047\n", + "train loss:0.0014500579914384372\n", + "train loss:0.00018680917687264765\n", + "train loss:0.0010637874935106725\n", + "train loss:0.0034769577851601636\n", + "train loss:0.0403003740122033\n", + "train loss:0.0011443698961990704\n", + "train loss:0.0013550813376324298\n", + "train loss:0.005036035180184865\n", + "train loss:0.001137757382815503\n", + "train loss:0.006842024663262129\n", + "train loss:0.0010361746246836908\n", + "train loss:0.0018744734122034753\n", + "train loss:0.00021488869827814155\n", + "train loss:0.004690074235887949\n", + "train loss:0.003259761927713636\n", + "train loss:0.001445923885069762\n", + "train loss:0.0018321784638876911\n", + "train loss:0.00041066486803164324\n", + "train loss:0.002595856217709082\n", + "train loss:0.002292120977327015\n", + "train loss:0.003270356384322628\n", + "train loss:0.0002526832185564584\n", + "train loss:0.004436755774814239\n", + "train loss:0.0007699347384054879\n", + "train loss:0.0011590679741262985\n", + "train loss:0.0009052868668999485\n", + "train loss:0.0011120933406526471\n", + "train loss:0.0005047541683990603\n", + "train loss:0.0002747686743207911\n", + "train loss:0.0006356508417106651\n", + "train loss:0.00034948971010808293\n", + "train loss:0.0005160475152418321\n", + "train loss:0.0012043508712382205\n", + "train loss:8.597500915004078e-05\n", + "train loss:0.0021310802520638603\n", + "train loss:0.0012926688269895923\n", + "=== epoch:20, train acc:0.998, test acc:0.986 ===\n", + "train loss:0.0009425861847802156\n", + "train loss:0.0012388363971579009\n", + "train loss:9.101555403906664e-05\n", + "train loss:0.004728422802568407\n", + "train loss:0.00023838271249729205\n", + "train loss:0.00041537156864013497\n", + "train loss:0.0075691746601021645\n", + "train loss:0.000647486959083769\n", + "train loss:0.0002895595479668609\n", + "train loss:0.0029580294070317864\n", + "train loss:0.0004927343516117552\n", + "train loss:0.0003518224345357958\n", + "train loss:0.008083003383835663\n", + "train loss:0.0013034784509826673\n", + "train loss:0.004910388911753011\n", + "train loss:0.0012538773133524198\n", + "train loss:0.00014605684340317907\n", + "train loss:0.003601883869544861\n", + "train loss:0.0003522992197519906\n", + "train loss:0.0015467262595895647\n", + "train loss:0.0012919672774440944\n", + "train loss:0.0031827785314142913\n", + "train loss:0.002255624129629947\n", + "train loss:0.0018224670070908422\n", + "train loss:0.0065667043291677985\n", + "train loss:0.00021349643823793583\n", + "train loss:0.0007646257933801858\n", + "train loss:0.00011087012988483565\n", + "train loss:0.004203865229227702\n", + "train loss:0.0009517126023603621\n", + "train loss:0.0003421244643227871\n", + "train loss:0.0008739422467270372\n", + "train loss:0.000890651783206102\n", + "train loss:0.0003434185165136161\n", + "train loss:0.00937542751428539\n", + "train loss:0.0005081690247327377\n", + "train loss:0.0019505682320912043\n", + "train loss:0.0002537208435086196\n", + "train loss:0.01267354884184957\n", + "train loss:0.0008333877247637054\n", + "train loss:0.001100077346866\n", + "train loss:0.00047709160376524284\n", + "train loss:0.0018677662601679895\n", + "train loss:0.003728712862791359\n", + "train loss:0.0020796971992892263\n", + "train loss:0.0014110030499124473\n", + "train loss:0.00016603797273870947\n", + "train loss:0.00023591173801858673\n", + "train loss:0.0001496385343514474\n", + "train loss:0.00031028622249515604\n", + "train loss:0.012559667058977654\n", + "train loss:0.0013072865568489098\n", + "train loss:0.0016414125901341855\n", + "train loss:0.00012245526809393778\n", + "train loss:0.007964424427532597\n", + "train loss:0.000789095033537243\n", + "train loss:0.00231515994261443\n", + "train loss:0.007090388467682131\n", + "train loss:0.0004823213043491772\n", + "train loss:0.0009401341246989569\n", + "train loss:0.00397880956994372\n", + "train loss:0.0014521595276336256\n", + "train loss:0.0015376197715854024\n", + "train loss:0.002840369131081458\n", + "train loss:0.001903359297839217\n", + "train loss:0.0013096914726940011\n", + "train loss:0.0008669870959536692\n", + "train loss:0.00042782191641501787\n", + "train loss:0.010935201233907224\n", + "train loss:0.0052576146498982505\n", + "train loss:0.00354826530355679\n", + "train loss:0.003091662090025083\n", + "train loss:0.00024098287628655817\n", + "train loss:0.0017609086261463202\n", + "train loss:0.0011708998077138112\n", + "train loss:0.005457382123405183\n", + "train loss:0.0006475488200460526\n", + "train loss:0.001102485700035777\n", + "train loss:0.00031584104980218996\n", + "train loss:0.0005227499943363776\n", + "train loss:0.00015927457821359812\n", + "train loss:0.0002993828642307263\n", + "train loss:0.008854881519005355\n", + "train loss:0.00023548980955284844\n", + "train loss:0.0023262034235469586\n", + "train loss:0.00042037920062980793\n", + "train loss:0.001763647657674306\n", + "train loss:0.0007220522435549287\n", + "train loss:0.00024069305000101672\n", + "train loss:0.0003251168370930077\n", + "train loss:0.0004552240265334595\n", + "train loss:0.0019033005103227657\n", + "train loss:0.001733801696223089\n", + "train loss:0.0022210213565775428\n", + "train loss:0.0022578703289856815\n", + "train loss:0.00014959081019652495\n", + "train loss:0.00893629861174099\n", + "train loss:0.00030062477377721563\n", + "train loss:0.0014283274424947098\n", + "train loss:0.008053185636835733\n", + "train loss:0.00016945357366119834\n", + "train loss:0.00014829339008212044\n", + "train loss:0.0015677653684597675\n", + "train loss:0.005616514744878929\n", + "train loss:0.0006464268689205742\n", + "train loss:0.0012122076912671354\n", + "train loss:0.0004833958915189033\n", + "train loss:3.502771549600554e-05\n", + "train loss:0.0005713796249051744\n", + "train loss:0.0036116738501899585\n", + "train loss:0.003173443903287778\n", + "train loss:8.444042003322916e-05\n", + "train loss:0.00037797267230871957\n", + "train loss:8.129496695173586e-05\n", + "train loss:0.0002766763545309833\n", + "train loss:0.00022361016491818928\n", + "train loss:0.002090536836920973\n", + "train loss:0.0005859137088015143\n", + "train loss:0.0002476141588577824\n", + "train loss:0.0007226559314355051\n", + "train loss:0.00015085053959417978\n", + "train loss:0.0023841236000502436\n", + "train loss:0.0006499789937835087\n", + "train loss:0.00039305286491898796\n", + "train loss:0.0006957451384045457\n", + "train loss:0.00027135745357328853\n", + "train loss:0.002012052038573128\n", + "train loss:0.001207424023239694\n", + "train loss:0.0002264568815983594\n", + "train loss:0.005071936635134354\n", + "train loss:0.0014838145989027544\n", + "train loss:0.000160393054232794\n", + "train loss:0.0005939029148699644\n", + "train loss:0.005073864462708926\n", + "train loss:0.0018857263963152854\n", + "train loss:0.004981493386087465\n", + "train loss:0.001146199007322667\n", + "train loss:0.004179061784502698\n", + "train loss:0.00013004066934308453\n", + "train loss:0.0002368817517524879\n", + "train loss:0.00047235813189443654\n", + "train loss:0.0010458552472576335\n", + "train loss:0.0021140566199371238\n", + "train loss:0.0020068707779158867\n", + "train loss:9.20833474125542e-05\n", + "train loss:0.001037585381317053\n", + "train loss:0.00027462842758606086\n", + "train loss:0.000561351606707536\n", + "train loss:0.017014664304499008\n", + "train loss:0.0017174375700743265\n", + "train loss:0.0016031245481580429\n", + "train loss:0.0004239245806847206\n", + "train loss:0.00011524981545295205\n", + "train loss:0.002427140700510552\n", + "train loss:0.0008079705567012836\n", + "train loss:0.000256616387449517\n", + "train loss:0.003203452418382935\n", + "train loss:0.00030443271278705333\n", + "train loss:0.00037821171605104635\n", + "train loss:0.0007139961914450623\n", + "train loss:0.0006759546284906755\n", + "train loss:0.00045796253773051633\n", + "train loss:0.0008742250551499956\n", + "train loss:0.002487365383698131\n", + "train loss:0.005765443114840585\n", + "train loss:0.002233866289703528\n", + "train loss:0.0004954872729608948\n", + "train loss:0.001966617346697114\n", + "train loss:3.13622050687855e-05\n", + "train loss:4.53245503358474e-05\n", + "train loss:0.00014279642342877858\n", + "train loss:3.6862509689700825e-05\n", + "train loss:0.00019730196228709776\n", + "train loss:0.000748150142329769\n", + "train loss:0.00030703806851618186\n", + "train loss:0.003409282330285271\n", + "train loss:0.0014972721331696765\n", + "train loss:0.003393905763582497\n", + "train loss:0.00014907415154635957\n", + "train loss:0.0016093228475829167\n", + "train loss:0.0012530271978802088\n", + "train loss:0.00468442111268226\n", + "train loss:0.0012119511152496511\n", + "train loss:0.0019748367202385934\n", + "train loss:0.0001272322588914395\n", + "train loss:7.487761177828373e-06\n", + "train loss:0.0004079513715561998\n", + "train loss:0.00020810570709084206\n", + "train loss:0.0010232006915663005\n", + "train loss:2.5645424956172078e-05\n", + "train loss:0.002114165030172764\n", + "train loss:0.0016065528103116544\n", + "train loss:0.0024585292386469794\n", + "train loss:0.00037404360900281016\n", + "train loss:0.002326003123258971\n", + "train loss:0.00029705358264903924\n", + "train loss:0.0002481026696519242\n", + "train loss:0.0005359791485046928\n", + "train loss:0.009335142473862744\n", + "train loss:0.000343467037724635\n", + "train loss:0.001930253466526114\n", + "train loss:0.006991514824123902\n", + "train loss:0.0003632586065887616\n", + "train loss:0.002846721262749492\n", + "train loss:0.0002655342610402095\n", + "train loss:0.0008598675611555981\n", + "train loss:0.0025812205612426725\n", + "train loss:0.00013960764281782274\n", + "train loss:0.013390082275221083\n", + "train loss:0.007860822828198588\n", + "train loss:0.000565547014769682\n", + "train loss:0.0003562673731853779\n", + "train loss:8.560054121321916e-05\n", + "train loss:0.0005814400336847422\n", + "train loss:0.00028061368149923284\n", + "train loss:0.0016857260102265037\n", + "train loss:0.012693351770905336\n", + "train loss:0.00032612040107412893\n", + "train loss:0.0007966389289124369\n", + "train loss:0.00027469027683662693\n", + "train loss:4.3775809756334204e-05\n", + "train loss:0.001956635579243276\n", + "train loss:8.76552773640285e-05\n", + "train loss:0.00041835575408297437\n", + "train loss:6.526030292048548e-05\n", + "train loss:0.0014689498155823024\n", + "train loss:0.0030637728696215278\n", + "train loss:0.0006777306230672887\n", + "train loss:0.00015190570605915464\n", + "train loss:0.002095369389451946\n", + "train loss:0.0015710918981686574\n", + "train loss:0.0020646493654179593\n", + "train loss:0.0002612243751442766\n", + "train loss:0.0022135394324263864\n", + "train loss:0.02211458908860858\n", + "train loss:0.0004888938885244338\n", + "train loss:0.0008544214237611805\n", + "train loss:0.00024353056743609512\n", + "train loss:0.00020952349302581555\n", + "train loss:0.000764681945270984\n", + "train loss:0.0005116845633989662\n", + "train loss:0.0004345605608874708\n", + "train loss:0.00015537186883517683\n", + "train loss:0.00444215376771068\n", + "train loss:0.0027547638211427084\n", + "train loss:0.0014594997126293652\n", + "train loss:0.00014093963671174594\n", + "train loss:0.003389646870211599\n", + "train loss:0.004727999547109214\n", + "train loss:0.0008863494392802324\n", + "train loss:0.00025011560399679824\n", + "train loss:9.488386529665633e-05\n", + "train loss:0.00019391833554872212\n", + "train loss:0.0006041402057030052\n", + "train loss:0.0010045366104686896\n", + "train loss:0.0020727327829625384\n", + "train loss:0.00021825303258031715\n", + "train loss:0.0008084639309995906\n", + "train loss:0.0020882465727042913\n", + "train loss:0.002683579713531566\n", + "train loss:0.00038924262084869037\n", + "train loss:0.0017367259575286822\n", + "train loss:0.00013491174486179769\n", + "train loss:0.00019315241095744172\n", + "train loss:0.0002507826911201591\n", + "train loss:0.0004846486620904259\n", + "train loss:0.00024924696981304964\n", + "train loss:4.791431846384136e-05\n", + "train loss:0.0011547323505677477\n", + "train loss:0.0003429478766962117\n", + "train loss:0.002119932073379297\n", + "train loss:8.377224214868108e-05\n", + "train loss:0.0005114312977761742\n", + "train loss:0.0002671412920282315\n", + "train loss:5.008843826708595e-05\n", + "train loss:0.0014906129790537204\n", + "train loss:0.002595710896341383\n", + "train loss:0.0009368810309852091\n", + "train loss:0.0003648482437580534\n", + "train loss:0.000333050132961956\n", + "train loss:0.00035877012487198754\n", + "train loss:0.001971957671426692\n", + "train loss:0.0014041749397305462\n", + "train loss:0.00010105124261527269\n", + "train loss:0.001524815234359918\n", + "train loss:0.002391429915599316\n", + "train loss:0.0002102312124738284\n", + "train loss:0.00014850143377009668\n", + "train loss:0.00041462461948765\n", + "train loss:0.000357332442624609\n", + "train loss:0.003468977893794626\n", + "train loss:0.0010485145565369343\n", + "train loss:0.00026931025542976434\n", + "train loss:0.0005296147277379873\n", + "train loss:0.0005903896222498539\n", + "train loss:0.00048249610611469164\n", + "train loss:0.00017362218347893507\n", + "train loss:7.908355831710902e-05\n", + "train loss:0.0010751678919641073\n", + "train loss:0.0007560364283239174\n", + "train loss:0.00010365637583925882\n", + "train loss:0.00023221183944872162\n", + "train loss:0.0020047202178928216\n", + "train loss:0.0008201433678076563\n", + "train loss:6.603841057659462e-05\n", + "train loss:0.0018726082259801372\n", + "train loss:0.000427298614537771\n", + "train loss:0.0006512422715800708\n", + "train loss:0.0003570567123374701\n", + "train loss:0.01504500378413068\n", + "train loss:0.0006352561995676522\n", + "train loss:0.0007086743091663452\n", + "train loss:0.0012775544018596193\n", + "train loss:3.1077320830054995e-05\n", + "train loss:0.0007613096951401357\n", + "train loss:0.011405662999800588\n", + "train loss:0.002654078832693878\n", + "train loss:0.0012766922294892133\n", + "train loss:0.0007289622243255747\n", + "train loss:0.0008893560059015253\n", + "train loss:0.002910471589144093\n", + "train loss:0.0004848187217231621\n", + "train loss:0.0008316566587841973\n", + "train loss:0.02857819490304024\n", + "train loss:0.0004949785125775109\n", + "train loss:0.004651712362509775\n", + "train loss:8.623962137258477e-05\n", + "train loss:0.0007570575411507611\n", + "train loss:0.0008602871249397819\n", + "train loss:0.0016466805831438728\n", + "train loss:0.0006324202675624813\n", + "train loss:9.845203219919959e-05\n", + "train loss:0.025076208545402066\n", + "train loss:0.00025051675268889564\n", + "train loss:0.0011270128046603689\n", + "train loss:0.0009126996814187498\n", + "train loss:0.0002470057160646998\n", + "train loss:0.0004596824322795424\n", + "train loss:0.0023667299489506344\n", + "train loss:9.054018496489466e-05\n", + "train loss:0.0028867802492717532\n", + "train loss:0.00034749743003443303\n", + "train loss:0.0001659326073922809\n", + "train loss:0.0011458760842771867\n", + "train loss:0.00040581812868240524\n", + "train loss:0.0007268107723639776\n", + "train loss:0.0007815921429208093\n", + "train loss:4.726653396168877e-05\n", + "train loss:0.0012895903289368157\n", + "train loss:0.001336429694547479\n", + "train loss:0.002246395423447744\n", + "train loss:0.00033630266861504746\n", + "train loss:0.003834508153360563\n", + "train loss:0.0006894325048725972\n", + "train loss:0.0006612270840826455\n", + "train loss:0.0009997056854919844\n", + "train loss:0.00029278139964484086\n", + "train loss:0.0016687564785534883\n", + "train loss:1.6691474643913894e-05\n", + "train loss:0.00032293635876864415\n", + "train loss:0.00031050612572582466\n", + "train loss:0.001861239707948453\n", + "train loss:0.0008627022525421672\n", + "train loss:0.003750777704089753\n", + "train loss:0.00020954819436083685\n", + "train loss:0.0020122954793865304\n", + "train loss:0.001508332858636077\n", + "train loss:0.00032108575942297387\n", + "train loss:0.00024322969273723183\n", + "train loss:0.0015627097682159772\n", + "train loss:0.0015391672459574123\n", + "train loss:0.00114134023655816\n", + "train loss:0.0016682191785412648\n", + "train loss:0.00021238025711776097\n", + "train loss:9.804488063335371e-05\n", + "train loss:0.00022379109196076706\n", + "train loss:0.0004104436404655618\n", + "train loss:0.0010404273034931237\n", + "train loss:0.0005223671184075929\n", + "train loss:0.0027655563945111995\n", + "train loss:0.0019843848187221036\n", + "train loss:0.00037010783579957733\n", + "train loss:5.432449179459114e-05\n", + "train loss:8.093771493979583e-05\n", + "train loss:0.0004989762215389655\n", + "train loss:0.0010931575275523236\n", + "train loss:4.075714234806638e-05\n", + "train loss:0.0009382236766928662\n", + "train loss:6.299269680026603e-05\n", + "train loss:0.000159304562071122\n", + "train loss:3.3449180697312816e-05\n", + "train loss:0.0003903193227378153\n", + "train loss:0.00246885174514562\n", + "train loss:0.0004511198198763038\n", + "train loss:0.0013570610539983224\n", + "train loss:0.0003583157313954908\n", + "train loss:8.28041059038483e-05\n", + "train loss:0.0005798687664197886\n", + "train loss:0.0022749996687549605\n", + "train loss:0.00021920874792091577\n", + "train loss:0.00018199439607921434\n", + "train loss:0.00014656890700848839\n", + "train loss:0.004715619534438283\n", + "train loss:0.0009163064736904939\n", + "train loss:1.1430661731761482e-05\n", + "train loss:0.0019417988142812924\n", + "train loss:0.0014202623005032237\n", + "train loss:1.1257841843530857e-05\n", + "train loss:0.0005314283504522823\n", + "train loss:0.00011695861589034135\n", + "train loss:0.00029891699637397506\n", + "train loss:0.0013037986611950036\n", + "train loss:0.0005119191333642605\n", + "train loss:0.01716401218539764\n", + "train loss:0.003517752838209627\n", + "train loss:0.00014838949000064983\n", + "train loss:0.002314176837163169\n", + "train loss:0.0014775497879213025\n", + "train loss:0.00031392067246595226\n", + "train loss:0.01933280489539096\n", + "train loss:4.67416382514252e-05\n", + "train loss:2.733441900064944e-05\n", + "train loss:0.0018614484710271246\n", + "train loss:0.00011388598438773198\n", + "train loss:9.531057465130018e-05\n", + "train loss:0.000286888120332867\n", + "train loss:0.001559253817948824\n", + "train loss:0.0002405721730903334\n", + "train loss:0.0029190211853752633\n", + "train loss:0.000753697107923011\n", + "train loss:0.002083793516321092\n", + "train loss:0.0013303413410174158\n", + "train loss:0.00025875165913693854\n", + "train loss:0.0001907645721331581\n", + "train loss:0.00027645163407492146\n", + "train loss:0.03320815299071024\n", + "train loss:0.0007329960169586183\n", + "train loss:0.00013231148514934838\n", + "train loss:8.523595249005568e-05\n", + "train loss:0.00021018724486788606\n", + "train loss:0.00012478491967100828\n", + "train loss:0.0005017121680978088\n", + "train loss:0.011441801949601515\n", + "train loss:0.005008138912130445\n", + "train loss:0.0009392064690660033\n", + "train loss:0.005522185548574482\n", + "train loss:0.00035100422880633995\n", + "train loss:0.0005699932163528782\n", + "train loss:0.0011206856779456163\n", + "train loss:5.8723750890966444e-05\n", + "train loss:0.0062115622494227155\n", + "train loss:0.0011379659367674773\n", + "train loss:9.814787996068519e-05\n", + "train loss:0.000130587855576745\n", + "train loss:0.0032267834785380824\n", + "train loss:0.0002192184244833853\n", + "train loss:5.5471510090964474e-05\n", + "train loss:0.00020448857447463\n", + "train loss:0.000189885057365809\n", + "train loss:0.0003704838080724721\n", + "train loss:0.0006223572606423542\n", + "train loss:0.00012831959370162668\n", + "train loss:0.00038160155159826166\n", + "train loss:0.001867945123577388\n", + "train loss:0.0021615490075254547\n", + "train loss:0.0001237324388116061\n", + "train loss:0.0006246921850746903\n", + "train loss:0.000586986523191294\n", + "train loss:0.0007737760937049842\n", + "train loss:4.282840176555636e-05\n", + "train loss:0.00023271520613639445\n", + "train loss:0.0011224884830807686\n", + "train loss:0.0011285311620885868\n", + "train loss:0.00023849419744926046\n", + "train loss:0.00016628779170828098\n", + "train loss:0.0005634738667915095\n", + "train loss:0.0009161788999471213\n", + "train loss:0.00018933893659517896\n", + "train loss:0.005514325025695049\n", + "train loss:9.742388842647574e-05\n", + "train loss:0.0009538385104339952\n", + "train loss:0.00035924525941105303\n", + "train loss:0.0014549212219407844\n", + "train loss:0.0012689100345773458\n", + "train loss:8.746804836110639e-05\n", + "train loss:0.00019122700881084168\n", + "train loss:7.329672708828998e-05\n", + "train loss:0.002415757871069771\n", + "train loss:0.0007278017791386408\n", + "train loss:0.001156680081443522\n", + "train loss:0.0028757877400457875\n", + "train loss:6.594369918200518e-05\n", + "train loss:0.0011657253004596392\n", + "train loss:0.00014895012446948015\n", + "train loss:6.428937022642236e-05\n", + "train loss:0.0011542588158305837\n", + "train loss:0.0015791571473676568\n", + "train loss:0.0001386459203918016\n", + "train loss:0.006425342547014735\n", + "train loss:8.934492625214053e-05\n", + "train loss:0.00015913082775983935\n", + "train loss:0.00034708001990634533\n", + "train loss:0.001109693445594383\n", + "train loss:0.000626800875762785\n", + "train loss:0.002237792035993713\n", + "train loss:0.0013153034331304329\n", + "train loss:0.0001755514546323963\n", + "train loss:0.0015133919276047575\n", + "train loss:0.0004947925410573802\n", + "train loss:0.0033944569744796776\n", + "train loss:0.005981536318583529\n", + "train loss:1.3838619134940197e-05\n", + "train loss:0.00029628767882246726\n", + "train loss:0.001074951667069093\n", + "train loss:7.622959681189665e-05\n", + "train loss:0.00010471018992325475\n", + "train loss:0.002990537507859546\n", + "train loss:0.0010192045838691047\n", + "train loss:0.001118448686870212\n", + "train loss:0.001605177557888191\n", + "train loss:0.00018834889415526572\n", + "train loss:0.0023826029396472955\n", + "train loss:0.0011515474117715471\n", + "train loss:0.0005494424543653156\n", + "train loss:0.0011406445352204503\n", + "train loss:0.00022719561542847798\n", + "train loss:0.001918255291291415\n", + "train loss:0.00037986704151997993\n", + "train loss:0.0001260070010940137\n", + "train loss:0.001934416511196194\n", + "train loss:0.013666301895285867\n", + "train loss:0.0014237240514040537\n", + "train loss:8.650932613670146e-05\n", + "train loss:0.00018333988240184316\n", + "train loss:0.0016084894343109462\n", + "train loss:0.010507380167872553\n", + "train loss:0.00027171275024165056\n", + "train loss:0.0004235431855046625\n", + "train loss:0.0008248793947197382\n", + "train loss:0.0009978094605020023\n", + "train loss:0.003470162421089079\n", + "train loss:0.00033223467295880445\n", + "train loss:5.902889460174268e-05\n", + "train loss:0.00017828316546947718\n", + "train loss:0.00042649773528573894\n", + "train loss:0.0006428779074085575\n", + "train loss:0.00010192116631651286\n", + "train loss:0.01570528480504136\n", + "train loss:0.0006643369417929383\n", + "train loss:0.0006881083049066118\n", + "train loss:0.00020101217887106952\n", + "train loss:0.00040427887220698594\n", + "train loss:0.00016870127999343336\n", + "train loss:0.0001170223805050098\n", + "train loss:5.40364776229251e-05\n", + "train loss:9.566062418562013e-05\n", + "train loss:0.0006399778116263151\n", + "train loss:1.7265005976848826e-05\n", + "train loss:0.0010508218748398318\n", + "train loss:0.00335709435895161\n", + "train loss:0.0007029123245917468\n", + "train loss:0.0017683701271607375\n", + "train loss:0.0004833753840440376\n", + "train loss:0.000538878813969704\n", + "train loss:8.816664367615469e-05\n", + "train loss:0.0011446740918959488\n", + "train loss:0.0003876886110401492\n", + "train loss:0.00016198636372687526\n", + "train loss:0.0013754244711397293\n", + "train loss:8.386619100245291e-05\n", + "train loss:5.45988646408109e-05\n", + "train loss:0.0003068779327934376\n", + "train loss:0.0025399836962673255\n", + "train loss:0.00012375890812875887\n", + "train loss:0.001011480451211636\n", + "train loss:0.002185332658291104\n", + "train loss:0.0005710736631396594\n", + "train loss:0.0006964381467156402\n", + "train loss:8.628368463067649e-05\n", + "train loss:0.004495527049952172\n", + "train loss:0.013089196746745963\n", + "train loss:0.0005102174787462591\n", + "train loss:0.0036629680550218625\n", + "train loss:0.00018905311553597739\n", + "train loss:0.0008466780891603237\n", + "train loss:0.00023206871022192266\n", + "train loss:0.00022453889171138684\n", + "train loss:0.0007484123594856247\n", + "train loss:0.00012627246448164135\n", + "train loss:0.0014397780567760982\n", + "train loss:0.0014710353081448249\n", + "train loss:0.0019050016134575742\n", + "train loss:0.00033739980958520833\n", + "train loss:0.0048669945150845596\n", + "train loss:0.00032157915705620474\n", + "train loss:0.0013140608942161813\n", + "train loss:0.0005311059299363021\n", + "train loss:5.411515254639891e-05\n", + "train loss:0.0015661317263335572\n", + "=============== Final Test Accuracy ===============\n", + "test acc:0.9879\n", + "Saved Network Parameters!\n" + ] + }, + { + "data": { + "image/png": "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RKQqDDdERESkKgw3REREpCoMN0RERKQqDDdERESkKgw3REREpCoMN0RERKQqDDdERESkKgw3REREpCoMN0RERKQqDDdERESkKgw3REREpCoMN0RERKQqDDdERESkKgw3REREpCoMN0RERKQqDDdERESkKgw3REREpCoMN0RERKQqDDdERESkKgw3REREpCoMN0RERKQqDDdERESkKgw3REREpCoMN0RERKQqDDdERESkKgw3REREpCoMN0RERKQqDDdERESkKhERbpYsWYKcnByYTCbk5eVh+/btbbZ95513cMUVVyAxMRGJiYnIz89vtz0RERH1LoqHmxUrVqCwsBDz58/H7t27MXz4cBQUFKC8vLzV9hs3bsSUKVOwYcMGbN26FdnZ2Rg/fjxOnjzZw5UTERFRJJKEEELJAvLy8nDZZZdh8eLFAACv14vs7Gz8/Oc/x9y5czucX5ZlJCYmYvHixZg6dWqH7e12O6xWK2w2GywWS5frJyIiou7Xme9vRffcuN1u7Nq1C/n5+f5pGo0G+fn52Lp1a1DLaGhogMfjQVJSUquPu1wu2O32gAsRERGpl6LhprKyErIsIz09PWB6eno6SktLg1rGnDlzkJWVFRCQzlZUVASr1eq/ZGdnd7luIiIiilyK97npihdffBEffvghPvnkE5hMplbbzJs3DzabzX8pLi7u4SqJiIioJ+mUfPKUlBRotVqUlZUFTC8rK0NGRka787766qt48cUXsXbtWgwbNqzNdkajEUajMSz1EhERUeRTdM+NwWDAyJEjsW7dOv80r9eLdevWYcyYMW3O9/LLL+OFF17A6tWrMWrUqJ4olYiIiKKEontuAKCwsBDTpk3DqFGjMHr0aCxatAj19fWYMWMGAGDq1Kno06cPioqKAAAvvfQSnnnmGfzpT39CTk6Ov29OXFwc4uLiFFsPIiIiigyKh5vJkyejoqICzzzzDEpLSzFixAisXr3a38n4xIkT0GjO7GB688034Xa7cdtttwUsZ/78+Xj22Wd7snQiIiKKQIqPc9PTOM4NERFR9ImacW6IiIiIwo3hhoiIiFSF4YaIiIhUheGGiIiIVIXhhoiIiFSF4YaIiIhUheGGiIiIVIXhhoiIiFSF4YaIiIhUheGGiIiIVIXhhoiIiFSF4YaIiIhUheGGiIiIVEWndAFERERqIssyPB6P0mVE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vheU0Nq6Tps2Tdx0002dWk40bNtgtutNN90krr766nbbRMN2DTfuuQmS2+3Grl27kJ+f75+m0WiQn5+PrVu3tjrP1q1bA9oDQEFBQZvtI5XNZgMAJCUltdvO4XCgf//+yM7Oxk033YSDBw/2RHlh8e233yIrKwvnnXce7r77bpw4caLNtmrZrm63G3/84x9x7733tnsS2WjerqcdO3YMpaWlAdvNarUiLy+vze0Wyns+ktlsNkiS1OG59TrzXogkGzduRFpaGi644AI8+OCDqKqqarOtWrZtWVkZVq1ahfvuu6/DttG6XUPFcBOkyspKyLLsHzn5tPT0dJSWlrY6T2lpaafaRyKv14tHH30U48aNa3cU6AsuuADLli3DX/7yF/zxj3+E1+vF2LFj8f333/dgtaHJy8vD8uXLsXr1arz55ps4duwYrrjiCtTV1bXaXg3bFQA+/fRT1NbWYvr06W22iebterbT26Yz2y2U93ykcjqdmDNnDqZMmdLuiRU7+16IFNdddx3ef/99rFu3Di+99BI2bdqE66+/HrIst9peLdv2D3/4A+Lj43HLLbe02y5at2tXKH76BYpsM2fOxIEDBzo8PjtmzJiAk5eOHTsWF110Ed566y288MIL3V1ml1x//fX+28OGDUNeXh769++Pjz76KKj/iKLVu+++i+uvvx5ZWVlttonm7Uo+Ho8Hd9xxB4QQePPNN9ttG63vhTvvvNN/e+jQoRg2bBgGDBiAjRs34pprrlGwsu61bNky3H333R128o/W7doV3HMTpJSUFGi1WpSVlQVMLysrQ0ZGRqvzZGRkdKp9pJk1axb+/ve/Y8OGDejbt2+n5tXr9bjkkktw5MiRbqqu+yQkJOD8889vs/Zo364AcPz4caxduxb3339/p+aL1u16ett0ZruF8p6PNKeDzfHjx7FmzZp299q0pqP3QqQ677zzkJKS0mbdati2//rXv3D48OFOv4eB6N2uncFwEySDwYCRI0di3bp1/mlerxfr1q0L+M/2bGPGjAloDwBr1qxps32kEEJg1qxZ+OSTT7B+/Xrk5uZ2ehmyLGP//v3IzMzshgq7l8PhwNGjR9usPVq369nee+89pKWlYcKECZ2aL1q3a25uLjIyMgK2m91ux7Zt29rcbqG85yPJ6WDz7bffYu3atUhOTu70Mjp6L0Sq77//HlVVVW3W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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ - "### Classice CNNs" + "import pickle\n", + "import numpy as np\n", + "from collections import OrderedDict\n", + "import matplotlib.pyplot as plt\n", + "from dataset.mnist import load_mnist\n", + "\n", + "class SGD:\n", + "\n", + "\n", + " def __init__(self, lr=0.01):\n", + " self.lr = lr\n", + " \n", + " def update(self, params, grads):\n", + " for key in params.keys():\n", + " params[key] -= self.lr * grads[key] \n", + "\n", + "class Momentum:\n", + "\n", + "\n", + " def __init__(self, lr=0.01, momentum=0.9):\n", + " self.lr = lr\n", + " self.momentum = momentum\n", + " self.v = None\n", + " \n", + " def update(self, params, grads):\n", + " if self.v is None:\n", + " self.v = {}\n", + " for key, val in params.items(): \n", + " self.v[key] = np.zeros_like(val)\n", + " \n", + " for key in params.keys():\n", + " self.v[key] = self.momentum*self.v[key] - self.lr*grads[key] \n", + " params[key] += self.v[key]\n", + "\n", + "class Nesterov:\n", + "\n", + " \"\"\"Nesterov's Accelerated Gradient (http://arxiv.org/abs/1212.0901)\"\"\"\n", + "\n", + " def __init__(self, lr=0.01, momentum=0.9):\n", + " self.lr = lr\n", + " self.momentum = momentum\n", + " self.v = None\n", + " \n", + " def update(self, params, grads):\n", + " if self.v is None:\n", + " self.v = {}\n", + " for key, val in params.items():\n", + " self.v[key] = np.zeros_like(val)\n", + " \n", + " for key in params.keys():\n", + " params[key] += self.momentum * self.momentum * self.v[key]\n", + " params[key] -= (1 + self.momentum) * self.lr * grads[key]\n", + " self.v[key] *= self.momentum\n", + " self.v[key] -= self.lr * grads[key]\n", + " \n", + "class AdaGrad:\n", + "\n", + " def __init__(self, lr=0.01):\n", + " self.lr = lr\n", + " self.h = None\n", + " \n", + " def update(self, params, grads):\n", + " if self.h is None:\n", + " self.h = {}\n", + " for key, val in params.items():\n", + " self.h[key] = np.zeros_like(val)\n", + " \n", + " for key in params.keys():\n", + " self.h[key] += grads[key] * grads[key]\n", + " params[key] -= self.lr * grads[key] / (np.sqrt(self.h[key]) + 1e-7)\n", + "\n", + "class RMSprop:\n", + "\n", + " \"\"\"RMSprop\"\"\"\n", + "\n", + " def __init__(self, lr=0.01, decay_rate = 0.99):\n", + " self.lr = lr\n", + " self.decay_rate = decay_rate\n", + " self.h = None\n", + " \n", + " def update(self, params, grads):\n", + " if self.h is None:\n", + " self.h = {}\n", + " for key, val in params.items():\n", + " self.h[key] = np.zeros_like(val)\n", + " \n", + " for key in params.keys():\n", + " self.h[key] *= self.decay_rate\n", + " self.h[key] += (1 - self.decay_rate) * grads[key] * grads[key]\n", + " params[key] -= self.lr * grads[key] / (np.sqrt(self.h[key]) + 1e-7)\n", + "\n", + "\n", + "class Adam:\n", + "\n", + " \"\"\"Adam (http://arxiv.org/abs/1412.6980v8)\"\"\"\n", + "\n", + " def __init__(self, lr=0.001, beta1=0.9, beta2=0.999):\n", + " self.lr = lr\n", + " self.beta1 = beta1\n", + " self.beta2 = beta2\n", + " self.iter = 0\n", + " self.m = None\n", + " self.v = None\n", + " \n", + " def update(self, params, grads):\n", + " if self.m is None:\n", + " self.m, self.v = {}, {}\n", + " for key, val in params.items():\n", + " self.m[key] = np.zeros_like(val)\n", + " self.v[key] = np.zeros_like(val)\n", + " \n", + " self.iter += 1\n", + " lr_t = self.lr * np.sqrt(1.0 - self.beta2**self.iter) / (1.0 - self.beta1**self.iter) \n", + " \n", + " for key in params.keys():\n", + " self.m[key] += (1 - self.beta1) * (grads[key] - self.m[key])\n", + " self.v[key] += (1 - self.beta2) * (grads[key]**2 - self.v[key])\n", + " params[key] -= lr_t * self.m[key] / (np.sqrt(self.v[key]) + 1e-7)\n", + " \n", + "def softmax(x):\n", + " x = x - np.max(x, axis=-1, keepdims=True)\n", + " return np.exp(x) / np.sum(np.exp(x), axis=-1, keepdims=True)\n", + "\n", + "def cross_entropy_error(y, t):\n", + " if y.ndim == 1:\n", + " t = t.reshape(1, t.size)\n", + " y = y.reshape(1, y.size)\n", + " \n", + " if t.size == y.size:\n", + " t = t.argmax(axis=1)\n", + " \n", + " batch_size = y.shape[0]\n", + " return -np.sum(np.log(y[np.arange(batch_size), t] + 1e-7)) / batch_size\n", + "\n", + "\n", + "class Convolution:\n", + " def __init__(self, W, b, stride=1, pad=0):\n", + " self.W = W\n", + " self.b = b\n", + " self.stride = stride\n", + " self.pad = pad\n", + " \n", + " self.x = None \n", + " self.col = None\n", + " self.col_W = None\n", + " \n", + " self.dW = None\n", + " self.db = None\n", + "\n", + " def forward(self, x):\n", + " FN, C, FH, FW = self.W.shape\n", + " N, C, H, W = x.shape\n", + " out_h = 1 + int((H + 2*self.pad - FH) / self.stride)\n", + " out_w = 1 + int((W + 2*self.pad - FW) / self.stride)\n", + "\n", + " col = im2col(x, FH, FW, self.stride, self.pad)\n", + " col_W = self.W.reshape(FN, -1).T\n", + "\n", + " out = np.dot(col, col_W) + self.b\n", + " out = out.reshape(N, out_h, out_w, -1).transpose(0, 3, 1, 2)\n", + "\n", + " self.x = x\n", + " self.col = col\n", + " self.col_W = col_W\n", + "\n", + " return out\n", + "\n", + " def backward(self, dout):\n", + " FN, C, FH, FW = self.W.shape\n", + " dout = dout.transpose(0,2,3,1).reshape(-1, FN)\n", + "\n", + " self.db = np.sum(dout, axis=0)\n", + " self.dW = np.dot(self.col.T, dout)\n", + " self.dW = self.dW.transpose(1, 0).reshape(FN, C, FH, FW)\n", + "\n", + " dcol = np.dot(dout, self.col_W.T)\n", + " dx = col2im(dcol, self.x.shape, FH, FW, self.stride, self.pad)\n", + "\n", + " return dx\n", + "\n", + "\n", + "class Pooling:\n", + " def __init__(self, pool_h, pool_w, stride=2, pad=0):\n", + " self.pool_h = pool_h\n", + " self.pool_w = pool_w\n", + " self.stride = stride\n", + " self.pad = pad\n", + " \n", + " self.x = None\n", + " self.arg_max = None\n", + "\n", + " def forward(self, x):\n", + " N, C, H, W = x.shape\n", + " out_h = int(1 + (H - self.pool_h) / self.stride)\n", + " out_w = int(1 + (W - self.pool_w) / self.stride)\n", + "\n", + " col = im2col(x, self.pool_h, self.pool_w, self.stride, self.pad)\n", + " col = col.reshape(-1, self.pool_h*self.pool_w)\n", + "\n", + " arg_max = np.argmax(col, axis=1)\n", + " out = np.max(col, axis=1)\n", + " out = out.reshape(N, out_h, out_w, C).transpose(0, 3, 1, 2)\n", + "\n", + " self.x = x\n", + " self.arg_max = arg_max\n", + "\n", + " return out\n", + "\n", + " def backward(self, dout):\n", + " dout = dout.transpose(0, 2, 3, 1)\n", + " \n", + " pool_size = self.pool_h * self.pool_w\n", + " dmax = np.zeros((dout.size, pool_size))\n", + " dmax[np.arange(self.arg_max.size), self.arg_max.flatten()] = dout.flatten()\n", + " dmax = dmax.reshape(dout.shape + (pool_size,)) \n", + " \n", + " dcol = dmax.reshape(dmax.shape[0] * dmax.shape[1] * dmax.shape[2], -1)\n", + " dx = col2im(dcol, self.x.shape, self.pool_h, self.pool_w, self.stride, self.pad)\n", + " \n", + " return dx\n", + "\n", + "\n", + "class Affine:\n", + " def __init__(self, W, b):\n", + " self.W =W\n", + " self.b = b\n", + " \n", + " self.x = None\n", + " self.original_x_shape = None\n", + " self.dW = None\n", + " self.db = None\n", + "\n", + " def forward(self, x):\n", + " self.original_x_shape = x.shape\n", + " x = x.reshape(x.shape[0], -1)\n", + " self.x = x\n", + "\n", + " out = np.dot(self.x, self.W) + self.b\n", + "\n", + " return out\n", + "\n", + " def backward(self, dout):\n", + " dx = np.dot(dout, self.W.T)\n", + " self.dW = np.dot(self.x.T, dout)\n", + " self.db = np.sum(dout, axis=0)\n", + " \n", + " dx = dx.reshape(*self.original_x_shape)\n", + " return dx\n", + "\n", + "class Relu:\n", + " def __init__(self):\n", + " self.mask = None\n", + "\n", + " def forward(self, x):\n", + " self.mask = (x <= 0)\n", + " out = x.copy()\n", + " out[self.mask] = 0\n", + "\n", + " return out\n", + "\n", + " def backward(self, dout):\n", + " dout[self.mask] = 0\n", + " dx = dout\n", + "\n", + " return dx\n", + " \n", + "class SoftmaxWithLoss:\n", + " def __init__(self):\n", + " self.loss = None\n", + " self.y = None \n", + " self.t = None \n", + "\n", + " def forward(self, x, t):\n", + " self.t = t\n", + " self.y = softmax(x)\n", + " self.loss = cross_entropy_error(self.y, self.t)\n", + " \n", + " return self.loss\n", + "\n", + " def backward(self, dout=1):\n", + " batch_size = self.t.shape[0]\n", + " if self.t.size == self.y.size: \n", + " dx = (self.y - self.t) / batch_size\n", + " else:\n", + " dx = self.y.copy()\n", + " dx[np.arange(batch_size), self.t] -= 1\n", + " dx = dx / batch_size\n", + " \n", + " return dx\n", + "\n", + "class SimpleConvNet:\n", + " \n", + " def __init__(self, input_dim=(1, 28, 28), \n", + " conv_param={'filter_num':30, 'filter_size':5, 'pad':0, 'stride':1},\n", + " hidden_size=100, output_size=10, weight_init_std=0.01):\n", + " filter_num = conv_param['filter_num']\n", + " filter_size = conv_param['filter_size']\n", + " filter_pad = conv_param['pad']\n", + " filter_stride = conv_param['stride']\n", + " input_size = input_dim[1]\n", + " conv_output_size = (input_size - filter_size + 2*filter_pad) / filter_stride + 1\n", + " pool_output_size = int(filter_num * (conv_output_size/2) * (conv_output_size/2))\n", + "\n", + " self.params = {}\n", + " self.params['W1'] = weight_init_std * \\\n", + " np.random.randn(filter_num, input_dim[0], filter_size, filter_size)\n", + " self.params['b1'] = np.zeros(filter_num)\n", + " self.params['W2'] = weight_init_std * \\\n", + " np.random.randn(pool_output_size, hidden_size)\n", + " self.params['b2'] = np.zeros(hidden_size)\n", + " self.params['W3'] = weight_init_std * \\\n", + " np.random.randn(hidden_size, output_size)\n", + " self.params['b3'] = np.zeros(output_size)\n", + "\n", + " self.layers = OrderedDict()\n", + " self.layers['Conv1'] = Convolution(self.params['W1'], self.params['b1'],\n", + " conv_param['stride'], conv_param['pad'])\n", + " self.layers['Relu1'] = Relu()\n", + " self.layers['Pool1'] = Pooling(pool_h=2, pool_w=2, stride=2)\n", + " self.layers['Affine1'] = Affine(self.params['W2'], self.params['b2'])\n", + " self.layers['Relu2'] = Relu()\n", + " self.layers['Affine2'] = Affine(self.params['W3'], self.params['b3'])\n", + "\n", + " self.last_layer = SoftmaxWithLoss()\n", + "\n", + " def predict(self, x):\n", + " for layer in self.layers.values():\n", + " x = layer.forward(x)\n", + "\n", + " return x\n", + "\n", + " def loss(self, x, t):\n", + " \n", + " y = self.predict(x)\n", + " return self.last_layer.forward(y, t)\n", + "\n", + " def accuracy(self, x, t, batch_size=100):\n", + " if t.ndim != 1 : t = np.argmax(t, axis=1)\n", + " \n", + " acc = 0.0\n", + " \n", + " for i in range(int(x.shape[0] / batch_size)):\n", + " tx = x[i*batch_size:(i+1)*batch_size]\n", + " tt = t[i*batch_size:(i+1)*batch_size]\n", + " y = self.predict(tx)\n", + " y = np.argmax(y, axis=1)\n", + " acc += np.sum(y == tt) \n", + " \n", + " return acc / x.shape[0]\n", + "\n", + " def gradient(self, x, t):\n", + " \n", + " # forward\n", + " self.loss(x, t)\n", + "\n", + " # backward\n", + " dout = 1\n", + " dout = self.last_layer.backward(dout)\n", + "\n", + " layers = list(self.layers.values())\n", + " layers.reverse()\n", + " for layer in layers:\n", + " dout = layer.backward(dout)\n", + "\n", + " grads = {}\n", + " grads['W1'], grads['b1'] = self.layers['Conv1'].dW, self.layers['Conv1'].db\n", + " grads['W2'], grads['b2'] = self.layers['Affine1'].dW, self.layers['Affine1'].db\n", + " grads['W3'], grads['b3'] = self.layers['Affine2'].dW, self.layers['Affine2'].db\n", + "\n", + " return grads\n", + " \n", + " def save_params(self, file_name=\"params.pkl\"):\n", + " params = {}\n", + " for key, val in self.params.items():\n", + " params[key] = val\n", + " with open(file_name, 'wb') as f:\n", + " pickle.dump(params, f)\n", + "\n", + " def load_params(self, file_name=\"params.pkl\"):\n", + " with open(file_name, 'rb') as f:\n", + " params = pickle.load(f)\n", + " for key, val in params.items():\n", + " self.params[key] = val\n", + "\n", + " for i, key in enumerate(['Conv1', 'Affine1', 'Affine2']):\n", + " self.layers[key].W = self.params['W' + str(i+1)]\n", + " self.layers[key].b = self.params['b' + str(i+1)]\n", + "\n", + "\n", + "class Trainer:\n", + " \n", + " def __init__(self, network, x_train, t_train, x_test, t_test,\n", + " epochs=20, mini_batch_size=100,\n", + " optimizer='SGD', optimizer_param={'lr':0.01}, \n", + " evaluate_sample_num_per_epoch=None, verbose=True):\n", + " self.network = network\n", + " self.verbose = verbose\n", + " self.x_train = x_train\n", + " self.t_train = t_train\n", + " self.x_test = x_test\n", + " self.t_test = t_test\n", + " self.epochs = epochs\n", + " self.batch_size = mini_batch_size\n", + " self.evaluate_sample_num_per_epoch = evaluate_sample_num_per_epoch\n", + "\n", + " # optimizer\n", + " optimizer_class_dict = {'sgd':SGD, 'momentum':Momentum, 'nesterov':Nesterov,\n", + " 'adagrad':AdaGrad, 'rmsprop':RMSprop, 'adam':Adam}\n", + " self.optimizer = optimizer_class_dict[optimizer.lower()](**optimizer_param)\n", + " \n", + " self.train_size = x_train.shape[0]\n", + " self.iter_per_epoch = max(self.train_size / mini_batch_size, 1)\n", + " self.max_iter = int(epochs * self.iter_per_epoch)\n", + " self.current_iter = 0\n", + " self.current_epoch = 0\n", + " \n", + " self.train_loss_list = []\n", + " self.train_acc_list = []\n", + " self.test_acc_list = []\n", + "\n", + " def train_step(self):\n", + " batch_mask = np.random.choice(self.train_size, self.batch_size)\n", + " x_batch = self.x_train[batch_mask]\n", + " t_batch = self.t_train[batch_mask]\n", + " \n", + " grads = self.network.gradient(x_batch, t_batch)\n", + " self.optimizer.update(self.network.params, grads)\n", + " \n", + " loss = self.network.loss(x_batch, t_batch)\n", + " self.train_loss_list.append(loss)\n", + " if self.verbose: print(\"train loss:\" + str(loss))\n", + " \n", + " if self.current_iter % self.iter_per_epoch == 0:\n", + " self.current_epoch += 1\n", + " \n", + " x_train_sample, t_train_sample = self.x_train, self.t_train\n", + " x_test_sample, t_test_sample = self.x_test, self.t_test\n", + " if not self.evaluate_sample_num_per_epoch is None:\n", + " t = self.evaluate_sample_num_per_epoch\n", + " x_train_sample, t_train_sample = self.x_train[:t], self.t_train[:t]\n", + " x_test_sample, t_test_sample = self.x_test[:t], self.t_test[:t]\n", + " \n", + " train_acc = self.network.accuracy(x_train_sample, t_train_sample)\n", + " test_acc = self.network.accuracy(x_test_sample, t_test_sample)\n", + " self.train_acc_list.append(train_acc)\n", + " self.test_acc_list.append(test_acc)\n", + "\n", + " if self.verbose: print(\"=== epoch:\" + str(self.current_epoch) + \", train acc:\" + str(train_acc) + \", test acc:\" + str(test_acc) + \" ===\")\n", + " self.current_iter += 1\n", + "\n", + " def train(self):\n", + " for i in range(self.max_iter):\n", + " self.train_step()\n", + "\n", + " test_acc = self.network.accuracy(self.x_test, self.t_test)\n", + "\n", + " if self.verbose:\n", + " print(\"=============== Final Test Accuracy ===============\")\n", + " print(\"test acc:\" + str(test_acc))\n", + "\n", + "\n", + "(x_train, t_train), (x_test, t_test) = load_mnist(flatten=False)\n", + "\n", + "\n", + "max_epochs = 20\n", + "\n", + "network = SimpleConvNet(input_dim=(1,28,28), \n", + " conv_param = {'filter_num': 30, 'filter_size': 5, 'pad': 0, 'stride': 1},\n", + " hidden_size=100, output_size=10, weight_init_std=0.01)\n", + " \n", + "trainer = Trainer(network, x_train, t_train, x_test, t_test,\n", + " epochs=max_epochs, mini_batch_size=100,\n", + " optimizer='Adam', optimizer_param={'lr': 0.001},\n", + " evaluate_sample_num_per_epoch=1000)\n", + "trainer.train()\n", + "\n", + "network.save_params(\"params.pkl\")\n", + "print(\"Saved Network Parameters!\")\n", + "\n", + "markers = {'train': 'o', 'test': 's'}\n", + "x = np.arange(max_epochs)\n", + "plt.plot(x, trainer.train_acc_list, marker='o', label='train', markevery=2)\n", + "plt.plot(x, trainer.test_acc_list, marker='s', label='test', markevery=2)\n", + "plt.xlabel(\"epochs\")\n", + "plt.ylabel(\"accuracy\")\n", + "plt.ylim(0, 1.0)\n", + "plt.legend(loc='lower right')\n", + "plt.show()\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "## Deep learning" + "### Visualization of CNN" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "before training\n" + ] + }, + { + "data": { + "image/png": "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6Z+G9lE58sgjw7W/+MUvUr232267UN3w8PCMtdWrV5fW1tba19p1111De6j8wR/8Qbh29erVqd6rVq0K1fX19ZXFixfPWP/IRz5Surq6al/vHe94R2gflc997nPh2le7n2arv79/s/V93/veV+bMmVP7WmeccUZoD5X7778/XPsnf/Inqd5bbbVVqG5oaKicdtppM9avu+660thY//ugzGdBKbln2XnnnZfqffzxx4fqRkZGZqz90R/9UWlqaqp9rfnz54f2UDnnnHPCtd3d3ane0efg6OjorF/rG0oAAFIESgAAUgRKAABSBEoAAFIESgAAUgRKAABSBEoAAFIESgAAUgRKAABSBEoAAFIESgAAUgRKAABSBEoAAFIESgAAUgRKAABSmuu8+KqrrirNzbVKSimlnH766bVrprvwwgvDtcuXL0/1vuuuu0J1AwMDM9aWLFlSurq6al/rvPPOC+2hctxxx4Vrv/rVr6Z677777qG6TZ1fKaW88MILpa2trfb1sjN46qmnhmt32223VO+lS5em6qcbHh4uk5OTteve9ra3pfr29vaGa7u7u1O9jz322FDd+Pj4Jte32GKL0PVWrlwZqqusWbMmXLtu3bpU75/97GehupGRkRlrk5OToRncZ599QnuovPzyy+Haiy66KNX7yCOPDNW92jk98cQToc+Szs7O0D4q/f394drFixeneu+7776husHBwXLllVdusPbKK6+Uxsb636f94z/+Y2gPlcxnceT93hyamppm/VrfUAIAkCJQAgCQIlACAJAiUAIAkCJQAgCQIlACAJAiUAIAkCJQAgCQIlACAJAiUAIAkCJQAgCQIlACAJAiUAIAkNI8mxdNTU2VUkoZHx8PNRkcHAzVVcbGxlL1GQMDA6G66neuzq6UUtavXx+61sjISKiuMn0PdTU1NaV6R8+vqqv2Xv0cHh4OXW9ycjJUV4m+d6WUMjExkeqdNf39Hx0dDV2jsTH3357RZ0e2tpT4DFd9N57BqL6+vlR9S0tLuDb7DI4+g6q66WcXfT8z92ApuTPIzuDQ0FCornrebTyD0bPIznBG9jkYff829Vkc/Tzo7+8P1VUyZxB9dmdV+Ws2s9MwNYtXrV69uixcuDC/s99CPT09pZTi/IJ6enrKggULzGCCGcwxg3lmMMcM5pnBnGoGX8usAuXk5GTp7e0tnZ2d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CJQAAKQ013nxY489Nqt/IHxjhx9+eO2a6b797W+Ha0dGRlK9L7jgglDdxMTEjLVHH3009A+8//7v/35oD5Vbb701XLtmzZpU7xNPPDFUNzAwUP71X/91xvq6devK+Ph47es9+eSToX1U9thjj3DtXnvtlep9/fXXh+qGhoZmrL3rXe8KzeCdd94Z2kPl2WefDddut912qd4nnXRSqG54eLicd955M9YPOeSQ0tbWltpTxGGHHRaufeWVV1K9W1paQnVjY2Mz1j760Y+Wzs7O2tf6p3/6p9AeKi+99FK4dt26daneX/jCF0J1mzq/Ukrp7u4uHR0dta/X19cX2kdl5513DteuXbs21TuSPV6tbu7cuaF7+JlnngntofLHf/zH4dolS5akep999tmhujqft76hBAAgRaAEACBFoAQAIEWgBAAgRaAEACBFoAQAIEWgBAAgRaAEACBFoAQAIEWgBAAgRaAEACBFoAQAIEWgBAAgRaAEACBFoAQAIKW5zotvu+220tHRUbvJrbfeWrtmuuXLl4drGxtzmfncc88N1Q0ODpbjjjtug7U999yztLW11b7WT37yk9AeKl/5ylfCtffcc0+q98UXXxyqGx8f3+T6aaedVpqammpf77777gvto7LllluGa0dGRlK9b7nlllDdps7pgQceCN0ThxxySGgPle985zvh2kMPPTTV+5JLLgnVTU5ObnL9P/7jP0pzc61HZymllC222CK0j0pLS0u4dtGiRaneN9xwQ6hu/fr1pbu7e4O16667LvQc/Na3vhXaQ2V0dDRc+/jjj6d6f+hDHwrVDQ4OlmXLls1Y32effUpXV1ft61155ZWhfVSiz/NSSnnf+96X6v21r30tVDc1NTVj7Zvf/Gboc+TBBx8M7aHywgsvhGt//vOfp3rfdNNNobr169eXt7/97bN6rW8oAQBIESgBAEgRKAEASBEoAQBIESgBAEgRKAEASBEoAQBIESgBAEgRKAEASBEoAQBIESgBAEgRKAEASBEoAQBIESgBAEhprvPiL3/5y2XOnDm1m9xyyy21a6bbd999w7VnnHFGqvf8+fNDdQMDAzPWuru7S3t7e+1rffCDHwztobJixYpw7QEHHJDq/Z//+Z+huuHh4XLXXXfNWP/4xz9e5s6dW/t6HR0doX1UTj311HDtLrvskup9xRVXhOomJiZmrC1Y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H4fqBgcHZ6xdddVVr3q2r2WbbbYJ7aFy3HHHhWufffbZVO9XXnklVPdq79tee+1V5s2bV/t6q1evDu2jsnbt2nDt5ORkqndjY+y7h6mpqRlrF154Yegezvz+pZSybt26cO0JJ5yQ6v3444+H6iYmJsojjzyS6g2vF99QAgCQIlACAJAiUAIAkCJQAgCQIlACAJAiUAIAkCJQAgCQIlACAJAiUAIAkCJQAgCQIlACAJAiUAIAkCJQAgCQIlACAJAiUAIAkNJc58UdHR2lvb29dpNjjjmmds10AwMD4dqf//znqd4HH3xwqG5oaKgsXbp0g7Wenp4yZ86c2te68cYbQ3uonH/++eHaK664ItV7yy23DNWNj49vcn277bYLzeCyZctC+6hsv/324drOzs5U7+9973uhutHR0RlrL774Ymlqaqp9rT333DO0h8qSJUvCtRdddFGq96WXXhqqm5yc3OR69Hd56KGHQnWVs846K1z7zne+M9X7kksuCdUNDw+Xs88+e4O1u+++uzQ31/roKaWUsvvuu4f2UDniiCPCtffee2+qd0dHR6ju1Z6D8JvIN5QAAKQIlAAApAiUAACkCJQAAKQIlAAApAiUAACkCJQAAKQIlAAApAiUAACkCJQAAKQIlAAApAiUAACkCJQAAKQIlAAApDTXefHk5GSZnJys3eT222+vXTPd4OBguHbZsmWp3kcccUSobmxsbMbazTffXLq6umpf6+KLLw7toXLLLbeEa59++ulU75NOOilUNzo6Wh5++OEZ6wcccEDoDHt7e0P7qER/j1JKOe6441K9P/axj4Xq+vv7yze+8Y0N1pYsWVJaW1trX2vOnDmhPVSiv0MppZxxxhmp3sPDw+G6Cy64YMb6wQcfHDqPNWvWhPZRueyyy8K1ixcvTvX+/Oc/H6obHR2dsbbFFluU5uZaHz2llFLmzp0b2kPls5/9bLj25ptvTvWOzv/g4GC5//77U73h9eIbSgAAUgRKAABSBEoAAFIESgAAUgRKAABSBEoAAFIESgAAUgRKAABSBEoAAFIESgAAUgRKAABSBEoAAFIESgAAUgRKAABSBEoAAFKa67y4q6urtLe3124yNDRUu2a6P//zPw/X/uxnP0v17u7uDtWNjo7OWLv88stLW1tb7WutWrUqtIfKRz/60XDtwQcfnOr93//936G6TZ1fKaXcf//9paOjo/b1ttpqq9A+KmeeeWa4dunSpanen/zkJ0N1Y2NjM9be//73h87v+9//fmgPlQMPPDBce/7556d6H3rooaG6/v7+csEFF8xYb2pqKk1NTbWvt3bt2tA+KiMjI+HaN+o5ODw8PGPtne98Z2ltba19rWeffTa0h0pzc62Puw10dnamel966aWhuvHx8VRfeD35hhIAgBSBEgCAFIESAIAUgRIAgBSBEgCAFIESAIAUgRIAgBSBEgCAFIESAIAUgRIAgBSBEgCAFIESAIAUgRIAgJTm2bxoamqqlFLK4OBgqMnIyEiortLf3x+ubWzMZebR0dFUXXV2pZQyPDz8uu6hMjQ0FK6N7rmyuc4vO4PRukp2hjOi8z8wMFBK2XAG36h7OHP+2RmMnl9Vt/EMjo2Nha6XuQ9Lyb0HTU1Nqd7R96Da8/QZjP4e0XOvTN9DXdln8Pj4eKhuYmKilJLbO7xeGqZmMamrV68uCxcufD3286bT09NTSinOL6inp6csWLDADCaYwRwzmGcGc6oZhN9kswqUk5OTpbe3t3R2dpaGhobXY1//501NTZW+vr7S3d1dSinOr6bp59fY2GgGA8xgjhnMM4M5G88g/CabVaAEAIBX4z95AABIESgBAEgRKAEASBEoAQBIESgBAEgRKAEASBEoAQBI+X9U68Vmwp0SQQAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "after training\n" + ] + }, + { + "data": { + "image/png": "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H513/aijjgr9I/cTExOhfVQ++9nPhmvPPffcVO8//uM/DtUtdK9G74d//ud/DtVVjjvuuHBtT09Pqvdpp50WqmttbV3w+h/90R+V9vb2pte79tprQ/uodHd3h2tPP/30VO+TTjopVDc6Ojrv2sTERGk0GvtkrWbUarVw7eGHH57qffLJJ4fqRkZGFry+evXq0tvb2/R6119/fWgflSeffDJce8EFF6R6r1ixIlQ3OTk573OsXq+Xer3e9FpXXXVVaA+Vt7/97eHal19+OdX7xBNPDNU1c06+oQQAIEWgBAAgRaAEACBFoAQAIEWgBAAgRaAEACBFoAQAIEWgBAAgRaAEACBFoAQAIEWgBAAgRaAEACBFoAQAIEWgBAAgRaAEACClrZkXr1ixoixZ0nwGrdVqTdfMNTk5Ga5929velur9mc98JlQ3Pj5e7r///t2uPfzww6W3t7fpta6++urQHirr1q0L137oQx9K9f7iF78YqhseHi5f/epX511fu3Zt6Aw3bNgQ2kdl48aN4drnn38+1fu0004L1Y2MjMy7dsUVV5S+vr6m12pra+pRMc9v/uZvhmuPPfbYVO8zzjgjVDc8PFy+9rWvzbs+Ozsbeg5+8pOfDO2j0t/fH679jd/4jVTvI444IlQ3PDw879rjjz9e2tvbm17rhz/8YWgPlV27doVrV61aler9vve9L1S3t2fdiy++WMbHx5te75FHHgntY27fqIGBgVTvU045JVQ3NjY279p1110Xup9uuumm0B4qmc+ClpaWVO/jjz8+VDc2Nlauv/76Rb3WN5QAAKQIlAAApAiUAACkCJQAAKQIlAAApAiUAACkCJQAAKQIlAAApAiUAACkCJQAAKQIlAAApAiUAACkCJQAAKQIlAAApLQ18+LzzjuvdHR0NN1kx44dTdfMtXTp0nDt7/7u76Z6n3feeaG64eHhBa/NzMw0vdbo6GhoD5X3vOc94drTTz891fuhhx4K1Y2NjS14/dRTTy39/f1Nr7fffvuF9lGZnZ0N17788sup3tdcc02obnJyct612267rXR1dTW9Vq1WC+2hsnXr1nDt7bffnur913/916G6vf3Ol156aeiZtGXLltA+Kk8++WS49i//8i9Tvf/sz/4sVFev1+ddW7lyZens7Gx6raeeeiq0h8qjjz4arr3uuutSvVtaWkJ1ExMTC17f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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "\n", + "def filter_show(filters, nx=8, margin=3, scale=10):\n", + " \"\"\"\n", + " c.f. https://gist.github.com/aidiary/07d530d5e08011832b12#file-draw_weight-py\n", + " \"\"\"\n", + " FN, C, FH, FW = filters.shape\n", + " ny = int(np.ceil(FN / nx))\n", + "\n", + " fig = plt.figure()\n", + " fig.subplots_adjust(left=0, right=1, bottom=0, top=1, hspace=0.05, wspace=0.05)\n", + "\n", + " for i in range(FN):\n", + " ax = fig.add_subplot(ny, nx, i+1, xticks=[], yticks=[])\n", + " ax.imshow(filters[i, 0], cmap=plt.cm.gray_r, interpolation='nearest')\n", + " plt.show()\n", + "\n", + "\n", + "network = SimpleConvNet()\n", + "print(f'before training')\n", + "filter_show(network.params['W1'])\n", + "print(f'after training')\n", + "network.load_params(\"./params.pkl\")\n", + "filter_show(network.params['W1'])" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from matplotlib.image import imread\n", + "\n", + "def filter_show(filters, nx=4, show_num=16):\n", + " \"\"\"\n", + " c.f. https://gist.github.com/aidiary/07d530d5e08011832b12#file-draw_weight-py\n", + " \"\"\"\n", + " FN, C, FH, FW = filters.shape\n", + " ny = int(np.ceil(show_num / nx))\n", + "\n", + " fig = plt.figure()\n", + " fig.subplots_adjust(left=0, right=1, bottom=0, top=1, hspace=0.05, wspace=0.05)\n", + "\n", + " for i in range(show_num):\n", + " ax = fig.add_subplot(4, 4, i+1, xticks=[], yticks=[])\n", + " ax.imshow(filters[i, 0], cmap=plt.cm.gray_r, interpolation='nearest')\n", + "\n", + "\n", + "network = SimpleConvNet(input_dim=(1,28,28), \n", + " conv_param = {'filter_num':30, 'filter_size':5, 'pad':0, 'stride':1},\n", + " hidden_size=100, output_size=10, weight_init_std=0.01)\n", + "\n", + "network.load_params(\"./params.pkl\")\n", + "\n", + "filter_show(network.params['W1'], 16)\n", + "\n", + "img = imread('./figures/lena_gray.png')\n", + "img = img.reshape(1, 1, *img.shape)\n", + "\n", + "fig = plt.figure()\n", + "\n", + "w_idx = 1\n", + "\n", + "for i in range(16):\n", + " w = network.params['W1'][i]\n", + " b = 0 # network.params['b1'][i]\n", + "\n", + " w = w.reshape(1, *w.shape)\n", + " #b = b.reshape(1, *b.shape)\n", + " conv_layer = Convolution(w, b) \n", + " out = conv_layer.forward(img)\n", + " out = out.reshape(out.shape[2], out.shape[3])\n", + " \n", + " ax = fig.add_subplot(4, 4, i+1, xticks=[], yticks=[])\n", + " ax.imshow(out, cmap=plt.cm.gray_r, interpolation='nearest')\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Classic CNNs\n", + "* LeNet (1998), by Yann LeCun\n", + "* AlexNet (2012), by Alex Krizhevsky\n", + "* VGGNet (2014), by Karen Simonyan and Andrew Zisserman\n", + "* GoogLeNet (2014), by Christian Szegedy\n", + "* ResNet (2015), by Kaiming He\n", + "* DenseNet (2016), by Gao Huang\n", + "\n", + "The advantage of deepening the network by stacking small filters is that it can reduce the number of parameters and expand the receptive field (a local spatial area where changes are applied to neurons). In addition, by stacking layers, activation functions such as ReLU are sandwiched between convolutional layers, further improving the expressiveness of the network. This is because the \"nonlinear\" expressiveness based on activation functions is added to the network, and more complex things can be expressed by stacking nonlinear functions." + ] } ], "metadata": { diff --git a/figures/dlscratch_cnnlayer.png b/figures/dlscratch_cnnlayer.png new file mode 100644 index 0000000000000000000000000000000000000000..eb461e93af7da44f06783be15d8db3e52446acc2 GIT binary patch literal 17642 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 A_y7O^ literal 0 HcmV?d00001 diff --git a/figures/dlscratch_img2col.png b/figures/dlscratch_img2col.png new file mode 100644 index 0000000000000000000000000000000000000000..2dfcf7e818f719dad66c4cc9b9b6214487c8a8b6 GIT binary patch literal 47906 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 literal 0 HcmV?d00001 diff --git a/figures/dlscratch_pool.png b/figures/dlscratch_pool.png new file mode 100644 index 0000000000000000000000000000000000000000..34896a1c6a3f90d4d853131ef9b6efef457b31b9 GIT binary patch literal 82599 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≦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 literal 0 HcmV?d00001 diff --git a/figures/dlscratch_poolflatten.png b/figures/dlscratch_poolflatten.png new file mode 100644 index 0000000000000000000000000000000000000000..d0a94d9c9c35441568c991c0b50a7a33177c5934 GIT binary patch literal 72379 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 literal 0 HcmV?d00001 diff --git a/figures/lena_gray.png b/figures/lena_gray.png new file mode 100644 index 0000000000000000000000000000000000000000..fe2fd39899ca9088a44bbdd98625528722d870e9 GIT binary patch literal 42588 zcmV({K+?a7P))vLqHRpV);bQYIQmWgMN~1J1s-#i;9{@^hEo=k91XVhk)Zl(UefIcO z?6)MVN3<#p;VwG+d|k}7Z3pP478QM%7dux`W@%|=i8&-JG$iJ$4lRaQCac&Sl5}gH zZqXuTEIv4`4e*p2I>d)Q$f@77KA~G}TVuc^npX&sOij{UG^_M`w-XxV`udOl#ZVp< z(pOT%CA5mufCTqLB5AP=5qbV?eJA*LJpP>rKz}Hi;iw2JWU!Ss6&6urJU%{*T^(-I zDy)^<3vnE|3}Xj&rH;ONX;DMmBAQWB(L7bKgOr3Mh-67H1?o()l0Zp?pisj?YZNI` zo+?OCA|s-jg|^Wp)fFXWOeqjqO$7CICOl;kB`L(iB|9OR!X6UQsHJWwH*={#!HV;= zefEF-WBuEOY^B9Hpw5=ry7VfE%x&yrkJK`AkyIGWkGVCBi84B;lq;*NW@=DGssbp0 zQ6?Fus${W{38BSsLsJYYQ6)n~%F1=`aEmrfvIInxG9W|ByvRMxvNML zfh&W8WVeihAmO4`gB6BQsB4LLHn0on0t=-Bs+ekQ7*KehEdvbQF6+Mg*y*O!)PiXP zL1C5<;w;q`cy~V{P+XpU=5eHbbnfT)>i zB~-$5-$!g3rY3+!a|WjYp(sc#t+7FxCWvH7mC-3xC|3EDQ71D9ggU;oLbZ)T zZ>WkXcWu=*bd;$Q?|$~9P0&;SPHH7JlUmF?mb55M0())D$FURHxlT=FMQf{uLZr~j zc2f~eOR%Jp%!Eo~9-Y;S7C>>Z_6dMQlL{B1i%?ojJH@54DCveu+l*qYD52J7u5omM z8#{#()dOjoQLq#fMipq@c8$tx*FLL4sUmMLWAUYuLb^9}N6UgxCh5}g>Zd=-Yw9lg zLq%w@i6kI%HK~;3Fvr-pZM}#<+i1D>O(qZ5>eWCiD%x(TDHO>~lq{r_csfe0+&c=X zJv0l@T&_hl-6TUm2^34xj2QrxM5Pp??V=DvAhTqJG#IApu%JaMp(wbD8^m18QnV1c z9=lqxpyM;LGNh$womv)dM|N16rM2~|Pky}4Xk_YdW{D_}kv&NQC5)6oX9lJX*D|VU zA1zX18oDig>Jbg&+2U{&uEd7YMa>p*6x`$Vv>^a=jnuV2y9SlbzG03CpZ|_t|xCIxiLcU~xby61;F^9=1YErd=SR zRpwPlh54qtz>y#lDAt+Vu~Se~+rL<)w6Wk~tY~AwtgKS{+dusDs>2c`P5+KWBLoal zG!vF33ab#6V>|B~V9|8|EDGqV6^SX-xHmR)8^HAK zg;tYWrHD(m5yWES^&jb7nQi6Tsee0(uQ^4hm68Gvf|Rx5aea(SsZmN<>Zq0?T8*k@ z)sm&8mzH-7RaA*ra(7w|nNZW-hGtfZD;q>d6>8X3T;YO}kStV!SX^6>Wl|7iY4@R# z1YwFM)JUdlB_*YZ7y_q+C`yRXy39wDQc>ddDnL#-g)qt%tW@;E7eD>vzFl_<(aEm* zyX;k9u|#2JV8RPkl8CX75hA@TNtB2!OKmtwJ8eNoQ< zuq%R6L#v`e4dQ7f5LSVs1@uA&3UFmGp^-vXNuLhgw3T84Qc6d6E(y);9HP_{w&dcdQ(2nlJ@g$2S5)S;SGFB=xAr7C4w zrDRIFHD|AAgGwi26INAa5k!VU0|jn^qy`d%xXQ=~6@Rou!49C52$({EM3vRKi%3z0 zsiY{BQGS`sigaS1&f0t%Kslnkl}rha^QhaR7n6Wfs#OJQ*VoOktSYD$SB0lB(hQh3z$_%RCywjwJW$@b(%y=tj)Xcmusd5 zBoDNfU;fK~eZI)~Aj=Y-V)L%Qm9U7$Mz#dSb(1|Q!i2j#IQKY~d9qScoTdVq_8G~D zK2oZXRq9zOZQs0!jIFYaX3ljg}5OoHWf zawEmFGTKnd%mSMWLX4oKRH+8akYI6B%##l&}3#R(#iOPT&%tDq6e7KvRUF+>D}SFYPb4xc%97D_-Q zq=AcQ8WcTY1E$U*su1Q~YOrsWY@x8C4Xu)zF9PBrBWf@JQ zvN*yw>riP{LPapMg{52Q&eTc@1(H2?GLtS4j^kpKqU3US$7w*y*o$xeTeDy2b!@)=s-ly7{(C9n&Z0BEjk>HMcWqFOsOQ4gOHXG-6tDBSK1=mKp!S- zSsGc2%7n}{WCBoC5=eTIqFP$nl6#|U+NUASoR!t3lEr9V+Bd*}*?UqT7$lPnA%+O5 zvZz@#WQgus10kpO|06KINJMeKrh4;}pA1Gzo27#ZEg*;f4$(-lh8S5~=8!;3rD_?h?XA>Vfg%cmp{OEguENwxG`FIZGBTt0m;Pk!UZs_K%`A^> z0zp{?Q+9F+jY@OKuw7(SN!7w0S^|(3u!^!#t&EB=cu8TPh7<|gjx(tc$?5K^GBr-H zFMsmWQIq%9UqP9XL)5OS7WER%TTG^e_b8=DFARz}%sL2W283>g` zuu~ExilV+)3sPY|4V!&$qoAkB?Az^Ew_m{zp8kcyx39bwkc^&{H7H#i0GLCgmAKN= zZS+D2HVwYVVTnCsQFQ^ig!{EL3zNxz@U3m}P+!`q#Uzl8%ItAR%IqXoOOF1OU`yTD2XeZtm>j z-@Ux=ynVjh__1<2jt|E#zjyoIeMMxIF2FK0nwXDpk3^U$Tm>v_ zt6$FRES#i-g{smd8%3hG5~Rh!Q9h*zVF5HLI57Loig^$2YVV!eOP%+4wmf;by&mHB zVaa{|^6>oGx1UOkF?82RZOLTY$z-@zNJNPygHBbmC8J3^co zMcCyuDM?l6{bf1Wmw)={wZ3NU(4xAml2xXqKdfv%N&1LA!Y-34r2q}x!uK`9rEN1w z2D*oq1I4B&+bxwQ1IX?Mrn03BiiB;T6MR0MCe63BF~8VOR~@IVXTz6br*|SZAAS5m ztV6w0Gd(3;RN5d4YiYI|KuDssne}92wdg*T1jUgp0*>IyDjg+^YN0~SdH!BkR=^TYM>F_n`0cdsGGN^pT8u}H{1@l*hflxS*mgr2HbY2e z8kkv<)i#YOXPpH?x=>IE2^IoK-7P8rX4udoQ&C`Ie>$50Vxm9(@xOJ(db)_As-*cC zx0N}T71SS6p;lu=-0v>)B1%e@R_t=wA1^yprVLcIgp6$=L!*Ux144Oe{o0(=0O95v zVt?<&GR3>Im5yb8m@jyGIUtX3?GW?hvT?oLd2{VgA9Rx3=i_%D9#^xJ(i~w`#>~hZ zmFc+~x=$h9Dugu+^Ax%i5>^=&^T;xkqz=$6m{RL>OC?E>pZ+6e9AV=iKFK&rO2v}V zE*+`AW!==bJui2cH5Y45TNn_U-09~vR8K?t6da|yvVVQUHyg|rIoh z{x*ylV;k4|JD->7pau*}g?Lg(}?S8q%z0O&Ay!qDt*7leaVUA>#NM)|joh7}s zxlBn&2?YU9Wr7tcOt3~~BLRVENtUY1v8zedXa8`Ab~l-<(1<;$)9VcPh;I6O){vvd zcz6HcOP^ZTvMLnSvo4RZd8G7KvRWemwaOgm(bf{ylmbUfR3_a1%Joa0H{X*v)lE(N zFrBwUG#Pg{OuRW>j?1}jmh5$%4`)6-hqkfu$p`)C84+M&*F-t16!4y9iit2o2p~}m zNiwZ=?-kjzLd60ZiWDO!1milNTBE=FAAi5^;5-`Oar8`-p$%8j1-nor10LJBTqBGD zu&7yBJ+kICyqk?ZF>y!DH4NLvTBT(1-2!P^dp7Nr_GJ5m%{3o2R93Ei^=aeQ?s<7D zlds!4;|JGQFDbmlay;wd{AQj!+FY0T!GHcF!z0EpFG2#?DkU8wf~o>tv?SCL5!_j7 zle=OUSdCy#2 z`V6n0AKo0UZ)dFI<-_`H-fG6q2G;H0{132gm-F!2va$%Z5-hDHGfah928|jv^6XIq zA}nf1q?&6Xsv%lIXILLU+xENP|L@N^hxVM;tL^C*NzrmkmpE9Fj@cr`m=~nZT z*=SnK>|oYe_v<@uw4BpsOhX)~W-Yz98X^L*%4}#~cd~qXcM4S=4L0s5TXeFp5DI$g{O+ZpLpT7HF|KVk!u%v~BvM%k=nvm7>*yF47qJNL+*w*W-hqT*i zo(^5nk{F?T#rb-!=yq6JANyQ2&}xn15(Uv>gpJWMB)CbmmtVG8)X%=SVp*=IN7-(- z8`Rx=z>6_I>byRAh(*TD)4O^ho1Gqb@}THd)goSe`13c3NE=gfPj~G*kkmydmR_WPaoI*#r$wL_lL_(zvHpa2fIvG+rG#ck^b`cK7NApdalfD0*N(B6j9KI z?9_x}#CpB%g=|U+XMAlyDRHq7Ff0<^T(hU56G>B@&Q=M9>N=B@3o-r>E! zp?`PmG4^+_A2rR6leK0@Wo0tM$Ggj@mNM7u&?=y`v|UlIKy;ZRq#`L&RZ^;HpZ&orgfGBsxmw9y)1jW6uR+L@ zdbQTmzxI9oVMLuD?!GFsw5QX&kk(3z64>*C^W?M1I7S@#=iOO9-K!lb0 zjX&OFwcT{)&YZcNZHl0fm*w-9$!VM(Znov=>*u%U-VUE1509*yJMD6oei`kfo72>A zJiYktKlPy~>`tk@#_V;|L}IB*n!tU3bQx?#^CAP8P-a0&T|pBgrq}=Clg*}$LoI;F z4W*siUI#z%+2u}-zx;z2`deJL%e!~0k$G4SlbY&4N|ucD?Q+R;kKXE$5>hUPDCkfP z8wbv??3whEru({sW3E=gTBN*g-pyCZww^8@e%i*fM?Sf}d~@?+AGdZdH|u&dTo3Yy zTKDJA7cTD1R5|J&4iRx^a2Ql{T4*v4Lsse<xizUsp z6=qp~`hTpp6&p)R&2nosn{5Y)X@cQg-~aP38uV}FdO1I=tyRf<)Tv1;WeU@4+b{BV z15M`Wk-|KfXVTdy%_%t*Rg&xu+aLKjnRMH#mbgsZTX8?`H}!UNa_aqzzEI145G<IfOkVGwRa=z|!lLJ>dB?uYIrSsO0m&3iZ?e_7s&n=#v z=fnNs{m(e>=lSr{?eXU07ti;q0hrUJ?_u8jbo!$WJ*#5bz+&sB6Ii88aqPZ*b{)qP ztyGW|G*4(1T57sT*T;YTFRszWhsf>Zjr-bFZQXA2>66m;w)Mp?zIPmv`nUYu{ljQf z9eJb2rbf0Ql!{z4uGjr4*`bjlDmj{)P^9mqU|2&zDx>>(@0G3AwmtJTtzX-@_h@^a zVmb@%KX{mR93P%t^~rWQOs@~8cbEIaM;};oj-3`MLjqF-eX956kN46vMyS(fn@xKv zgDxQ>*M~>$dCH|GK}d!r16379=}q=O`KOVGod>;b>n>S)&AryhY<->kx_{#rUo0|m z$mM#u+gnPNBGjQNHN?XeE@LIheo$kpSyRz7GpM<$0Q=m`w1^)+wN*1E}5 zU^vqey^3Y%VW=bSAI^7|hY_nu2m(lBNfQB3pZ($G>Gw}fw2xhTVYAi@hIt(J>gXSQ zw9KO8Zj$}-_}FBoT}@pejAWup2Ni8vB@*kdQrN~=eS~S%pvKU$${j-2$?mUY&6a2w zf%(D*8C{NVj?&up;)*&?=<&|380$CZSBJX$>AUa!()&C7JnUBX=@MCkSDo7|syf+k zAN_iDTpqV_wW>~%rP^euLLzG0eY*}9^fsv&Sl$E!Mt%6>PnS2JJgN@*9*G@%W)GX| zG+#t@nO;0yEF*3gS?}LTYS(O=_Y&VQLQ@-3gjv(j+n5d77Yl}sxz?tsxaA-l5Gl%O z)7qz7*208WT&C-dbve9!c7E!5dNb?v(r-V(wBKA#H=pNxdHqHGmFH%5j*?}wa$K*T z)5}G+IQxE8`Q8r~T->wZlF|%nH)0WaJE{K4qZpJ0jeLTGbZJ5miS+fFmn}S+ zv8kIT9V$z-!)6KzVp8+s?fuB6U)uw>!@DOnpP$?x$FsW|ySs61uik%adUpdX<8s(DhQdCj3R4ZV3>#$?s8Kl7>9 z@y#!KSI2iBfB)ImRj-C!v61P1)3eQ23JW5>2{Jn(J^MF4`w`K2 z?4nbW#Xv=k%k_L8$joeZlAtA0s?0^w|KES(GNo$twkJJ@aNKPcJnhN;(f3|V6>-&5 z(?m+GYn6Jo5!zIp$(F8t03{anU{X=qkn^?r*yN%km8uz#P0N>G(+ALi^I%optrxyK zdK>r8#y0Kcmy|f9)nj~W=P#50{&)6Q-RnA?J05X(ciD7iwfj7Hy6zEdT}02SeeMtQ z?>^P=%7nV2*n~bZ=hj>1ZRhpz`pG5tVaiN|g7UL}RX~=PZR>$77wOENn)ku!@bQyb z_T3LRT|+@R^e$3<9#o{3DG^FvwG6}6mJ!Mpt1MMDY^q7js$#OfU&Wo@{P|WpmYj;E zv9L{X6E~kvQ{dRKy?e1y_IAh9`RTsJzxTZ-(Vwg}JWuy}*zWs$)C%IX+VV!Fr6h(A z#CeBv!Z&{9L%l}sF32JR3K2NV*w%{e-Rpf_*L};Z1V!}qAKvf9dfqd7cbVOKlbUQ= zx?T5|Kltc~ja!?#xF$rh5=frlTaJKIgeizZl}_eoAZquXgF*p7hO#j-w9CHbU#$Cv zo3n01-TU>1(*fj%D_XPbEBpAz&vU^PPYOb60GS` zCyY!-?T9kd(6t%=%a?cJTQjeS&}yZO&_uSJlDgi1_4?g`fBODmIxk!?jj6!Fo+fdp6Xh5T*1$T;2mj!oU$nxRt`WsVbgR`St5>(jA`7gCF_Kz*Pa*MnWE-Qv<@wq3?Q#0c%b}KS+i@&i*AZ3 zw-V%szx+>5alPqPfMjNc%yHF$m_p9Xt^b4X+;H8`-@n1L_CG($>GI(hi&gl{<(y(8 zP?UYt)AzrBGbbo>Gr?}vM@U`~(hzBA5m)-8#f<+8$)ETw$CmMX?r$Tuc(J? z>@oS2U>K`%k_>gM%o_OR{S&(xdC0c9Wsk%9{Pj(F+nSa5g-^?`uTGaQjz9SD{Nm*! z-{`!mzP&!{yPc1)&Gqv9k{x?H=X}#*dYq5fG8>jzA=sDv?#GX7jst@`ErqC9wLi1EV@4jAxdI*>$YR*77)vK9fm zT&5`zD6|SO6eFa(@7pC(Q?m&S;!r7}7D`0^>fMuL?Hx!vryceg*PE>m(%hGwyp!;4d@((lWDnG}n)^VO?_=}Yaq~OT zvK;6kQqCl$Y=FMw@L&DcAC5o!<8R+QnabU#(_h5|saTuX^*kO%@vJF0M!x*kx1XAF z=xpweVwq)%y6kW@qaI|J($dn&3?R z%bU~V;|cS49Mg~Un`(BR9`AVbYY|6#*!Iia>G_+>N6%j8^|)+@75k7_wtl_f14*WG zpdJD);z+Hj&V%~vzx*(0Tcd!Gig0P?>vkRW-T&@y9^d^F{L0+M7;Ek;j~_an8JnE8 zL`}yv1~)v6!~Ct62f3~_b*&0P(swDrqDK)SyuzoQQK6m@B{f3bYB4=en`o1fLwcbx zcFUI5ir<3XX8_3REp#mNtLM)t<8I2gFP}@keuyv5U%mgUw{6D5Mcds6um9w9yNvm( z+pvC}A8s~?>!;HbarLWbCAIG&Bj(*~Drjvy{th2A6g4S3CyI@0Vo-nezy03y<^TP` z#|I4Gl9$baUt@KWBIl`sm$#1xnR=g&`r_M9YbcLL5s38y&f+1LEj$s_pj&U!>_)l z{NV9%RXM%?$&>fayV9TCzj!#-10PQ3ytZ$ttPc2ooHL>GFlx-KJ(ab0{l;JWXPGUy zs}%RD?TYh=)8F{}FD`%l<6nC^MLKHudV{dmf2N_nT-su-c0ckGe%p6F9)q zp)Og?RHS>8h`6;99X`bnmQ+G&esCIQP=aBFtW?#U27?xR;RlcBZ~r9Qd%et2>I^x2HQQ=V`7X8G!cFL#LbMWlr7qc8o@BtzT;=aY*Cg1)0|Ka@bNAc^=YA?oKiX+p>0Cbx7Tz8pw92~O8 z@cx}|_eAQs99`_zK^;xTH@X@eJ~1%oJ~#XebZmQI7%*VN25eyfLjxNSJV}B)k|>iR zMNuT1O?KXSe>;5XjZdhmwU!UI{=_P*Rrht>1=!u)t9}P9WDlUssmaa^sXyvO&In7hD_tx;TM`E9Y0%5XgWSRXczk{Yxb<~ zX1!I{yVv3Q;eNuAJtI#`W^dQ?;KPp&Z-^Hx=!L*i2)6f~A3cf#BcZ`yV>fe~4rM3*cM z%A~v{Gz8`*hd>rGRK<$}767oiAm8ZgZK`d+(9Zxjkgrbj;y83ZUGMhY&UkV7lJUXy zCo?ZM9{KCC@r$WDcbS&+E?0|fIJC-*vGvN1fI61#=fahGO;~l4G+DVVj!lnktfTE- zYP~t1y?PvbwX!&_evJF2a20Ya=YdjOwbVV)(~4ouh=r|F8<5HP;%6`49J7-fh`T$b zqNxn>wxQcdPJa9MzcYPyL3X@Dnr+}>E?I)Og5xL9Rs_&P84b4NUi%PsPYyhzN=4?b zG_adzG4)X_xi=c|VLx#F|x zIvyd&>Y#)n^*du3W{0!By_g|xwGmlN#Wn+}A^*0W1eK}hk?=`A!g$fWtMM%g{Qu5R&m7H5s&l*e8 z`Q&pa4$xPetAs|yfsNJK3yb+c6aZbZ>>w-fi-RDMp_7!57=RpvvzSL885BinLvfVT z;aR(BHaJb#H+^f%*;AlTM4V>>)OiRhV-`q}jFIL-IN$KJ^ zj|dmBS?E04YSNuGw`HVFg$(QoJE#CaIaw9weL+pH-rQR)w7t4L^J2vf5fO}xu>=5G z83zg=(yyA)YB0naZ{4n|(TFgbpgUnAEaIwIgsdqFl7&PIF#rW)C37Z3#FDDN&!+dJ z!5mBNPH2eg*2sADN!=q@)cth>IP04x*Lf{dt+w+wmeKmmb^1teghH+Gmc(#gJ-dAw zuIj_VJ+)U&SniZ9?TotcvuT*O*muF43JIsw<}C;B3yugcy*GiwTa7=V-Scpx)&c_w zsWZ5Z>XLhh0(3z03)tms?$wDG$Ap#+) zAiALo0)?4ViKqz-2oV@G2kQMsvFlqJVZaRz6Jy*6c458VX)Pu4L)mxM0l)-?6h zuI}ejDjs?AF+4chPlBN_&YPWWH60>@KR?}{)Wh?|PQ3>bps4B=LrF=paNf>tmY2Uc zUEZ%#I&DHJP?*3d5*QC7qAL>IU!n6Pwakq~rvxd`?y-;*WHW%ARb9cXKm;HZb1_s6 z$s>^oc*z0Dkw(ZYx!TxJjbl_t2x!G91t%pO74w^H$M>6cBkMWpYU)yZnWVf|js0eJ zdsAB~rH=P_K5h;Kw-x7MzvAKPTvn$P?8oeUMV(dxe5vT>b#!z)-Sn^p|ypkNhv~2O3!d(+QNFAh|G6z)S_UX2?LrDb{3O?nfIT9QH}Ze0z1yMUR+)>rfU(t{M}i0%$vA+=g1fl9y@^9z z&#JaIaGqVR!m`jR#g}0e?RoDa?VXOCk$yQ-uWO#Io@_SL!(pXl)Re1veGIgxA_&Mameev8*+WO7nMm}Ogl3t1LcB%;c7i90H}}msZi_?h!jZM zaofw`VQZc<1pvzk5?+w^&V+(a+w24Y=-@VB1^~)n>g48yi8**M4#p(_17r=!D(N|l zW{~11Q>;ZPM2(}^6K^Ii+Ya9vG;GMH&!5sPMcIuPlk*vmZRz9U`K=kwFRv?vGKrfY zjw)9kQmRPwU?fyRTPiiSZnm7$0MAl7eWiYOr#hbVWMZTBV~u2PATG{yebuF8Wi-Hl z7o#R8ffHw(3<@eodo>kkVjw3%1O#(Xmkfv)39#{!U<@%UI!gf{cOo^g;EJFKk~{+g zauy-a?nbB}JmKXnpN(zAc0CzL$Gu<%4_57K>xP!xpM3Uwf9^%RtP#Rm^3$++E_)U< z)p1?9jI!Q$Dob~qv7Zb5X>PkTH$Z1L1ZH*mD;CLS0Ny< zA#l>Mtd`~!DiZVnY`~zAR1HuE{dO0g%+Fta^3tX^4x8)!o_D$}O>dwUWIOx?PIrZX zy^L{kuwEW@%Wn6C%eF9puc=LI1WqNkrMFdOBqbnq4ufHCFqq`N-gNZ2lhwj^qf`}? zoN@sq0rP;$$Qqt*b(Gx?v}XCqcj17;NL3hv<&(U~ncu>x0t?dk5r>78~FtDP|PhYQ>3yzJi! zISi@W|Ins;RSC4#Zhu}L8!x7tc{MT=8;IKJxC)psh;#*(dCF{xTbDME=)jlRhy0k& z^Q|}SL0{D*JDf*LJ%ATdr56x2TEAS_{Pbs+Irsd(PDYrQ5OW_rLf{x*KV;3B8yHP3 z8Q1`lMFCkH2%R{`lBqCq%(=pdSb$ZHlu$jRbv}5ppsjFbD>?f}YN6ObwAg?8($$yJ zWSl|odmG%j(&zi9xVBBB$3MYIOr`0{XfyTA;r^_D^m;$S^;jV(4out2qcB<}`Lf@a z(QCy`*F%9#S72zbi*2fI_S)X!y7ns8VJtTE5Q?!NF;H+}_4>{zv%OC)rnNV#vn^j< z>)c8Q4LOE(den%T0004L%|#snwK$k&Fn21InONlxX3T^c+*HUx5JU*0y-2A;?^tCc zi$=s%=NXCTXSbgmeYD%n*7eBa&U{UmJGV_`+49~`0vznH^ifGhBli|f6oZ-tQUeio%VI`OQbY^60Y)lh%8nQv z(VWaQx>Z&=C^EQ>6bpMD+&vcM{qgF?lUEkE*5TQ#o6njw#^oEY85E`E?vHNNr`W~Z zb)m0IO_;CC(T&9l8>sL?ZDS0fovp^l@X}^NY#WM>w4~LlN3p)@;ra65Hhx$i*E>xZ zhM^x72%Lp6I+6ej3B^xArjM@=Z+P0N{t%tr#&A561%<$;2d!E`QVgZB&WmRR08smT z#01GLxEBhDTWJ){8DIcFG6QEtBh%pK=nN4N)pJr!2;Rl@@$&WV=EbS)=ht{rv#f5C zYDV8{{_d!sHw;WhRkz#=Vc2NvtH!pr*RA+$f z)TbYN{+CjvU1!*=wq9*sM!XW-ZM$<&mw`|i(uhf!ozRKUkkJImAQN~74x_tD6RKj&W=@$=&5^0^ zHQ>MjDG{l^a5$>vgrhFf{%Wt3-EBL#?0_umUDShxM*83c_G(eRcDm51IMyFI=T>ms z4&m;_YKd#yl_!4+)8bt}lA>(Y;*u|6T@A+1Sr6W-pKe2a!c^8~p^l+Ngg_3A4#)t& z3gy$d`{``_{{OSay*>RCNyOe}lO(?FYB}7Cj=*Tl0)$yjjf*O}1B?tgqf{eg0yZ*p zALecjrUBL1Ij6)Rse)2TF-HXjgib0Axd6?>+P<}UPEaK#h!~Rz1c2y90D{c+OWfZ5L8+Sk zH{RZ-|Ne6thcw`Lr^%&=4A_7!rG7AplYY1qX}3-!O2p62d?l!X$>kH3}gV z(A1Pj%c*`)&f^f9;M z!wcz&nE-KyP+V%nSc`F~JdPwrn5quFfC*qT;=r|*+^VAmrwqiaJn6TGk52Bq@r%>* zqs?kwIoPzMr#B5pt>^oS^40%d?W zQb(bf0%C!ZtD-AOo85=E?w!6rzkfR1w>%+kpDk~Wrz4DYeOB#qt`nK<5O?{4()994 zirO8$_Dt%_!>6Ncf3_0ZeE#KsH@O-VJ6?w~{n9rk@A3W#ifc6jgOY+FYXBF@2tibw zvE2RS(b6{-fD9zIbP~|LQDDvKNyW>XgJ;9Sa}^L|_>H&BF~5AdlS8 zt<&Ru)c@}9a)BxqHm%s=Xj0#pLAE-AVl0Gg2nYZP7#x5cbKqhkPSxOyUV04V!APAz z!59lNCbz7G3`byBvI5l*H(&-zfSYFb`SH`8_ixVv|HKV@YHluHdiqb}{o{*%^6pP@?+M-dFTU{Jz0ZBIA7R5{ zSu9t&se)oAawI16%I)5tEG0-mf_a#q+?efw{@2?q0`)*eoUO{N^{ts=wy43lxC0sy zfU*WNaD+mXnaHF!ZtLMj`ymGeercF(gRe(*I6-G74?IioKxwxs*YwWxGSDp`6+m>yAHeb-E**^Qu zXY=NK#I0}VU;O>O?_PZQO$u7H0)tYOK7^qfD+Vk?g>y)YpI@wntyu7**-@ybQ{DN4 z%TTMfL){64P0s6dt zh2=UuySP^-H&?4};C%AUpU#K(6lb6RZg}hcr?Zt6`r3aIezN@L5%!~Eqyprf3l=HS zfSlZjWclZxezSS$64tysJJ{!mPlzV}?Rym&HWo%sj?T;K^wHj4fK^I1SxOZ*ZE6hNQRDT7_nz%P`tp1H zeAlaTcQ}HBb@bsXPjHBC0^@wkjtvNH&aR&i$8TNU+dw}})i<8K^Wb~X%)jt&Pe1>c z&*A1Tr7#tV{vA%00!&t|MhFLVXhNC-rEaJfn3vc`Uf8~ zv9?%Z>_Q)7y>tE~-fm431OeB8E~b*vy&xBHeX+ir*I zqh}ZX)zcrIb=Y(?esLc^{8^ygfBLtveR5}7e)T;6v)_L9N&VGRg{%MuMFA;eFaZH$ zWaRO0{?QKlt?m=~6lGYX@W#nLP>M4HWEWHgAVu`( zXhg+~5DOZbAVe?h%0N`u5LttV0ssi0LJB1^MK*vD%!N{62nq&5bk7c-ohI2T~ld&fWgy!||0p80^vW#~Hu!>;a6k`O^~M^D4fgUNQ@;Vu-UAA_vQ1yd^WIuf-l|t=rUB* zjq{%D8}Py9vpRnBhubgH1OBI1o1K6Dg%8edeoYz7R}zR5p&}#}&PfHa^#9}kP`(nT zyK!Dn-H|wiNn6+d>W`Dx!cGY&Lm_qLX@9yS*$Rs|vKu;xMR_3u_KZ$$B!r$x`RiB^ z44fUSM4_fS5@!T=;xyv6+pu`;#N^4aiX#JAt|!(Kz zwhQRv7)Y}p5Gos*4U+@7P%`lAnGgx~$!=9N!>G5OCvIRD&NPyenvd3PF< zK@uvE(UO5Ww5h?ML7)E15A^oox_@I+1*}JiEL4Tr_&@)L!oU>KLqRH_r8Y14#!2mk zS}}p(;E3o74wM}M2o%}e4ULT?P%Q|^CP|5m!9)pw5C){ePGiDk39|?0VSoq)L_LcI zw+Cla$(8Z-{%czA!_;$b!Wg^SrcV1h(sJ|D?>+_U;t5@EFBY%w+{GxjF5k-=i=UKd zmrwK84}aGFr|Tc<>tCtCQ9Vi^BUJJ*MJ$z}rsd-wq*vcL+kW2fzr30~%mLBB>x0Mt z%@0!ocJfe_T?F9Jlp6S85{6;G7^$cOn1V7p0t*6$;*lN2NkN&v&Wu6^0|8PUBL_AR z6K5}3Q+KV*?2(Nlx)5Mc0cU4X2O97G#%5<5b2EE*byEwMaob3%oa)RwzIb{S{pBi_ z3%PxFuot}m zh)(VV08Bu$zYI!LfpuL1XY5BU*}w?`Fn~c#07S*W+1)C2bZ73>Bp6|47O0;7+r!>= zrq$w?uTM2+8vpsG=s4!H92EwB= zXd=!IQUr}g0ssxp1%=2%j@a=Jf7=37^*!HvoJ&!f6dC(=vy-c{%h&nx$&**k>ch&` zLx=B;lW``3pZ>~4?oNd``n*?B$AUc1Xaq_G>Ha{GApbobF~+piu2ACiub)^EeOd}#Pstb71)a7+nlpIkklDn(DIIT*dfC?GQ z^qpBRWjk!C*5zaZVH~^t1JB(jH|zCKd^wgOrZS9~_J;h@UVcAVL9ns!Hh^{IDQehG zLeA03h?zp-%%Cv?%_bS0(Etdxo8iJg{YKdwM9Fcn=pSQvA+Hlahfp%BG+uCja%+Y| zuIIHCHgPWq0POxk$s56o3l=m$1t#+%k^-Q(kFMD>vpXP|0gF2s##{v{f*z}i$rXdq z7^>_+0>a4KU6H-f-8r^awio*+JEKPRXHSMr>dr`*CWL_1EA%Kud3@?4D zmG;Kz;c@HM5Dd^EI1WG~b7Dx2pYm3Ocff9ZFaeajC?0 zTf8ary_le$Kt?olL?=~K2?nNyh8EO}7z=u3BqExE8WgwaHRh-ifEkE`VTEWfm~4Rp zu1X*!XK?W1L`hLpIW*~KPe;*VkMMfE8|qSr^E?wVTN<*KL3H$-PoP8A1_*`k8O6 zH7-}%H+C}tu=cE9_`><{#;=*}m*7IBYzOPJLh8&^ z%YxvD;A(0G4JlZTBPC1_aEOcmW`>w8XGIWx`*LnHhrog z3Fqg0G^AZ!?&Zau>g(TpH(cj6>DPZ_xbx0GBvWRT7|9GUMik3+U9kbC>ckd4Reo%z;mjEy=~^O+jVD=poaTmcvfO)@Eg3oBq@Bt&pCD@sbi zxEn2mVjLNrSu1pQA+>Mv_u9}!gf8{qXhqwOGh1MhFB^4d|(O|6Fbh)mI5TgSF z5rS8dq;B>qj+EPH%~mI~(piP<2^~Vk6pNTt5R+CrJ8dzjYet8>NySjrncP54)uS7k zkrN_;1`|;bY&>KVC{!FAC>xJa8O7PHSp`PpRAW&>4?tjKUNvh(M%w0&eodD_gQ<_p zTl0$&`5tf9fc1DnXdKdPwDI}0jEJ3iPVxMVOQP5R*`s@}d}S**Tb;)uT}NCGF5q`| z+r}nVVV%*b5Qw8tX?WTUyp=1iAAT+nkO>{H0ZPF*U>3}gvmxwH!Z7SqRdzAUbw<;e z5XhZE!301CkPy8Hdk$1oGNC$|5G7{eL^&4$aYWgh zC#yn0ATy+rZAe`bH9#1~ECgPH2^va4ltPiSY*oOiWHSVRu^Ez~y8!}P9Faqdq9jNb zM#2L8>wgXtHESE5uRg>u)}TRex@FpV_vmDHzU@C+H_~f3z!h?JK#3h5&wuqsKC2;n zKKke5#s05v+Xfn-*s79)kizOhxN>iVdtx+Va<&M<2+dARfre7XYZ+lKt5zWZ5Tcbn zyK#)jw%4d?Jz-)I0^(p95XU@@mQ1)P8Cfh&YQfZ;&{zoysv>CRu7*??GH@)4&^ncQ z1sR16b+BS+)>QD*1SudViq`!lzsyorkSm31UT zWrx7#5)8%yEeMm9j82GwDhJ2{0B#_n80+PuYEBj#8QU9Uc(O^4OL^(S3S8a1{pLAL z6u{x84U5BvcJa9D9u)q)x9-^6vL>DjuN)KkD)|PtI&B&vsKJQ@T@e|~fCOWRJef7M zh%9fuM+QeFB^6c4iONt$L5}7JHzx&1>XJfiW6i)&ivwzA%V{iH)Ll6j@`4^6N!=Zo z3MPlnkU^+oM?|-j3n=H(qasQ$RX{Apk|@oYQN-%nwQ2r>fRjun%!w7B{wOSd>uA6U zEeohQ$E#*u<#p=otH{m}K@PZ4l3a2Q-nYIbswaRY)))l9$eF7OBO^m_&!EG0NTXwM zR0U^6ATQJ#6&ESMQ391w4ZMH>OC<(bK_deeM+s~Qh!Xso05W;@y0&`!!OFw2Y!6CT z9^8HM%C`L79d1Hg{qS=pMw z5hW8rQ43XpG8Qm15-=laVpHu1(q@%Dy+G4?$mU#Cs>zREWz$ijW_2dT*t*m) z1PYuAGh-e{Ta8L!jxUTA%1J6k#aI^_tr!Ji1Mmo_RIJ1pOI9-ritZQ;fB*+)=$Avk zI=h-4eDG)W_32pZXW)-6pTO?Mcb&f0HNN`AEAKurqb(d?JZ&f}4qpe|{^eJnJwN#e zS5CP%P~N}I^ki_vwjwn*K?}-SoYf(tmr_b`GMzV}2o?{EY6~|Hx4MXldk(=&Q9Fro8`=CIAIUWASYx<3Mw*?>@UVJ#wHR2Gv%bhZwynVOLl~W@E zsp9jm|C_p%Z@vC(`Wwr7+B8I1n0?yg*`2)Y)o6;MftfMnT);tG&Ak`_r~}o$Qq+J2 zE8a|mF>F18jVTT?;oKZg(H$!RF@`WIP=P{V4C*lul@N^3-NA;w?|Vg);Ptk6fu;Z` zW*Vk|Kx7W3gbrbJXHHNjp*j~5bz&>x0L-Mz;^yl(YFtVEx4;f>8~;5wF=S^!I2*cn($ zAu@zQ1-0}!JzY2>4sSk&YIj4l+%3*K7gAW!2KHG?o`nRH`-{C!oJR&UK)`4f6(-UE zq>QAr6_+veVqjvxAkH>XOEn=P6duTf1j&IY2Mn1)Hd3%y3L$|J+ShOW%O{sb9(-f+ z*3UNE@hAB9Lj;<2i5?K6qC2P~B`-cRc9Sq*;ADdkUx`Ue&3ZO5 zTkrR=RCjix^pThbwYt`VkpIpP`MT= z{GzOKq)OBy@F2u(hl%Yt#>jqUTd z@4dE=k(X(H@W!9Dw307>`KPD<7) zF*=rjnv*Tg?w^%@(wxG*!Q7VxQry{OZb&_CS{zkHy*Z9!Ur{rNfuS1%sxh$=XaxqK zF-HrAlE4K9DFjlCN|=pV6b;ZV=*S3&B~YR;Ktgi!C~PUJ5f76T$<(|?Je+p08qTNl zM>vG-@|}AR+c(Ge(7$x|deWFB<&S2~!Kz@5_g}va7em_l_Qrp8fEcH`@!5WiAN=$X z284%p5EftfSzRZ8GQRyXAu1OE1S(kc{Lu$p{?iW%KR2^~uSEfg%6NePPBF*=wPbu(ZD&O#u?$vto%i6=uO z8wC`jd4>Rt$#1j}3jS)pe)a!5*6OYAg=aLce3y@w@9~ox=XrY3%TT}ax8l_}-g*2F z|JvnuChvdk=KZ#+p)d7LRsG4modwtDlZTIgqr3l--L$o%tXBaWkBtL?gRS+G=W=8E zxRJBPlKiBjBxyNwwzAYlwFDy@c$n-Q2_pb|V#_be%@slxP;xG@kbwdN5}9ET%ZlVu z$l0i{n`TD@00UqJNNnU}Xf##@DN$qt1>}L^NLEkgUTX7NzI{dC{_q!f@6ZR$%ZG=5 z^d+AZ^@m^hE~C|5llEpM*)%2n-szp!-~Pe=J9h#%HKi!A{$CceHJo_`XSDO+;p4sP zv(Kjy;d<7TO#K|iGf;UF_tQtiCD$GR>os-_6V%IDhFVazC4*7~D+g239A{jBp&+rL zIXXF_8BxJ3PJjhKvwARR8I**{3=~ufi5drU%g7j#IDnfFwjDHXf+;A2ayLmC(pzz7 z0bU&B(}(ct`S)QfCvQY~<1coTS5K!ld*IsG;P%Ns{@UMU3|U7$oBZcz<+tv|IEg;U ztZDzn*47(W99{H>86G`ZygA)K)3aqFB1DHKcUKQD&(0&})YVia`PQq0U_ptx_|d<kYq&2DycXbPsKNPtbrK@1rVoB%;C0^}w@ z{(uBeNeM}h<+iEL4JNQu;5l@wAGEK$BIAmN-EV$>@725F+_Tqa`rBtV z=3-@q33%u4{N1l@Qa$^{VPh1FQdRWOG;rsie!i@wz51&!>!_z(Y9oakg|M-Np_{^3 z8H*TzoZCSVW>a-_%3fJy6akM2zK!c$OU*M+{ymG z&Zo2r|MBq)U%CzhnL{yE@SQq_nU%>+T9(omrZ21q8LXw)bfl)`}VzOA6uoUjI}} z7r!`$^EZFv^46M-Tt+1IXcp=>Y9TDc@UCqf6kwSq|sv|*x5xwTI z!dN}bwWr`dWl5^3q~{cC!-~xA%()NaU6+Pv5(=CY`1S;xp4f#wL5qJ@EBWd zFF*T})24sGV=vq7&ZV_;^nUc=qXuI2P`VMCVf(4S_~zZ!)=m`F@Uyo!`)-Sm10( zh+FfJT*yeti;@yTsDQasFM?cvvc=ja#ply4m~ohv$Cj=jS7ln7{k;-2yR&=Bbk=gkL(`c=hQV+#XEd_-OB#0zlS?lgMY| zs5k2U;oRTZ9lUs(h~w!T;4CgM&JX%-;}Dma$Dj%Om>s06ri9K0WZs}cXA~-;s$d|a z(Hy0iR|tJOp*RsAVnsA1<8=gJ1$HF>HgvSoD2P#x961Ny{Qhy7PQE$a-8^^uwfaxK zQ=a~8ob0^W#P7p$c)9Ib%0yakF4kKAW-RQ+0 z4w%s*S_)g+q!!y^Dhl9OBFfM$IWZa(qmWTu(5*x@uI*;Sy)Xx9YYjQ9!HY|&8Og~7 zKny(qhcogTC89V*)Gz<8@9e#Pym)co+m zr*Hgd#cq9C7O+P}9X7xGXHQ@IB(@T~{^;HFZRu1C!B!3D509kZnCr~L*2eV*$I#R& z;>Fa0zk0LWV>p`}?;qa3pPw6xV!Cj|tMxE!ZGJZ8xDtS&bMDVcTmcY*7&v0($`Ch~ zrV&(tN(x|wG;2%*+Hc1g0->N(4+vJ3poFow2|5-rCZilGM0ZqWsJ(;H5c)T+T^W~0 z^c?+T-#(0sFZ1_S7vA`N40G#`F8=xT$^H#KOW*#{*kjF3k~h}s=JIQI_4PZ_k%0Z; zul73X7#gJ7?&65M2Mw<7%;<88>vc(?8&MU?;25+HQ$0I6IjNuF#cggtE$_#z7_)WL zR@#FC0j6H5+vy6SL{~IIK=SICAAnPapsr}@E?FUD#<@&7iGqk`0_0@wm{~?rqSAr0 zR7Z$v%FbNaRALp*aQKbgbHfLF^Do}|XuNQ1k>bIh|7YL+@f(j`$cKw%U-`y^XTI1w z+1h#d;RX&99zv$V24nlibAP%QPBuNn`oVWLh=2l6B+lIM`M4>byGsR2Dw9+L5a(KJ zs}TAXXx5!PA6B!o&B480A&vqAA;ihzWSpF7npG^bjW*YArdcYfD1sPM77%ktqK;0b zBIIBIo6V#TAb{WsVpJ8@_;AqzT>>kD|M&;rTJLWD81#$hj>fCwgOe@TJ>B0-l{ClFj)SYj@TJ@G^^-PePq%+>XV!Sb z)CxNFCBs(PB51axjg)39YgkA_Eexf)Y@fxo)Ub|QF+xD*Ge$g|a&lGL-zYUg+munD z1A+(^YKa7jF62r%j3P?a(3%RN)^_x;H*2K4PCM(AgVq+;NKH*hh;^tQB4yW*PsR3@4TS-) z1#fji)?%i}y5`gjIrA=}t2-75HH@)xF$NHeUJ%`l5-Sy4!shNq&qxkNhE6V4O*vzA zsG;GSJ7#NKoejy2&AUZ|41#8{;N8vrvHA3DdVc->l)HH>Y_{RGSu+~e#FIuUwk;HtL{DV2Y%UeuDu{<#gHdq} z{ob^10Nnw=5rC)wIU-rmYS@q(6)R}MhK9kAl+eghMlfu`$9xl>`%i!4(&z0u#=Ur{ z>lWcn_{0>Z&)vMyeD6ZJYs zhdbUuWggoa3@|s2m1n3G#~H#pd#Di1sy?yx2jRqCD>(&c<+eK`Zr05T3a+6mM>Jg- zR<^wjKxi&p@IV#l9M|N`Q+HaVQ|rmeGsoTFgZ%a z0v_VAHBbZV^r?+pl~<4dXxyD23s%`U4BZDio9WYg1hgi*vl_m9Q{VmB8vlcOyLOD5 ztEgP5PA+W-}Qsroz&s;yZNQlhmB44cXvMDgByF@|5ajG_iDK8 zw!YWB{DakOJ5RTM-mYcoLl!;93X-%{#Zn;3hcR@qCN8Y>itMill`jk}RS zON^e?SdrZ-FtUoqVuH{v>@3gf7*iVNd|DUU4X!&=l@gs5ncT=?g`f#-vKE&S2^fmz zurqH0_>;|UKoBPkG|;LRFfml+VxW#rB*^9kta_B}7<7H_!5M^Me|7HWGd8c`ba~XuUzjY=U>z~U7F zfdgbSEu#QD$!dBsXV%IXRc~k0KMC68^kB&VE{s45hN*O#MKpTBR7tPsu?-DD?q`vXl%rsM=y@6&kCy53>APoqu0P9Z!a|PtvyF9E%iwAEYDO#Oxz4YAGI?n+#o7ONo7ZzP zE7-W@5v{0t^{T)vV=0z%B2*b6t4mX{Ruy$-DPn}x0L`a8+9o!IEpy8I8$hoev!iYmX1#@O6QdIR?O`{u?JXmcq zJNsh1^XmC;jQP3Eof}Vo_P%U?xI4V$Z(-uygpL^-Jv@lME%Cwm&6_D@Um`-I1^@sc z07*naRIJ)J2P!v}y76B$^KO7ZT%bo}8m)L4Goh4<2m;QS>e|UMX-QI-YB)hrrYu;Y zI1E-`?Epwcd_yl(wWTPvTVfPAARq@sGZxDZz);Ox9a2%o?O7l|2PZ;sZzX^b&^iMk zfma~~&=jmxRMg4_EdZ(sw%wVksq4WnU;WAl_nu$eI{)IkkGJMu+?t1tC3zdAj5r#7 z@zV5e)8>(uKiK-^>n#y>^Q)iHl~vbF|IxyvHe)Ts6#%V>NGj&0qpDYMH$#KE&T0&V zsx>i#R!b%h)Ib@=xRPW}s`-%Pc)fxFEAGq!q`EWBMoLb=YEIQrt7T&XK+e9s*|4Ca zqbiU@VgUyuv>2HggCw$n(HaVfpq8bi5iR;a`RT@`rgrb!v+w>dC$H?>+I#tr9&^7F zqn__~2I#nnO|qP1;eBS>kf&Go>fi4>X#JH~!dLqyzV{h5y$Gr1AO(;uum`IG>Y$)l zpsHGi0#+Pyw3Lf_SIpfoBS26ahtNpVYBpG<&V5=Xlh)mi95+u-nOqVWRVS1R2I#%0 zJy{2vbdk-fDG(A9Mn+b5>S^sxnaTj`(gg72*{T9YYK*NCc0=Hlee+wdw(tJ)JMpP6 zt?{|v9ae8TjK8todhcbb+U4=AphN91UDU}__4#w#zjyoGH%@%%UwY8&O(Ko|WAI^? zP8rAzkS$wPsMIdkiHbRcrGNm{+?;ZOv1m-V@gD>s*)ethg} ze`EVBUMPV7@T4O1gk6-Ks3?$H2qiUE*F`fFz*0@o9IFygZB*AoY;&TviAfBb zO|MkXyiseH2{lcpjbiYs8Py74E#mAUBD-p?3MHFtO^Dnb*eC?yC*U_CQDxVXw8RlZ zQ4b)DRnRL0a58nNwEp0gr}7UEch7M1;@1}6z4-nMoqqM>m%o_Y_ipcOdv!`Gz;ex& z@#1NJ_VUn$Exx_~7IX8`$9;1>(04u;6Oi1E2`r2ji8M9KjH2#Ey_j+^$c5Y$tb)4h zFapa2O&wjl=#U;c6cIaWYB|f{lmxhrbS?IfoQSf$vda}QyQCDzIS`<9`S?mnZs>w`C!&G zf83qcljI$1qRD3`_S!eor~mx%*q!|#I$Yly^J}f`|FghcJ;uyGyb5XA0Tt_u;&1VHkp8N)LQgtatgydc| z3esrUZg;|N?g&IA#0CnEghX7Ddn@FX%s?s_VSq*z*Z~PGK!|p+Xf= z&hgFq@akI`7vp+%^lIj&D9`4pTsuBFe|cCQo&L$cT21|ozw+WI8e|UVJ%W$dTCNbRDI65A>lkpjQ_U8QBi*=pPj{U{2 z&K3vTcmJ$hn`kB_Zp0g?fVEocfG`n2tm-_Vi-GBCjSLz$TR=z#06-;~8bI{bItQP5 zA5uKbxS!hHHr7&_=|*72C+J8~5G+=aNPwy_*22h5Gh;$9F(xK6RdZ592N2=v?m!^L zu~udPR}A3fM9x^zx=WYG2k4RWe0}cVD}3wP!SvH#|A}Xv-TO*OKf3(5z5H<4JXBBr zmA&;l7cYFa?<3ESr~i39yKwYi>$RW1Kg50!jrSg7VGg-LvKm-v6w_(7%AB3EgRkeY zL9^Zl7v(%!Ep4?71vyD%gK4YF6~eMbRZw*t2ma`W<)18 zHmcnapfRPjKqUZIL?DTnq4sOCu^Dnbk%ysxw}Weaa2g1v3ES1S#_Ef)Jzi`aGSC(v zPR-mMNGY0gCD-6&R7{yNZcaoBpt%HbKtMo4BS2&EkQ-&^3UyLQs0Tn3MQ5kAE7jTk zFIo}ODi`iouF`a+9-RMspYZih4))HU?mqMJUYpB}gQ;?RwEYO4``UNDa14XWuS`%n zTp#@5exfEWrN-twQVm%UN^B|;s5cra3pik)H8kzS!jErnU7Jlb9na=ramI$0)gj*= ztVco)*+q;N>#6Q;W^Oi#D!M=g!qLT%0DX+=iIl<2Fob~4?kFOFjujDz(9s;I4#5*} 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 Uqlh+af&c&j07*qoM6N<$f=oBo-2eap literal 0 HcmV?d00001