{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Learning Rate Schedulers with Skorch \n",
    "\n",
    "This notebook demonstrates 3 learning rate schedulers in skorch:\n",
    "\n",
    "StepLR, ReduceROn Plateau and Cosine Annealing. This notebook was contributed by [Parag Ekbote](https://github.com/ParagEkbote).\n",
    "\n",
    "Firstly you will need to install the following libraries: skorch,numpy,matplotlib and torch."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<table align=\"left\"><td>\n",
    "<a target=\"_blank\" href=\"https://github.com/skorch-dev/skorch/blob/master/notebooks/Learning_Rate_Scheduler.ipynb\">\n",
    "    <img src=\"https://www.tensorflow.org/images/colab_logo_32px.png\" />Run in Google Colab</a>  \n",
    "</td><td>\n",
    "<a target=\"_blank\" href=\"https://github.com/skorch-dev/skorch/blob/master/notebooks/Learning_Rate_Scheduler.ipynb\"><img width=32px src=\"https://www.tensorflow.org/images/GitHub-Mark-32px.png\" />View source on GitHub</a></td></table>\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Imports"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "from sklearn.datasets import load_breast_cancer\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "import torch\n",
    "import torch.optim as optim\n",
    "import torch.nn as nn\n",
    "import numpy as np\n",
    "from skorch import NeuralNetClassifier\n",
    "from skorch.callbacks import LRScheduler\n",
    "from skorch.callbacks import Callback\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Data Preparation\n",
    "\n",
    "The dataset will be split into train and test datasets. We will scale the features upto float 32 and labels reshaped for efficient binary classification.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "def prepare_data():\n",
    "    # Load the dataset\n",
    "    data = load_breast_cancer()\n",
    "    X, y = data.data, data.target\n",
    "    \n",
    "    # Split into train and test sets\n",
    "    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)\n",
    "    \n",
    "    # Standardize the features\n",
    "    scaler = StandardScaler()\n",
    "    X_train_scaled = scaler.fit_transform(X_train).astype(np.float32)\n",
    "    X_test_scaled = scaler.transform(X_test).astype(np.float32)\n",
    "    \n",
    "    # Reshape the labels for compatibility\n",
    "    y_train = y_train.astype(np.float32).reshape(-1, 1)\n",
    "    y_test = y_test.astype(np.float32).reshape(-1, 1)\n",
    "    \n",
    "    return X_train_scaled, X_test_scaled, y_train, y_test\n",
    " "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Neural Net Parameters\n",
    "\n",
    "The BreastCancerNet is a neural network designed for binary classification tasks. It consists of an input layer, two hidden layers with ReLU activation functions, and a single output layer. The architecture is parameterized to allow flexibility in adjusting the input and hidden layer dimensions."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "class BreastCancerNet(nn.Module):\n",
    "    def __init__(self, input_dim=30, hidden_dim=64):\n",
    "        super(BreastCancerNet, self).__init__()\n",
    "        self.fc1 = nn.Linear(input_dim, hidden_dim)\n",
    "        self.relu = nn.ReLU()\n",
    "        self.fc2 = nn.Linear(hidden_dim, 1)\n",
    "\n",
    "    def forward(self, x):\n",
    "        x = self.fc1(x)\n",
    "        x = self.relu(x)\n",
    "        x = self.fc2(x)\n",
    "        return x\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Learning Rate Scheduler Parameters \n",
    "\n",
    "1) StepLR:\n",
    "\n",
    "- Reduces the learning rate by a factor (gamma=0.3) every 100 epochs (step_size=10).\n",
    "- Useful for steady, predictable learning rate decay.\n",
    "\n",
    "2) ReduceLROnPlateau:\n",
    "\n",
    "- Reduces the learning rate dynamically when the model's performance (e.g., loss) plateaus.\n",
    "- Adjusts by a factor (factor=0.7) after 5 epochs of no improvement (patience=5).\n",
    "- Ideal for tasks where loss stagnation indicates the need for smaller learning rates.\n",
    "\n",
    "3) CosineAnnealing:\n",
    "\n",
    "- Reduces the learning rate in a cosine curve over 10 epochs (T_max=10).\n",
    "- Periodically resets the learning rate, promoting exploration of the loss landscape.\n",
    "\n",
    "We will now train the neural network with different LR Schedulers.\n",
    "\n",
    "Note: We are training with synthetic data. The breast cancer dataset can also be used."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Training with StepLR scheduler...\n",
      "StepLR Test Score: 0.4250\n",
      "StepLR Recorded Learning Rates: [0.05, 0.05, 0.05, 0.05, 0.05]...\n",
      "\n",
      "Training with ReduceLROnPlateau scheduler...\n",
      "ReduceLROnPlateau Test Score: 0.5750\n",
      "ReduceLROnPlateau Recorded Learning Rates: [0.05, 0.05, 0.05, 0.05, 0.05]...\n",
      "\n",
      "Training with CosineAnnealingLR scheduler...\n",
      "CosineAnnealingLR Test Score: 0.5250\n",
      "CosineAnnealingLR Recorded Learning Rates: [0.04999987663004646, 0.049999506521403426, 0.04999888967772375, 0.04999802610509541, 0.04999691581204153]...\n",
      "\n",
      "Final Results Summary:\n",
      "\n",
      "Scheduler: StepLR\n",
      "Test Score: 0.4250\n",
      "First 5 Learning Rates: [0.05, 0.05, 0.05, 0.05, 0.05]\n",
      "\n",
      "Scheduler: ReduceLROnPlateau\n",
      "Test Score: 0.5750\n",
      "First 5 Learning Rates: [0.05, 0.05, 0.05, 0.05, 0.05]\n",
      "\n",
      "Scheduler: CosineAnnealingLR\n",
      "Test Score: 0.5250\n",
      "First 5 Learning Rates: [0.04999987663004646, 0.049999506521403426, 0.04999888967772375, 0.04999802610509541, 0.04999691581204153]\n"
     ]
    }
   ],
   "source": [
    "class LRCaptureCallback(Callback):\n",
    "    def on_epoch_end(self, net, **kwargs):\n",
    "        # Log the learning rate of the optimizer\n",
    "        lr = net.optimizer_.param_groups[0]['lr']\n",
    "        if not hasattr(net.history, 'lr'):\n",
    "            net.history.record('lr', lr)\n",
    "        else:\n",
    "            net.history[-1, 'lr'] = lr\n",
    "\n",
    "# Training function with learning rate tracking \n",
    "def train_schedulers(X_train, X_test, y_train, y_test, lr=0.05, epochs=1000, hidden_dim=128):\n",
    "    # Convert data to PyTorch tensors\n",
    "    X_train = X_train.astype(np.float32)\n",
    "    X_test = X_test.astype(np.float32)\n",
    "    y_train = y_train.astype(np.float32).reshape(-1, 1)\n",
    "    y_test = y_test.astype(np.float32).reshape(-1, 1)\n",
    "\n",
    "    # Split training data into training and validation sets\n",
    "    X_train, X_val, y_train, y_val = train_test_split(X_train, y_train, test_size=0.4, random_state=42)\n",
    "\n",
    "    # Define learning rate schedulers\n",
    "    schedulers = [\n",
    "        {\"name\": \"StepLR\", \"scheduler_class\": torch.optim.lr_scheduler.StepLR, \"params\": {\"step_size\": 100, \"gamma\": 0.3}},\n",
    "        {\"name\": \"ReduceLROnPlateau\", \"scheduler_class\": torch.optim.lr_scheduler.ReduceLROnPlateau, \"params\": {\"mode\": \"max\", \"factor\": 0.7, \"patience\": 5}},\n",
    "        {\"name\": \"CosineAnnealingLR\", \"scheduler_class\": torch.optim.lr_scheduler.CosineAnnealingLR, \"params\": {\"T_max\": 1000}},\n",
    "    ]\n",
    "\n",
    "    results = {}\n",
    "    for scheduler_info in schedulers:\n",
    "        print(f\"\\nTraining with {scheduler_info['name']} scheduler...\")\n",
    "\n",
    "        # Set up the neural network with the specified scheduler\n",
    "        net = NeuralNetClassifier(\n",
    "            module=BreastCancerNet,\n",
    "            max_epochs=epochs,\n",
    "            lr=lr,\n",
    "            optimizer=optim.SGD,\n",
    "            criterion=nn.BCEWithLogitsLoss,\n",
    "            callbacks=[\n",
    "                LRScheduler(\n",
    "                    policy=scheduler_info[\"scheduler_class\"],\n",
    "                    **scheduler_info[\"params\"]\n",
    "                ),\n",
    "                LRCaptureCallback(),\n",
    "            ],\n",
    "            iterator_train__shuffle=True,\n",
    "            train_split=None,\n",
    "            module__input_dim=X_train.shape[1],\n",
    "            module__hidden_dim=hidden_dim,\n",
    "            verbose=0\n",
    "        )\n",
    "\n",
    "        # Train the model\n",
    "        net.fit(X_train, y_train)\n",
    "\n",
    "        # Evaluate the model on the test set\n",
    "        score = net.score(X_test, y_test)\n",
    "        print(f\"{scheduler_info['name']} Test Score: {score:.4f}\")\n",
    "\n",
    "        # Extract learning rates \n",
    "        lrs = [event['lr'] for event in net.history if 'lr' in event]\n",
    "        print(f\"{scheduler_info['name']} Recorded Learning Rates: {lrs[:5]}...\")\n",
    "\n",
    "        # Save results\n",
    "        results[scheduler_info[\"name\"]] = {\n",
    "            \"model\": net,\n",
    "            \"learning_rates\": lrs,\n",
    "            \"score\": score,\n",
    "        }\n",
    "\n",
    "    print(\"\\nFinal Results Summary:\")\n",
    "    for scheduler_name, result in results.items():\n",
    "        print(f\"\\nScheduler: {scheduler_name}\")\n",
    "        print(f\"Test Score: {result['score']:.4f}\")\n",
    "        print(f\"First 5 Learning Rates: {result['learning_rates'][:5]}\")\n",
    "\n",
    "    return results\n",
    "\n",
    "\n",
    "# Generate synthetic data\n",
    "X_train = np.random.rand(100, 30)\n",
    "X_test = np.random.rand(40, 30)\n",
    "y_train = np.random.randint(0, 2, size=(100,))\n",
    "y_test = np.random.randint(0, 2, size=(40,))\n",
    "\n",
    "# Train with schedulers and evaluate\n",
    "results = train_schedulers(X_train, X_test, y_train, y_test, lr=0.05, epochs=1000, hidden_dim=128)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Visualization of Results\n",
    "\n",
    "We observe the following Results:\n",
    "\n",
    "1) StepLR reduces the learning rate in fixed steps, ReduceLROnPlateau adaptively lowers it when progress stagnates, and CosineAnnealing follows a periodic decay to explore new minima. \n",
    "\n",
    "2) Choosing the right scheduler depends on task requirements, with StepLR suited for predefined decays, ReduceLROnPlateau for dynamic adjustments, and CosineAnnealing for periodic resets to escape local minima."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 1200x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def plot_results(results):\n",
    "    plt.figure(figsize=(12, 6))\n",
    "    \n",
    "    for scheduler_name, result in results.items():\n",
    "        # Extract learning rates \n",
    "        learning_rates = result[\"model\"].history[:, 'lr']\n",
    "        plt.plot(learning_rates, label=scheduler_name)\n",
    "    \n",
    "    plt.title(\"Learning Rate Schedules\")\n",
    "    plt.xlabel(\"Epochs\")\n",
    "    plt.ylabel(\"Learning Rate\")\n",
    "    plt.legend()\n",
    "    plt.grid(True)\n",
    "    plt.show()\n",
    "\n",
    "plot_results(results)\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}