diff --git a/notebooks/ch11/ch11.ipynb b/notebooks/ch11/ch11.ipynb index c480d121..c425b6bd 100644 --- a/notebooks/ch11/ch11.ipynb +++ b/notebooks/ch11/ch11.ipynb @@ -27700,7 +27700,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 4, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -27714,12 +27714,1080 @@ "displayName": "张银晗", "userId": "12610392256073027643" }, - "user_tz": -480 - }, - "id": "0pIfBcMMhBi6", - "outputId": "6a2231be-c3c2-4fb7-8d52-a2c55691655b" - }, - "outputs": [], + "user_tz": -480 + }, + "id": "0pIfBcMMhBi6", + "outputId": "6a2231be-c3c2-4fb7-8d52-a2c55691655b" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "train loss 0.125, train acc 0.952, test acc 0.895\n" + ] + }, + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " 2024-02-05T17:59:44.795994\n", + " image/svg+xml\n", + " \n", + " \n", + " Matplotlib v3.7.2, https://matplotlib.org/\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n" + ], + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "# 在 Jupyter Notebook 中使用 Matplotlib 绘图\n", "%matplotlib inline\n", @@ -27821,18 +28889,6 @@ "train(net, train_iter, test_iter, num_epochs, loss, trainer, device)\n" ] }, - { - "attachments": { - "image.png": { - "image/png": "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" - } - }, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "![image.png](attachment:image.png)" - ] - }, { "cell_type": "code", "execution_count": null,