From 88b2dd780a2e647907f2595f443c6703fcf17b71 Mon Sep 17 00:00:00 2001 From: rasbt Date: Wed, 27 Mar 2024 07:11:56 -0500 Subject: [PATCH] make batch loss calculatution more efficient --- .../01_main-chapter-code/previous_chapters.py | 2 + ch05/01_main-chapter-code/ch05.ipynb | 144 +++++++++--------- ch05/01_main-chapter-code/train.py | 2 + .../previous_chapters.py | 2 + ch05/05_bonus_hparam_tuning/hparam_search.py | 2 + 5 files changed, 79 insertions(+), 73 deletions(-) diff --git a/appendix-D/01_main-chapter-code/previous_chapters.py b/appendix-D/01_main-chapter-code/previous_chapters.py index 559c6b9..c43b0ae 100644 --- a/appendix-D/01_main-chapter-code/previous_chapters.py +++ b/appendix-D/01_main-chapter-code/previous_chapters.py @@ -259,6 +259,8 @@ def calc_loss_loader(data_loader, model, device, num_batches=None): total_loss = 0. if num_batches is None: num_batches = len(data_loader) + else: + num_batches = min(num_batches, len(data_loader)) for i, (input_batch, target_batch) in enumerate(data_loader): if i < num_batches: loss = calc_loss_batch(input_batch, target_batch, model, device) diff --git a/ch05/01_main-chapter-code/ch05.ipynb b/ch05/01_main-chapter-code/ch05.ipynb index a916ae8..8be4de4 100644 --- a/ch05/01_main-chapter-code/ch05.ipynb +++ b/ch05/01_main-chapter-code/ch05.ipynb @@ -764,7 +764,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 16, "id": "654fde37-b2a9-4a20-a8d3-0206c056e2ff", "metadata": {}, "outputs": [], @@ -795,7 +795,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 17, "id": "6kgJbe4ehI4q", "metadata": { "colab": { @@ -821,7 +821,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 18, "id": "j2XPde_ThM_e", "metadata": { "colab": { @@ -847,7 +847,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 19, "id": "6b46a952-d50a-4837-af09-4095698f7fd1", "metadata": { "colab": { @@ -903,7 +903,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 20, "id": "0959c855-f860-4358-8b98-bc654f047578", "metadata": {}, "outputs": [], @@ -940,7 +940,7 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 21, "id": "f37b3eb0-854e-4895-9898-fa7d1e67566e", "metadata": {}, "outputs": [], @@ -977,7 +977,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 22, "id": "ca0116d0-d229-472c-9fbf-ebc229331c3e", "metadata": {}, "outputs": [ @@ -1021,7 +1021,7 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 23, "id": "eb860488-5453-41d7-9870-23b723f742a0", "metadata": { "colab": { @@ -1066,7 +1066,7 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 24, "id": "7b9de31e-4096-47b3-976d-b6d2fdce04bc", "metadata": { "id": "7b9de31e-4096-47b3-976d-b6d2fdce04bc" @@ -1086,6 +1086,10 @@ " total_loss = 0.\n", " if num_batches is None:\n", " num_batches = len(data_loader)\n", + " else:\n", + " # Reduce the number of batches to match the total number of batches in the data loader\n", + " # if num_batches exceeds the number of batches in the data loader\n", + " num_batches = min(num_batches, len(data_loader))\n", " for i, (input_batch, target_batch) in enumerate(data_loader):\n", " if i < num_batches:\n", " loss = calc_loss_batch(input_batch, target_batch, model, device)\n", @@ -1106,7 +1110,7 @@ }, { "cell_type": "code", - "execution_count": 55, + "execution_count": 25, "id": "56f5b0c9-1065-4d67-98b9-010e42fc1e2a", "metadata": {}, "outputs": [ @@ -1125,8 +1129,8 @@ "\n", "\n", "torch.manual_seed(123) # For reproducibility due to the shuffling in the data loader\n", - "train_loss = calc_loss_loader(train_loader, model, device, num_batches=1)\n", - "val_loss = calc_loss_loader(val_loader, model, device, num_batches=1)\n", + "train_loss = calc_loss_loader(train_loader, model, device)\n", + "val_loss = calc_loss_loader(val_loader, model, device)\n", "\n", "print(\"Training loss:\", train_loss)\n", "print(\"Validation loss:\", val_loss)" @@ -1163,7 +1167,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 27, "id": "Mtp4gY0ZO-qq", "metadata": { "id": "Mtp4gY0ZO-qq" @@ -1240,7 +1244,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 28, "id": "3422000b-7aa2-485b-92df-99372cd22311", "metadata": { "colab": { @@ -1254,33 +1258,33 @@ "name": "stdout", "output_type": "stream", "text": [ - "Ep 1 (Step 000000): Train loss 9.090, Val loss 9.856\n", - "Ep 1 (Step 000005): Train loss 7.472, Val loss 8.051\n", + "Ep 1 (Step 000000): Train loss 9.558, Val loss 9.856\n", + "Ep 1 (Step 000005): Train loss 7.651, Val loss 8.051\n", "Every effort moves you,,,,,,,,,,,,. \n", - "Ep 2 (Step 000010): Train loss 6.094, Val loss 6.812\n", - "Ep 2 (Step 000015): Train loss 5.800, Val loss 6.559\n", + "Ep 2 (Step 000010): Train loss 6.421, Val loss 6.812\n", + "Ep 2 (Step 000015): Train loss 5.913, Val loss 6.559\n", "Every effort moves you, and, and,, and,,,,, and, and,,,, and,,,, and, and,, and,,,, and,, and,,,,, and,,,,,,\n", - "Ep 3 (Step 000020): Train loss 5.204, Val loss 6.490\n", - "Ep 3 (Step 000025): Train loss 5.362, Val loss 6.602\n", + "Ep 3 (Step 000020): Train loss 5.680, Val loss 6.490\n", + "Ep 3 (Step 000025): Train loss 5.557, Val loss 6.602\n", "Every effort moves you, and, and the picture. \", and, and the, and the, and, and,\n", - "Ep 4 (Step 000030): Train loss 5.037, Val loss 6.508\n", - "Ep 4 (Step 000035): Train loss 4.229, Val loss 6.420\n", + "Ep 4 (Step 000030): Train loss 5.204, Val loss 6.508\n", + "Ep 4 (Step 000035): Train loss 4.865, Val loss 6.420\n", "Every effort moves you, and I had a a a--I to the picture. \"I. I had the picture. \"I had the picture. I had the the picture. I had the the picture. \"I had the picture. \"\n", - "Ep 5 (Step 000040): Train loss 4.441, Val loss 6.328\n", + "Ep 5 (Step 000040): Train loss 4.332, Val loss 6.328\n", "Every effort moves you, I was a and I was a little to the picture. \n", - "Ep 6 (Step 000045): Train loss 4.583, Val loss 6.221\n", - "Ep 6 (Step 000050): Train loss 3.308, Val loss 6.184\n", + "Ep 6 (Step 000045): Train loss 4.295, Val loss 6.221\n", + "Ep 6 (Step 000050): Train loss 3.268, Val loss 6.184\n", "Every effort moves you know to see the end of the Riv I felt--the a little of the last: \" \n", - "Ep 7 (Step 000055): Train loss 3.237, Val loss 6.129\n", - "Ep 7 (Step 000060): Train loss 2.613, Val loss 6.194\n", + "Ep 7 (Step 000055): Train loss 2.880, Val loss 6.129\n", + "Ep 7 (Step 000060): Train loss 2.820, Val loss 6.194\n", "Every effort moves you know the fact of a little a--I was his painting. \n", - "Ep 8 (Step 000065): Train loss 2.143, Val loss 6.236\n", - "Ep 8 (Step 000070): Train loss 1.757, Val loss 6.260\n", + "Ep 8 (Step 000065): Train loss 2.260, Val loss 6.236\n", + "Ep 8 (Step 000070): Train loss 1.754, Val loss 6.260\n", "Every effort moves you know,\" was one of the picture for nothing--I turned Mrs. \n", - "Ep 9 (Step 000075): Train loss 1.391, Val loss 6.319\n", - "Ep 9 (Step 000080): Train loss 1.242, Val loss 6.310\n", + "Ep 9 (Step 000075): Train loss 1.447, Val loss 6.319\n", + "Ep 9 (Step 000080): Train loss 1.120, Val loss 6.310\n", "Every effort moves you?\" \"I looked--and me.\" He placed them at my elbow and I looked up his pictures--because he's I had\n", - "Ep 10 (Step 000085): Train loss 1.044, Val loss 6.372\n", + "Ep 10 (Step 000085): Train loss 0.762, Val loss 6.372\n", "Every effort moves you?\" \"Yes--quite insensible to the irony. She wanted him vindicated--and by me!\" He laughed again, and threw back his head to look up at the sketch of the donkey. \"There were days when I\n" ] } @@ -1294,14 +1298,14 @@ "num_epochs = 10\n", "train_losses, val_losses, tokens_seen = train_model_simple(\n", " model, train_loader, val_loader, optimizer, device,\n", - " num_epochs=num_epochs, eval_freq=5, eval_iter=1,\n", + " num_epochs=num_epochs, eval_freq=5, eval_iter=5,\n", " start_context=\"Every effort moves you\",\n", ")" ] }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 29, "id": "0WSRu2i0iHJE", "metadata": { "colab": { @@ -1314,7 +1318,7 @@ "outputs": [ { "data": { - "image/png": "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sGFDPD09qVevHmPHjiUvLw+AGTNm8NJLL7F582ZMJhMmk8lW89mnYrdu3co111yDh4cHgYGBDBkyhIyMDNv6e++9l/79+zNhwgTCwsIIDAxk2LBhtvcqCYvFwssvv0xERARubm60bt2a+fPn29bn5uYyfPhwwsLCcHd3p06dOowfPx4AwzB48cUXiYyMxM3NjfDwcEaOHFni974UOj9YUfwjIe0wpB2CozugZkN7VyQiImUtN7P02zi5FV2uU5APBTlgMoOLx8X36+pV4rdxdnbmnnvuYcaMGTz33HOYTl/3/d1331FQUMDAgQPJyMigXbt2PP300/j6+vLbb79x9913U79+fTp27HjR97BYLNx8882EhISwZs0aUlNTi12PV8jHx4cZM2YQHh7O1q1beeihh/Dx8eGpp57i9ttvZ9u2bcyfP5+FCxcC4Ofnd84+MjMz6dWrF126dGHdunUkJyfz4IMPMnz48GLhdfHixYSFhbF48WJ27drF7bffTuvWrXnooYdK9H17//33eeedd5g6dSpt2rThs88+44YbbuCff/4hOjqaSZMm8fPPP/Ptt98SGRlJQkICCQkJAPzwww+89957zJo1i2bNmpGUlMTmzZtL9L6XSsGuogTWh0Z9IH4urJkC179n74pERKSsvR5e+m1umwHNbrLOb/8FvrsX6nSD+34rajOxBWQdP3fbF1NL9Vb3338/b7/9NkuXLuWqq64CrKdhb7nlFvz8/PDz82PMmDG29iNGjOD333/n22+/LVGwW7hwIdu3b+f3338nPNz6vXj99dfPuS7u+eeft83XrVuXMWPGMGvWLJ566ik8PDzw9vbG2dmZ0NDQf32vr7/+muzsbL744gu8vKwB94MPPqBfv368+eabhISEABAQEMAHH3yAk5MTjRs3pm/fvixatKjEwW7ChAk8/fTT3HHHHQC8+eabLF68mIkTJ/Lhhx9y4MABoqOj6datGyaTiTp16ti2PXDgAKGhofTs2RMXFxciIyNL9H28HDoVW5E6D7V+3TQTsk7YtxYREal2GjduTNeuXfnss88A2LVrF8uXL+eBBx4AoKCggFdeeYUWLVpQo0YNvL29+f333zlw4ECJ9h8XF0ft2rVtoQ6gS5cu57T75ptviImJITQ0FG9vb55//vkSv8eZ79WqVStbqAOIiYnBYrEQHx9vW9asWTOcnJxsr8PCwkhOTi7Re6SlpXH48GFiYmKKLY+JiSEuLg6wnu7dtGkTjRo1YuTIkfzxxx+2drfddhunTp2iXr16PPTQQ8yePZv8/PxSfc7SUo9dRarbDUJbQNJWWD8duj9h74pERKQs/d/h0m/jdMbNAI37WfdhOqvfZfTWy6vrDA888AAjRozgww8/ZPr06dSvX58rr7wSgLfffpv333+fiRMn0qJFC7y8vBg9ejS5ubll9v6rVq1i0KBBvPTSS/Tq1Qs/Pz9mzZrFO++8U2bvcSYXF5dir00mExaLpcz237ZtW/bu3cu8efNYuHAhAwYMoGfPnnz//ffUrl2b+Ph4Fi5cyIIFCxg6dKitx/TsusqKeuwqkskEnYdZ59d+Avll94siIiKVgKtX6aczh8NycrYuO/P6ugvt9xIMGDAAs9nM119/zRdffMH9999vu95u5cqV3Hjjjdx11120atWKevXqsWPHjhLvu0mTJiQkJJCYmGhbtnr16mJt/vrrL+rUqcNzzz1H+/btiY6OZv/+/cU/rqsrBQUFF32vzZs3k5lZdP3hypUrMZvNNGrUqMQ1X4ivry/h4eGsXLmy2PKVK1fStGnTYu1uv/12PvnkE7755ht++OEHTpywnpnz8PCgX79+TJo0iSVLlrBq1Sq2bi27oH42BbuK1vwW8A6B9ESInWPvakREpJrx9vbm9ttv59lnnyUxMZF7773Xti46OpoFCxbw119/ERcXx8MPP8yRIyUfpqtnz540bNiQwYMHs3nzZpYvX85zzz1XrE10dDQHDhxg1qxZ7N69m0mTJjF79uxiberWrcvevXvZtGkTx44dIycn55z3GjRoEO7u7gwePJht27axePFiRowYwd133227vq4sPPnkk7z55pt88803xMfH88wzz7Bp0yZGjRoFwLvvvsvMmTPZvn07O3bs4LvvviM0NBR/f39mzJjBp59+yrZt29izZw9ffvklHh4exa7DK2sKdmXAMAz+2nWMzJwSnDd3doUOpy/YXPWhHjMmIiIV7oEHHuDkyZP06tWr2PVwzz//PG3btqVXr15cddVVhIaG0r9//xLv12w2M3v2bE6dOkXHjh158MEHee2114q1ueGGG3jssccYPnw4rVu35q+//mLs2LHF2txyyy307t2bq6++mpo1a553yBVPT09+//13Tpw4QYcOHbj11lvp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uX+tATCef/552+uMjAwDMObNm2cYhmH069fPuO+++8rmA4tItaRr7ESk2rj66quZMmVKsWU1atSwzXfp0qXYui5durBp0yYA4uLiaNWqFV5eXrb1MTExWCwW4uPjMZlMHD58mB49elywhpYtW9rmvby88PX1JTk5GYBHH32UW265hQ0bNnDttdfSv39/unbtekmfVUSqJwU7Eak2vLy8zjk1WlY8PDxK1M7FxaXYa5PJhMViAaBPnz7s37+fuXPnsmDBAnr06MGwYcOYMGFCmdcrIo5J19iJiJy2evXqc143adIEgCZNmrB582YyMzNt61euXInZbKZRo0b4+PhQt25dFi1adFk11KxZk8GDB/Pll18yceJEpk2bdln7E5HqRT12IlJt5OTkkJSUVGyZs7Oz7QaF7777jvbt29OtWze++uor1q5dy6effgrAoEGDeOGFFxg8eDAvvvgiR48eZcSIEdx9992EhIQA8OKLL/LII48QHBxMnz59SE9PZ+XKlYwYMaJE9Y0bN4527drRrFkzcnJy+PXXX23BUkSkJBTsRKTamD9/PmFhYcWWNWrUiO3btwPWO1ZnzZrF0KFDCQsLY+bMmTRt2hQAT09Pfv/9d0aNGkWHDh3w9PTklltu4d1337Xta/DgwWRnZ/Pee+8xZswYgoKCuPXWW0tcn6urK88++yz79u3Dw8OD7t27M2vWrDL45CJSXZgMwzDsXYSIiL2ZTCZmz55N//797V2KiMgl0zV2IiIiIg5CwU5ERETEQegaOxERQFeliIgjUI+diIiIiINQsBMRERFxEAp2IiIiIg5CwU5ERETEQSjYiYiIiDgIBTsRERERB6FgJyIiIuIgFOxEREREHISCnYiIiIiD+H+c9fF9UxaCfgAAAABJRU5ErkJggg==", + "image/png": "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", "text/plain": [ "
" ] @@ -1342,7 +1346,7 @@ " ax2.set_xlabel(\"Tokens seen\")\n", "\n", " fig.tight_layout() # Adjust layout to make room\n", - " # plt.savefig(\"loss-plot.pdf\")\n", + " plt.savefig(\"loss-plot.pdf\")\n", " plt.show()\n", "\n", "\n", @@ -1410,7 +1414,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 30, "id": "2734cee0-f6f9-42d5-b71c-fa7e0ef28b6d", "metadata": {}, "outputs": [ @@ -1481,7 +1485,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 31, "id": "01a5ce39-3dc8-4c35-96bc-6410a1e42412", "metadata": {}, "outputs": [ @@ -1535,7 +1539,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 32, "id": "0759e4c8-5362-467c-bec6-b0a19d1ba43d", "metadata": {}, "outputs": [], @@ -1553,7 +1557,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 33, "id": "2e66e613-4aca-4296-a984-ddd0d80c6578", "metadata": {}, "outputs": [ @@ -1598,7 +1602,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 34, "id": "b23b863e-252a-403c-b5b1-62bc0a42319f", "metadata": {}, "outputs": [ @@ -1640,7 +1644,7 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 35, "id": "e4600713-c51e-4f53-bf58-040a6eb362b8", "metadata": {}, "outputs": [ @@ -1673,7 +1677,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 36, "id": "9dfb48f0-bc3f-46a5-9844-33b6c9b0f4df", "metadata": {}, "outputs": [ @@ -1739,7 +1743,7 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 37, "id": "2a7f908a-e9ec-446a-b407-fb6dbf05c806", "metadata": {}, "outputs": [ @@ -1762,7 +1766,7 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 38, "id": "753865ed-79c5-48b1-b9f2-ccb132ff1d2f", "metadata": {}, "outputs": [ @@ -1788,7 +1792,7 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 39, "id": "4844f000-c329-4e7e-aa89-16a2c4ebee43", "metadata": {}, "outputs": [ @@ -1824,7 +1828,7 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 40, "id": "8e318891-bcc0-4d71-b147-33ce55febfa3", "metadata": {}, "outputs": [], @@ -1875,7 +1879,7 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 41, "id": "3adb4df3-1150-44e2-93c7-532d205901f9", "metadata": {}, "outputs": [ @@ -1934,7 +1938,7 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 42, "id": "3d67d869-ac04-4382-bcfb-c96d1ca80d47", "metadata": {}, "outputs": [], @@ -1952,7 +1956,7 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 43, "id": "9d57d914-60a3-47f1-b499-5352f4c457cb", "metadata": {}, "outputs": [], @@ -1973,7 +1977,7 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 44, "id": "bbd175bb-edf4-450e-a6de-d3e8913c6532", "metadata": {}, "outputs": [], @@ -1988,7 +1992,7 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 45, "id": "8a0c7295-c822-43bf-9286-c45abc542868", "metadata": {}, "outputs": [], @@ -2037,7 +2041,7 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 46, "id": "fb9fdf02-972a-444e-bf65-8ffcaaf30ce8", "metadata": {}, "outputs": [], @@ -2047,7 +2051,7 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 47, "id": "a0747edc-559c-44ef-a93f-079d60227e3f", "metadata": {}, "outputs": [ @@ -2067,7 +2071,7 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 48, "id": "c5bc89eb-4d39-4287-9b0c-e459ebe7f5ed", "metadata": {}, "outputs": [], @@ -2178,7 +2182,7 @@ }, { "cell_type": "code", - "execution_count": 50, + "execution_count": 49, "id": "76271dd7-108d-4f5b-9c01-6ae0aac4b395", "metadata": {}, "outputs": [ @@ -2188,17 +2192,11 @@ "text": [ "File already exists and is up-to-date: gpt2/124M/checkpoint\n", "File already exists and is up-to-date: gpt2/124M/encoder.json\n", - "File already exists and is up-to-date: gpt2/124M/hparams.json\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "model.ckpt.data-00000-of-00001: 100%|███████| 498M/498M [05:21<00:00, 1.55MiB/s]\n", - "model.ckpt.index: 100%|███████████████████| 5.21k/5.21k [00:00<00:00, 2.61MiB/s]\n", - "model.ckpt.meta: 100%|██████████████████████| 471k/471k [00:00<00:00, 2.55MiB/s]\n", - "vocab.bpe: 100%|████████████████████████████| 456k/456k [00:00<00:00, 1.94MiB/s]\n" + "File already exists and is up-to-date: gpt2/124M/hparams.json\n", + "File already exists and is up-to-date: gpt2/124M/model.ckpt.data-00000-of-00001\n", + "File already exists and is up-to-date: gpt2/124M/model.ckpt.index\n", + "File already exists and is up-to-date: gpt2/124M/model.ckpt.meta\n", + "File already exists and is up-to-date: gpt2/124M/vocab.bpe\n" ] } ], @@ -2208,7 +2206,7 @@ }, { "cell_type": "code", - "execution_count": 51, + "execution_count": 50, "id": "b1a31951-d971-4a6e-9c43-11ee1168ec6a", "metadata": {}, "outputs": [ @@ -2226,7 +2224,7 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 51, "id": "857c8331-130e-46ba-921d-fa35d7a73cfe", "metadata": {}, "outputs": [ @@ -2272,7 +2270,7 @@ }, { "cell_type": "code", - "execution_count": 53, + "execution_count": 52, "id": "9fef90dd-0654-4667-844f-08e28339ef7d", "metadata": {}, "outputs": [], @@ -2305,7 +2303,7 @@ }, { "cell_type": "code", - "execution_count": 54, + "execution_count": 53, "id": "f9a92229-c002-49a6-8cfb-248297ad8296", "metadata": {}, "outputs": [], @@ -2318,7 +2316,7 @@ }, { "cell_type": "code", - "execution_count": 55, + "execution_count": 54, "id": "f22d5d95-ca5a-425c-a9ec-fc432a12d4e9", "metadata": {}, "outputs": [], @@ -2371,7 +2369,7 @@ }, { "cell_type": "code", - "execution_count": 56, + "execution_count": 55, "id": "1f690253-f845-4347-b7b6-43fabbd2affa", "metadata": {}, "outputs": [ diff --git a/ch05/01_main-chapter-code/train.py b/ch05/01_main-chapter-code/train.py index fec04be..0992ede 100644 --- a/ch05/01_main-chapter-code/train.py +++ b/ch05/01_main-chapter-code/train.py @@ -34,6 +34,8 @@ def calc_loss_loader(data_loader, model, device, num_batches=None): total_loss = 0. if num_batches is None: num_batches = len(data_loader) + else: + num_batches = min(num_batches, len(data_loader)) for i, (input_batch, target_batch) in enumerate(data_loader): if i < num_batches: loss = calc_loss_batch(input_batch, target_batch, model, device) diff --git a/ch05/03_bonus_pretraining_on_gutenberg/previous_chapters.py b/ch05/03_bonus_pretraining_on_gutenberg/previous_chapters.py index f7b9578..46fd9d2 100644 --- a/ch05/03_bonus_pretraining_on_gutenberg/previous_chapters.py +++ b/ch05/03_bonus_pretraining_on_gutenberg/previous_chapters.py @@ -253,6 +253,8 @@ def calc_loss_loader(data_loader, model, device, num_batches=None): total_loss = 0. if num_batches is None: num_batches = len(data_loader) + else: + num_batches = min(num_batches, len(data_loader)) for i, (input_batch, target_batch) in enumerate(data_loader): if i < num_batches: loss = calc_loss_batch(input_batch, target_batch, model, device) diff --git a/ch05/05_bonus_hparam_tuning/hparam_search.py b/ch05/05_bonus_hparam_tuning/hparam_search.py index eea44ac..abe31e0 100644 --- a/ch05/05_bonus_hparam_tuning/hparam_search.py +++ b/ch05/05_bonus_hparam_tuning/hparam_search.py @@ -27,6 +27,8 @@ def calc_loss_loader(data_loader, model, device, num_batches=None): total_loss = 0. if num_batches is None: num_batches = len(data_loader) + else: + num_batches = min(num_batches, len(data_loader)) for i, (input_batch, target_batch) in enumerate(data_loader): if i < num_batches: loss = calc_loss_batch(input_batch, target_batch, model, device)