diff --git a/tutorial_deep_learning_basics/deep_learning_basics.ipynb b/tutorial_deep_learning_basics/deep_learning_basics.ipynb index 2b4f48f..5305fe7 100644 --- a/tutorial_deep_learning_basics/deep_learning_basics.ipynb +++ b/tutorial_deep_learning_basics/deep_learning_basics.ipynb @@ -76,7 +76,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 2, "metadata": { "colab": {}, "colab_type": "code", @@ -87,7 +87,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "1.12.0\n" + "2.4.0\n" ] } ], @@ -133,7 +133,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ @@ -165,7 +165,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 13, "metadata": { "colab": {}, "colab_type": "code", @@ -179,7 +179,7 @@ " Dense(1)\n", " ])\n", "\n", - " model.compile(optimizer=tf.train.AdamOptimizer(), \n", + " model.compile(optimizer = tf.keras.optimizers.Adam(), \n", " loss='mse',\n", " metrics=['mae', 'mse'])\n", " return model" @@ -205,7 +205,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 19, "metadata": { "colab": {}, "colab_type": "code", @@ -223,9 +223,19 @@ "....................................................................................................\n", "....................................................................................................\n", "....................................................................................................\n", - "....................................................................................................\n", - ".............................................................................................\n", - "Final Root Mean Square Error on validation set: 2.359\n" + "......................................... loss mae mse val_loss val_mae val_mse epoch\n", + "631 7.206632 1.862269 7.206632 6.058085 2.016366 6.058085 631\n", + "632 7.225244 1.866688 7.225244 6.192718 2.032652 6.192718 632\n", + "633 7.203722 1.859851 7.203722 6.200646 2.047698 6.200646 633\n", + "634 7.196043 1.857011 7.196043 6.146395 2.037326 6.146395 634\n", + "635 7.212521 1.861273 7.212521 6.356153 2.059154 6.356153 635\n", + "636 7.187393 1.858825 7.187393 6.267227 2.054133 6.267227 636\n", + "637 7.210217 1.858126 7.210217 6.092490 2.025726 6.092490 637\n", + "638 7.187838 1.855549 7.187838 6.252947 2.046569 6.252947 638\n", + "639 7.183084 1.855572 7.183084 6.196176 2.038631 6.196176 639\n", + "640 7.186580 1.857012 7.186580 6.435256 2.077744 6.435256 640\n", + "\n", + "Final Root Mean Square Error on validation set: 2.537\n" ] } ], @@ -246,7 +256,8 @@ "hist['epoch'] = history.epoch\n", "\n", "# show RMSE measure to compare to Kaggle leaderboard on https://www.kaggle.com/c/boston-housing/leaderboard\n", - "rmse_final = np.sqrt(float(hist['val_mean_squared_error'].tail(1)))\n", + "\n", + "rmse_final = np.sqrt(float(hist['val_mse'].tail(1)))\n", "print()\n", "print('Final Root Mean Square Error on validation set: {}'.format(round(rmse_final, 3)))" ] @@ -260,14 +271,14 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 21, "metadata": { "scrolled": true }, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -283,8 +294,8 @@ " plt.figure()\n", " plt.xlabel('Epoch')\n", " plt.ylabel('Mean Square Error [Thousand Dollars$^2$]')\n", - " plt.plot(hist['epoch'], hist['mean_squared_error'], label='Train Error')\n", - " plt.plot(hist['epoch'], hist['val_mean_squared_error'], label = 'Val Error')\n", + " plt.plot(hist['epoch'], hist['mse'], label='Train Error')\n", + " plt.plot(hist['epoch'], hist['val_mse'], label = 'Val Error')\n", " plt.legend()\n", " plt.ylim([0,50])\n", "\n", @@ -303,7 +314,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 23, "metadata": { "colab": {}, "colab_type": "code", @@ -314,8 +325,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "102/102 [==============================] - 0s 44us/step\n", - "Root Mean Square Error on test set: 4.244\n" + "4/4 [==============================] - 0s 1ms/step - loss: 16.9950 - mae: 2.7578 - mse: 16.9950\n", + "Root Mean Square Error on test set: 4.122\n" ] } ], @@ -347,7 +358,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 25, "metadata": {}, "outputs": [], "source": [ @@ -372,13 +383,22 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 26, "metadata": { "colab": {}, "colab_type": "code", "id": "" }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/mnist.npz\n", + "11493376/11490434 [==============================] - 0s 0us/step\n" + ] + } + ], "source": [ "(train_images, train_labels), (test_images, test_labels) = keras.datasets.mnist.load_data()\n", "\n", @@ -399,7 +419,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 27, "metadata": { "colab": {}, "colab_type": "code", @@ -428,7 +448,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 28, "metadata": { "colab": {}, "colab_type": "code", @@ -437,7 +457,7 @@ "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -471,7 +491,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 29, "metadata": { "colab": {}, "colab_type": "code", @@ -514,7 +534,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 33, "metadata": { "colab": {}, "colab_type": "code", @@ -522,7 +542,7 @@ }, "outputs": [], "source": [ - "model.compile(optimizer=tf.train.AdamOptimizer(), \n", + "model.compile(optimizer=tf.keras.optimizers.Adam(), \n", " loss='sparse_categorical_crossentropy',\n", " metrics=['accuracy'])" ] @@ -547,7 +567,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 34, "metadata": { "colab": {}, "colab_type": "code", @@ -559,15 +579,15 @@ "output_type": "stream", "text": [ "Epoch 1/5\n", - "60000/60000 [==============================] - 7s 121us/step - loss: 0.1953 - acc: 0.9410\n", + "1875/1875 [==============================] - 65s 34ms/step - loss: 0.3789 - accuracy: 0.8789\n", "Epoch 2/5\n", - "60000/60000 [==============================] - 6s 100us/step - loss: 0.0842 - acc: 0.9753\n", + "1875/1875 [==============================] - 66s 35ms/step - loss: 0.0905 - accuracy: 0.9731\n", "Epoch 3/5\n", - "60000/60000 [==============================] - 6s 96us/step - loss: 0.0642 - acc: 0.9810\n", + "1875/1875 [==============================] - 66s 35ms/step - loss: 0.0599 - accuracy: 0.9820\n", "Epoch 4/5\n", - "60000/60000 [==============================] - 6s 94us/step - loss: 0.0526 - acc: 0.9835\n", + "1875/1875 [==============================] - 65s 35ms/step - loss: 0.0488 - accuracy: 0.9849\n", "Epoch 5/5\n", - "60000/60000 [==============================] - 6s 94us/step - loss: 0.0443 - acc: 0.9861\n" + "1875/1875 [==============================] - 65s 35ms/step - loss: 0.0389 - accuracy: 0.9879\n" ] } ], @@ -599,7 +619,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 35, "metadata": { "colab": {}, "colab_type": "code", @@ -611,8 +631,8 @@ "output_type": "stream", "text": [ "(10000, 28, 28, 1)\n", - "10000/10000 [==============================] - 1s 50us/step\n", - "Test accuracy: 0.9913\n" + "313/313 [==============================] - 2s 8ms/step - loss: 0.0298 - accuracy: 0.9916\n", + "Test accuracy: 0.991599977016449\n" ] } ], @@ -649,7 +669,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 36, "metadata": { "colab": {}, "colab_type": "code", @@ -812,7 +832,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.7" + "version": "3.7.6" } }, "nbformat": 4,