diff --git a/11_deep_learning.ipynb b/11_deep_learning.ipynb index 6fcd2caa0..314d9dee4 100644 --- a/11_deep_learning.ipynb +++ b/11_deep_learning.ipynb @@ -104,7 +104,7 @@ "data": { "image/png": "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\nkv4fpnIt6Q3iZsAAAAAASUVORK5CYII=\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -163,7 +163,9 @@ { "cell_type": "code", "execution_count": 5, - "metadata": {}, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "reset_graph()\n", @@ -177,7 +179,9 @@ { "cell_type": "code", "execution_count": 6, - "metadata": {}, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "he_init = tf.contrib.layers.variance_scaling_initializer()\n", @@ -227,7 +231,7 @@ "data": { "image/png": "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\nAABJRU5ErkJggg==\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -271,7 +275,9 @@ { "cell_type": "code", "execution_count": 10, - "metadata": {}, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "def leaky_relu(z, name=None):\n", @@ -318,7 +324,9 @@ { "cell_type": "code", "execution_count": 13, - "metadata": {}, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "with tf.name_scope(\"dnn\"):\n", @@ -458,7 +466,9 @@ { "cell_type": "code", "execution_count": 20, - "metadata": {}, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "def elu(z, alpha=1):\n", @@ -481,7 +491,7 @@ "data": { "image/png": "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\nRU5ErkJggg==\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -524,7 +534,9 @@ { "cell_type": "code", "execution_count": 23, - "metadata": {}, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "hidden1 = tf.layers.dense(X, n_hidden1, activation=tf.nn.elu, name=\"hidden1\")" @@ -574,7 +586,7 @@ "data": { "image/png": "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\nB9c9MCs0b4SXAAAAAElFTkSuQmCC\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -785,7 +797,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 30, "metadata": { "collapsed": true }, @@ -819,7 +831,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 31, "metadata": { "collapsed": true }, @@ -840,8 +852,10 @@ }, { "cell_type": "code", - "execution_count": 26, - "metadata": {}, + "execution_count": 32, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "from functools import partial\n", @@ -868,8 +882,10 @@ }, { "cell_type": "code", - "execution_count": 27, - "metadata": {}, + "execution_count": 33, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "reset_graph()\n", @@ -924,7 +940,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 34, "metadata": { "collapsed": true }, @@ -936,33 +952,33 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 35, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "0 Test accuracy: 0.873\n", - "1 Test accuracy: 0.8985\n", - "2 Test accuracy: 0.9136\n", - "3 Test accuracy: 0.9212\n", - "4 Test accuracy: 0.9272\n", - "5 Test accuracy: 0.935\n", - "6 Test accuracy: 0.9386\n", - "7 Test accuracy: 0.9412\n", - "8 Test accuracy: 0.9459\n", - "9 Test accuracy: 0.9476\n", - "10 Test accuracy: 0.9501\n", - "11 Test accuracy: 0.9526\n", - "12 Test accuracy: 0.9544\n", - "13 Test accuracy: 0.9567\n", - "14 Test accuracy: 0.9576\n", - "15 Test accuracy: 0.9602\n", - "16 Test accuracy: 0.9607\n", - "17 Test accuracy: 0.9618\n", - "18 Test accuracy: 0.9635\n", - "19 Test accuracy: 0.9628\n" + "0 Test accuracy: 0.8727\n", + "1 Test accuracy: 0.8981\n", + "2 Test accuracy: 0.9129\n", + "3 Test accuracy: 0.922\n", + "4 Test accuracy: 0.9292\n", + "5 Test accuracy: 0.9342\n", + "6 Test accuracy: 0.9381\n", + "7 Test accuracy: 0.9419\n", + "8 Test accuracy: 0.9451\n", + "9 Test accuracy: 0.9471\n", + "10 Test accuracy: 0.9507\n", + "11 Test accuracy: 0.9521\n", + "12 Test accuracy: 0.9553\n", + "13 Test accuracy: 0.956\n", + "14 Test accuracy: 0.957\n", + "15 Test accuracy: 0.9583\n", + "16 Test accuracy: 0.9613\n", + "17 Test accuracy: 0.9608\n", + "18 Test accuracy: 0.9627\n", + "19 Test accuracy: 0.963\n" ] } ], @@ -1020,7 +1036,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 36, "metadata": {}, "outputs": [ { @@ -1040,7 +1056,7 @@ " 'batch_normalization_2/gamma:0']" ] }, - "execution_count": 30, + "execution_count": 36, "metadata": {}, "output_type": "execute_result" } @@ -1051,7 +1067,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 37, "metadata": {}, "outputs": [ { @@ -1077,7 +1093,7 @@ " 'batch_normalization_2/moving_variance:0']" ] }, - "execution_count": 31, + "execution_count": 37, "metadata": {}, "output_type": "execute_result" } @@ -1102,7 +1118,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 38, "metadata": { "collapsed": true }, @@ -1136,7 +1152,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 39, "metadata": { "collapsed": true }, @@ -1154,8 +1170,10 @@ }, { "cell_type": "code", - "execution_count": 34, - "metadata": {}, + "execution_count": 40, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "threshold = 1.0\n", @@ -1176,7 +1194,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 41, "metadata": { "collapsed": true }, @@ -1189,7 +1207,7 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 42, "metadata": { "collapsed": true }, @@ -1201,7 +1219,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 43, "metadata": { "collapsed": true }, @@ -1213,33 +1231,33 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 44, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "0 Test accuracy: 0.308\n", - "1 Test accuracy: 0.7921\n", - "2 Test accuracy: 0.8783\n", - "3 Test accuracy: 0.9019\n", - "4 Test accuracy: 0.9137\n", - "5 Test accuracy: 0.9196\n", - "6 Test accuracy: 0.9254\n", - "7 Test accuracy: 0.9309\n", - "8 Test accuracy: 0.9345\n", - "9 Test accuracy: 0.941\n", - "10 Test accuracy: 0.9425\n", - "11 Test accuracy: 0.9462\n", - "12 Test accuracy: 0.9475\n", - "13 Test accuracy: 0.9504\n", - "14 Test accuracy: 0.9522\n", - "15 Test accuracy: 0.9531\n", - "16 Test accuracy: 0.9543\n", - "17 Test accuracy: 0.9559\n", - "18 Test accuracy: 0.958\n", - "19 Test accuracy: 0.9591\n" + "0 Test accuracy: 0.3139\n", + "1 Test accuracy: 0.8001\n", + "2 Test accuracy: 0.8806\n", + "3 Test accuracy: 0.9037\n", + "4 Test accuracy: 0.9124\n", + "5 Test accuracy: 0.9197\n", + "6 Test accuracy: 0.9243\n", + "7 Test accuracy: 0.9299\n", + "8 Test accuracy: 0.9331\n", + "9 Test accuracy: 0.9387\n", + "10 Test accuracy: 0.9431\n", + "11 Test accuracy: 0.9445\n", + "12 Test accuracy: 0.9455\n", + "13 Test accuracy: 0.9485\n", + "14 Test accuracy: 0.9524\n", + "15 Test accuracy: 0.9511\n", + "16 Test accuracy: 0.9562\n", + "17 Test accuracy: 0.9583\n", + "18 Test accuracy: 0.9559\n", + "19 Test accuracy: 0.9605\n" ] } ], @@ -1280,7 +1298,7 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 45, "metadata": { "collapsed": true }, @@ -1291,7 +1309,7 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 46, "metadata": { "collapsed": true }, @@ -1309,7 +1327,7 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 47, "metadata": {}, "outputs": [ { @@ -1643,7 +1661,7 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 48, "metadata": { "collapsed": true }, @@ -1689,7 +1707,7 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 49, "metadata": { "scrolled": true }, @@ -1732,8 +1750,10 @@ }, { "cell_type": "code", - "execution_count": 44, - "metadata": {}, + "execution_count": 50, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "X = tf.get_default_graph().get_tensor_by_name(\"X:0\")\n", @@ -1753,8 +1773,10 @@ }, { "cell_type": "code", - "execution_count": 45, - "metadata": {}, + "execution_count": 51, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "for op in (X, y, accuracy, training_op):\n", @@ -1770,8 +1792,10 @@ }, { "cell_type": "code", - "execution_count": 46, - "metadata": {}, + "execution_count": 52, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "X, y, accuracy, training_op = tf.get_collection(\"my_important_ops\")" @@ -1786,7 +1810,7 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 53, "metadata": {}, "outputs": [ { @@ -1812,7 +1836,7 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 54, "metadata": {}, "outputs": [ { @@ -1820,26 +1844,26 @@ "output_type": "stream", "text": [ "INFO:tensorflow:Restoring parameters from ./my_model_final.ckpt\n", - "0 Test accuracy: 0.9608\n", - "1 Test accuracy: 0.9621\n", - "2 Test accuracy: 0.9621\n", - "3 Test accuracy: 0.9627\n", - "4 Test accuracy: 0.9619\n", - "5 Test accuracy: 0.9647\n", - "6 Test accuracy: 0.9656\n", - "7 Test accuracy: 0.9642\n", - "8 Test accuracy: 0.9651\n", - "9 Test accuracy: 0.9678\n", - "10 Test accuracy: 0.9652\n", - "11 Test accuracy: 0.9675\n", - "12 Test accuracy: 0.9688\n", - "13 Test accuracy: 0.9689\n", - "14 Test accuracy: 0.9685\n", - "15 Test accuracy: 0.9691\n", - "16 Test accuracy: 0.9688\n", - "17 Test accuracy: 0.9681\n", - "18 Test accuracy: 0.9695\n", - "19 Test accuracy: 0.9689\n" + "0 Test accuracy: 0.9609\n", + "1 Test accuracy: 0.9608\n", + "2 Test accuracy: 0.9617\n", + "3 Test accuracy: 0.9613\n", + "4 Test accuracy: 0.9639\n", + "5 Test accuracy: 0.9649\n", + "6 Test accuracy: 0.9663\n", + "7 Test accuracy: 0.9627\n", + "8 Test accuracy: 0.9665\n", + "9 Test accuracy: 0.9669\n", + "10 Test accuracy: 0.9662\n", + "11 Test accuracy: 0.9674\n", + "12 Test accuracy: 0.9678\n", + "13 Test accuracy: 0.9679\n", + "14 Test accuracy: 0.9688\n", + "15 Test accuracy: 0.9684\n", + "16 Test accuracy: 0.9687\n", + "17 Test accuracy: 0.9702\n", + "18 Test accuracy: 0.9673\n", + "19 Test accuracy: 0.9687\n" ] } ], @@ -1867,7 +1891,7 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 55, "metadata": { "collapsed": true }, @@ -1923,7 +1947,7 @@ }, { "cell_type": "code", - "execution_count": 50, + "execution_count": 56, "metadata": {}, "outputs": [ { @@ -1931,26 +1955,26 @@ "output_type": "stream", "text": [ "INFO:tensorflow:Restoring parameters from ./my_model_final.ckpt\n", - "0 Test accuracy: 0.9588\n", - "1 Test accuracy: 0.9614\n", - "2 Test accuracy: 0.9598\n", - "3 Test accuracy: 0.9629\n", - "4 Test accuracy: 0.9628\n", + "0 Test accuracy: 0.9611\n", + "1 Test accuracy: 0.9619\n", + "2 Test accuracy: 0.9622\n", + "3 Test accuracy: 0.9619\n", + "4 Test accuracy: 0.9644\n", "5 Test accuracy: 0.9633\n", - "6 Test accuracy: 0.9646\n", - "7 Test accuracy: 0.9654\n", - "8 Test accuracy: 0.967\n", - "9 Test accuracy: 0.9663\n", - "10 Test accuracy: 0.9678\n", - "11 Test accuracy: 0.9681\n", - "12 Test accuracy: 0.9682\n", - "13 Test accuracy: 0.9693\n", - "14 Test accuracy: 0.9686\n", - "15 Test accuracy: 0.9692\n", - "16 Test accuracy: 0.9687\n", - "17 Test accuracy: 0.9699\n", - "18 Test accuracy: 0.9695\n", - "19 Test accuracy: 0.9685\n" + "6 Test accuracy: 0.9647\n", + "7 Test accuracy: 0.9648\n", + "8 Test accuracy: 0.9671\n", + "9 Test accuracy: 0.9677\n", + "10 Test accuracy: 0.9676\n", + "11 Test accuracy: 0.9679\n", + "12 Test accuracy: 0.9687\n", + "13 Test accuracy: 0.9688\n", + "14 Test accuracy: 0.9683\n", + "15 Test accuracy: 0.9693\n", + "16 Test accuracy: 0.9677\n", + "17 Test accuracy: 0.9697\n", + "18 Test accuracy: 0.9692\n", + "19 Test accuracy: 0.9707\n" ] } ], @@ -1978,8 +2002,10 @@ }, { "cell_type": "code", - "execution_count": 51, - "metadata": {}, + "execution_count": 57, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "reset_graph()\n", @@ -2022,7 +2048,7 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 58, "metadata": {}, "outputs": [ { @@ -2030,26 +2056,26 @@ "output_type": "stream", "text": [ "INFO:tensorflow:Restoring parameters from ./my_model_final.ckpt\n", - "0 Test accuracy: 0.9135\n", - "1 Test accuracy: 0.9336\n", - "2 Test accuracy: 0.945\n", - "3 Test accuracy: 0.9479\n", - "4 Test accuracy: 0.9508\n", - "5 Test accuracy: 0.9543\n", - "6 Test accuracy: 0.9562\n", - "7 Test accuracy: 0.9574\n", - "8 Test accuracy: 0.9582\n", - "9 Test accuracy: 0.9604\n", - "10 Test accuracy: 0.9623\n", - "11 Test accuracy: 0.9633\n", - "12 Test accuracy: 0.9642\n", - "13 Test accuracy: 0.9648\n", - "14 Test accuracy: 0.964\n", - "15 Test accuracy: 0.9651\n", - "16 Test accuracy: 0.9655\n", - "17 Test accuracy: 0.9665\n", + "0 Test accuracy: 0.9142\n", + "1 Test accuracy: 0.9346\n", + "2 Test accuracy: 0.9437\n", + "3 Test accuracy: 0.9486\n", + "4 Test accuracy: 0.9517\n", + "5 Test accuracy: 0.9544\n", + "6 Test accuracy: 0.9544\n", + "7 Test accuracy: 0.9562\n", + "8 Test accuracy: 0.9588\n", + "9 Test accuracy: 0.9619\n", + "10 Test accuracy: 0.9617\n", + "11 Test accuracy: 0.9617\n", + "12 Test accuracy: 0.9624\n", + "13 Test accuracy: 0.9644\n", + "14 Test accuracy: 0.9622\n", + "15 Test accuracy: 0.964\n", + "16 Test accuracy: 0.9666\n", + "17 Test accuracy: 0.9668\n", "18 Test accuracy: 0.9673\n", - "19 Test accuracy: 0.9679\n" + "19 Test accuracy: 0.9687\n" ] } ], @@ -2078,7 +2104,7 @@ }, { "cell_type": "code", - "execution_count": 53, + "execution_count": 59, "metadata": { "collapsed": true }, @@ -2125,7 +2151,7 @@ }, { "cell_type": "code", - "execution_count": 54, + "execution_count": 60, "metadata": {}, "outputs": [ { @@ -2133,26 +2159,26 @@ "output_type": "stream", "text": [ "INFO:tensorflow:Restoring parameters from ./my_model_final.ckpt\n", - "0 Test accuracy: 0.9059\n", - "1 Test accuracy: 0.932\n", - "2 Test accuracy: 0.94\n", - "3 Test accuracy: 0.9451\n", - "4 Test accuracy: 0.9462\n", - "5 Test accuracy: 0.9505\n", - "6 Test accuracy: 0.9535\n", - "7 Test accuracy: 0.9534\n", - "8 Test accuracy: 0.9563\n", - "9 Test accuracy: 0.9573\n", - "10 Test accuracy: 0.9587\n", - "11 Test accuracy: 0.9591\n", - "12 Test accuracy: 0.961\n", - "13 Test accuracy: 0.9616\n", - "14 Test accuracy: 0.9632\n", - "15 Test accuracy: 0.9642\n", - "16 Test accuracy: 0.9641\n", - "17 Test accuracy: 0.965\n", - "18 Test accuracy: 0.9647\n", - "19 Test accuracy: 0.9665\n" + "0 Test accuracy: 0.9022\n", + "1 Test accuracy: 0.9302\n", + "2 Test accuracy: 0.9393\n", + "3 Test accuracy: 0.9429\n", + "4 Test accuracy: 0.9484\n", + "5 Test accuracy: 0.9511\n", + "6 Test accuracy: 0.9517\n", + "7 Test accuracy: 0.9539\n", + "8 Test accuracy: 0.9545\n", + "9 Test accuracy: 0.9572\n", + "10 Test accuracy: 0.9599\n", + "11 Test accuracy: 0.9602\n", + "12 Test accuracy: 0.9606\n", + "13 Test accuracy: 0.9619\n", + "14 Test accuracy: 0.9619\n", + "15 Test accuracy: 0.9636\n", + "16 Test accuracy: 0.9633\n", + "17 Test accuracy: 0.9643\n", + "18 Test accuracy: 0.9651\n", + "19 Test accuracy: 0.9657\n" ] } ], @@ -2196,7 +2222,7 @@ }, { "cell_type": "code", - "execution_count": 55, + "execution_count": 61, "metadata": { "collapsed": true }, @@ -2210,7 +2236,7 @@ }, { "cell_type": "code", - "execution_count": 56, + "execution_count": 62, "metadata": {}, "outputs": [ { @@ -2260,7 +2286,7 @@ }, { "cell_type": "code", - "execution_count": 57, + "execution_count": 63, "metadata": {}, "outputs": [ { @@ -2314,7 +2340,7 @@ }, { "cell_type": "code", - "execution_count": 58, + "execution_count": 64, "metadata": {}, "outputs": [ { @@ -2324,7 +2350,7 @@ " ]" ] }, - "execution_count": 58, + "execution_count": 64, "metadata": {}, "output_type": "execute_result" } @@ -2342,7 +2368,7 @@ }, { "cell_type": "code", - "execution_count": 59, + "execution_count": 65, "metadata": {}, "outputs": [ { @@ -2351,7 +2377,7 @@ "" ] }, - "execution_count": 59, + "execution_count": 65, "metadata": {}, "output_type": "execute_result" } @@ -2362,7 +2388,7 @@ }, { "cell_type": "code", - "execution_count": 60, + "execution_count": 66, "metadata": {}, "outputs": [ { @@ -2371,7 +2397,7 @@ "" ] }, - "execution_count": 60, + "execution_count": 66, "metadata": {}, "output_type": "execute_result" } @@ -2389,8 +2415,10 @@ }, { "cell_type": "code", - "execution_count": 61, - "metadata": {}, + "execution_count": 67, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "reset_graph()\n", @@ -2423,7 +2451,7 @@ }, { "cell_type": "code", - "execution_count": 62, + "execution_count": 68, "metadata": { "collapsed": true }, @@ -2438,7 +2466,7 @@ }, { "cell_type": "code", - "execution_count": 63, + "execution_count": 69, "metadata": { "collapsed": true }, @@ -2450,7 +2478,7 @@ }, { "cell_type": "code", - "execution_count": 64, + "execution_count": 70, "metadata": {}, "outputs": [ { @@ -2458,26 +2486,26 @@ "output_type": "stream", "text": [ "INFO:tensorflow:Restoring parameters from ./my_model_final.ckpt\n", - "0 Test accuracy: 0.9004\n", - "1 Test accuracy: 0.9324\n", - "2 Test accuracy: 0.9399\n", - "3 Test accuracy: 0.9427\n", - "4 Test accuracy: 0.9455\n", - "5 Test accuracy: 0.9475\n", - "6 Test accuracy: 0.9508\n", - "7 Test accuracy: 0.9509\n", - "8 Test accuracy: 0.9531\n", - "9 Test accuracy: 0.9531\n", - "10 Test accuracy: 0.9541\n", - "11 Test accuracy: 0.9544\n", - "12 Test accuracy: 0.9543\n", - "13 Test accuracy: 0.9556\n", - "14 Test accuracy: 0.955\n", - "15 Test accuracy: 0.9562\n", - "16 Test accuracy: 0.9551\n", - "17 Test accuracy: 0.9568\n", - "18 Test accuracy: 0.9571\n", - "19 Test accuracy: 0.9571\n" + "0 Test accuracy: 0.8987\n", + "1 Test accuracy: 0.9311\n", + "2 Test accuracy: 0.9375\n", + "3 Test accuracy: 0.9414\n", + "4 Test accuracy: 0.9437\n", + "5 Test accuracy: 0.9479\n", + "6 Test accuracy: 0.9495\n", + "7 Test accuracy: 0.9521\n", + "8 Test accuracy: 0.9517\n", + "9 Test accuracy: 0.9525\n", + "10 Test accuracy: 0.9535\n", + "11 Test accuracy: 0.9538\n", + "12 Test accuracy: 0.9534\n", + "13 Test accuracy: 0.9546\n", + "14 Test accuracy: 0.9538\n", + "15 Test accuracy: 0.9553\n", + "16 Test accuracy: 0.9552\n", + "17 Test accuracy: 0.9549\n", + "18 Test accuracy: 0.9553\n", + "19 Test accuracy: 0.9557\n" ] } ], @@ -2507,7 +2535,7 @@ }, { "cell_type": "code", - "execution_count": 65, + "execution_count": 71, "metadata": { "collapsed": true }, @@ -2528,8 +2556,10 @@ }, { "cell_type": "code", - "execution_count": 66, - "metadata": {}, + "execution_count": 72, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "with tf.name_scope(\"dnn\"):\n", @@ -2547,7 +2577,7 @@ }, { "cell_type": "code", - "execution_count": 67, + "execution_count": 73, "metadata": { "collapsed": true }, @@ -2575,7 +2605,7 @@ }, { "cell_type": "code", - "execution_count": 68, + "execution_count": 74, "metadata": {}, "outputs": [ { @@ -2583,26 +2613,26 @@ "output_type": "stream", "text": [ "INFO:tensorflow:Restoring parameters from ./my_model_final.ckpt\n", - "0 Test accuracy: 0.8893\n", - "1 Test accuracy: 0.9276\n", - "2 Test accuracy: 0.9368\n", - "3 Test accuracy: 0.9421\n", - "4 Test accuracy: 0.9441\n", - "5 Test accuracy: 0.9467\n", - "6 Test accuracy: 0.9497\n", - "7 Test accuracy: 0.949\n", - "8 Test accuracy: 0.9503\n", - "9 Test accuracy: 0.9498\n", - "10 Test accuracy: 0.952\n", - "11 Test accuracy: 0.951\n", - "12 Test accuracy: 0.9518\n", - "13 Test accuracy: 0.9521\n", - "14 Test accuracy: 0.9535\n", - "15 Test accuracy: 0.9533\n", - "16 Test accuracy: 0.9533\n", - "17 Test accuracy: 0.9539\n", - "18 Test accuracy: 0.9549\n", - "19 Test accuracy: 0.9545\n" + "0 Test accuracy: 0.9031\n", + "1 Test accuracy: 0.932\n", + "2 Test accuracy: 0.94\n", + "3 Test accuracy: 0.9435\n", + "4 Test accuracy: 0.9473\n", + "5 Test accuracy: 0.9492\n", + "6 Test accuracy: 0.9498\n", + "7 Test accuracy: 0.9493\n", + "8 Test accuracy: 0.9515\n", + "9 Test accuracy: 0.9519\n", + "10 Test accuracy: 0.9529\n", + "11 Test accuracy: 0.9536\n", + "12 Test accuracy: 0.9529\n", + "13 Test accuracy: 0.9532\n", + "14 Test accuracy: 0.9522\n", + "15 Test accuracy: 0.9534\n", + "16 Test accuracy: 0.953\n", + "17 Test accuracy: 0.955\n", + "18 Test accuracy: 0.955\n", + "19 Test accuracy: 0.9552\n" ] } ], @@ -2639,7 +2669,7 @@ }, { "cell_type": "code", - "execution_count": 69, + "execution_count": 75, "metadata": { "collapsed": true }, @@ -2684,7 +2714,7 @@ }, { "cell_type": "code", - "execution_count": 70, + "execution_count": 76, "metadata": { "collapsed": true }, @@ -2701,7 +2731,7 @@ }, { "cell_type": "code", - "execution_count": 71, + "execution_count": 77, "metadata": {}, "outputs": [ { @@ -2709,26 +2739,26 @@ "output_type": "stream", "text": [ "INFO:tensorflow:Restoring parameters from ./my_model_final.ckpt\n", - "0 Test accuracy: 0.8912\n", - "1 Test accuracy: 0.9249\n", - "2 Test accuracy: 0.9353\n", - "3 Test accuracy: 0.9408\n", - "4 Test accuracy: 0.9445\n", - "5 Test accuracy: 0.9473\n", - "6 Test accuracy: 0.949\n", - "7 Test accuracy: 0.9498\n", - "8 Test accuracy: 0.9495\n", - "9 Test accuracy: 0.9517\n", - "10 Test accuracy: 0.9524\n", - "11 Test accuracy: 0.9524\n", - "12 Test accuracy: 0.9535\n", - "13 Test accuracy: 0.953\n", - "14 Test accuracy: 0.954\n", - "15 Test accuracy: 0.9539\n", - "16 Test accuracy: 0.9537\n", - "17 Test accuracy: 0.9551\n", - "18 Test accuracy: 0.9551\n", - "19 Test accuracy: 0.955\n" + "0 Test accuracy: 0.9033\n", + "1 Test accuracy: 0.9322\n", + "2 Test accuracy: 0.9423\n", + "3 Test accuracy: 0.9449\n", + "4 Test accuracy: 0.9471\n", + "5 Test accuracy: 0.9477\n", + "6 Test accuracy: 0.951\n", + "7 Test accuracy: 0.9507\n", + "8 Test accuracy: 0.9514\n", + "9 Test accuracy: 0.9522\n", + "10 Test accuracy: 0.9512\n", + "11 Test accuracy: 0.9521\n", + "12 Test accuracy: 0.9522\n", + "13 Test accuracy: 0.9539\n", + "14 Test accuracy: 0.9536\n", + "15 Test accuracy: 0.9534\n", + "16 Test accuracy: 0.9547\n", + "17 Test accuracy: 0.9537\n", + "18 Test accuracy: 0.9542\n", + "19 Test accuracy: 0.9547\n" ] } ], @@ -2774,7 +2804,7 @@ }, { "cell_type": "code", - "execution_count": 72, + "execution_count": 78, "metadata": { "collapsed": true }, @@ -2793,7 +2823,7 @@ }, { "cell_type": "code", - "execution_count": 73, + "execution_count": 79, "metadata": { "collapsed": true }, @@ -2812,7 +2842,7 @@ }, { "cell_type": "code", - "execution_count": 74, + "execution_count": 80, "metadata": { "collapsed": true }, @@ -2830,7 +2860,7 @@ }, { "cell_type": "code", - "execution_count": 75, + "execution_count": 81, "metadata": { "collapsed": true }, @@ -2849,7 +2879,7 @@ }, { "cell_type": "code", - "execution_count": 76, + "execution_count": 82, "metadata": { "collapsed": true }, @@ -2867,7 +2897,7 @@ }, { "cell_type": "code", - "execution_count": 77, + "execution_count": 83, "metadata": { "collapsed": true }, @@ -2899,7 +2929,7 @@ }, { "cell_type": "code", - "execution_count": 78, + "execution_count": 84, "metadata": { "collapsed": true }, @@ -2918,8 +2948,10 @@ }, { "cell_type": "code", - "execution_count": 79, - "metadata": {}, + "execution_count": 85, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "init = tf.global_variables_initializer()\n", @@ -2928,18 +2960,18 @@ }, { "cell_type": "code", - "execution_count": 80, + "execution_count": 86, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "0 Test accuracy: 0.9587\n", - "1 Test accuracy: 0.9721\n", - "2 Test accuracy: 0.9755\n", - "3 Test accuracy: 0.9767\n", - "4 Test accuracy: 0.9824\n" + "0 Test accuracy: 0.9579\n", + "1 Test accuracy: 0.9691\n", + "2 Test accuracy: 0.976\n", + "3 Test accuracy: 0.9793\n", + "4 Test accuracy: 0.9811\n" ] } ], @@ -2983,7 +3015,7 @@ }, { "cell_type": "code", - "execution_count": 81, + "execution_count": 87, "metadata": { "collapsed": true }, @@ -3012,8 +3044,10 @@ }, { "cell_type": "code", - "execution_count": 82, - "metadata": {}, + "execution_count": 88, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "W1 = tf.get_default_graph().get_tensor_by_name(\"hidden1/kernel:0\")\n", @@ -3038,8 +3072,10 @@ }, { "cell_type": "code", - "execution_count": 83, - "metadata": {}, + "execution_count": 89, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "with tf.name_scope(\"eval\"):\n", @@ -3058,7 +3094,7 @@ }, { "cell_type": "code", - "execution_count": 84, + "execution_count": 90, "metadata": { "scrolled": true }, @@ -3067,26 +3103,26 @@ "name": "stdout", "output_type": "stream", "text": [ - "0 Test accuracy: 0.8357\n", - "1 Test accuracy: 0.8698\n", - "2 Test accuracy: 0.8831\n", - "3 Test accuracy: 0.8903\n", - "4 Test accuracy: 0.8954\n", - "5 Test accuracy: 0.8982\n", - "6 Test accuracy: 0.9016\n", - "7 Test accuracy: 0.904\n", - "8 Test accuracy: 0.9042\n", - "9 Test accuracy: 0.9059\n", - "10 Test accuracy: 0.9072\n", - "11 Test accuracy: 0.9063\n", - "12 Test accuracy: 0.9076\n", - "13 Test accuracy: 0.908\n", - "14 Test accuracy: 0.908\n", - "15 Test accuracy: 0.9073\n", - "16 Test accuracy: 0.9076\n", - "17 Test accuracy: 0.9072\n", - "18 Test accuracy: 0.9069\n", - "19 Test accuracy: 0.9068\n" + "0 Test accuracy: 0.8343\n", + "1 Test accuracy: 0.8726\n", + "2 Test accuracy: 0.8832\n", + "3 Test accuracy: 0.8899\n", + "4 Test accuracy: 0.8958\n", + "5 Test accuracy: 0.8986\n", + "6 Test accuracy: 0.9011\n", + "7 Test accuracy: 0.9032\n", + "8 Test accuracy: 0.9046\n", + "9 Test accuracy: 0.9047\n", + "10 Test accuracy: 0.9065\n", + "11 Test accuracy: 0.9059\n", + "12 Test accuracy: 0.9072\n", + "13 Test accuracy: 0.9072\n", + "14 Test accuracy: 0.9069\n", + "15 Test accuracy: 0.9071\n", + "16 Test accuracy: 0.9064\n", + "17 Test accuracy: 0.9071\n", + "18 Test accuracy: 0.9068\n", + "19 Test accuracy: 0.9063\n" ] } ], @@ -3116,7 +3152,7 @@ }, { "cell_type": "code", - "execution_count": 85, + "execution_count": 91, "metadata": { "collapsed": true }, @@ -3142,7 +3178,7 @@ }, { "cell_type": "code", - "execution_count": 86, + "execution_count": 92, "metadata": { "collapsed": true }, @@ -3153,8 +3189,10 @@ }, { "cell_type": "code", - "execution_count": 87, - "metadata": {}, + "execution_count": 93, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "my_dense_layer = partial(\n", @@ -3177,7 +3215,7 @@ }, { "cell_type": "code", - "execution_count": 88, + "execution_count": 94, "metadata": { "collapsed": true }, @@ -3200,8 +3238,10 @@ }, { "cell_type": "code", - "execution_count": 89, - "metadata": {}, + "execution_count": 95, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "with tf.name_scope(\"eval\"):\n", @@ -3220,7 +3260,7 @@ }, { "cell_type": "code", - "execution_count": 90, + "execution_count": 96, "metadata": { "scrolled": true }, @@ -3229,26 +3269,26 @@ "name": "stdout", "output_type": "stream", "text": [ - "0 Test accuracy: 0.8327\n", - "1 Test accuracy: 0.8785\n", - "2 Test accuracy: 0.8931\n", - "3 Test accuracy: 0.901\n", - "4 Test accuracy: 0.9067\n", - "5 Test accuracy: 0.9101\n", - "6 Test accuracy: 0.9112\n", - "7 Test accuracy: 0.9139\n", - "8 Test accuracy: 0.9152\n", - "9 Test accuracy: 0.9175\n", - "10 Test accuracy: 0.9183\n", - "11 Test accuracy: 0.919\n", - "12 Test accuracy: 0.9177\n", - "13 Test accuracy: 0.9196\n", - "14 Test accuracy: 0.9193\n", - "15 Test accuracy: 0.9186\n", - "16 Test accuracy: 0.9197\n", - "17 Test accuracy: 0.9185\n", - "18 Test accuracy: 0.9183\n", - "19 Test accuracy: 0.9176\n" + "0 Test accuracy: 0.8298\n", + "1 Test accuracy: 0.8778\n", + "2 Test accuracy: 0.8917\n", + "3 Test accuracy: 0.9017\n", + "4 Test accuracy: 0.9068\n", + "5 Test accuracy: 0.9103\n", + "6 Test accuracy: 0.9125\n", + "7 Test accuracy: 0.9137\n", + "8 Test accuracy: 0.9149\n", + "9 Test accuracy: 0.9174\n", + "10 Test accuracy: 0.9176\n", + "11 Test accuracy: 0.9184\n", + "12 Test accuracy: 0.9191\n", + "13 Test accuracy: 0.9183\n", + "14 Test accuracy: 0.9195\n", + "15 Test accuracy: 0.9201\n", + "16 Test accuracy: 0.9181\n", + "17 Test accuracy: 0.9184\n", + "18 Test accuracy: 0.9181\n", + "19 Test accuracy: 0.9174\n" ] } ], @@ -3287,7 +3327,7 @@ }, { "cell_type": "code", - "execution_count": 91, + "execution_count": 97, "metadata": { "collapsed": true }, @@ -3301,8 +3341,10 @@ }, { "cell_type": "code", - "execution_count": 92, - "metadata": {}, + "execution_count": 98, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "training = tf.placeholder_with_default(False, shape=(), name='training')\n", @@ -3322,8 +3364,10 @@ }, { "cell_type": "code", - "execution_count": 93, - "metadata": {}, + "execution_count": 99, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "with tf.name_scope(\"loss\"):\n", @@ -3344,7 +3388,7 @@ }, { "cell_type": "code", - "execution_count": 94, + "execution_count": 100, "metadata": { "scrolled": true }, @@ -3353,26 +3397,26 @@ "name": "stdout", "output_type": "stream", "text": [ - "0 Test accuracy: 0.9252\n", - "1 Test accuracy: 0.9409\n", - "2 Test accuracy: 0.9493\n", - "3 Test accuracy: 0.9519\n", - "4 Test accuracy: 0.9581\n", - "5 Test accuracy: 0.9565\n", - "6 Test accuracy: 0.961\n", - "7 Test accuracy: 0.9594\n", - "8 Test accuracy: 0.9631\n", - "9 Test accuracy: 0.9631\n", - "10 Test accuracy: 0.9658\n", - "11 Test accuracy: 0.965\n", - "12 Test accuracy: 0.9662\n", - "13 Test accuracy: 0.9643\n", - "14 Test accuracy: 0.9674\n", - "15 Test accuracy: 0.968\n", - "16 Test accuracy: 0.9694\n", - "17 Test accuracy: 0.9698\n", - "18 Test accuracy: 0.9702\n", - "19 Test accuracy: 0.9723\n" + "0 Test accuracy: 0.9205\n", + "1 Test accuracy: 0.9418\n", + "2 Test accuracy: 0.9486\n", + "3 Test accuracy: 0.9508\n", + "4 Test accuracy: 0.954\n", + "5 Test accuracy: 0.957\n", + "6 Test accuracy: 0.9604\n", + "7 Test accuracy: 0.9585\n", + "8 Test accuracy: 0.9598\n", + "9 Test accuracy: 0.9663\n", + "10 Test accuracy: 0.9644\n", + "11 Test accuracy: 0.9646\n", + "12 Test accuracy: 0.9675\n", + "13 Test accuracy: 0.9657\n", + "14 Test accuracy: 0.9645\n", + "15 Test accuracy: 0.9668\n", + "16 Test accuracy: 0.969\n", + "17 Test accuracy: 0.9682\n", + "18 Test accuracy: 0.9698\n", + "19 Test accuracy: 0.9682\n" ] } ], @@ -3408,8 +3452,10 @@ }, { "cell_type": "code", - "execution_count": 95, - "metadata": {}, + "execution_count": 101, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "reset_graph()\n", @@ -3452,8 +3498,10 @@ }, { "cell_type": "code", - "execution_count": 96, - "metadata": {}, + "execution_count": 102, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "threshold = 1.0\n", @@ -3471,7 +3519,7 @@ }, { "cell_type": "code", - "execution_count": 97, + "execution_count": 103, "metadata": { "collapsed": true }, @@ -3491,7 +3539,7 @@ }, { "cell_type": "code", - "execution_count": 98, + "execution_count": 104, "metadata": { "collapsed": true }, @@ -3510,7 +3558,7 @@ }, { "cell_type": "code", - "execution_count": 99, + "execution_count": 105, "metadata": { "collapsed": true }, @@ -3522,33 +3570,33 @@ }, { "cell_type": "code", - "execution_count": 100, + "execution_count": 106, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "0 Test accuracy: 0.9555\n", - "1 Test accuracy: 0.9688\n", - "2 Test accuracy: 0.9699\n", - "3 Test accuracy: 0.9747\n", - "4 Test accuracy: 0.9761\n", - "5 Test accuracy: 0.9763\n", - "6 Test accuracy: 0.9776\n", - "7 Test accuracy: 0.9803\n", - "8 Test accuracy: 0.9776\n", - "9 Test accuracy: 0.9806\n", - "10 Test accuracy: 0.9789\n", - "11 Test accuracy: 0.98\n", - "12 Test accuracy: 0.9811\n", - "13 Test accuracy: 0.9785\n", + "0 Test accuracy: 0.9517\n", + "1 Test accuracy: 0.9674\n", + "2 Test accuracy: 0.9712\n", + "3 Test accuracy: 0.9759\n", + "4 Test accuracy: 0.975\n", + "5 Test accuracy: 0.9761\n", + "6 Test accuracy: 0.9765\n", + "7 Test accuracy: 0.9796\n", + "8 Test accuracy: 0.9791\n", + "9 Test accuracy: 0.9794\n", + "10 Test accuracy: 0.9805\n", + "11 Test accuracy: 0.9809\n", + "12 Test accuracy: 0.9807\n", + "13 Test accuracy: 0.9799\n", "14 Test accuracy: 0.982\n", - "15 Test accuracy: 0.9837\n", - "16 Test accuracy: 0.9831\n", - "17 Test accuracy: 0.9826\n", - "18 Test accuracy: 0.9829\n", - "19 Test accuracy: 0.9824\n" + "15 Test accuracy: 0.9816\n", + "16 Test accuracy: 0.9825\n", + "17 Test accuracy: 0.9825\n", + "18 Test accuracy: 0.9816\n", + "19 Test accuracy: 0.9822\n" ] } ], @@ -3577,7 +3625,7 @@ }, { "cell_type": "code", - "execution_count": 101, + "execution_count": 107, "metadata": { "collapsed": true }, @@ -3602,8 +3650,10 @@ }, { "cell_type": "code", - "execution_count": 102, - "metadata": {}, + "execution_count": 108, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "reset_graph()\n", @@ -3622,7 +3672,7 @@ }, { "cell_type": "code", - "execution_count": 103, + "execution_count": 109, "metadata": { "collapsed": true }, @@ -3640,7 +3690,7 @@ }, { "cell_type": "code", - "execution_count": 104, + "execution_count": 110, "metadata": { "collapsed": true }, @@ -3671,7 +3721,7 @@ }, { "cell_type": "code", - "execution_count": 105, + "execution_count": 111, "metadata": { "collapsed": true }, @@ -3683,7 +3733,7 @@ }, { "cell_type": "code", - "execution_count": 106, + "execution_count": 112, "metadata": { "scrolled": false }, @@ -3692,25 +3742,25 @@ "name": "stdout", "output_type": "stream", "text": [ - "0 Test accuracy: 0.9494\n", - "1 Test accuracy: 0.9657\n", - "2 Test accuracy: 0.9659\n", - "3 Test accuracy: 0.9729\n", - "4 Test accuracy: 0.9737\n", - "5 Test accuracy: 0.9761\n", - "6 Test accuracy: 0.9765\n", - "7 Test accuracy: 0.9802\n", - "8 Test accuracy: 0.9782\n", - "9 Test accuracy: 0.978\n", - "10 Test accuracy: 0.9785\n", - "11 Test accuracy: 0.9795\n", - "12 Test accuracy: 0.9805\n", - "13 Test accuracy: 0.9804\n", - "14 Test accuracy: 0.979\n", - "15 Test accuracy: 0.9804\n", - "16 Test accuracy: 0.9812\n", - "17 Test accuracy: 0.9804\n", - "18 Test accuracy: 0.981\n", + "0 Test accuracy: 0.9527\n", + "1 Test accuracy: 0.9653\n", + "2 Test accuracy: 0.97\n", + "3 Test accuracy: 0.9751\n", + "4 Test accuracy: 0.9752\n", + "5 Test accuracy: 0.9742\n", + "6 Test accuracy: 0.9754\n", + "7 Test accuracy: 0.9784\n", + "8 Test accuracy: 0.9775\n", + "9 Test accuracy: 0.9789\n", + "10 Test accuracy: 0.9808\n", + "11 Test accuracy: 0.9797\n", + "12 Test accuracy: 0.9802\n", + "13 Test accuracy: 0.9799\n", + "14 Test accuracy: 0.9808\n", + "15 Test accuracy: 0.9809\n", + "16 Test accuracy: 0.9807\n", + "17 Test accuracy: 0.9803\n", + "18 Test accuracy: 0.9816\n", "19 Test accuracy: 0.9812\n" ] } @@ -3785,7 +3835,7 @@ }, { "cell_type": "code", - "execution_count": 107, + "execution_count": 113, "metadata": { "collapsed": true }, @@ -3805,7 +3855,7 @@ }, { "cell_type": "code", - "execution_count": 108, + "execution_count": 114, "metadata": { "collapsed": true }, @@ -3848,7 +3898,7 @@ }, { "cell_type": "code", - "execution_count": 109, + "execution_count": 115, "metadata": { "collapsed": true }, @@ -3878,7 +3928,7 @@ }, { "cell_type": "code", - "execution_count": 110, + "execution_count": 116, "metadata": {}, "outputs": [ { @@ -3906,7 +3956,7 @@ }, { "cell_type": "code", - "execution_count": 111, + "execution_count": 117, "metadata": { "collapsed": true }, @@ -3922,7 +3972,7 @@ }, { "cell_type": "code", - "execution_count": 112, + "execution_count": 118, "metadata": {}, "outputs": [ { @@ -4033,8 +4083,10 @@ }, { "cell_type": "code", - "execution_count": 113, - "metadata": {}, + "execution_count": 119, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "from sklearn.base import BaseEstimator, ClassifierMixin\n", @@ -4150,15 +4202,14 @@ " self._graph = tf.Graph()\n", " with self._graph.as_default():\n", " self._build_graph(n_inputs, n_outputs)\n", + " # extra ops for batch normalization\n", + " extra_update_ops = tf.get_collection(tf.GraphKeys.UPDATE_OPS)\n", "\n", " # needed in case of early stopping\n", " max_checks_without_progress = 20\n", " checks_without_progress = 0\n", " best_loss = np.infty\n", " best_params = None\n", - "\n", - " # extra ops for batch normalization\n", - " extra_update_ops = tf.get_collection(tf.GraphKeys.UPDATE_OPS)\n", " \n", " # Now train the model!\n", " self._session = tf.Session(graph=self._graph)\n", @@ -4224,7 +4275,7 @@ }, { "cell_type": "code", - "execution_count": 114, + "execution_count": 120, "metadata": {}, "outputs": [ { @@ -4263,15 +4314,15 @@ { "data": { "text/plain": [ - "DNNClassifier(activation=,\n", + "DNNClassifier(activation=,\n", " batch_norm_momentum=None, batch_size=20, dropout_rate=None,\n", - " initializer=._initializer at 0x7f8e143c3840>,\n", + " initializer=._initializer at 0x7fd9d5e628c8>,\n", " learning_rate=0.01, n_hidden_layers=5, n_neurons=100,\n", " optimizer_class=,\n", " random_state=42)" ] }, - "execution_count": 114, + "execution_count": 120, "metadata": {}, "output_type": "execute_result" } @@ -4290,7 +4341,7 @@ }, { "cell_type": "code", - "execution_count": 115, + "execution_count": 121, "metadata": {}, "outputs": [ { @@ -4299,7 +4350,7 @@ "0.98054096127651291" ] }, - "execution_count": 115, + "execution_count": 121, "metadata": {}, "output_type": "execute_result" } @@ -4320,7 +4371,7 @@ }, { "cell_type": "code", - "execution_count": 116, + "execution_count": 122, "metadata": {}, "outputs": [ { @@ -4328,7 +4379,7 @@ "output_type": "stream", "text": [ "Fitting 3 folds for each of 50 candidates, totalling 150 fits\n", - "[CV] learning_rate=0.05, batch_size=100, n_neurons=10, activation= \n", + "[CV] n_neurons=10, learning_rate=0.05, activation=, batch_size=100 \n", "0\tValidation loss: 0.132355\tBest loss: 0.132355\tAccuracy: 96.44%\n", "1\tValidation loss: 0.126329\tBest loss: 0.126329\tAccuracy: 96.21%\n", "2\tValidation loss: 0.138284\tBest loss: 0.126329\tAccuracy: 96.76%\n", @@ -4357,15 +4408,15 @@ "25\tValidation loss: 1.623761\tBest loss: 0.119928\tAccuracy: 22.01%\n", "26\tValidation loss: 1.641760\tBest loss: 0.119928\tAccuracy: 18.73%\n", "Early stopping!\n", - "[CV] learning_rate=0.05, batch_size=100, n_neurons=10, activation=, total= 6.5s\n", - "[CV] learning_rate=0.05, batch_size=100, n_neurons=10, activation= \n" + "[CV] n_neurons=10, learning_rate=0.05, activation=, batch_size=100, total= 5.6s\n", + "[CV] n_neurons=10, learning_rate=0.05, activation=, batch_size=100 \n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 6.6s remaining: 0.0s\n" + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 5.6s remaining: 0.0s\n" ] }, { @@ -4401,8 +4452,8 @@ "26\tValidation loss: 1.227676\tBest loss: 0.109637\tAccuracy: 38.62%\n", "27\tValidation loss: 1.187587\tBest loss: 0.109637\tAccuracy: 39.44%\n", "Early stopping!\n", - "[CV] learning_rate=0.05, batch_size=100, n_neurons=10, activation=, total= 6.6s\n", - "[CV] learning_rate=0.05, batch_size=100, n_neurons=10, activation= \n", + "[CV] n_neurons=10, learning_rate=0.05, activation=, batch_size=100, total= 5.9s\n", + "[CV] n_neurons=10, learning_rate=0.05, activation=, batch_size=100 \n", "0\tValidation loss: 0.182619\tBest loss: 0.182619\tAccuracy: 94.29%\n", "1\tValidation loss: 0.152706\tBest loss: 0.152706\tAccuracy: 95.97%\n", "2\tValidation loss: 0.193820\tBest loss: 0.152706\tAccuracy: 93.82%\n", @@ -4431,8 +4482,8 @@ "25\tValidation loss: 1.196626\tBest loss: 0.140087\tAccuracy: 38.62%\n", "26\tValidation loss: 1.170714\tBest loss: 0.140087\tAccuracy: 42.38%\n", "Early stopping!\n", - "[CV] learning_rate=0.05, batch_size=100, n_neurons=10, activation=, total= 7.3s\n", - "[CV] learning_rate=0.02, batch_size=500, n_neurons=30, activation= \n", + "[CV] n_neurons=10, learning_rate=0.05, activation=, batch_size=100, total= 6.9s\n", + "[CV] n_neurons=30, learning_rate=0.02, activation=, batch_size=500 \n", "0\tValidation loss: 0.171512\tBest loss: 0.171512\tAccuracy: 95.07%\n", "1\tValidation loss: 0.095914\tBest loss: 0.095914\tAccuracy: 97.03%\n", "2\tValidation loss: 0.099199\tBest loss: 0.095914\tAccuracy: 96.91%\n", @@ -4462,55 +4513,60 @@ "26\tValidation loss: 0.094774\tBest loss: 0.071800\tAccuracy: 98.28%\n", "27\tValidation loss: 0.086041\tBest loss: 0.071800\tAccuracy: 98.20%\n", "Early stopping!\n", - "[CV] learning_rate=0.02, batch_size=500, n_neurons=30, activation=, total= 7.9s\n", - "[CV] learning_rate=0.02, batch_size=500, n_neurons=30, activation= \n", + "[CV] n_neurons=30, learning_rate=0.02, activation=, batch_size=500, total= 6.8s\n", + "[CV] n_neurons=30, learning_rate=0.02, activation=, batch_size=500 \n", "0\tValidation loss: 0.113188\tBest loss: 0.113188\tAccuracy: 96.60%\n", "1\tValidation loss: 0.081384\tBest loss: 0.081384\tAccuracy: 97.58%\n", "2\tValidation loss: 0.068770\tBest loss: 0.068770\tAccuracy: 98.12%\n", "3\tValidation loss: 0.077316\tBest loss: 0.068770\tAccuracy: 97.73%\n", - "[...and much later...]\n", - "43\tValidation loss: 6167.386230\tBest loss: 0.142484\tAccuracy: 91.83%\n", - "44\tValidation loss: 19455.550781\tBest loss: 0.142484\tAccuracy: 84.75%\n", - "45\tValidation loss: 8478.734375\tBest loss: 0.142484\tAccuracy: 92.26%\n", - "46\tValidation loss: 7594.540039\tBest loss: 0.142484\tAccuracy: 91.79%\n", - "47\tValidation loss: 18661.273438\tBest loss: 0.142484\tAccuracy: 90.15%\n", - "48\tValidation loss: 10774.322266\tBest loss: 0.142484\tAccuracy: 93.28%\n", - "49\tValidation loss: 8555.013672\tBest loss: 0.142484\tAccuracy: 92.03%\n", - "Early stopping!\n", - "[CV] learning_rate=0.1, batch_size=500, n_neurons=90, activation=.parametrized_leaky_relu at 0x7f8e23bc8488>, total= 33.8s\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[Parallel(n_jobs=1)]: Done 150 out of 150 | elapsed: 80.5min finished\n" + "4\tValidation loss: 0.074333\tBest loss: 0.068770\tAccuracy: 97.97%\n", + "5\tValidation loss: 0.084735\tBest loss: 0.068770\tAccuracy: 97.30%\n", + "6\tValidation loss: 0.082893\tBest loss: 0.068770\tAccuracy: 97.69%\n", + "7\tValidation loss: 0.075860\tBest loss: 0.068770\tAccuracy: 97.65%\n", + "8\tValidation loss: 0.078686\tBest loss: 0.068770\tAccuracy: 97.77%\n", + "9\tValidation loss: 0.080869\tBest loss: 0.068770\tAccuracy: 97.77%\n", + "10\tValidation loss: 0.082026\tBest loss: 0.068770\tAccuracy: 98.12%\n", + "11\tValidation loss: 0.086516\tBest loss: 0.068770\tAccuracy: 97.69%\n", + "12\tValidation loss: 0.076660\tBest loss: 0.068770\tAccuracy: 98.12%\n", + "13\tValidation loss: 0.073815\tBest loss: 0.068770\tAccuracy: 98.08%\n", + "14\tValidation loss: 0.077873\tBest loss: 0.068770\tAccuracy: 98.20%\n", + "15\tValidation loss: 0.078704\tBest loss: 0.068770\tAccuracy: 97.93%\n", + "16\tValidation loss: 0.077061\tBest loss: 0.068770\tAccuracy: 98.28%\n", + "17\tValidation loss: 0.075423\tBest loss: 0.068770\tAccuracy: 97.93%\n", + "18\tValidation loss: 0.085646\tBest loss: 0.068770\tAccuracy: 98.24%\n", + "19\tValidation loss: 0.082202\tBest loss: 0.068770\tAccuracy: 98.05%\n", + "20\tValidation loss: 0.103338\tBest loss: 0.068770\tAccuracy: 97.46%\n", + "21\tValidation loss: 0.068182\tBest loss: 0.068182\tAccuracy: 98.40%\n", + "22\tValidation loss: 0.067592\tBest loss: 0.067592\tAccuracy: 97.93%\n", + "23\tValidation loss: 0.076756\tBest loss: 0.067592\tAccuracy: 98.28%\n", + "24\tValidation loss: 0.072327\tBest loss: 0.067592\tAccuracy: 98.48%\n", + "25\tValidation loss: 0.075613\tBest loss: 0.067592\tAccuracy: 98.44%\n", + "26\tValidation loss: 0.072291\tBest loss: 0.067592\tAccuracy: 98.40%\n", + "27\tValidation loss: 0.084550\tBest loss: 0.067592\tAccuracy: 98.28%\n", + "28\tValidation loss: 0.075566\tBest loss: 0.067592\tAccuracy: 98.36%\n", + "29\tValidation loss: 0.071688\tBest loss: 0.067592\tAccuracy: 98.28%\n", + "30\tValidation loss: 0.075556\tBest loss: 0.067592\tAccuracy: 98.24%\n", + "31\tValidation loss: 0.065671\tBest loss: 0.065671\tAccuracy: 98.40%\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "0\tValidation loss: 0.090732\tBest loss: 0.090732\tAccuracy: 97.22%\n", - "1\tValidation loss: 0.052198\tBest loss: 0.052198\tAccuracy: 98.40%\n", - "2\tValidation loss: 0.040040\tBest loss: 0.040040\tAccuracy: 98.94%\n", - "3\tValidation loss: 0.057495\tBest loss: 0.040040\tAccuracy: 98.55%\n", - "4\tValidation loss: 0.045600\tBest loss: 0.040040\tAccuracy: 98.75%\n", - "5\tValidation loss: 0.062344\tBest loss: 0.040040\tAccuracy: 98.48%\n", - "6\tValidation loss: 0.048719\tBest loss: 0.040040\tAccuracy: 98.67%\n", - "7\tValidation loss: 0.050346\tBest loss: 0.040040\tAccuracy: 98.79%\n", - "8\tValidation loss: 0.051224\tBest loss: 0.040040\tAccuracy: 98.79%\n", - "9\tValidation loss: 0.036505\tBest loss: 0.036505\tAccuracy: 98.98%\n", - "10\tValidation loss: 0.052532\tBest loss: 0.036505\tAccuracy: 98.71%\n", - "11\tValidation loss: 0.057086\tBest loss: 0.036505\tAccuracy: 99.10%\n", - "12\tValidation loss: 0.036754\tBest loss: 0.036505\tAccuracy: 99.06%\n", - "13\tValidation loss: 0.046782\tBest loss: 0.036505\tAccuracy: 98.87%\n", - "14\tValidation loss: 0.048929\tBest loss: 0.036505\tAccuracy: 98.91%\n", - "15\tValidation loss: 0.052919\tBest loss: 0.036505\tAccuracy: 98.75%\n", - "16\tValidation loss: 0.054287\tBest loss: 0.036505\tAccuracy: 98.67%\n", - "17\tValidation loss: 0.047722\tBest loss: 0.036505\tAccuracy: 98.79%\n", - "18\tValidation loss: 0.040474\tBest loss: 0.036505\tAccuracy: 99.14%\n", - "19\tValidation loss: 0.033867\tBest loss: 0.033867\tAccuracy: 99.14%\n", + "32\tValidation loss: 0.083471\tBest loss: 0.065671\tAccuracy: 98.40%\n", + "33\tValidation loss: 0.086415\tBest loss: 0.065671\tAccuracy: 98.59%\n", + "34\tValidation loss: 0.085613\tBest loss: 0.065671\tAccuracy: 98.36%\n", + "35\tValidation loss: 0.099534\tBest loss: 0.065671\tAccuracy: 98.28%\n", + "36\tValidation loss: 0.102709\tBest loss: 0.065671\tAccuracy: 98.32%\n", + "37\tValidation loss: 0.093125\tBest loss: 0.065671\tAccuracy: 98.20%\n", + "38\tValidation loss: 0.109501\tBest loss: 0.065671\tAccuracy: 97.85%\n", + "39\tValidation loss: 0.109443\tBest loss: 0.065671\tAccuracy: 98.44%\n", + "40\tValidation loss: 0.087260\tBest loss: 0.065671\tAccuracy: 98.36%\n", + "41\tValidation loss: 0.106365\tBest loss: 0.065671\tAccuracy: 98.36%\n", + "42\tValidation loss: 0.102789\tBest loss: 0.065671\tAccuracy: 98.05%\n", + "43\tValidation loss: 0.094281\tBest loss: 0.065671\tAccuracy: 98.48%\n", + "44\tValidation loss: 0.094514\tBest loss: 0.065671\tAccuracy: 98.40%\n", + "[...and much later...]\n", "20\tValidation loss: 0.046808\tBest loss: 0.033867\tAccuracy: 98.83%\n", "21\tValidation loss: 0.052966\tBest loss: 0.033867\tAccuracy: 98.91%\n", "22\tValidation loss: 0.095892\tBest loss: 0.033867\tAccuracy: 98.08%\n", @@ -4539,24 +4595,24 @@ "data": { "text/plain": [ "RandomizedSearchCV(cv=None, error_score='raise',\n", - " estimator=DNNClassifier(activation=,\n", + " estimator=DNNClassifier(activation=,\n", " batch_norm_momentum=None, batch_size=20, dropout_rate=None,\n", - " initializer=._initializer at 0x7f8e143c3840>,\n", + " initializer=._initializer at 0x7fd9d5e628c8>,\n", " learning_rate=0.01, n_hidden_layers=5, n_neurons=100,\n", " optimizer_class=,\n", " random_state=42),\n", - " fit_params={'n_epochs': 1000, 'X_valid': array([[ 0., 0., ..., 0., 0.],\n", + " fit_params={'y_valid': array([0, 4, ..., 1, 2], dtype=uint8), 'X_valid': array([[ 0., 0., ..., 0., 0.],\n", " [ 0., 0., ..., 0., 0.],\n", " ...,\n", " [ 0., 0., ..., 0., 0.],\n", - " [ 0., 0., ..., 0., 0.]], dtype=float32), 'y_valid': array([0, 4, ..., 1, 2], dtype=uint8)},\n", + " [ 0., 0., ..., 0., 0.]], dtype=float32), 'n_epochs': 1000},\n", " iid=True, n_iter=50, n_jobs=1,\n", - " param_distributions={'batch_size': [10, 50, 100, 500], 'learning_rate': [0.01, 0.02, 0.05, 0.1], 'n_neurons': [10, 30, 50, 70, 90, 100, 120, 140, 160], 'activation': [, , .parametrized_leaky_relu at 0x7f8e4469d510>, .parametrized_leaky_relu at 0x7f8e23bc8488>]},\n", + " param_distributions={'n_neurons': [10, 30, 50, 70, 90, 100, 120, 140, 160], 'learning_rate': [0.01, 0.02, 0.05, 0.1], 'activation': [, , .parametrized_leaky_relu at 0x7fd9db0b30d0>, .parametrized_leaky_relu at 0x7fd9d4ddca60>], 'batch_size': [10, 50, 100, 500]},\n", " pre_dispatch='2*n_jobs', random_state=42, refit=True,\n", " return_train_score=True, scoring=None, verbose=2)" ] }, - "execution_count": 116, + "execution_count": 122, "metadata": {}, "output_type": "execute_result" } @@ -4587,7 +4643,7 @@ }, { "cell_type": "code", - "execution_count": 117, + "execution_count": 123, "metadata": {}, "outputs": [ { @@ -4599,7 +4655,7 @@ " 'n_neurons': 140}" ] }, - "execution_count": 117, + "execution_count": 123, "metadata": {}, "output_type": "execute_result" } @@ -4610,7 +4666,7 @@ }, { "cell_type": "code", - "execution_count": 118, + "execution_count": 124, "metadata": {}, "outputs": [ { @@ -4619,7 +4675,7 @@ "0.99318933644677954" ] }, - "execution_count": 118, + "execution_count": 124, "metadata": {}, "output_type": "execute_result" } @@ -4645,7 +4701,7 @@ }, { "cell_type": "code", - "execution_count": 119, + "execution_count": 125, "metadata": { "collapsed": true }, @@ -4677,7 +4733,7 @@ }, { "cell_type": "code", - "execution_count": 120, + "execution_count": 126, "metadata": {}, "outputs": [ { @@ -4731,15 +4787,15 @@ { "data": { "text/plain": [ - "DNNClassifier(activation=.parametrized_leaky_relu at 0x7f8e23b8eae8>,\n", + "DNNClassifier(activation=.parametrized_leaky_relu at 0x7fd9d19e37b8>,\n", " batch_norm_momentum=None, batch_size=500, dropout_rate=None,\n", - " initializer=._initializer at 0x7f8e143c3840>,\n", + " initializer=._initializer at 0x7fd9d5e628c8>,\n", " learning_rate=0.01, n_hidden_layers=5, n_neurons=140,\n", " optimizer_class=,\n", " random_state=42)" ] }, - "execution_count": 120, + "execution_count": 126, "metadata": {}, "output_type": "execute_result" } @@ -4766,7 +4822,7 @@ }, { "cell_type": "code", - "execution_count": 121, + "execution_count": 127, "metadata": {}, "outputs": [ { @@ -4775,7 +4831,7 @@ "0.99318933644677954" ] }, - "execution_count": 121, + "execution_count": 127, "metadata": {}, "output_type": "execute_result" } @@ -4794,52 +4850,98 @@ }, { "cell_type": "code", - "execution_count": 122, + "execution_count": 128, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "0\tValidation loss: 1.857111\tBest loss: 1.857111\tAccuracy: 89.64%\n", - "1\tValidation loss: 1.429800\tBest loss: 1.429800\tAccuracy: 93.94%\n", - "2\tValidation loss: 0.984367\tBest loss: 0.984367\tAccuracy: 95.86%\n", - "3\tValidation loss: 1.878914\tBest loss: 0.984367\tAccuracy: 94.68%\n", - "4\tValidation loss: 4.285415\tBest loss: 0.984367\tAccuracy: 91.87%\n", - "5\tValidation loss: 3.880259\tBest loss: 0.984367\tAccuracy: 91.91%\n", - "6\tValidation loss: 7.586149\tBest loss: 0.984367\tAccuracy: 90.38%\n", - "7\tValidation loss: 7.003541\tBest loss: 0.984367\tAccuracy: 91.05%\n", - "8\tValidation loss: 3.774627\tBest loss: 0.984367\tAccuracy: 95.00%\n", - "9\tValidation loss: 9.261741\tBest loss: 0.984367\tAccuracy: 90.66%\n", - "10\tValidation loss: 4.659614\tBest loss: 0.984367\tAccuracy: 96.36%\n", - "11\tValidation loss: 7.396369\tBest loss: 0.984367\tAccuracy: 94.21%\n", - "12\tValidation loss: 10.800961\tBest loss: 0.984367\tAccuracy: 93.28%\n", - "13\tValidation loss: 10.187258\tBest loss: 0.984367\tAccuracy: 94.68%\n", - "14\tValidation loss: 12.643840\tBest loss: 0.984367\tAccuracy: 94.53%\n", - "15\tValidation loss: 7.875628\tBest loss: 0.984367\tAccuracy: 96.13%\n", - "16\tValidation loss: 30.227692\tBest loss: 0.984367\tAccuracy: 91.01%\n", - "17\tValidation loss: 13.996559\tBest loss: 0.984367\tAccuracy: 95.62%\n", - "18\tValidation loss: 14.688783\tBest loss: 0.984367\tAccuracy: 95.39%\n", - "19\tValidation loss: 17.478910\tBest loss: 0.984367\tAccuracy: 95.66%\n", - "20\tValidation loss: 20.260157\tBest loss: 0.984367\tAccuracy: 95.50%\n", - "21\tValidation loss: 26.706875\tBest loss: 0.984367\tAccuracy: 94.18%\n", - "22\tValidation loss: 28.201635\tBest loss: 0.984367\tAccuracy: 93.78%\n", - "23\tValidation loss: 33.353935\tBest loss: 0.984367\tAccuracy: 93.98%\n", + "0\tValidation loss: 0.046053\tBest loss: 0.046053\tAccuracy: 98.67%\n", + "1\tValidation loss: 0.032228\tBest loss: 0.032228\tAccuracy: 98.83%\n", + "2\tValidation loss: 0.032974\tBest loss: 0.032228\tAccuracy: 98.83%\n", + "3\tValidation loss: 0.035961\tBest loss: 0.032228\tAccuracy: 98.94%\n", + "4\tValidation loss: 0.040250\tBest loss: 0.032228\tAccuracy: 98.94%\n", + "5\tValidation loss: 0.033051\tBest loss: 0.032228\tAccuracy: 99.06%\n", + "6\tValidation loss: 0.056053\tBest loss: 0.032228\tAccuracy: 98.32%\n", + "7\tValidation loss: 0.031729\tBest loss: 0.031729\tAccuracy: 99.18%\n", + "8\tValidation loss: 0.027662\tBest loss: 0.027662\tAccuracy: 99.26%\n", + "9\tValidation loss: 0.034074\tBest loss: 0.027662\tAccuracy: 98.94%\n", + "10\tValidation loss: 0.032173\tBest loss: 0.027662\tAccuracy: 99.06%\n", + "11\tValidation loss: 0.030538\tBest loss: 0.027662\tAccuracy: 99.10%\n", + "12\tValidation loss: 0.030337\tBest loss: 0.027662\tAccuracy: 99.10%\n", + "13\tValidation loss: 0.022219\tBest loss: 0.022219\tAccuracy: 99.45%\n", + "14\tValidation loss: 0.036824\tBest loss: 0.022219\tAccuracy: 99.14%\n", + "15\tValidation loss: 0.033945\tBest loss: 0.022219\tAccuracy: 99.18%\n", + "16\tValidation loss: 0.032533\tBest loss: 0.022219\tAccuracy: 98.98%\n", + "17\tValidation loss: 0.037204\tBest loss: 0.022219\tAccuracy: 99.02%\n", + "18\tValidation loss: 0.026982\tBest loss: 0.022219\tAccuracy: 99.34%\n", + "19\tValidation loss: 0.022094\tBest loss: 0.022094\tAccuracy: 99.53%\n", + "20\tValidation loss: 0.026196\tBest loss: 0.022094\tAccuracy: 99.26%\n", + "21\tValidation loss: 0.022107\tBest loss: 0.022094\tAccuracy: 99.49%\n", + "22\tValidation loss: 0.021436\tBest loss: 0.021436\tAccuracy: 99.53%\n", + "23\tValidation loss: 0.025607\tBest loss: 0.021436\tAccuracy: 99.37%\n", + "24\tValidation loss: 0.038882\tBest loss: 0.021436\tAccuracy: 99.22%\n", + "25\tValidation loss: 0.032011\tBest loss: 0.021436\tAccuracy: 99.26%\n", + "26\tValidation loss: 0.027673\tBest loss: 0.021436\tAccuracy: 99.22%\n", + "27\tValidation loss: 0.026874\tBest loss: 0.021436\tAccuracy: 99.30%\n", + "28\tValidation loss: 0.021123\tBest loss: 0.021123\tAccuracy: 99.41%\n", + "29\tValidation loss: 0.024784\tBest loss: 0.021123\tAccuracy: 99.45%\n", + "30\tValidation loss: 0.024108\tBest loss: 0.021123\tAccuracy: 99.49%\n", + "31\tValidation loss: 0.028439\tBest loss: 0.021123\tAccuracy: 99.37%\n", + "32\tValidation loss: 0.032366\tBest loss: 0.021123\tAccuracy: 99.22%\n", + "33\tValidation loss: 0.037057\tBest loss: 0.021123\tAccuracy: 99.18%\n", + "34\tValidation loss: 0.042305\tBest loss: 0.021123\tAccuracy: 98.98%\n", + "35\tValidation loss: 0.039662\tBest loss: 0.021123\tAccuracy: 99.14%\n", + "36\tValidation loss: 0.036299\tBest loss: 0.021123\tAccuracy: 99.14%\n", + "37\tValidation loss: 0.026997\tBest loss: 0.021123\tAccuracy: 99.53%\n", + "38\tValidation loss: 0.034407\tBest loss: 0.021123\tAccuracy: 99.22%\n", + "39\tValidation loss: 0.027668\tBest loss: 0.021123\tAccuracy: 99.41%\n", + "40\tValidation loss: 0.029128\tBest loss: 0.021123\tAccuracy: 99.30%\n", + "41\tValidation loss: 0.033564\tBest loss: 0.021123\tAccuracy: 99.14%\n", + "42\tValidation loss: 0.033810\tBest loss: 0.021123\tAccuracy: 99.30%\n", + "43\tValidation loss: 0.044953\tBest loss: 0.021123\tAccuracy: 98.98%\n", + "44\tValidation loss: 0.026280\tBest loss: 0.021123\tAccuracy: 99.26%\n", + "45\tValidation loss: 0.020275\tBest loss: 0.020275\tAccuracy: 99.61%\n", + "46\tValidation loss: 0.018810\tBest loss: 0.018810\tAccuracy: 99.45%\n", + "47\tValidation loss: 0.027529\tBest loss: 0.018810\tAccuracy: 99.18%\n", + "48\tValidation loss: 0.018120\tBest loss: 0.018120\tAccuracy: 99.53%\n", + "49\tValidation loss: 0.019378\tBest loss: 0.018120\tAccuracy: 99.45%\n", + "50\tValidation loss: 0.029760\tBest loss: 0.018120\tAccuracy: 99.34%\n", + "51\tValidation loss: 0.035702\tBest loss: 0.018120\tAccuracy: 99.26%\n", + "52\tValidation loss: 0.032662\tBest loss: 0.018120\tAccuracy: 99.02%\n", + "53\tValidation loss: 0.026943\tBest loss: 0.018120\tAccuracy: 99.37%\n", + "54\tValidation loss: 0.029007\tBest loss: 0.018120\tAccuracy: 99.53%\n", + "55\tValidation loss: 0.021956\tBest loss: 0.018120\tAccuracy: 99.49%\n", + "56\tValidation loss: 0.018983\tBest loss: 0.018120\tAccuracy: 99.61%\n", + "57\tValidation loss: 0.022788\tBest loss: 0.018120\tAccuracy: 99.49%\n", + "58\tValidation loss: 0.019578\tBest loss: 0.018120\tAccuracy: 99.61%\n", + "59\tValidation loss: 0.021676\tBest loss: 0.018120\tAccuracy: 99.61%\n", + "60\tValidation loss: 0.021580\tBest loss: 0.018120\tAccuracy: 99.65%\n", + "61\tValidation loss: 0.021467\tBest loss: 0.018120\tAccuracy: 99.65%\n", + "62\tValidation loss: 0.020513\tBest loss: 0.018120\tAccuracy: 99.65%\n", + "63\tValidation loss: 0.020252\tBest loss: 0.018120\tAccuracy: 99.65%\n", + "64\tValidation loss: 0.021724\tBest loss: 0.018120\tAccuracy: 99.65%\n", + "65\tValidation loss: 0.021499\tBest loss: 0.018120\tAccuracy: 99.69%\n", + "66\tValidation loss: 0.021627\tBest loss: 0.018120\tAccuracy: 99.69%\n", + "67\tValidation loss: 0.021569\tBest loss: 0.018120\tAccuracy: 99.69%\n", + "68\tValidation loss: 0.021727\tBest loss: 0.018120\tAccuracy: 99.69%\n", + "69\tValidation loss: 0.021104\tBest loss: 0.018120\tAccuracy: 99.69%\n", "Early stopping!\n" ] }, { "data": { "text/plain": [ - "DNNClassifier(activation=.parametrized_leaky_relu at 0x7f8e23b8ed90>,\n", + "DNNClassifier(activation=.parametrized_leaky_relu at 0x7fd9d19e3c80>,\n", " batch_norm_momentum=0.95, batch_size=500, dropout_rate=None,\n", - " initializer=._initializer at 0x7f8e143c3840>,\n", + " initializer=._initializer at 0x7fd9d5e628c8>,\n", " learning_rate=0.01, n_hidden_layers=5, n_neurons=90,\n", " optimizer_class=,\n", " random_state=42)" ] }, - "execution_count": 122, + "execution_count": 128, "metadata": {}, "output_type": "execute_result" } @@ -4855,21 +4957,21 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "The best params are reached during epoch 2, that's much faster than earlier. Let's check the accuracy:" + "The best params are reached during epoch 48, that's actually a slower convergence than earlier. Let's check the accuracy:" ] }, { "cell_type": "code", - "execution_count": 123, + "execution_count": 129, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "0.95504962054874487" + "0.99241097489784003" ] }, - "execution_count": 123, + "execution_count": 129, "metadata": {}, "output_type": "execute_result" } @@ -4883,12 +4985,12 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Well, batch normalization did not improve accuracy, quite the contrary. Let's see if we can find a good set of hyperparameters that will work well with batch normalization:" + "Well, batch normalization did not improve accuracy. Let's see if we can find a good set of hyperparameters that will work well with batch normalization:" ] }, { "cell_type": "code", - "execution_count": 124, + "execution_count": 130, "metadata": {}, "outputs": [ { @@ -4896,207 +4998,187 @@ "output_type": "stream", "text": [ "Fitting 3 folds for each of 50 candidates, totalling 150 fits\n", - "[CV] learning_rate=0.01, batch_size=50, batch_norm_momentum=0.99, n_neurons=70, activation= \n", - "0\tValidation loss: 6.269045\tBest loss: 6.269045\tAccuracy: 93.24%\n", - "1\tValidation loss: 25.152470\tBest loss: 6.269045\tAccuracy: 92.18%\n", - "2\tValidation loss: 64.989517\tBest loss: 6.269045\tAccuracy: 92.46%\n", - "3\tValidation loss: 60.365185\tBest loss: 6.269045\tAccuracy: 94.88%\n", - "4\tValidation loss: 72.011459\tBest loss: 6.269045\tAccuracy: 96.79%\n", - "5\tValidation loss: 428.570953\tBest loss: 6.269045\tAccuracy: 88.04%\n", - "6\tValidation loss: 457.729675\tBest loss: 6.269045\tAccuracy: 92.81%\n", - "7\tValidation loss: 555.036926\tBest loss: 6.269045\tAccuracy: 95.70%\n", - "8\tValidation loss: 853.278564\tBest loss: 6.269045\tAccuracy: 94.45%\n", - "9\tValidation loss: 1640.808838\tBest loss: 6.269045\tAccuracy: 93.67%\n", - "10\tValidation loss: 1686.829712\tBest loss: 6.269045\tAccuracy: 95.19%\n", - "11\tValidation loss: 4588.815430\tBest loss: 6.269045\tAccuracy: 89.95%\n", - "12\tValidation loss: 3353.238525\tBest loss: 6.269045\tAccuracy: 95.39%\n", - "13\tValidation loss: 24193.548828\tBest loss: 6.269045\tAccuracy: 85.69%\n", - "14\tValidation loss: 14681.817383\tBest loss: 6.269045\tAccuracy: 91.48%\n", - "15\tValidation loss: 10670.790039\tBest loss: 6.269045\tAccuracy: 94.68%\n", - "16\tValidation loss: 20749.412109\tBest loss: 6.269045\tAccuracy: 88.58%\n", - "17\tValidation loss: 59897.656250\tBest loss: 6.269045\tAccuracy: 81.98%\n", - "18\tValidation loss: 18592.509766\tBest loss: 6.269045\tAccuracy: 94.57%\n", - "19\tValidation loss: 15117.732422\tBest loss: 6.269045\tAccuracy: 96.29%\n", - "20\tValidation loss: 18595.556641\tBest loss: 6.269045\tAccuracy: 96.05%\n", - "21\tValidation loss: 43803.089844\tBest loss: 6.269045\tAccuracy: 92.46%\n", + "[CV] activation=, n_neurons=70, learning_rate=0.01, batch_norm_momentum=0.99, batch_size=50 \n", + "0\tValidation loss: 0.113224\tBest loss: 0.113224\tAccuracy: 97.30%\n", + "1\tValidation loss: 0.064190\tBest loss: 0.064190\tAccuracy: 98.24%\n", + "2\tValidation loss: 0.080173\tBest loss: 0.064190\tAccuracy: 98.28%\n", + "3\tValidation loss: 0.059603\tBest loss: 0.059603\tAccuracy: 98.28%\n", + "4\tValidation loss: 0.043533\tBest loss: 0.043533\tAccuracy: 98.48%\n", + "5\tValidation loss: 0.040107\tBest loss: 0.040107\tAccuracy: 98.87%\n", + "6\tValidation loss: 0.051212\tBest loss: 0.040107\tAccuracy: 98.24%\n", + "7\tValidation loss: 0.046029\tBest loss: 0.040107\tAccuracy: 98.71%\n", + "8\tValidation loss: 0.053079\tBest loss: 0.040107\tAccuracy: 98.59%\n", + "9\tValidation loss: 0.066891\tBest loss: 0.040107\tAccuracy: 98.28%\n", + "10\tValidation loss: 0.037712\tBest loss: 0.037712\tAccuracy: 98.83%\n", + "11\tValidation loss: 0.055569\tBest loss: 0.037712\tAccuracy: 98.55%\n", + "12\tValidation loss: 0.040949\tBest loss: 0.037712\tAccuracy: 98.98%\n", + "13\tValidation loss: 0.077433\tBest loss: 0.037712\tAccuracy: 98.36%\n", + "14\tValidation loss: 0.065955\tBest loss: 0.037712\tAccuracy: 98.63%\n", + "15\tValidation loss: 0.038968\tBest loss: 0.037712\tAccuracy: 99.02%\n", + "16\tValidation loss: 0.039190\tBest loss: 0.037712\tAccuracy: 99.06%\n", + "17\tValidation loss: 0.050690\tBest loss: 0.037712\tAccuracy: 98.71%\n", + "18\tValidation loss: 0.043054\tBest loss: 0.037712\tAccuracy: 99.02%\n", + "19\tValidation loss: 0.063156\tBest loss: 0.037712\tAccuracy: 98.71%\n", + "20\tValidation loss: 0.043066\tBest loss: 0.037712\tAccuracy: 99.14%\n", + "21\tValidation loss: 0.058145\tBest loss: 0.037712\tAccuracy: 98.79%\n", + "22\tValidation loss: 0.039590\tBest loss: 0.037712\tAccuracy: 99.06%\n", + "23\tValidation loss: 0.049981\tBest loss: 0.037712\tAccuracy: 98.75%\n", + "24\tValidation loss: 0.047458\tBest loss: 0.037712\tAccuracy: 99.10%\n", + "25\tValidation loss: 0.040638\tBest loss: 0.037712\tAccuracy: 99.06%\n", + "26\tValidation loss: 0.041426\tBest loss: 0.037712\tAccuracy: 98.98%\n", + "27\tValidation loss: 0.041325\tBest loss: 0.037712\tAccuracy: 98.98%\n", + "28\tValidation loss: 0.054609\tBest loss: 0.037712\tAccuracy: 98.91%\n", + "29\tValidation loss: 0.067671\tBest loss: 0.037712\tAccuracy: 98.75%\n", + "30\tValidation loss: 0.037608\tBest loss: 0.037608\tAccuracy: 98.79%\n", + "31\tValidation loss: 0.047441\tBest loss: 0.037608\tAccuracy: 98.98%\n", + "32\tValidation loss: 0.053716\tBest loss: 0.037608\tAccuracy: 99.02%\n", + "33\tValidation loss: 0.045445\tBest loss: 0.037608\tAccuracy: 98.83%\n", + "34\tValidation loss: 0.046023\tBest loss: 0.037608\tAccuracy: 98.94%\n", + "35\tValidation loss: 0.050073\tBest loss: 0.037608\tAccuracy: 98.91%\n", + "36\tValidation loss: 0.051887\tBest loss: 0.037608\tAccuracy: 98.87%\n", + "37\tValidation loss: 0.050272\tBest loss: 0.037608\tAccuracy: 99.02%\n", + "38\tValidation loss: 0.043531\tBest loss: 0.037608\tAccuracy: 99.10%\n", + "39\tValidation loss: 0.054661\tBest loss: 0.037608\tAccuracy: 98.87%\n", + "40\tValidation loss: 0.047607\tBest loss: 0.037608\tAccuracy: 98.87%\n", + "41\tValidation loss: 0.051862\tBest loss: 0.037608\tAccuracy: 99.14%\n", + "42\tValidation loss: 0.044218\tBest loss: 0.037608\tAccuracy: 99.14%\n", + "43\tValidation loss: 0.043707\tBest loss: 0.037608\tAccuracy: 99.06%\n", + "44\tValidation loss: 0.039602\tBest loss: 0.037608\tAccuracy: 99.06%\n", + "45\tValidation loss: 0.048998\tBest loss: 0.037608\tAccuracy: 99.02%\n", + "46\tValidation loss: 0.045562\tBest loss: 0.037608\tAccuracy: 99.14%\n", + "47\tValidation loss: 0.042198\tBest loss: 0.037608\tAccuracy: 99.10%\n", + "48\tValidation loss: 0.027679\tBest loss: 0.027679\tAccuracy: 99.10%\n", + "49\tValidation loss: 0.033783\tBest loss: 0.027679\tAccuracy: 98.94%\n", + "50\tValidation loss: 0.032935\tBest loss: 0.027679\tAccuracy: 99.41%\n", + "51\tValidation loss: 0.042930\tBest loss: 0.027679\tAccuracy: 98.98%\n", + "52\tValidation loss: 0.045454\tBest loss: 0.027679\tAccuracy: 99.06%\n", + "53\tValidation loss: 0.047336\tBest loss: 0.027679\tAccuracy: 98.91%\n", + "54\tValidation loss: 0.036523\tBest loss: 0.027679\tAccuracy: 99.14%\n", + "55\tValidation loss: 0.064401\tBest loss: 0.027679\tAccuracy: 98.94%\n", + "56\tValidation loss: 0.047686\tBest loss: 0.027679\tAccuracy: 98.83%\n", + "57\tValidation loss: 0.049083\tBest loss: 0.027679\tAccuracy: 98.98%\n", + "58\tValidation loss: 0.057310\tBest loss: 0.027679\tAccuracy: 99.10%\n", + "59\tValidation loss: 0.043757\tBest loss: 0.027679\tAccuracy: 99.14%\n", + "60\tValidation loss: 0.058742\tBest loss: 0.027679\tAccuracy: 99.02%\n", + "61\tValidation loss: 0.055049\tBest loss: 0.027679\tAccuracy: 99.06%\n", + "62\tValidation loss: 0.039837\tBest loss: 0.027679\tAccuracy: 99.18%\n", + "63\tValidation loss: 0.057108\tBest loss: 0.027679\tAccuracy: 99.06%\n", + "64\tValidation loss: 0.043212\tBest loss: 0.027679\tAccuracy: 98.98%\n", + "65\tValidation loss: 0.046874\tBest loss: 0.027679\tAccuracy: 99.18%\n", + "66\tValidation loss: 0.052819\tBest loss: 0.027679\tAccuracy: 99.10%\n", + "67\tValidation loss: 0.045977\tBest loss: 0.027679\tAccuracy: 99.14%\n", + "68\tValidation loss: 0.053290\tBest loss: 0.027679\tAccuracy: 99.10%\n", + "69\tValidation loss: 0.052941\tBest loss: 0.027679\tAccuracy: 99.06%\n", "Early stopping!\n", - "[CV] learning_rate=0.01, batch_size=50, batch_norm_momentum=0.99, n_neurons=70, activation=, total= 38.7s\n", - "[CV] learning_rate=0.01, batch_size=50, batch_norm_momentum=0.99, n_neurons=70, activation= \n" + "[CV] activation=, n_neurons=70, learning_rate=0.01, batch_norm_momentum=0.99, batch_size=50, total= 2.7min\n", + "[CV] activation=, n_neurons=70, learning_rate=0.01, batch_norm_momentum=0.99, batch_size=50 \n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 39.1s remaining: 0.0s\n" + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 2.7min remaining: 0.0s\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "0\tValidation loss: 10.505345\tBest loss: 10.505345\tAccuracy: 91.05%\n", - "1\tValidation loss: 27.669804\tBest loss: 10.505345\tAccuracy: 90.30%\n", - "2\tValidation loss: 70.166283\tBest loss: 10.505345\tAccuracy: 88.90%\n", - "3\tValidation loss: 61.704323\tBest loss: 10.505345\tAccuracy: 94.92%\n", - "4\tValidation loss: 175.554169\tBest loss: 10.505345\tAccuracy: 91.36%\n", - "5\tValidation loss: 303.135834\tBest loss: 10.505345\tAccuracy: 92.65%\n", - "6\tValidation loss: 589.975830\tBest loss: 10.505345\tAccuracy: 91.09%\n", - "7\tValidation loss: 890.363159\tBest loss: 10.505345\tAccuracy: 92.77%\n", - "8\tValidation loss: 1223.559570\tBest loss: 10.505345\tAccuracy: 93.04%\n", - "9\tValidation loss: 2402.012207\tBest loss: 10.505345\tAccuracy: 91.71%\n", - "10\tValidation loss: 3208.452393\tBest loss: 10.505345\tAccuracy: 92.53%\n", - "11\tValidation loss: 3419.600830\tBest loss: 10.505345\tAccuracy: 95.15%\n", - "12\tValidation loss: 2918.134277\tBest loss: 10.505345\tAccuracy: 94.14%\n", - "13\tValidation loss: 19868.285156\tBest loss: 10.505345\tAccuracy: 88.12%\n", - "14\tValidation loss: 24219.689453\tBest loss: 10.505345\tAccuracy: 90.38%\n", - "15\tValidation loss: 15377.804688\tBest loss: 10.505345\tAccuracy: 91.36%\n", - "16\tValidation loss: 43667.164062\tBest loss: 10.505345\tAccuracy: 89.41%\n", - "17\tValidation loss: 66674.023438\tBest loss: 10.505345\tAccuracy: 86.08%\n", - "18\tValidation loss: 74437.500000\tBest loss: 10.505345\tAccuracy: 87.69%\n", - "19\tValidation loss: 84437.039062\tBest loss: 10.505345\tAccuracy: 88.12%\n", - "20\tValidation loss: 56583.324219\tBest loss: 10.505345\tAccuracy: 92.34%\n", - "21\tValidation loss: 98689.828125\tBest loss: 10.505345\tAccuracy: 89.91%\n", - "Early stopping!\n", - "[CV] learning_rate=0.01, batch_size=50, batch_norm_momentum=0.99, n_neurons=70, activation=, total= 38.2s\n", - "[CV] learning_rate=0.01, batch_size=50, batch_norm_momentum=0.99, n_neurons=70, activation= \n", - "0\tValidation loss: 2.343517\tBest loss: 2.343517\tAccuracy: 96.25%\n", - "1\tValidation loss: 23.652935\tBest loss: 2.343517\tAccuracy: 93.08%\n", - "2\tValidation loss: 35.758228\tBest loss: 2.343517\tAccuracy: 93.12%\n", - "3\tValidation loss: 123.383575\tBest loss: 2.343517\tAccuracy: 93.04%\n", - "4\tValidation loss: 192.505844\tBest loss: 2.343517\tAccuracy: 93.08%\n", - "5\tValidation loss: 678.043213\tBest loss: 2.343517\tAccuracy: 86.94%\n", - "6\tValidation loss: 552.234924\tBest loss: 2.343517\tAccuracy: 92.03%\n", - "7\tValidation loss: 1775.860107\tBest loss: 2.343517\tAccuracy: 89.13%\n", - "8\tValidation loss: 1147.925293\tBest loss: 2.343517\tAccuracy: 93.20%\n", - "9\tValidation loss: 2561.473389\tBest loss: 2.343517\tAccuracy: 91.01%\n", - "10\tValidation loss: 7404.971191\tBest loss: 2.343517\tAccuracy: 85.18%\n", - "11\tValidation loss: 3112.663330\tBest loss: 2.343517\tAccuracy: 93.35%\n", - "12\tValidation loss: 8808.947266\tBest loss: 2.343517\tAccuracy: 87.88%\n", - "13\tValidation loss: 8157.308594\tBest loss: 2.343517\tAccuracy: 90.11%\n", - "14\tValidation loss: 14201.116211\tBest loss: 2.343517\tAccuracy: 89.37%\n", - "15\tValidation loss: 43183.285156\tBest loss: 2.343517\tAccuracy: 81.04%\n", - "16\tValidation loss: 40037.652344\tBest loss: 2.343517\tAccuracy: 84.71%\n", - "17\tValidation loss: 18612.115234\tBest loss: 2.343517\tAccuracy: 92.46%\n", - "18\tValidation loss: 50549.546875\tBest loss: 2.343517\tAccuracy: 87.02%\n", - "19\tValidation loss: 52649.320312\tBest loss: 2.343517\tAccuracy: 90.66%\n", - "20\tValidation loss: 162720.609375\tBest loss: 2.343517\tAccuracy: 84.36%\n", - "21\tValidation loss: 78574.101562\tBest loss: 2.343517\tAccuracy: 88.94%\n", - "Early stopping!\n", - "[CV] learning_rate=0.01, batch_size=50, batch_norm_momentum=0.99, n_neurons=70, activation=, total= 38.0s\n", - "[CV] learning_rate=0.02, batch_size=10, batch_norm_momentum=0.9, n_neurons=90, activation=.parametrized_leaky_relu at 0x7f8e13cb4e18> \n", - "0\tValidation loss: 60438.898438\tBest loss: 60438.898438\tAccuracy: 81.94%\n", - "1\tValidation loss: 300987.656250\tBest loss: 60438.898438\tAccuracy: 90.93%\n", - "2\tValidation loss: 1377872.000000\tBest loss: 60438.898438\tAccuracy: 93.94%\n", - "3\tValidation loss: 14642961.000000\tBest loss: 60438.898438\tAccuracy: 91.48%\n", - "4\tValidation loss: 27300228.000000\tBest loss: 60438.898438\tAccuracy: 93.00%\n", - "5\tValidation loss: 22168134.000000\tBest loss: 60438.898438\tAccuracy: 96.33%\n", - "6\tValidation loss: 125345760.000000\tBest loss: 60438.898438\tAccuracy: 92.10%\n", - "7\tValidation loss: 67775336.000000\tBest loss: 60438.898438\tAccuracy: 96.91%\n", - "8\tValidation loss: 183302928.000000\tBest loss: 60438.898438\tAccuracy: 95.23%\n", - "9\tValidation loss: 202538928.000000\tBest loss: 60438.898438\tAccuracy: 96.99%\n", - "10\tValidation loss: 261316368.000000\tBest loss: 60438.898438\tAccuracy: 97.69%\n", - "11\tValidation loss: 271426848.000000\tBest loss: 60438.898438\tAccuracy: 97.50%\n", - "12\tValidation loss: 1200596480.000000\tBest loss: 60438.898438\tAccuracy: 95.93%\n", + "0\tValidation loss: 0.144984\tBest loss: 0.144984\tAccuracy: 96.40%\n", + "1\tValidation loss: 0.067873\tBest loss: 0.067873\tAccuracy: 98.44%\n", + "2\tValidation loss: 0.091854\tBest loss: 0.067873\tAccuracy: 97.30%\n", + "3\tValidation loss: 0.074647\tBest loss: 0.067873\tAccuracy: 98.05%\n", + "4\tValidation loss: 0.053722\tBest loss: 0.053722\tAccuracy: 98.48%\n", + "5\tValidation loss: 0.049216\tBest loss: 0.049216\tAccuracy: 98.44%\n", + "6\tValidation loss: 0.057619\tBest loss: 0.049216\tAccuracy: 98.48%\n", + "7\tValidation loss: 0.045842\tBest loss: 0.045842\tAccuracy: 98.75%\n", + "8\tValidation loss: 0.042398\tBest loss: 0.042398\tAccuracy: 98.63%\n", + "9\tValidation loss: 0.052629\tBest loss: 0.042398\tAccuracy: 98.63%\n", + "10\tValidation loss: 0.056892\tBest loss: 0.042398\tAccuracy: 98.63%\n", + "11\tValidation loss: 0.051838\tBest loss: 0.042398\tAccuracy: 98.75%\n", + "12\tValidation loss: 0.042647\tBest loss: 0.042398\tAccuracy: 98.67%\n", + "13\tValidation loss: 0.061297\tBest loss: 0.042398\tAccuracy: 98.59%\n", + "14\tValidation loss: 0.049706\tBest loss: 0.042398\tAccuracy: 98.87%\n", + "15\tValidation loss: 0.061934\tBest loss: 0.042398\tAccuracy: 98.79%\n", + "16\tValidation loss: 0.049027\tBest loss: 0.042398\tAccuracy: 98.87%\n", + "17\tValidation loss: 0.052187\tBest loss: 0.042398\tAccuracy: 98.79%\n", + "18\tValidation loss: 0.052031\tBest loss: 0.042398\tAccuracy: 98.94%\n", "[...and much later...]\n", - "11\tValidation loss: 169707792.000000\tBest loss: 5764.423340\tAccuracy: 96.60%\n", - "12\tValidation loss: 729495616.000000\tBest loss: 5764.423340\tAccuracy: 95.04%\n", - "13\tValidation loss: 1469533312.000000\tBest loss: 5764.423340\tAccuracy: 94.25%\n", - "14\tValidation loss: 2399959552.000000\tBest loss: 5764.423340\tAccuracy: 96.25%\n", - "15\tValidation loss: 4667502080.000000\tBest loss: 5764.423340\tAccuracy: 95.74%\n", - "16\tValidation loss: 4580651520.000000\tBest loss: 5764.423340\tAccuracy: 95.86%\n", - "17\tValidation loss: 9609373696.000000\tBest loss: 5764.423340\tAccuracy: 95.15%\n", - "18\tValidation loss: 5375582720.000000\tBest loss: 5764.423340\tAccuracy: 95.93%\n", - "19\tValidation loss: 88911585280.000000\tBest loss: 5764.423340\tAccuracy: 91.59%\n", - "20\tValidation loss: 97645641728.000000\tBest loss: 5764.423340\tAccuracy: 92.18%\n", - "21\tValidation loss: 92258205696.000000\tBest loss: 5764.423340\tAccuracy: 95.04%\n", + "13\tValidation loss: 0.043686\tBest loss: 0.040332\tAccuracy: 99.02%\n", + "14\tValidation loss: 0.046940\tBest loss: 0.040332\tAccuracy: 99.18%\n", + "15\tValidation loss: 0.045355\tBest loss: 0.040332\tAccuracy: 99.14%\n", + "16\tValidation loss: 0.084697\tBest loss: 0.040332\tAccuracy: 98.87%\n", + "17\tValidation loss: 0.123538\tBest loss: 0.040332\tAccuracy: 97.81%\n", + "18\tValidation loss: 0.296928\tBest loss: 0.040332\tAccuracy: 97.50%\n", + "19\tValidation loss: 0.053660\tBest loss: 0.040332\tAccuracy: 98.91%\n", + "20\tValidation loss: 0.045684\tBest loss: 0.040332\tAccuracy: 98.94%\n", + "21\tValidation loss: 0.051971\tBest loss: 0.040332\tAccuracy: 99.14%\n", + "22\tValidation loss: 0.071830\tBest loss: 0.040332\tAccuracy: 99.06%\n", + "23\tValidation loss: 0.069619\tBest loss: 0.040332\tAccuracy: 98.79%\n", + "24\tValidation loss: 0.086642\tBest loss: 0.040332\tAccuracy: 98.71%\n", + "25\tValidation loss: 0.072563\tBest loss: 0.040332\tAccuracy: 98.83%\n", + "26\tValidation loss: 0.058974\tBest loss: 0.040332\tAccuracy: 99.06%\n", + "27\tValidation loss: 0.048388\tBest loss: 0.040332\tAccuracy: 98.98%\n", + "28\tValidation loss: 0.054847\tBest loss: 0.040332\tAccuracy: 99.06%\n", + "29\tValidation loss: 0.077242\tBest loss: 0.040332\tAccuracy: 98.91%\n", + "30\tValidation loss: 0.556978\tBest loss: 0.040332\tAccuracy: 95.54%\n", "Early stopping!\n", - "[CV] learning_rate=0.05, batch_size=50, batch_norm_momentum=0.99, n_neurons=140, activation=, total= 1.1min\n", - "[CV] learning_rate=0.05, batch_size=50, batch_norm_momentum=0.99, n_neurons=140, activation= \n", - "0\tValidation loss: 8968.048828\tBest loss: 8968.048828\tAccuracy: 93.86%\n", - "1\tValidation loss: 39933.992188\tBest loss: 8968.048828\tAccuracy: 92.53%\n", - "2\tValidation loss: 125085.773438\tBest loss: 8968.048828\tAccuracy: 93.78%\n", - "3\tValidation loss: 748332.187500\tBest loss: 8968.048828\tAccuracy: 88.43%\n", - "4\tValidation loss: 2479649.000000\tBest loss: 8968.048828\tAccuracy: 93.51%\n", - "5\tValidation loss: 4846857.500000\tBest loss: 8968.048828\tAccuracy: 94.18%\n", - "6\tValidation loss: 29243816.000000\tBest loss: 8968.048828\tAccuracy: 87.72%\n", - "7\tValidation loss: 130438520.000000\tBest loss: 8968.048828\tAccuracy: 82.92%\n", - "8\tValidation loss: 163032112.000000\tBest loss: 8968.048828\tAccuracy: 87.06%\n", - "9\tValidation loss: 295294496.000000\tBest loss: 8968.048828\tAccuracy: 83.54%\n", - "10\tValidation loss: 1821488640.000000\tBest loss: 8968.048828\tAccuracy: 81.27%\n", - "11\tValidation loss: 9158688768.000000\tBest loss: 8968.048828\tAccuracy: 76.15%\n", - "12\tValidation loss: 9291267072.000000\tBest loss: 8968.048828\tAccuracy: 69.55%\n", - "13\tValidation loss: 7129835520.000000\tBest loss: 8968.048828\tAccuracy: 76.35%\n", - "14\tValidation loss: 9993897984.000000\tBest loss: 8968.048828\tAccuracy: 83.15%\n", - "15\tValidation loss: 7655349248.000000\tBest loss: 8968.048828\tAccuracy: 85.81%\n", - "16\tValidation loss: 27769886720.000000\tBest loss: 8968.048828\tAccuracy: 76.27%\n", - "17\tValidation loss: 978719735808.000000\tBest loss: 8968.048828\tAccuracy: 49.30%\n", - "18\tValidation loss: 220747595776.000000\tBest loss: 8968.048828\tAccuracy: 88.15%\n", - "19\tValidation loss: 320542212096.000000\tBest loss: 8968.048828\tAccuracy: 86.16%\n", - "20\tValidation loss: 349976592384.000000\tBest loss: 8968.048828\tAccuracy: 82.92%\n", - "21\tValidation loss: 278264938496.000000\tBest loss: 8968.048828\tAccuracy: 84.68%\n", - "Early stopping!\n", - "[CV] learning_rate=0.05, batch_size=50, batch_norm_momentum=0.99, n_neurons=140, activation=, total= 1.1min\n", - "[CV] learning_rate=0.05, batch_size=50, batch_norm_momentum=0.99, n_neurons=140, activation= \n", - "0\tValidation loss: 5885.549805\tBest loss: 5885.549805\tAccuracy: 95.11%\n", - "1\tValidation loss: 80273.859375\tBest loss: 5885.549805\tAccuracy: 90.03%\n", - "2\tValidation loss: 1050326.375000\tBest loss: 5885.549805\tAccuracy: 69.90%\n", - "3\tValidation loss: 2969596.500000\tBest loss: 5885.549805\tAccuracy: 77.25%\n", - "4\tValidation loss: 15399652.000000\tBest loss: 5885.549805\tAccuracy: 71.74%\n", - "5\tValidation loss: 32421912.000000\tBest loss: 5885.549805\tAccuracy: 78.77%\n", - "6\tValidation loss: 94322944.000000\tBest loss: 5885.549805\tAccuracy: 72.40%\n", - "7\tValidation loss: 142864032.000000\tBest loss: 5885.549805\tAccuracy: 79.24%\n", - "8\tValidation loss: 221855760.000000\tBest loss: 5885.549805\tAccuracy: 89.60%\n", - "9\tValidation loss: 433116576.000000\tBest loss: 5885.549805\tAccuracy: 85.26%\n", - "10\tValidation loss: 438715456.000000\tBest loss: 5885.549805\tAccuracy: 91.83%\n", - "11\tValidation loss: 270049120.000000\tBest loss: 5885.549805\tAccuracy: 96.44%\n", - "12\tValidation loss: 5670299648.000000\tBest loss: 5885.549805\tAccuracy: 82.10%\n", - "13\tValidation loss: 4659497472.000000\tBest loss: 5885.549805\tAccuracy: 88.39%\n", - "14\tValidation loss: 3080572928.000000\tBest loss: 5885.549805\tAccuracy: 90.73%\n", - "15\tValidation loss: 3663905280.000000\tBest loss: 5885.549805\tAccuracy: 93.90%\n", - "16\tValidation loss: 8287934976.000000\tBest loss: 5885.549805\tAccuracy: 90.85%\n", - "17\tValidation loss: 33637832704.000000\tBest loss: 5885.549805\tAccuracy: 85.97%\n", - "18\tValidation loss: 128785309696.000000\tBest loss: 5885.549805\tAccuracy: 90.07%\n", - "19\tValidation loss: 42403131392.000000\tBest loss: 5885.549805\tAccuracy: 95.58%\n", - "20\tValidation loss: 92012290048.000000\tBest loss: 5885.549805\tAccuracy: 92.73%\n", - "21\tValidation loss: 69790138368.000000\tBest loss: 5885.549805\tAccuracy: 93.35%\n", - "Early stopping!\n", - "[CV] learning_rate=0.05, batch_size=50, batch_norm_momentum=0.99, n_neurons=140, activation=, total= 1.1min\n" + "[CV] activation=, n_neurons=140, learning_rate=0.05, batch_norm_momentum=0.99, batch_size=50, total= 1.9min\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "[Parallel(n_jobs=1)]: Done 150 out of 150 | elapsed: 135.9min finished\n" + "[Parallel(n_jobs=1)]: Done 150 out of 150 | elapsed: 355.8min finished\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "0\tValidation loss: 6.603366\tBest loss: 6.603366\tAccuracy: 94.06%\n", - "1\tValidation loss: 25.367857\tBest loss: 6.603366\tAccuracy: 92.18%\n", - "2\tValidation loss: 31.812891\tBest loss: 6.603366\tAccuracy: 95.90%\n", - "3\tValidation loss: 111.553215\tBest loss: 6.603366\tAccuracy: 92.65%\n", - "4\tValidation loss: 174.170227\tBest loss: 6.603366\tAccuracy: 94.72%\n", - "5\tValidation loss: 223.264175\tBest loss: 6.603366\tAccuracy: 95.35%\n", - "6\tValidation loss: 516.788513\tBest loss: 6.603366\tAccuracy: 95.62%\n", - "7\tValidation loss: 927.823303\tBest loss: 6.603366\tAccuracy: 96.29%\n", - "8\tValidation loss: 3505.451416\tBest loss: 6.603366\tAccuracy: 89.64%\n", - "9\tValidation loss: 3493.739746\tBest loss: 6.603366\tAccuracy: 93.86%\n", - "10\tValidation loss: 3991.661377\tBest loss: 6.603366\tAccuracy: 95.31%\n", - "11\tValidation loss: 5592.695312\tBest loss: 6.603366\tAccuracy: 94.84%\n", - "12\tValidation loss: 8464.166992\tBest loss: 6.603366\tAccuracy: 95.54%\n", - "13\tValidation loss: 14600.711914\tBest loss: 6.603366\tAccuracy: 94.92%\n", - "14\tValidation loss: 21112.236328\tBest loss: 6.603366\tAccuracy: 95.11%\n", - "15\tValidation loss: 16540.447266\tBest loss: 6.603366\tAccuracy: 96.95%\n", - "16\tValidation loss: 16397.814453\tBest loss: 6.603366\tAccuracy: 96.99%\n", - "17\tValidation loss: 33831.773438\tBest loss: 6.603366\tAccuracy: 96.29%\n", - "18\tValidation loss: 53113.558594\tBest loss: 6.603366\tAccuracy: 95.39%\n", - "19\tValidation loss: 172071.625000\tBest loss: 6.603366\tAccuracy: 91.40%\n", - "20\tValidation loss: 94780.781250\tBest loss: 6.603366\tAccuracy: 95.07%\n", - "21\tValidation loss: 93082.539062\tBest loss: 6.603366\tAccuracy: 95.43%\n", + "0\tValidation loss: 0.076371\tBest loss: 0.076371\tAccuracy: 97.85%\n", + "1\tValidation loss: 0.049312\tBest loss: 0.049312\tAccuracy: 98.63%\n", + "2\tValidation loss: 0.033071\tBest loss: 0.033071\tAccuracy: 98.94%\n", + "3\tValidation loss: 0.027357\tBest loss: 0.027357\tAccuracy: 99.10%\n", + "4\tValidation loss: 0.028748\tBest loss: 0.027357\tAccuracy: 99.26%\n", + "5\tValidation loss: 0.036602\tBest loss: 0.027357\tAccuracy: 98.94%\n", + "6\tValidation loss: 0.048089\tBest loss: 0.027357\tAccuracy: 98.94%\n", + "7\tValidation loss: 0.030332\tBest loss: 0.027357\tAccuracy: 99.30%\n", + "8\tValidation loss: 0.029336\tBest loss: 0.027357\tAccuracy: 99.22%\n", + "9\tValidation loss: 0.033328\tBest loss: 0.027357\tAccuracy: 99.26%\n", + "10\tValidation loss: 0.041745\tBest loss: 0.027357\tAccuracy: 98.98%\n", + "11\tValidation loss: 0.048739\tBest loss: 0.027357\tAccuracy: 98.75%\n", + "12\tValidation loss: 0.049520\tBest loss: 0.027357\tAccuracy: 98.94%\n", + "13\tValidation loss: 0.034222\tBest loss: 0.027357\tAccuracy: 99.18%\n", + "14\tValidation loss: 0.040270\tBest loss: 0.027357\tAccuracy: 99.34%\n", + "15\tValidation loss: 0.033074\tBest loss: 0.027357\tAccuracy: 99.37%\n", + "16\tValidation loss: 0.035130\tBest loss: 0.027357\tAccuracy: 99.06%\n", + "17\tValidation loss: 0.031875\tBest loss: 0.027357\tAccuracy: 99.18%\n", + "18\tValidation loss: 0.034898\tBest loss: 0.027357\tAccuracy: 99.37%\n", + "19\tValidation loss: 0.019222\tBest loss: 0.019222\tAccuracy: 99.53%\n", + "20\tValidation loss: 0.043814\tBest loss: 0.019222\tAccuracy: 99.37%\n", + "21\tValidation loss: 0.028773\tBest loss: 0.019222\tAccuracy: 99.34%\n", + "22\tValidation loss: 0.024850\tBest loss: 0.019222\tAccuracy: 99.45%\n", + "23\tValidation loss: 0.021789\tBest loss: 0.019222\tAccuracy: 99.45%\n", + "24\tValidation loss: 0.028846\tBest loss: 0.019222\tAccuracy: 99.37%\n", + "25\tValidation loss: 0.064211\tBest loss: 0.019222\tAccuracy: 98.98%\n", + "26\tValidation loss: 0.024425\tBest loss: 0.019222\tAccuracy: 99.49%\n", + "27\tValidation loss: 0.035453\tBest loss: 0.019222\tAccuracy: 99.22%\n", + "28\tValidation loss: 0.023940\tBest loss: 0.019222\tAccuracy: 99.37%\n", + "29\tValidation loss: 0.041495\tBest loss: 0.019222\tAccuracy: 99.18%\n", + "30\tValidation loss: 0.028030\tBest loss: 0.019222\tAccuracy: 99.37%\n", + "31\tValidation loss: 0.028003\tBest loss: 0.019222\tAccuracy: 99.49%\n", + "32\tValidation loss: 0.026579\tBest loss: 0.019222\tAccuracy: 99.45%\n", + "33\tValidation loss: 0.037838\tBest loss: 0.019222\tAccuracy: 98.91%\n", + "34\tValidation loss: 0.026082\tBest loss: 0.019222\tAccuracy: 99.49%\n", + "35\tValidation loss: 0.031529\tBest loss: 0.019222\tAccuracy: 99.34%\n", + "36\tValidation loss: 0.028220\tBest loss: 0.019222\tAccuracy: 99.18%\n", + "37\tValidation loss: 0.038546\tBest loss: 0.019222\tAccuracy: 99.10%\n", + "38\tValidation loss: 0.041586\tBest loss: 0.019222\tAccuracy: 98.75%\n", + "39\tValidation loss: 0.038835\tBest loss: 0.019222\tAccuracy: 99.41%\n", + "40\tValidation loss: 0.042555\tBest loss: 0.019222\tAccuracy: 99.14%\n", "Early stopping!\n" ] }, @@ -5104,24 +5186,24 @@ "data": { "text/plain": [ "RandomizedSearchCV(cv=None, error_score='raise',\n", - " estimator=DNNClassifier(activation=,\n", + " estimator=DNNClassifier(activation=,\n", " batch_norm_momentum=None, batch_size=20, dropout_rate=None,\n", - " initializer=._initializer at 0x7f8e143c3840>,\n", + " initializer=._initializer at 0x7fd9d5e628c8>,\n", " learning_rate=0.01, n_hidden_layers=5, n_neurons=100,\n", " optimizer_class=,\n", " random_state=42),\n", - " fit_params={'n_epochs': 1000, 'X_valid': array([[ 0., 0., ..., 0., 0.],\n", + " fit_params={'y_valid': array([0, 4, ..., 1, 2], dtype=uint8), 'X_valid': array([[ 0., 0., ..., 0., 0.],\n", " [ 0., 0., ..., 0., 0.],\n", " ...,\n", " [ 0., 0., ..., 0., 0.],\n", - " [ 0., 0., ..., 0., 0.]], dtype=float32), 'y_valid': array([0, 4, ..., 1, 2], dtype=uint8)},\n", + " [ 0., 0., ..., 0., 0.]], dtype=float32), 'n_epochs': 1000},\n", " iid=True, n_iter=50, n_jobs=1,\n", - " param_distributions={'batch_size': [10, 50, 100, 500], 'learning_rate': [0.01, 0.02, 0.05, 0.1], 'batch_norm_momentum': [0.9, 0.95, 0.98, 0.99, 0.999], 'n_neurons': [10, 30, 50, 70, 90, 100, 120, 140, 160], 'activation': [, , .parametrized_leaky_relu at 0x7f8e13cb4e18>, .parametrized_leaky_relu at 0x7f8e13cb4f28>]},\n", + " param_distributions={'batch_norm_momentum': [0.9, 0.95, 0.98, 0.99, 0.999], 'n_neurons': [10, 30, 50, 70, 90, 100, 120, 140, 160], 'learning_rate': [0.01, 0.02, 0.05, 0.1], 'activation': [, , .parametrized_leaky_relu at 0x7fd9d19e3bf8>, .parametrized_leaky_relu at 0x7fd9d19e3a60>], 'batch_size': [10, 50, 100, 500]},\n", " pre_dispatch='2*n_jobs', random_state=42, refit=True,\n", " return_train_score=True, scoring=None, verbose=2)" ] }, - "execution_count": 124, + "execution_count": 130, "metadata": {}, "output_type": "execute_result" } @@ -5148,20 +5230,20 @@ }, { "cell_type": "code", - "execution_count": 125, + "execution_count": 131, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "{'activation': .parametrized_leaky_relu>,\n", - " 'batch_norm_momentum': 0.999,\n", - " 'batch_size': 50,\n", + "{'activation': ,\n", + " 'batch_norm_momentum': 0.98,\n", + " 'batch_size': 100,\n", " 'learning_rate': 0.01,\n", - " 'n_neurons': 50}" + " 'n_neurons': 160}" ] }, - "execution_count": 125, + "execution_count": 131, "metadata": {}, "output_type": "execute_result" } @@ -5172,16 +5254,16 @@ }, { "cell_type": "code", - "execution_count": 126, + "execution_count": 132, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "0.94454173963806187" + "0.99396769799571905" ] }, - "execution_count": 126, + "execution_count": 132, "metadata": {}, "output_type": "execute_result" } @@ -5195,7 +5277,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Oh well! Batch normalization did not help in this case. Let's see if dropout can do better." + "Slightly better than earlier: 99.4% vs 99.3%. Let's see if dropout can do better." ] }, { @@ -5216,12 +5298,12 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Since batch normalization did not help, let's go back to the best model we trained earlier and see how it performs on the training set:" + "Let's go back to the best model we trained earlier and see how it performs on the training set:" ] }, { "cell_type": "code", - "execution_count": 127, + "execution_count": 133, "metadata": {}, "outputs": [ { @@ -5230,7 +5312,7 @@ "0.99914401883158566" ] }, - "execution_count": 127, + "execution_count": 133, "metadata": {}, "output_type": "execute_result" } @@ -5249,7 +5331,7 @@ }, { "cell_type": "code", - "execution_count": 128, + "execution_count": 134, "metadata": {}, "outputs": [ { @@ -5307,15 +5389,15 @@ { "data": { "text/plain": [ - "DNNClassifier(activation=.parametrized_leaky_relu at 0x7f8e12fd4e18>,\n", + "DNNClassifier(activation=.parametrized_leaky_relu at 0x7fd9b2368d08>,\n", " batch_norm_momentum=None, batch_size=500, dropout_rate=0.5,\n", - " initializer=._initializer at 0x7f8e143c3840>,\n", + " initializer=._initializer at 0x7fd9d5e628c8>,\n", " learning_rate=0.01, n_hidden_layers=5, n_neurons=90,\n", " optimizer_class=,\n", " random_state=42)" ] }, - "execution_count": 128, + "execution_count": 134, "metadata": {}, "output_type": "execute_result" } @@ -5343,7 +5425,7 @@ }, { "cell_type": "code", - "execution_count": 129, + "execution_count": 135, "metadata": {}, "outputs": [ { @@ -5352,7 +5434,7 @@ "0.98657326328079398" ] }, - "execution_count": 129, + "execution_count": 135, "metadata": {}, "output_type": "execute_result" } @@ -5371,7 +5453,7 @@ }, { "cell_type": "code", - "execution_count": 130, + "execution_count": 136, "metadata": {}, "outputs": [ { @@ -5379,7 +5461,7 @@ "output_type": "stream", "text": [ "Fitting 3 folds for each of 50 candidates, totalling 150 fits\n", - "[CV] learning_rate=0.01, batch_size=100, dropout_rate=0.5, n_neurons=70, activation= \n", + "[CV] dropout_rate=0.5, n_neurons=70, learning_rate=0.01, activation=, batch_size=100 \n", "0\tValidation loss: 0.355079\tBest loss: 0.355079\tAccuracy: 91.44%\n", "1\tValidation loss: 0.280624\tBest loss: 0.280624\tAccuracy: 94.10%\n", "2\tValidation loss: 0.279819\tBest loss: 0.279819\tAccuracy: 92.77%\n", @@ -5427,21 +5509,21 @@ "44\tValidation loss: 0.190829\tBest loss: 0.163630\tAccuracy: 95.70%\n", "45\tValidation loss: 0.225985\tBest loss: 0.163630\tAccuracy: 96.25%\n", "Early stopping!\n", - "[CV] learning_rate=0.01, batch_size=100, dropout_rate=0.5, n_neurons=70, activation=, total= 46.6s\n", - "[CV] learning_rate=0.01, batch_size=100, dropout_rate=0.5, n_neurons=70, activation= \n" + "[CV] dropout_rate=0.5, n_neurons=70, learning_rate=0.01, activation=, batch_size=100, total= 39.0s\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 46.7s remaining: 0.0s\n" + "[Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 39.1s remaining: 0.0s\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ + "[CV] dropout_rate=0.5, n_neurons=70, learning_rate=0.01, activation=, batch_size=100 \n", "0\tValidation loss: 0.748480\tBest loss: 0.748480\tAccuracy: 57.70%\n", "1\tValidation loss: 0.516088\tBest loss: 0.516088\tAccuracy: 78.50%\n", "2\tValidation loss: 0.448866\tBest loss: 0.448866\tAccuracy: 78.89%\n", @@ -5477,8 +5559,8 @@ "32\tValidation loss: 0.427383\tBest loss: 0.409538\tAccuracy: 79.52%\n", "33\tValidation loss: 0.422621\tBest loss: 0.409538\tAccuracy: 78.62%\n", "Early stopping!\n", - "[CV] learning_rate=0.01, batch_size=100, dropout_rate=0.5, n_neurons=70, activation=, total= 30.3s\n", - "[CV] learning_rate=0.01, batch_size=100, dropout_rate=0.5, n_neurons=70, activation= \n", + "[CV] dropout_rate=0.5, n_neurons=70, learning_rate=0.01, activation=, batch_size=100, total= 27.4s\n", + "[CV] dropout_rate=0.5, n_neurons=70, learning_rate=0.01, activation=, batch_size=100 \n", "0\tValidation loss: 0.497714\tBest loss: 0.497714\tAccuracy: 86.71%\n", "1\tValidation loss: 0.248258\tBest loss: 0.248258\tAccuracy: 93.51%\n", "2\tValidation loss: 0.279785\tBest loss: 0.248258\tAccuracy: 93.71%\n", @@ -5489,16 +5571,19 @@ "7\tValidation loss: 0.204966\tBest loss: 0.188808\tAccuracy: 95.15%\n", "8\tValidation loss: 0.238414\tBest loss: 0.188808\tAccuracy: 94.61%\n", "9\tValidation loss: 0.192095\tBest loss: 0.188808\tAccuracy: 95.97%\n", - "10\tValidation loss: 0.186443\tBest loss: 0.186443\tAccuracy: 95.47%\n", - "11\tValidation loss: 0.190711\tBest loss: 0.186443\tAccuracy: 95.62%\n", - "12\tValidation loss: 0.174739\tBest loss: 0.174739\tAccuracy: 95.93%\n", - "13\tValidation loss: 0.195669\tBest loss: 0.174739\tAccuracy: 95.50%\n", - "14\tValidation loss: 0.184445\tBest loss: 0.174739\tAccuracy: 95.54%\n", - "15\tValidation loss: 0.223761\tBest loss: 0.174739\tAccuracy: 95.70%\n", - "16\tValidation loss: 0.206191\tBest loss: 0.174739\tAccuracy: 95.70%\n", - "17\tValidation loss: 0.187539\tBest loss: 0.174739\tAccuracy: 96.05%\n", - "18\tValidation loss: 0.181633\tBest loss: 0.174739\tAccuracy: 96.05%\n", "[...and much later...]\n", + "19\tValidation loss: 1.939112\tBest loss: 1.619874\tAccuracy: 22.01%\n", + "20\tValidation loss: 1.825761\tBest loss: 1.619874\tAccuracy: 19.27%\n", + "21\tValidation loss: 1.732937\tBest loss: 1.619874\tAccuracy: 22.01%\n", + "22\tValidation loss: 1.832995\tBest loss: 1.619874\tAccuracy: 20.91%\n", + "23\tValidation loss: 1.659557\tBest loss: 1.619874\tAccuracy: 20.91%\n", + "24\tValidation loss: 1.828380\tBest loss: 1.619874\tAccuracy: 18.73%\n", + "25\tValidation loss: 1.719589\tBest loss: 1.619874\tAccuracy: 22.01%\n", + "26\tValidation loss: 1.842429\tBest loss: 1.619874\tAccuracy: 18.73%\n", + "27\tValidation loss: 1.717596\tBest loss: 1.619874\tAccuracy: 19.27%\n", + "28\tValidation loss: 1.863441\tBest loss: 1.619874\tAccuracy: 19.08%\n", + "29\tValidation loss: 1.952335\tBest loss: 1.619874\tAccuracy: 19.08%\n", + "30\tValidation loss: 1.853776\tBest loss: 1.619874\tAccuracy: 20.91%\n", "31\tValidation loss: 1.894134\tBest loss: 1.619874\tAccuracy: 22.01%\n", "32\tValidation loss: 1.711688\tBest loss: 1.619874\tAccuracy: 19.08%\n", "33\tValidation loss: 1.651240\tBest loss: 1.619874\tAccuracy: 18.73%\n", @@ -5509,14 +5594,14 @@ "38\tValidation loss: 1.816517\tBest loss: 1.619874\tAccuracy: 18.73%\n", "39\tValidation loss: 1.647246\tBest loss: 1.619874\tAccuracy: 18.73%\n", "Early stopping!\n", - "[CV] learning_rate=0.05, batch_size=100, dropout_rate=0.5, n_neurons=140, activation=, total= 1.0min\n" + "[CV] dropout_rate=0.5, n_neurons=140, learning_rate=0.05, activation=, batch_size=100, total= 1.0min\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "[Parallel(n_jobs=1)]: Done 150 out of 150 | elapsed: 139.0min finished\n" + "[Parallel(n_jobs=1)]: Done 150 out of 150 | elapsed: 130.6min finished\n" ] }, { @@ -5597,24 +5682,24 @@ "data": { "text/plain": [ "RandomizedSearchCV(cv=None, error_score='raise',\n", - " estimator=DNNClassifier(activation=,\n", + " estimator=DNNClassifier(activation=,\n", " batch_norm_momentum=None, batch_size=20, dropout_rate=None,\n", - " initializer=._initializer at 0x7f8e143c3840>,\n", + " initializer=._initializer at 0x7fd9d5e628c8>,\n", " learning_rate=0.01, n_hidden_layers=5, n_neurons=100,\n", " optimizer_class=,\n", " random_state=42),\n", - " fit_params={'n_epochs': 1000, 'X_valid': array([[ 0., 0., ..., 0., 0.],\n", + " fit_params={'y_valid': array([0, 4, ..., 1, 2], dtype=uint8), 'X_valid': array([[ 0., 0., ..., 0., 0.],\n", " [ 0., 0., ..., 0., 0.],\n", " ...,\n", " [ 0., 0., ..., 0., 0.],\n", - " [ 0., 0., ..., 0., 0.]], dtype=float32), 'y_valid': array([0, 4, ..., 1, 2], dtype=uint8)},\n", + " [ 0., 0., ..., 0., 0.]], dtype=float32), 'n_epochs': 1000},\n", " iid=True, n_iter=50, n_jobs=1,\n", - " param_distributions={'batch_size': [10, 50, 100, 500], 'learning_rate': [0.01, 0.02, 0.05, 0.1], 'dropout_rate': [0.2, 0.3, 0.4, 0.5, 0.6], 'n_neurons': [10, 30, 50, 70, 90, 100, 120, 140, 160], 'activation': [, , .parametrized_leaky_relu at 0x7f8e12d6f840>, .parametrized_leaky_relu at 0x7f8e12d6f9d8>]},\n", + " param_distributions={'dropout_rate': [0.2, 0.3, 0.4, 0.5, 0.6], 'n_neurons': [10, 30, 50, 70, 90, 100, 120, 140, 160], 'learning_rate': [0.01, 0.02, 0.05, 0.1], 'activation': [, , .parametrized_leaky_relu at 0x7fd9b2368950>, .parametrized_leaky_relu at 0x7fd9b23687b8>], 'batch_size': [10, 50, 100, 500]},\n", " pre_dispatch='2*n_jobs', random_state=42, refit=True,\n", " return_train_score=True, scoring=None, verbose=2)" ] }, - "execution_count": 130, + "execution_count": 136, "metadata": {}, "output_type": "execute_result" } @@ -5641,7 +5726,7 @@ }, { "cell_type": "code", - "execution_count": 131, + "execution_count": 137, "metadata": {}, "outputs": [ { @@ -5654,7 +5739,7 @@ " 'n_neurons': 50}" ] }, - "execution_count": 131, + "execution_count": 137, "metadata": {}, "output_type": "execute_result" } @@ -5665,7 +5750,7 @@ }, { "cell_type": "code", - "execution_count": 132, + "execution_count": 138, "metadata": {}, "outputs": [ { @@ -5674,7 +5759,7 @@ "0.98812998637867289" ] }, - "execution_count": 132, + "execution_count": 138, "metadata": {}, "output_type": "execute_result" } @@ -5688,14 +5773,14 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Oh well, neither batch normalization nor dropout improved the model. Better luck next time! :)" + "Oh well, dropout did not improve the model. Better luck next time! :)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "But that's okay, we have ourselves a nice DNN that achieves 99.32% accuracy on the test set. Now, let's see if some of its expertise on digits 0 to 4 can be transferred to the task of classifying digits 5 to 9." + "But that's okay, we have ourselves a nice DNN that achieves 99.40% accuracy on the test set using Batch Normalization, or 99.32% without BN. Let's see if some of this expertise on digits 0 to 4 can be transferred to the task of classifying digits 5 to 9. For the sake of simplicity we will reuse the DNN without BN, since it is almost as good." ] }, { @@ -5730,8 +5815,10 @@ }, { "cell_type": "code", - "execution_count": 133, - "metadata": {}, + "execution_count": 139, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "reset_graph()\n", @@ -5755,8 +5842,10 @@ }, { "cell_type": "code", - "execution_count": 134, - "metadata": {}, + "execution_count": 140, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "learning_rate = 0.01\n", @@ -5768,7 +5857,7 @@ }, { "cell_type": "code", - "execution_count": 135, + "execution_count": 141, "metadata": { "collapsed": true }, @@ -5804,7 +5893,7 @@ }, { "cell_type": "code", - "execution_count": 136, + "execution_count": 142, "metadata": { "collapsed": true }, @@ -5827,7 +5916,7 @@ }, { "cell_type": "code", - "execution_count": 137, + "execution_count": 143, "metadata": { "collapsed": true }, @@ -5846,8 +5935,10 @@ }, { "cell_type": "code", - "execution_count": 138, - "metadata": {}, + "execution_count": 144, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "X_train2, y_train2 = sample_n_instances_per_class(X_train2_full, y_train2_full, n=100)\n", @@ -5863,7 +5954,7 @@ }, { "cell_type": "code", - "execution_count": 139, + "execution_count": 145, "metadata": {}, "outputs": [ { @@ -5921,7 +6012,7 @@ "47\tValidation loss: 0.757610\tBest loss: 0.612220\tAccuracy: 78.67%\n", "48\tValidation loss: 0.844137\tBest loss: 0.612220\tAccuracy: 80.00%\n", "Early stopping!\n", - "Total training time: 1.9s\n", + "Total training time: 2.3s\n", "INFO:tensorflow:Restoring parameters from ./my_mnist_model_5_to_9_five_frozen\n", "Final test accuracy: 76.30%\n" ] @@ -6002,7 +6093,7 @@ }, { "cell_type": "code", - "execution_count": 140, + "execution_count": 146, "metadata": { "collapsed": true }, @@ -6020,7 +6111,7 @@ }, { "cell_type": "code", - "execution_count": 141, + "execution_count": 147, "metadata": {}, "outputs": [ { @@ -6064,7 +6155,7 @@ "33\tValidation loss: 0.697210\tBest loss: 0.618038\tAccuracy: 80.00%\n", "34\tValidation loss: 0.817373\tBest loss: 0.618038\tAccuracy: 79.33%\n", "Early stopping!\n", - "Total training time: 0.8s\n", + "Total training time: 0.9s\n", "INFO:tensorflow:Restoring parameters from ./my_mnist_model_5_to_9_five_frozen\n", "Final test accuracy: 76.51%\n" ] @@ -6141,8 +6232,10 @@ }, { "cell_type": "code", - "execution_count": 142, - "metadata": {}, + "execution_count": 148, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "reset_graph()\n", @@ -6172,8 +6265,10 @@ }, { "cell_type": "code", - "execution_count": 143, - "metadata": {}, + "execution_count": 149, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "learning_rate = 0.01\n", @@ -6195,7 +6290,7 @@ }, { "cell_type": "code", - "execution_count": 144, + "execution_count": 150, "metadata": {}, "outputs": [ { @@ -6321,7 +6416,7 @@ }, { "cell_type": "code", - "execution_count": 145, + "execution_count": 151, "metadata": { "collapsed": true }, @@ -6339,7 +6434,7 @@ }, { "cell_type": "code", - "execution_count": 146, + "execution_count": 152, "metadata": {}, "outputs": [ { @@ -6423,7 +6518,7 @@ }, { "cell_type": "code", - "execution_count": 147, + "execution_count": 153, "metadata": { "collapsed": true }, @@ -6440,7 +6535,7 @@ }, { "cell_type": "code", - "execution_count": 148, + "execution_count": 154, "metadata": {}, "outputs": [ { @@ -6533,7 +6628,7 @@ }, { "cell_type": "code", - "execution_count": 149, + "execution_count": 155, "metadata": {}, "outputs": [ { @@ -6577,15 +6672,15 @@ { "data": { "text/plain": [ - "DNNClassifier(activation=,\n", + "DNNClassifier(activation=,\n", " batch_norm_momentum=None, batch_size=20, dropout_rate=None,\n", - " initializer=._initializer at 0x7f8e143c3840>,\n", + " initializer=._initializer at 0x7fd9d5e628c8>,\n", " learning_rate=0.01, n_hidden_layers=4, n_neurons=100,\n", " optimizer_class=,\n", " random_state=42)" ] }, - "execution_count": 149, + "execution_count": 155, "metadata": {}, "output_type": "execute_result" } @@ -6597,7 +6692,7 @@ }, { "cell_type": "code", - "execution_count": 150, + "execution_count": 156, "metadata": {}, "outputs": [ { @@ -6606,7 +6701,7 @@ "0.90413495165603786" ] }, - "execution_count": 150, + "execution_count": 156, "metadata": {}, "output_type": "execute_result" } @@ -6661,8 +6756,10 @@ }, { "cell_type": "code", - "execution_count": 151, - "metadata": {}, + "execution_count": 157, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "n_inputs = 28 * 28 # MNIST\n", @@ -6682,7 +6779,7 @@ }, { "cell_type": "code", - "execution_count": 152, + "execution_count": 158, "metadata": { "collapsed": true }, @@ -6700,8 +6797,10 @@ }, { "cell_type": "code", - "execution_count": 153, - "metadata": {}, + "execution_count": 159, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "dnn1 = dnn(X1, name=\"DNN_A\")\n", @@ -6717,7 +6816,7 @@ }, { "cell_type": "code", - "execution_count": 154, + "execution_count": 160, "metadata": { "collapsed": true }, @@ -6735,7 +6834,7 @@ }, { "cell_type": "code", - "execution_count": 155, + "execution_count": 161, "metadata": {}, "outputs": [ { @@ -6744,7 +6843,7 @@ "TensorShape([Dimension(None), Dimension(100)])" ] }, - "execution_count": 155, + "execution_count": 161, "metadata": {}, "output_type": "execute_result" } @@ -6755,7 +6854,7 @@ }, { "cell_type": "code", - "execution_count": 156, + "execution_count": 162, "metadata": {}, "outputs": [ { @@ -6764,7 +6863,7 @@ "TensorShape([Dimension(None), Dimension(100)])" ] }, - "execution_count": 156, + "execution_count": 162, "metadata": {}, "output_type": "execute_result" } @@ -6782,7 +6881,7 @@ }, { "cell_type": "code", - "execution_count": 157, + "execution_count": 163, "metadata": {}, "outputs": [ { @@ -6791,7 +6890,7 @@ "TensorShape([Dimension(None), Dimension(200)])" ] }, - "execution_count": 157, + "execution_count": 163, "metadata": {}, "output_type": "execute_result" } @@ -6809,7 +6908,7 @@ }, { "cell_type": "code", - "execution_count": 158, + "execution_count": 164, "metadata": { "collapsed": true }, @@ -6829,7 +6928,7 @@ }, { "cell_type": "code", - "execution_count": 159, + "execution_count": 165, "metadata": { "collapsed": true }, @@ -6847,8 +6946,10 @@ }, { "cell_type": "code", - "execution_count": 160, - "metadata": {}, + "execution_count": 166, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "y_as_float = tf.cast(y, tf.float32)\n", @@ -6865,8 +6966,10 @@ }, { "cell_type": "code", - "execution_count": 161, - "metadata": {}, + "execution_count": 167, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "learning_rate = 0.01\n", @@ -6885,8 +6988,10 @@ }, { "cell_type": "code", - "execution_count": 162, - "metadata": {}, + "execution_count": 168, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "y_pred_correct = tf.equal(y_pred, y)\n", @@ -6902,7 +7007,7 @@ }, { "cell_type": "code", - "execution_count": 163, + "execution_count": 169, "metadata": { "collapsed": true }, @@ -6929,7 +7034,7 @@ }, { "cell_type": "code", - "execution_count": 164, + "execution_count": 170, "metadata": { "collapsed": true }, @@ -6954,7 +7059,7 @@ }, { "cell_type": "code", - "execution_count": 165, + "execution_count": 171, "metadata": { "collapsed": true }, @@ -6990,8 +7095,10 @@ }, { "cell_type": "code", - "execution_count": 166, - "metadata": {}, + "execution_count": 172, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "batch_size = 5\n", @@ -7007,7 +7114,7 @@ }, { "cell_type": "code", - "execution_count": 167, + "execution_count": 173, "metadata": {}, "outputs": [ { @@ -7016,7 +7123,7 @@ "((5, 2, 784), dtype('float32'))" ] }, - "execution_count": 167, + "execution_count": 173, "metadata": {}, "output_type": "execute_result" } @@ -7034,14 +7141,14 @@ }, { "cell_type": "code", - "execution_count": 168, + "execution_count": 174, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nRWSExUVkJOnbwvfee0+y3pewQoUKXgwnoekTD3qvQZ0TCWcuIiMsLiIjSd8WNmvWzOshUILizEVk\nhMVFZKSY24QxzsTloOJcsQi/jz/r8IX0s+bMRWSExUVkhMVFZITFRWSExUVkhMVFZITFRWSExUVk\nhMVFZITFRWSExUVkhMVFZITFRWSExUVkhMVFZITFRWSExUVkhMVFZITFRWSExUVkJOn3LQxm9uzZ\nkj/++GO/119++WXJxYr571fSvHlzyfpZU8GeUUWRu++++ySvWLFC8uDBgyVPmzYtpmMCOHMRmWFx\nERlhWxjE8uXLJeuH4jm6FQzUFu7YsUPyzJkzJQ8dOjRaQ6QA9O/i008/9XAknLmIzLC4iIywLQxC\nP5Dt/vvvB+DbKmqbN2+W/O9//9vv9RtvvDHKoyMA2L17NwBg9erVHo8kMM5cREb4IIYInTlzRnK7\ndu0ku79Nte+//z4WQ0q6BzF0794dADB//vyAr+trW4MGDYrmR/NBDEReYnERGeEJjTDoVrB8+fKS\nA13neu6552IypmSj2+4lS5b4vV62bFnJHTp0iMmYguHMRWSExUVkhG1hCI4dOwYA6NKlixwLtvyp\nVatWAICRI0fGaHSJ79ChQ5L79OkjOT8/3+9rGzRoIPmmm26yHdgVcOYiMsLiIjLCtjAI1woCwMSJ\nEwEAH330UcCvrVKlit/XpqamGo4uuRw5ckTy9u3b/V7PzMyUvHjx4piMKRScuYiMcPlTEL1795as\nb/l39M8tJSVFcrVq1fy+duHChZL17f9RllDLn9auXSv57rvvlhzoz6teUN2xY0fbgf2Ay5+IvMTi\nIjLCExqKvhcrKyvrsl+r2xN9vSXQ/Vzr16+XbNgWJoRLly4BKDgxBARuBQGgdu3aAIC2bdvaDywC\nnLmIjLC4iIywLVTS0tIkt27dWvKmTZsu+32BVsWH8zoVeOmllwAA//jHPwK+rn9HCxYsAACUK1fO\nfmAR4MxFZITXuYL4/PPPJR8/fvyyXzt27FjJeutq5/Dhw5LT09OjMLqAiux1rj179ki+6667AAB5\neXly7Nprr5WsN6O57rrrYjC6gHidi8hLLC4iIzyhEUT9+vUv+7q+5V+3MIEYtoJF1tatWyW7fSGB\nwD/Lhx56SLKHrWDYOHMRGWFxERnh2cII6WVMO3fulFymTBkAwLx58+TYAw88EIshxf3ZwrNnz0q+\n4YYbJOfm5vp9rf6ZLVq0SHLx4nExH/BsIZGXWFxERni2MAzvvvuuZN0K6uVNrp2JUStYJJw/fx4A\n8Nhjj8mxQK2gptvGOGkFw1Y0R01UBHDmCoFbRDpw4MCAr+sNavr37x+TMRUl69atAwC88847V/za\nIUOGAADGjRtnOaSY4MxFZITFRWQk4dvCqVOnStYnHnr06AEgtKVJri3U2ypr7r0A3wfhJTN9wmLM\nmDGX/Vp9P1avXr0AABUqVLAZWAxx5iIywuIiMpKQy590Kzhs2DDJui10q97XrFkjx2rUqCH5N7/5\njeTnn3/e7zNq1aolWb/HlVbTG/J8+VNOTo7ke++9V/KuXbsu+336IXZF5Poglz8ReYnFRWQkIdtC\nvf/FnXfeKVk/LcPRbZxecqP3Hw8kOzs74Ht4yPO2sGvXrpKvdMH4ySeflDxt2jTJpUqVitZwLLEt\nJPJSQs5c2t69eyXrfywH2nZa/ywC7TX43HPPSY7D5Tmez1x6C+pA17YyMjIk65m/COLMReQlFheR\nkYRf/qQf6akf+fnss88CAGbOnBnw+2rWrCnZtTi/+MUvLIaYMIKd2KlTpw4A3+tZyYAzF5ERFheR\nkYQ/W5hEPD9bmER4tpDISywuIiMsLiIjLC4iIywuIiMsLiIjLC4iIywuIiMsLiIjLC4iIywuIiMs\nLiIjLC4iIywuIiMsLiIjLC4iIywuIiMsLiIjLC4iIywuIiMJv28hea9ly5YAgKNHj8ox/dAGvbX1\npk2bAAAnT56M0ejscOYiMsLiIjLCfQsTR9zuW3jrrbcCALZu3XrFry1e/Ie/78uWLSvH2rVrJ/me\ne+7x+56f//znkitVqhTxOMPAfQuJvMTiIjLCs4VkrlmzZgBCawsvXboEADhz5owce/fddyUvW7bM\n73vS0tIk9+zZM+JxRhtnLiIjLC4iI0nfFur2Qz8/WT+obdasWX7fd9ttt0nWD9grXbo0AKBfv35y\nrGLFitEZbBE1ZcoUAMDu3bvlmLtYHA2fffZZ1N4rmjhzERlJ+utcAwYMkPzaa6+F/H3651asmP9l\nj2rVqknW12l++ctfSq5SpQoA35mvEOL2Opc7kaGvUZ0+fTrg12ZkZAAAateuLceC/axHjhwJAGjd\nurUcc52DMV7nIvISi4vISNK3hZ9++qnkYG3hqlWrAABffvmlHLtSWxiM/r4KFSoAAGrVqiXHdOvU\n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\nwd87bnGv+1sVAI4fPy754MGDURh1YtErMPQKCyfQbAWEN2MF0r59+6i9V2Fx5iIywuIiMpKQbaFb\nbgMACxYskFymTBnJX3/9NQDgzJkzJmPQi1GT0cKFCyV/8MEHfq+3aNFCcizat8WLFwMADhw4IMeu\nvfZa08/kzEVkhMVFZCSh2kJ37en999+XY7G+BuWW7+hrLMlCn0HVS8Kc8ePHS3766adjMSThrlF+\n//33MftMzlxERlhcREYSqi10Oy59/PHHno3h6NGjAICNGzfKsdatW3s1nJjSdxXs2bPH73V902Pp\n0qXNx6N3NvNilzPOXERGEmrmigfuH856SU+yzFya3kjmhhtuAABcd911no1B51jhzEVkhMVFZCSh\n2kK30rpEiYL/rUj3JdTbXH/xxRdhf79bdU9Aeno6AKBmzZrmn3X+/HnJ+qF6brlVtWrVzMfgcOYi\nMsLiIjKSUG1hu3btAPg+o3jbtm2X/Z7evXtLHjRokORSpUpJvnDhgt/3/fnPf5b8t7/9TfLu3bvD\nGHFycDeh6ptRrTbnXLZsmWT9u3/ooYcAAOXLlzf53EA4cxEZYXERGUmottBxO/1ES2pqqt8xvWe5\nfrhdhw4dABQsgwJ8z1rFYtlPvNm5cycAYNeuXXKsbdu2UXt/vWeK3vvfa5y5iIwk/WNbo81d09HP\nidJ76enHkbotCPQJmMaNG0f60Z4/tlU/bcRtHw0UzOIPPvigHMvKypIc6UmGc+fOAQD69u0rx+bN\nmydZX9Nyv4Pbb789os/6H3xsK5GXWFxERtgWRtkzzzwDAHjhhRfkWEpKiuQqVapIdjtQzZ49W449\n8sgjkX60522hNm7cOMkTJkzwe123iH/5y18kX+n6l17e5K5R6rZbP+XkrbfekhyldtBhW0jkJRYX\nkZGEvM7lJfcUet2q6L3kXSuY6PTD69xe8Xpp0qJFiyT36tVLcqdOnfzeSy8/e/HFFyW7n2taWpoc\nGzp0qOQot4Jh48xFZIQnNIxMmTJF8siRIwN+zVVXXQUAWLp0qRzr2LFjpB8ZVyc0NDfz6JlEXxO7\nEv1nVN+u71bDjB07Vo5Fc+XHZfCEBpGXWFxERtgWGjl16pTk0aNHS9ZPYHn88ccBAG+88UY0PjJu\n20JHX6N6/fXXJf/617+WfOLECb/vK1mypGS9YNotsWrevHlUxxkCtoVEXmJxERlhW5g44r4tTCBs\nC4m8xOIiMsLiIjLC4iIywuIiMsLiIjLC4iIyEq/3c8X+SWXJiz9rI5y5iIywuIiMsLiIjLC4iIyw\nuIiMsLiIjLC4iIywuIiMsLiIjLC4iIywuIiMsLiIjLC4iIywuIiMsLiIjLC4iIywuIiMsLiIjLC4\niIywuIiMsLiIjLC4iIywuIiMsLiIjLC4iIywuIiM/B8LRNiNqaw8LQAAAABJRU5ErkJggg==\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -7068,7 +7175,7 @@ }, { "cell_type": "code", - "execution_count": 169, + "execution_count": 175, "metadata": {}, "outputs": [ { @@ -7081,7 +7188,7 @@ " [0]])" ] }, - "execution_count": 169, + "execution_count": 175, "metadata": {}, "output_type": "execute_result" } @@ -7114,8 +7221,10 @@ }, { "cell_type": "code", - "execution_count": 170, - "metadata": {}, + "execution_count": 176, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "X_test1, y_test1 = generate_batch(X_test, y_test, batch_size=len(X_test))" @@ -7130,7 +7239,7 @@ }, { "cell_type": "code", - "execution_count": 171, + "execution_count": 177, "metadata": {}, "outputs": [ { @@ -7304,8 +7413,10 @@ }, { "cell_type": "code", - "execution_count": 172, - "metadata": {}, + "execution_count": 178, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "reset_graph()\n", @@ -7347,7 +7458,7 @@ }, { "cell_type": "code", - "execution_count": 173, + "execution_count": 179, "metadata": {}, "outputs": [ { @@ -7397,8 +7508,10 @@ }, { "cell_type": "code", - "execution_count": 174, - "metadata": {}, + "execution_count": 180, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "reset_graph()\n", @@ -7432,7 +7545,7 @@ }, { "cell_type": "code", - "execution_count": 175, + "execution_count": 181, "metadata": {}, "outputs": [ {