RayMelius Claude Opus 4.6 commited on
Commit
3326378
·
1 Parent(s): 688b587

Add train/eval loss plot after training

Browse files

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

notebooks/ch_trader_finetune.ipynb CHANGED
@@ -1235,6 +1235,13 @@
1235
  "outputs": [],
1236
  "execution_count": null
1237
  },
 
 
 
 
 
 
 
1238
  {
1239
  "cell_type": "markdown",
1240
  "source": "## 5. Save & Push to HuggingFace Hub\n\nMerges LoRA adapters into the base model weights and pushes the full model.",
 
1235
  "outputs": [],
1236
  "execution_count": null
1237
  },
1238
+ {
1239
+ "cell_type": "code",
1240
+ "source": "import matplotlib.pyplot as plt\n\n# Extract losses from trainer log history\ntrain_steps, train_loss = [], []\neval_steps, eval_loss = [], []\n\nfor entry in trainer.state.log_history:\n if \"loss\" in entry and \"eval_loss\" not in entry:\n train_steps.append(entry[\"step\"])\n train_loss.append(entry[\"loss\"])\n if \"eval_loss\" in entry:\n eval_steps.append(entry[\"step\"])\n eval_loss.append(entry[\"eval_loss\"])\n\n# Plot\nfig, ax = plt.subplots(figsize=(10, 5))\nax.plot(train_steps, train_loss, label=\"Train Loss\", alpha=0.8)\nax.plot(eval_steps, eval_loss, label=\"Eval Loss\", marker=\"o\", markersize=4)\nax.set_xlabel(\"Step\")\nax.set_ylabel(\"Loss\")\nax.set_title(\"Training & Validation Loss\")\nax.legend()\nax.grid(True, alpha=0.3)\nplt.tight_layout()\nplt.show()\n\nprint(f\"Final train loss: {train_loss[-1]:.4f}\")\nprint(f\"Final eval loss: {eval_loss[-1]:.4f}\")",
1241
+ "metadata": {},
1242
+ "execution_count": null,
1243
+ "outputs": []
1244
+ },
1245
  {
1246
  "cell_type": "markdown",
1247
  "source": "## 5. Save & Push to HuggingFace Hub\n\nMerges LoRA adapters into the base model weights and pushes the full model.",
notebooks/stockex-clearing-house-llm-fine-tuning.ipynb CHANGED
@@ -1235,6 +1235,13 @@
1235
  "outputs": [],
1236
  "execution_count": null
1237
  },
 
 
 
 
 
 
 
1238
  {
1239
  "cell_type": "markdown",
1240
  "source": "## 5. Save & Push to HuggingFace Hub\n\nMerges LoRA adapters into the base model weights and pushes the full model.",
 
1235
  "outputs": [],
1236
  "execution_count": null
1237
  },
1238
+ {
1239
+ "cell_type": "code",
1240
+ "source": "import matplotlib.pyplot as plt\n\n# Extract losses from trainer log history\ntrain_steps, train_loss = [], []\neval_steps, eval_loss = [], []\n\nfor entry in trainer.state.log_history:\n if \"loss\" in entry and \"eval_loss\" not in entry:\n train_steps.append(entry[\"step\"])\n train_loss.append(entry[\"loss\"])\n if \"eval_loss\" in entry:\n eval_steps.append(entry[\"step\"])\n eval_loss.append(entry[\"eval_loss\"])\n\n# Plot\nfig, ax = plt.subplots(figsize=(10, 5))\nax.plot(train_steps, train_loss, label=\"Train Loss\", alpha=0.8)\nax.plot(eval_steps, eval_loss, label=\"Eval Loss\", marker=\"o\", markersize=4)\nax.set_xlabel(\"Step\")\nax.set_ylabel(\"Loss\")\nax.set_title(\"Training & Validation Loss\")\nax.legend()\nax.grid(True, alpha=0.3)\nplt.tight_layout()\nplt.show()\n\nprint(f\"Final train loss: {train_loss[-1]:.4f}\")\nprint(f\"Final eval loss: {eval_loss[-1]:.4f}\")",
1241
+ "metadata": {},
1242
+ "execution_count": null,
1243
+ "outputs": []
1244
+ },
1245
  {
1246
  "cell_type": "markdown",
1247
  "source": "## 5. Save & Push to HuggingFace Hub\n\nMerges LoRA adapters into the base model weights and pushes the full model.",