{"metadata":{"kernelspec":{"name":"python3","display_name":"Python 3","language":"python"},"language_info":{"name":"python","version":"3.10.12","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"kaggle":{"accelerator":"gpu","dataSources":[{"sourceId":15062,"databundleVersionId":545987,"sourceType":"competition"}],"dockerImageVersionId":30822,"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":true}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"# Generating Dog Images Based on Their Breed with Conditional VAE","metadata":{}},{"cell_type":"markdown","source":"## Problem Statement\n\nHow can we generate realistic images of dogs conditioned on their breed? The goal of this project is to explore generative modeling techniques to tackle this challenge, focusing on the Conditional Variational Autoencoder (C-VAE) as a solution. By conditioning the generative process on breed labels, we aim to create diverse, breed-specific dog images.\n\nThis problem is not only a fun application of machine learning but also provides insight into how conditional generative models work in practice. Such techniques can be extended to broader domains, such as conditional image synthesis, data augmentation, and even artistic applications.","metadata":{}},{"cell_type":"markdown","source":"# Proposed Solution\n\nTo solve this problem, I implemented a Conditional Variational Autoencoder (C-VAE), a generative model that learns to reconstruct and generate images based on a specific condition (dog breeds). The architecture consists of:\n1. Encoder: Compresses input images into a latent space representation, capturing essential features of the image while incorporating breed-specific conditioning.\n2. Reparameterization: Enables stochastic sampling of latent vectors, ensuring smooth latent space interpolation and diverse generations.\n3. Decoder: Reconstructs the image from the conditioned latent vector, generating breed-specific outputs.\n\nDespite the challenges of generating high-quality images due to dataset and architecture constraints, the project highlights the intuition gained from the latent space about dog breeds (e.g., features like nose or color patterns).","metadata":{}},{"cell_type":"markdown","source":"## How the Model Works\n\nConditional VAE Architecture Overview\n1. Encoder: Extracts hierarchical features using convolutional layers, residual connections, and pooling to output the mean (mu) and log-variance (logvar) of the latent space.\n2. Reparameterization Trick: Samples latent vectors  z  using:\\\n   $z = \\mu + \\epsilon \\cdot \\sigma \\quad (\\epsilon \\sim \\mathcal{N}(0, I))$ \\\n   This allows the model to learn a smooth and meaningful latent space.\n4. Conditioning: Incorporates breed-specific embeddings into the latent vector  $z$ , enabling the model to generate breed-specific outputs.\n5. Decoder: Gradually reconstructs the image from the conditioned latent vector using transposed convolutions and residual connections.\n\nBelow is a visual representation of how C-VAE operates:\n(Add an image of a VAE architecture or draw a flow diagram to illustrate encoder, latent space, and decoder.)\n\nBelow is a visual representation of how C-VAE operates:\n![image.png](attachment:66af4bea-290a-4179-838b-dd25278992fe.png)\\\n[Source](https://medium.com/@sofeikov/implementing-conditional-variational-auto-encoders-cvae-from-scratch-29fcbb8cb08f)","metadata":{},"attachments":{"66af4bea-290a-4179-838b-dd25278992fe.png":{"image/png":"iVBORw0KGgoAAAANSUhEUgAABAAAAAINCAIAAAAvMZowAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAEAKADAAQAAAABAAACDQAAAAD9FM2xAABAAElEQVR4Aey9B3xU15m/L2lGXYAkBEhCgETvYBuwwUBs417ilsSOSezYTuw42bRNsrtpm2Q3zdndT/77T+LETpxs7MTdMcYtprlQHAOOaTaig2iiqIB6mdHvuXOky0V1JGZGU77X8nDuveee8pw70vue877vifd6vXG9OeLj43uTXXlFQAREQAREQAREQAREQATCiEBCGLVFTREBERABERABERABERABEQgyASkAQQas4kVABERABERABERABEQgnAhIAQin0VBbREAEREAEREAEREAERCDIBKQABBmwihcBERABERABERABERCBcCIgBSCcRkNtEQEREAEREAEREAEREIEgE5ACEGTAKl4EREAEREAEREAEREAEwomAFIBwGg21RQREQAREQAREQAREQASCTEAKQJABq3gREAEREAEREAEREAERCCcCUgDCaTTUFhEQAREQAREQAREQAREIMgEpAEEGrOJFQAREQAREQAREQAREIJwISAEIp9FQW0RABERABEQgmARafEcwa1DZZxGA91nnOhGB8CDgDo9mqBUiIAIiIAIRT6C+vj45OTniuxG4DsTHxweusICVZHSAhATNAAYMqbMg8DY3N3s8npSUlIaGhsTExPB8DZxtVjoGCcR7vd5edVvvca9wKbMIiIAIxAIBT7MnwZVg/kBoypMRD/O/lYyXt8WLbBoLL2fI+sibH+bjHjIUqij8CUgBCP8xUgtFQAREINwJnDx5sra2NikpyeVyhXtbQ9K+pqamjIyM1NTUhPgElzscmTA5XV1dzWdIeMREJUYB4Cvgdrv5zMzMNN1ubGzkqxETCNTJyCEgBSByxkotFQEREIGwJPCXv/wFBYD15OzsbAmUZoiwADl9+nReXt75558/derUcBg3Bsg2+3njjTc2b97MFbSUcGhbdLSB6X90AIaeAyugAQMGzJo1a8aMGdHRO/Uiygi4tVwVZSOq7oiACIhAyAgcOnToV7/6VWFh4dy5c0eOHFlXVxfOM52h/HuHdc3x48cP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"},"129c6b3e-e5b5-4d23-8bdb-f57f157cf4a9.png":{"image/png":"iVBORw0KGgoAAAANSUhEUgAABAAAAAINCAIAAAAvMZowAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAEAKADAAQAAAABAAACDQAAAAD9FM2xAABAAElEQVR4Aey9B3xU15m/L2lGXYAkBEhCgETvYBuwwUBs417ilsSOSezYTuw42bRNsrtpm2Q3zdndT/77T+LETpxs7MTdMcYtprlQHAOOaTaig2iiqIB6mdHvuXOky0V1JGZGU77X8nDuveee8pw70vue877vifd6vXG9OeLj43uTXXlFQAREQAREQAREQAREQATCiEBCGLVFTREBERABERABERABERABEQgyASkAQQas4kVABERABERABERABEQgnAhIAQin0VBbREAEREAEREAEREAERCDIBKQABBmwihcBERABERABERABERCBcCIgBSCcRkNtEQEREAEREAEREAEREIEgE5ACEGTAKl4EREAEREAEREAEREAEwomAFIBwGg21RQREQAREQAREQAREQASCTEAKQJABq3gREAEREAEREAEREAERCCcCUgDCaTTUFhEQAREQAREQAREQAREIMgEpAEEGrOJFQAREQAREQAREQAREIJwISAEIp9FQW0RABERABEQgmARafEcwa1DZZxGA91nnOhGB8CDgDo9mqBUiIAIiIAIRT6C+vj45OTniuxG4DsTHxweusICVZHSAhATNAAYMqbMg8DY3N3s8npSUlIaGhsTExPB8DZxtVjoGCcR7vd5edVvvca9wKbMIiIAIxAIBT7MnwZVg/kBoypMRD/O/lYyXt8WLbBoLL2fI+sibH+bjHjIUqij8CUgBCP8xUgtFQAREINwJnDx5sra2NikpyeVyhXtbQ9K+pqamjIyM1NTUhPgElzscmTA5XV1dzWdIeMREJUYB4Cvgdrv5zMzMNN1ubGzkqxETCNTJyCEgBSByxkotFQEREIGwJPCXv/wFBYD15OzsbAmUZoiwADl9+nReXt75558/derUcBg3Bsg2+3njjTc2b97MFbSUcGhbdLSB6X90AIaeAyugAQMGzJo1a8aMGdHRO/Uiygi4tVwVZSOq7oiACIhAyAgcOnToV7/6VWFh4dy5c0eOHFlXVxfOM52h/HuHdc3x48cP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"}}},{"cell_type":"markdown","source":"## Loss Function\n\nThe C-VAE uses a combination of two loss components:\n1. Reconstruction Loss:\n    * Measures how well the generated image matches the input image.\n    * Calculated using Mean Squared Error (MSE) between the input and reconstructed image:\\\n        $\\mathcal{L}{\\text{recon}} = \\frac{1}{N} \\sum_{i=1}^N \\| x_i - \\hat{x}_i \\|^2$\n        * This ensures the decoder learns to produce images close to the original input.\n    \n2. KL Divergence Loss:\n    * Regularizes the latent space by making it align with a standard normal distribution ( $\\mathcal{N}(0, I)$ ).\n    * The KL divergence is calculated as:\\\n        $\\mathcal{L}_{\\text{KL}} = -\\frac{1}{2} * \\frac{1}{N}\\sum \\left( 1 + \\log(\\sigma^2) - \\mu^2 - \\sigma^2 \\right)$\n        * This ensures the latent space is smooth and allows meaningful sampling.\n\n### Total Loss:\n\nThe total loss is a weighted combination of the two:\n\n$\\mathcal{L} = \\mathcal{L}{\\text{recon}} + \\beta \\cdot \\mathcal{L}{\\text{KL}}$\n\nWhere  $\\beta$  is a hyperparameter controlling the trade-off between reconstruction quality and latent space regularization.\n\nThis loss function encourages the model to generate realistic images while maintaining a well-structured latent space.","metadata":{}},{"cell_type":"markdown","source":"## Educational Journey\nThis project served as a valuable learning experience for me, and it aims to inspire others to dive into generative modeling. Here’s what I learned:\n1. Building and Debugging Conditional VAE:\n    * This was my first attempt at implementing a vision-based generative model.\n\t* I explored the theory of VAEs and successfully implemented a C-VAE for conditional generation.\n2. Debugging Neural Networks:\n    * Learned to debug models by monitoring gradient flow and understanding how each architectural change affected performance.\n\t* Conducted multiple experiments to identify bottlenecks and improve parts of the model.","metadata":{}},{"cell_type":"markdown","source":"## Why This Notebook?\n\nThis notebook is designed to be an educational guide for anyone starting with conditional generative models. It details my approach, experiments, and observations while solving the problem of generating breed-specific dog images. I hope the journey and insights shared here will serve as a torch for others navigating the world of generative modeling.","metadata":{}},{"cell_type":"markdown","source":"# Imports","metadata":{}},{"cell_type":"code","source":"import zipfile\nfrom IPython.display import clear_output\nimport torch.optim as optim\nfrom torch.utils.data import DataLoader\nfrom pathlib import Path\nimport xml.etree.ElementTree as ET\nimport matplotlib.pyplot as plt\nimport torchvision.io as io\nfrom torch.utils.data import Dataset\nimport random\nfrom tqdm.notebook import tqdm\nfrom PIL import Image\nimport torchvision.transforms as transforms\nimport numpy as np\nimport pandas as pd\nimport os\nimport torch\nimport torch.nn as nn\nimport torch.nn.functional as F\nfrom torch.optim.lr_scheduler import CosineAnnealingLR\nimport torchvision\nfrom IPython.display import display","metadata":{"ExecuteTime":{"end_time":"2025-01-18T12:25:58.069401Z","start_time":"2025-01-18T12:25:58.062988Z"},"_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5"},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"# Reading Input Files","metadata":{}},{"cell_type":"code","source":"def zip2dir(input_zip, output_dir):\n    # Ensure the directory exists\n    os.makedirs(output_dir, exist_ok=True)\n    \n    # Open the zip file\n    with zipfile.ZipFile(input_zip, 'r') as zip_ref:\n        # Extract all files\n        zip_ref.extractall(output_dir)","metadata":{"ExecuteTime":{"end_time":"2025-01-17T16:32:26.430441Z","start_time":"2025-01-17T16:32:26.428072Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"> Unzipping input files","metadata":{}},{"cell_type":"code","source":"annot_dir = \"Annotation/\"\nall_dogs = \"all-dogs/\"\n\nzip2dir(\"data/generative-dog-images/Annotation.zip\", \"./\")\nzip2dir(\"data/generative-dog-images/all-dogs.zip\", \"./\")","metadata":{"ExecuteTime":{"end_time":"2025-01-17T16:32:38.026875Z","start_time":"2025-01-17T16:32:30.187956Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"> Reading input files directories","metadata":{}},{"cell_type":"code","source":"all_dogs_files = [Path(all_dogs+i) for i in os.listdir(all_dogs)]\nannot_files = [file for file in Path(annot_dir).rglob(\"*\") if file.is_file()]\n\nprint(f\"all_dogs_files: {all_dogs_files[:5]}\")\nprint(f\"annot_files: {annot_files[:5]}\")","metadata":{"ExecuteTime":{"end_time":"2025-01-17T16:32:58.759144Z","start_time":"2025-01-17T16:32:58.547353Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"> Creating DataFrame","metadata":{}},{"cell_type":"code","source":"tmp_map = {i.name: str(i) for i in annot_files}\ninput_file_dict = {str(i): tmp_map[i.stem] for i in all_dogs_files}","metadata":{"ExecuteTime":{"end_time":"2025-01-17T16:33:03.489516Z","start_time":"2025-01-17T16:33:03.457328Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"data = []\n\nfor k,v in input_file_dict.items():\n    # Load and parse the XML file\n    tree = ET.parse(v)  # Replace 'file.xml' with the path to your file\n    root = tree.getroot()\n    \n    # Extract metadata\n    folder = root.find('folder').text\n    filename = root.find('filename').text\n    database = root.find('source/database').text\n    size = root.find('size')\n    width = size.find('width').text\n    height = size.find('height').text\n    depth = size.find('depth').text\n    \n    # Extract object details and add metadata for each object\n    for obj in root.findall('object'):\n        name = obj.find('name').text\n        pose = obj.find('pose').text\n        truncated = obj.find('truncated').text\n        difficult = obj.find('difficult').text\n        bndbox = obj.find('bndbox')\n        xmin = bndbox.find('xmin').text\n        ymin = bndbox.find('ymin').text\n        xmax = bndbox.find('xmax').text\n        ymax = bndbox.find('ymax').text\n    \n        # Add a row for each object\n        data.append({\n            \"ImageDirectory\": k,\n            \"AnnotationDirectory\": v,\n            'Folder': folder,\n            'Filename': filename,\n            'Database': database,\n            'Width': width,\n            'Height': height,\n            'Depth': depth,\n            'ObjectName': name,\n            'Pose': pose,\n            'Truncated': truncated,\n            'Difficult': difficult,\n            'XMin': xmin,\n            'YMin': ymin,\n            'XMax': xmax,\n            'YMax': ymax\n        })\n\n# Create DataFrame\ndf = pd.DataFrame(data)\n\n# Display the DataFrame\ndf.head()","metadata":{"ExecuteTime":{"end_time":"2025-01-17T16:33:05.055677Z","start_time":"2025-01-17T16:33:04.371731Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"> Little EDA","metadata":{}},{"cell_type":"code","source":"# General info about the DataFrame\nprint(df.info())\n\n# Summary statistics of numeric columns\nprint(df.describe())","metadata":{"ExecuteTime":{"end_time":"2025-01-17T16:33:11.893407Z","start_time":"2025-01-17T16:33:11.824052Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# Check for missing values\nprint(df.isnull().sum())\n\n# Find unique values in categorical columns\nfor col in ['Folder', 'Database', 'ObjectName', 'Pose']:\n    print(f\"Unique values in {col}: {df[col].unique()}\")","metadata":{"ExecuteTime":{"end_time":"2025-01-17T16:33:13.296347Z","start_time":"2025-01-17T16:33:13.271559Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# Count occurrences of each object name\nobject_counts = df['ObjectName'].value_counts()\nprint(object_counts)\n\n# Plot the distribution\nobject_counts.plot(kind='bar', title='Object Name Distribution', figsize=(16, 6))","metadata":{"ExecuteTime":{"end_time":"2025-01-17T16:33:17.067154Z","start_time":"2025-01-17T16:33:16.510518Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"df['XCenter'] = (df['XMin'].astype(int) + df['XMax'].astype(int)) / 2\ndf['YCenter'] = (df['YMin'].astype(int) + df['YMax'].astype(int)) / 2\n\n# Plot centers\nplt.scatter(df['XCenter'], df['YCenter'], alpha=0.5)\nplt.title('Bounding Box Centers')\nplt.xlabel('XCenter')\nplt.ylabel('YCenter')\nplt.show()","metadata":{"ExecuteTime":{"end_time":"2025-01-17T16:33:18.737024Z","start_time":"2025-01-17T16:33:18.660270Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"def denormalize(tensor, mean, std):\n    \"\"\"\n    Denormalize a normalized tensor image back to the [0, 1] range for visualization.\n    Args:\n        tensor (torch.Tensor): The normalized image tensor.\n        mean (list): Mean values used for normalization (per channel).\n        std (list): Standard deviation values used for normalization (per channel).\n    Returns:\n        torch.Tensor: Denormalized image tensor in range [0, 1].\n    \"\"\"\n    # Input validation\n    if not isinstance(tensor, torch.Tensor):\n        raise TypeError(\"Input must be a torch.Tensor\")\n    if tensor.dim() != 3:\n        raise ValueError(\"Input must be a 3D tensor (C,H,W)\")\n        \n    # Convert to float if needed\n    tensor = tensor.float()\n    \n    # Reshape mean and std for broadcasting\n    mean = torch.tensor(mean, dtype=tensor.dtype, device=tensor.device).view(3, 1, 1)\n    std = torch.tensor(std, dtype=tensor.dtype, device=tensor.device).view(3, 1, 1)\n    \n    # Denormalize\n    tensor = tensor * std + mean\n    \n    # Clamp values to [0, 1] range\n    tensor = torch.clamp(tensor, 0, 1)\n    \n    return tensor\n\ndef show_image(image_path, denorm=False, mean=[0.5, 0.5, 0.5], std=[0.5, 0.5, 0.5]):\n    \"\"\"\n    Display a single image given its path.\n    Args:\n        image_path (str): Path to the image file.\n        denorm (bool): Whether to denormalize the image.\n        mean (list): Mean values used for normalization.\n        std (list): Standard deviation values used for normalization.\n    \"\"\"\n    try:\n        # Read image and convert to float\n        img = io.read_image(image_path).float()\n        \n        # Normalize to [0, 1] range\n        if img.max() > 1.0:\n            img = img / 255.0\n            \n        # Apply denormalization if requested\n        if denorm:\n            img = denormalize(img, mean, std)\n        \n        # Convert to numpy and display\n        plt.figure(figsize=(8, 8))\n        plt.imshow(img.permute(1, 2, 0).cpu().numpy())\n        plt.axis('off')\n        plt.title(image_path.split('/')[-1])\n        plt.show()\n        \n    except Exception as e:\n        print(f\"Error: {e}\")\n\n# Example usage\nrandom_image_path = df.sample().iloc[0]['ImageDirectory']\nshow_image(random_image_path)","metadata":{"ExecuteTime":{"end_time":"2025-01-17T16:33:20.822808Z","start_time":"2025-01-17T16:33:20.733383Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"## Analyzing BBoxes","metadata":{}},{"cell_type":"code","source":"# Assuming `df` is your DataFrame\ndf['XMin'] = pd.to_numeric(df['XMin'], errors='coerce')\ndf['XMax'] = pd.to_numeric(df['XMax'], errors='coerce')\ndf['YMin'] = pd.to_numeric(df['YMin'], errors='coerce')\ndf['YMax'] = pd.to_numeric(df['YMax'], errors='coerce')\ndf['BoundingBoxArea'] = (df['XMax'] - df['XMin']) * (df['YMax'] - df['YMin'])","metadata":{"ExecuteTime":{"end_time":"2025-01-17T16:33:28.791861Z","start_time":"2025-01-17T16:33:28.770187Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"df.to_csv(\"data.csv\", index=False)","metadata":{"ExecuteTime":{"end_time":"2025-01-17T16:33:33.364127Z","start_time":"2025-01-17T16:33:33.279928Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# Convert relevant columns to numeric types\ncolumns_to_convert = ['XMax', 'XMin', 'YMax', 'YMin', 'BoundingBoxArea', 'Width', 'Height',]\nfor col in columns_to_convert:\n    df[col] = pd.to_numeric(df[col], errors='coerce')\n\n# Remove rows with invalid numeric data\nbbox_data = df.dropna(subset=columns_to_convert)\n\n# Extract bounding box dimensions\nbbox_widths = bbox_data['XMax'] - bbox_data['XMin']\nbbox_heights = bbox_data['YMax'] - bbox_data['YMin']\nbbox_areas = bbox_data['BoundingBoxArea']\nimage_widths = bbox_data['Width']\nimage_heights = bbox_data['Height']\n\n# Summarize statistics\nsummary = {\n    \"Bounding Box Widths\": {\n        \"Min\": bbox_widths.min(),\n        \"Max\": bbox_widths.max(),\n        \"Mean\": bbox_widths.mean(),\n        \"Median\": bbox_widths.median(),\n        \"StdDev\": bbox_widths.std()\n    },\n    \"Bounding Box Heights\": {\n        \"Min\": bbox_heights.min(),\n        \"Max\": bbox_heights.max(),\n        \"Mean\": bbox_heights.mean(),\n        \"Median\": bbox_heights.median(),\n        \"StdDev\": bbox_heights.std()\n    },\n    \"Image Widths\": {\n        \"Min\": image_widths.min(),\n        \"Max\": image_widths.max(),\n        \"Mean\": image_widths.mean(),\n        \"Median\": image_widths.median(),\n        \"StdDev\": image_widths.std()\n    },\n    \"Image Heights\": {\n        \"Min\": image_heights.min(),\n        \"Max\": image_heights.max(),\n        \"Mean\": image_heights.mean(),\n        \"Median\": image_heights.median(),\n        \"StdDev\": image_heights.std()\n    }\n}\n\n# Convert the summary to a DataFrame\nsummary_df = pd.DataFrame(summary)\n\n# Display statistics\nprint(\"Bounding Box and Image Statistics:\")\nprint(summary_df)\n\n# Plot histograms for bounding boxes and image dimensions\nplt.figure(figsize=(18, 10))\n\n# Bounding box widths\nplt.subplot(2, 2, 1)\nplt.hist(bbox_widths, bins=50, alpha=0.7, color='blue', edgecolor='black')\nplt.title('Bounding Box Widths')\nplt.xlabel('Width (pixels)')\nplt.ylabel('Frequency')\n\n# Bounding box heights\nplt.subplot(2, 2, 2)\nplt.hist(bbox_heights, bins=50, alpha=0.7, color='green', edgecolor='black')\nplt.title('Bounding Box Heights')\nplt.xlabel('Height (pixels)')\nplt.ylabel('Frequency')\n\n# Image widths\nplt.subplot(2, 2, 3)\nplt.hist(image_widths, bins=50, alpha=0.7, color='purple', edgecolor='black')\nplt.title('Image Widths')\nplt.xlabel('Width (pixels)')\nplt.ylabel('Frequency')\n\n# Image heights\nplt.subplot(2, 2, 4)\nplt.hist(image_heights, bins=50, alpha=0.7, color='orange', edgecolor='black')\nplt.title('Image Heights')\nplt.xlabel('Height (pixels)')\nplt.ylabel('Frequency')\n\nplt.tight_layout()\nplt.show()","metadata":{"ExecuteTime":{"end_time":"2025-01-17T16:33:34.262713Z","start_time":"2025-01-17T16:33:33.984925Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"### Decision on Image Dimension Selection\n\nAfter analyzing the statistics and distributions of bounding box widths, heights, and image dimensions, I have decided to standardize the image dimension to **256 pixels**. This decision is based on the following considerations:\n\n1. **Divisibility by 2**: A dimension of 256 is divisible by 2 repeatedly, making it highly compatible with deep learning architectures that often involve downsampling operations.\n2. **Ease of Handling**: 256 pixels is a manageable size that balances computational efficiency and sufficient detail retention for the task.\n3. **Consistency**: Standardizing dimensions ensures uniformity in data preprocessing, improving the model's performance and interpretability.\n\nThis standardized dimension will be used for resizing all images before processing them further.","metadata":{}},{"cell_type":"code","source":"# Directories for saving images\nos.makedirs(\"original_images\", exist_ok=True)\nos.makedirs(\"augmented_images\", exist_ok=True)\n\n# Define normalization parameters\nMEAN = [0.5, 0.5, 0.5]\nSTD = [0.5, 0.5, 0.5]\n\n# Transforms\ncrop_transform = transforms.Compose([\n    transforms.Resize((256, 256))  # Crop and resize centered at BBox\n])\n\naugment_transform = transforms.Compose([\n    transforms.RandomHorizontalFlip(p=0.5),\n    transforms.RandomRotation(degrees=10),\n    transforms.GaussianBlur(kernel_size=(3, 7), sigma=(0.1, 2.0)),  # Added blur\n    transforms.ToTensor(),\n    transforms.Normalize(mean=MEAN, std=STD)  # Apply normalization\n])\n\ndef denormalize(tensor):\n    \"\"\"\n    Denormalize a tensor image with fixed mean and std\n    \"\"\"\n    tensor = tensor.clone()  # Avoid modifying the original tensor\n    for t, m, s in zip(tensor, MEAN, STD):\n        t.mul_(s).add_(m)\n    return tensor.clamp_(0, 1)  # Clamp to [0,1] range\n\n# DataFrame to store results\nresult = []\nfor idx, row in tqdm(df.iterrows(), total=len(df)):\n    img_path = row['ImageDirectory']\n    object_name = row['ObjectName']\n    x_center, y_center = row['XCenter'], row['YCenter']\n    width, height = row['Width'], row['Height']\n    bbox_width, bbox_height = row['XMax'] - row['XMin'], row['YMax'] - row['YMin']\n    \n    try:\n        # Open and crop image\n        img = Image.open(img_path).convert(\"RGB\")\n        left = max(0, x_center - bbox_width // 2)\n        upper = max(0, y_center - bbox_height // 2)\n        right = min(width, x_center + bbox_width // 2)\n        lower = min(height, y_center + bbox_height // 2)\n        cropped_img = img.crop((left, upper, right, lower)).resize((256, 256))\n        \n        # Save original cropped image\n        original_path = f\"original_images/{os.path.basename(img_path)}\"\n        cropped_img.save(original_path)\n        \n        # Apply augmentations\n        aug_img = augment_transform(cropped_img)  # Returns normalized tensor\n        \n        # Denormalize before saving\n        aug_img_denorm = denormalize(aug_img)\n        \n        # Convert to PIL and save\n        aug_img_pil = transforms.ToPILImage()(aug_img_denorm)\n        augmented_path = f\"augmented_images/{os.path.basename(img_path)}\"\n        aug_img_pil.save(augmented_path)\n        \n        # Append to result DataFrame\n        result.append({\n            \"OriginalImagePath\": original_path,\n            \"AugmentedImagePath\": augmented_path,\n            \"ObjectName\": object_name\n        })\n        \n    except Exception as e:\n        print(f\"Error processing {img_path}: {e}\")\n        continue\n\n# Create DataFrame\nfinal_df = pd.DataFrame(result)\nfinal_df.to_csv(\"image_paths.csv\", index=False)\nprint(\"Processing complete! Data saved in 'image_paths.csv'.\")\n\n# Function to view results\ndef view_pair(row_idx, final_df):\n    \"\"\"\n    Display original and augmented image pair\n    \"\"\"\n    import matplotlib.pyplot as plt\n    \n    row = final_df.iloc[row_idx]\n    fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10, 5))\n    \n    # Display original\n    img1 = Image.open(row['OriginalImagePath'])\n    ax1.imshow(img1)\n    ax1.set_title('Original')\n    ax1.axis('off')\n    \n    # Display augmented\n    img2 = Image.open(row['AugmentedImagePath'])\n    ax2.imshow(img2)\n    ax2.set_title('Augmented')\n    ax2.axis('off')\n    \n    plt.show()\n\n# View a random pair\nrandom_idx = np.random.randint(len(final_df))\nview_pair(random_idx, final_df)","metadata":{"ExecuteTime":{"end_time":"2025-01-17T16:36:22.502890Z","start_time":"2025-01-17T16:33:47.049426Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"final_df","metadata":{"ExecuteTime":{"end_time":"2025-01-17T16:37:15.939153Z","start_time":"2025-01-17T16:37:15.933978Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"final_df.to_csv('final_df.csv', index=False)","metadata":{"ExecuteTime":{"end_time":"2025-01-17T16:37:17.394423Z","start_time":"2025-01-17T16:37:17.361716Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# View a random pair\nrandom_idx = np.random.randint(len(final_df))\nview_pair(random_idx, final_df)","metadata":{"ExecuteTime":{"end_time":"2025-01-17T16:37:18.601384Z","start_time":"2025-01-17T16:37:18.535623Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"# Conditional Variational Autoencoder (C-VAE)\n\nThe Conditional Variational Autoencoder (C-VAE) generates images conditioned on specific labels, such as dog breeds.\n\n1. Encoder\\\n\t•\tEncodes input images into latent representations: mean (mu) and log-variance (logvar).\\\n\t•\tUses convolutional layers, pooling, and residual connections for feature extraction.\n\n2. Reparameterization \\\n    • Samples latent vector  z  as:\n    $z = \\mu + \\epsilon \\cdot \\sigma \\quad (\\epsilon \\sim \\mathcal{N}(0, I))$\n\t• Enables stochastic sampling with backpropagation.\n\n3. Conditioning\\\n\t•\tDog breeds are mapped to embeddings, processed via a feedforward network, and concatenated with  z , enabling breed-specific generation.\n\n4. Decoder\\\n\t•\tReconstructs images from the conditioned  z  using upsampling, transposed convolutions, and residual connections.\\\n\t•\tA final Tanh activation normalizes outputs to [-1, 1].\n\n5. Loss Function\\\n\t•\tReconstruction Loss (MSE): Ensures generated images match inputs.\\\n\t•\tKL Divergence Loss: Regularizes the latent space to approximate a Gaussian distribution.\\\n$\\mathcal{L} = \\text{MSE} + \\beta \\cdot \\text{KL Loss}$\n6. Generation\\\n\t•\tSamples  z  from a Gaussian distribution, conditions it on a breed, and decodes to produce breed-specific images.\n\nThis structure efficiently combines latent space modeling with conditional embeddings for high-quality, breed-specific image generation.","metadata":{}},{"cell_type":"code","source":"class Encoder(nn.Module):\n    def __init__(self, in_channels, feature_dim, latent_dim):\n        super(Encoder, self).__init__()\n        self.latent_dim = latent_dim\n\n\n        # Initial convolution and pooling\n        self.down_scale = nn.MaxPool2d(kernel_size=3, stride=2, padding=1)\n        self.layer_1 = nn.Sequential(\n            nn.Conv2d(in_channels, 64, kernel_size=7, stride=2, padding=3),\n            nn.BatchNorm2d(64),\n            nn.SiLU(),\n        )\n\n        self.layer_2 = nn.Sequential(\n            nn.Conv2d(64, 256, kernel_size=7, stride=2, padding=3),\n            nn.BatchNorm2d(256),\n            nn.SiLU(),\n        )\n\n        self.layer_3 = nn.Sequential(\n            nn.Conv2d(256, 512, kernel_size=5, stride=2, padding=2),\n            nn.BatchNorm2d(512),\n            nn.SiLU(),\n        )\n\n        self.layer_4 = nn.Sequential(\n            nn.Conv2d(512, 512, kernel_size=5, stride=2, padding=2),\n            nn.BatchNorm2d(512),\n            nn.SiLU(),\n        )\n\n        self.layer_5 = nn.Sequential(\n            nn.Conv2d(512, 512, kernel_size=3, stride=1, padding=1),\n            nn.BatchNorm2d(512),\n            nn.SiLU(),\n        )\n\n        self.conv_final = nn.Conv2d(512, latent_dim * 2, kernel_size=3, stride=1, padding=1, bias=False)\n        self.bn_final = nn.BatchNorm2d(latent_dim * 2)\n        self.fact=nn.SiLU()\n\n    def forward(self, x):\n        x = self.layer_1(x)\n        x = self.layer_2(x)\n        x3 = self.layer_3(x)\n        x = self.layer_4(x3)\n        x = self.fact(self.layer_5(x)+self.down_scale(x3))\n        x = self.down_scale(x)\n        x = self.conv_final(x)\n        x = self.bn_final(x)\n        x = self.fact(x)\n        return x[:, :self.latent_dim, :, :], x[:, self.latent_dim:, :, :]\n\nclass Decoder(nn.Module):\n    def __init__(self, in_channels, feature_dim, latent_dim):\n        super(Decoder, self).__init__()\n        self.in_channels = in_channels\n        self.feature_dim = feature_dim\n        self.latent_dim  = latent_dim\n\n        # Upscaling layers with residual blocks\n        self.up_scale = nn.Upsample(scale_factor=2, mode='bilinear', align_corners=False)\n        self.layer_1 = nn.Sequential(\n                    nn.Conv2d(latent_dim, 512, kernel_size=7, stride=1, padding=3),\n                    nn.BatchNorm2d(512),\n                    nn.SiLU(),\n                )\n\n        self.layer_3 = nn.Sequential(\n                    nn.Conv2d(512, 256, kernel_size=7, stride=1, padding=3),\n                    nn.BatchNorm2d(256),\n                    nn.SiLU(),\n                )\n        self.layer_4 = nn.Sequential(\n                    nn.Conv2d(256, 64, kernel_size=5, stride=1, padding=2),\n                    nn.BatchNorm2d(64),\n                    nn.SiLU(),\n                )\n                \n        self.layer_5 = nn.Sequential(\n                    nn.Conv2d(64, 64, kernel_size=3, stride=1, padding=1),\n                    nn.BatchNorm2d(64),\n                    nn.SiLU(),\n                )\n        # Final convolution layer\n        self.final_layer = nn.Sequential(\n            nn.Conv2d(64, self.in_channels, kernel_size=3, stride=1, padding=1),\n            # nn.BatchNorm2d(self.in_channels),\n            nn.Tanh()  # Outputs in range [-1, 1]\n        )\n        self.fact=nn.SiLU()\n\n    def forward(self, x):\n        x = self.layer_1(x)\n        x = self.up_scale(x)\n        x = self.up_scale(x)\n        x = self.layer_3(x)\n        x = self.up_scale(x)\n        x = self.layer_4(x)\n        x = self.up_scale(x)\n        x = self.fact(self.layer_5(x)+x)\n        x = self.up_scale(x)\n        x = self.final_layer(x) \n        return x\n\nclass VAE(nn.Module):\n    def __init__(self, in_channels, feature_dim, latent_dim, cond_dim, n_conditions):\n        super(VAE, self).__init__()\n        self.in_channels = in_channels\n        self.feature_dim = feature_dim\n        self.latent_dim  = latent_dim\n        self.encoder = Encoder(in_channels, feature_dim, latent_dim)\n        self.decoder = Decoder(in_channels, feature_dim, latent_dim + cond_dim)\n        self.n_conditions = n_conditions\n\n        # Learnable embeddings for conditions\n        self.condition_embeddings = nn.Embedding(n_conditions, cond_dim)\n        self.condition_ffn = nn.Linear(cond_dim, cond_dim)\n        self.tanh = nn.Tanh()\n\n    def add_cond_emb(self, z, condition):\n        # Add condition embedding\n        cond_embedding = self.condition_ffn(self.condition_embeddings(condition).squeeze())\n        cond_embedding = self.tanh(cond_embedding)\n        cond_embedding = cond_embedding.unsqueeze(-1).unsqueeze(-1) # (batch_size, 1, cond_dim, 1, 1)\n        if len(cond_embedding.shape) == 3: cond_embedding = cond_embedding.unsqueeze(0)\n        cond_embedding = cond_embedding.expand(-1, -1, 8, 8)  # Expand for concatenation\n\n        z_cond = torch.cat([z, cond_embedding], dim=1)\n        return z_cond\n\n    def reparameterize(self, mu, logvar, condition):\n        std = torch.exp(0.5*logvar)\n        eps = torch.randn_like(std)\n        z = mu + eps * std\n\n        return self.add_cond_emb(z, condition)\n\n    def forward(self, x, condition):\n        mu, logvar = self.encoder(x)\n        # Reparametrizing trick\n        z = self.reparameterize(mu, logvar, condition)\n\n        # Decode\n        reconstructed = self.decoder(z)\n        return reconstructed, mu, logvar\n\n    def loss_function(self, recon_x, x, mu, logvar):\n        mse_loss = 0\n\n        mse_loss += F.mse_loss(recon_x.view(-1, self.in_channels * self.feature_dim * self.feature_dim),\n                               x.view(-1, self.in_channels * self.feature_dim * self.feature_dim))\n        mse_loss /= len(recon_x)\n\n        kl_loss = 0.5 * torch.mean(-1 - logvar + mu.pow(2) + logvar.exp())\n\n        return mse_loss, kl_loss\n\n    def generate(self, batch_size, condition=None, device=\"cuda\"):\n        \"\"\"\n        Generates images from random latents (and optional condition).\n        \"\"\"\n        # 1) Sample random latent\n        z = torch.randn(batch_size, self.latent_dim, 8, 8, device=device)\n\n        # 2) Add condition embedding if you want conditional generation\n        if condition is None:\n            condition = torch.randint(0, self.n_conditions, (batch_size,), device=device)\n\n        z = self.add_cond_emb(z, condition)\n\n        # 3) Decode\n        fake = self.decoder(z)\n        return fake","metadata":{"ExecuteTime":{"end_time":"2025-01-18T19:46:31.851267Z","start_time":"2025-01-18T19:46:31.828615Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"model = VAE(3, 256, 256, 16, 120)\nprint(f\"VAE has {sum(p.numel() for p in model.parameters() if p.requires_grad):,} Trainable Parameters\")\nprint(f\"VAE Encoder has {sum(p.numel() for p in model.encoder.parameters() if p.requires_grad):,} Trainable Parameters\")\nprint(f\"VAE Decoder has {sum(p.numel() for p in model.decoder.parameters() if p.requires_grad):,} Trainable Parameters\")\nprint(model.forward(torch.rand(2, 3, 256, 256), torch.tensor([[1], [5]]))[0].shape)\nprint(model.generate(5,device='cpu').shape)","metadata":{"ExecuteTime":{"end_time":"2025-01-18T19:45:45.864834Z","start_time":"2025-01-18T19:45:40.186772Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"class CustomImageDataset(Dataset):\n    def __init__(self, df, transform=None, include_augmented=False):\n        \"\"\"\n        Args:\n            df: DataFrame with image paths and conditions (ObjectName)\n            transform: Optional transforms to apply\n            include_augmented: Whether to include augmented images\n        \"\"\"\n        # Handle original and augmented data\n        self.image_paths = df['OriginalImagePath'].tolist()\n        self.aug_image_paths = df['AugmentedImagePath'].tolist()\n        self.conditions = df['ObjectName'].tolist()\n        self.include_augmented = include_augmented\n        self.transform = transform\n\n        # Load all images into memory\n        self.orig_images = [self.transform(Image.open(p).convert('RGB')) if self.transform else Image.open(p).convert('RGB') for p in tqdm(self.image_paths)]\n        self.aug_images = [self.transform(Image.open(p).convert('RGB')) if self.transform else Image.open(p).convert('RGB') for p in tqdm(self.aug_image_paths)]\n\n        # Create condition encoder\n        unique_conditions = sorted(set(self.conditions))\n        self.condition_to_idx = {cond: idx for idx, cond in enumerate(unique_conditions)}\n        self.num_conditions = len(unique_conditions)\n        \n\n    def __len__(self):\n        return len(self.image_paths)\n\n    def __getitem__(self, idx):\n        # Select image based on augmentation inclusion\n        if self.include_augmented:\n            aug = random.random() < 0.2\n            image = self.aug_images[idx] if aug else self.orig_images[idx]\n        else:\n            image = self.orig_images[idx]\n\n        # Target image is the original image\n        target_image = self.orig_images[idx]\n\n        # Get condition\n        condition = self.conditions[idx]\n        condition_idx = self.condition_to_idx[condition]\n        \n\n        return image, torch.tensor(condition_idx, dtype=torch.long), target_image","metadata":{"ExecuteTime":{"end_time":"2025-01-18T19:46:34.032064Z","start_time":"2025-01-18T19:46:34.015300Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"def prepare_data(csv_path, batch_size=32):\n    # Read the CSV\n    df = pd.read_csv(csv_path)\n    \n    # Create train/val split (80/20)\n    train_size = int(0.8 * len(df))\n    train_df = df.iloc[:train_size]\n    val_df = df.iloc[train_size:]\n    \n    # Define transforms\n    transform = transforms.Compose([\n        transforms.ToTensor(),\n        transforms.Normalize(mean=(0.5, 0.5, 0.5), std=(0.5, 0.5, 0.5)),\n        # transforms.Resize((128, 128))\n    ])\n    \n    # Create datasets\n    train_dataset = CustomImageDataset(train_df, transform=transform, include_augmented=True)\n    val_dataset = CustomImageDataset(val_df, transform=transform, include_augmented=False)\n    \n    # Create dataloaders\n    train_loader = DataLoader(\n        train_dataset, \n        batch_size=batch_size, \n        shuffle=True, \n        pin_memory=True\n    )\n    val_loader = DataLoader(\n        val_dataset, \n        batch_size=batch_size, \n        shuffle=False, \n        pin_memory=True\n    )\n    \n    return train_loader, val_loader, train_dataset.num_conditions","metadata":{"ExecuteTime":{"end_time":"2025-01-18T19:46:34.764394Z","start_time":"2025-01-18T19:46:34.759985Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"def plot_losses(train_losses, val_losses):\n    \"\"\"Plot training progress\"\"\"\n    clear_output(wait=True)\n    fig, (ax1, ax2, ax3) = plt.subplots(1, 3, figsize=(20, 5))\n    \n    # Total loss\n    ax1.plot([x['total'] for x in train_losses], label='Train')\n    ax1.plot([x['total'] for x in val_losses], label='Val')\n    ax1.set_title('Total Loss')\n    ax1.set_xlabel('Epoch')\n    ax1.legend()\n    \n    # Reconstruction loss\n    ax2.plot([x['recon'] for x in train_losses], label='Train')\n    ax2.plot([x['recon'] for x in val_losses], label='Val')\n    ax2.set_title('Reconstruction Loss')\n    ax2.set_xlabel('Epoch')\n    ax2.legend()\n    \n    # KL loss\n    ax3.plot([x['kl'] for x in train_losses], label='Train')\n    ax3.plot([x['kl'] for x in val_losses], label='Val')\n    ax3.set_title('KL Loss')\n    ax3.set_xlabel('Epoch')\n    ax3.legend()\n    \n    plt.tight_layout()\n    plt.show()\n\ndef plot_gradients(model):\n    encoder_grads = []\n    decoder_grads = []\n\n    # Collect gradients for encoder and decoder separately\n    for name, param in model.named_parameters():\n        if param.grad is not None:\n            if name.startswith(\"encoder\"):\n                encoder_grads.append(param.grad.abs().mean().item())\n            elif name.startswith(\"decoder\"):\n                decoder_grads.append(param.grad.abs().mean().item())\n\n    # Combine x-axis positions for encoder and decoder\n    total_layers = list(range(len(encoder_grads) + len(decoder_grads)))\n    encoder_layers = total_layers[:len(encoder_grads)]\n    decoder_layers = total_layers[len(encoder_grads):]\n\n    # Plot gradients with a continuous x-axis\n    plt.plot(encoder_layers, encoder_grads, label='Encoder Gradients', color='blue')\n    plt.plot(decoder_layers, decoder_grads, label='Decoder Gradients', color='orange')\n    plt.title('Gradient Magnitude (Encoder to Decoder Continuity)')\n    plt.xlabel('Layer')\n    plt.ylabel('Gradient Magnitude')\n    plt.legend()\n    plt.show()","metadata":{"ExecuteTime":{"end_time":"2025-01-18T19:46:35.572412Z","start_time":"2025-01-18T19:46:35.561603Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"def get_cyclic_beta(epoch, T_0, T_mult=2, beta_min=0.1, beta_max=1.0):\n    \"\"\"\n    Compute cyclic beta based on epoch, similar to a cosine annealing schedule.\n    \n    Args:\n        epoch (int): Current epoch.\n        T_0 (int): Number of epochs for the first cycle.\n        T_mult (int): Cycle multiplier for successive cycles.\n        beta_min (float): Minimum value of beta.\n        beta_max (float): Maximum value of beta.\n\n    Returns:\n        beta (float): Beta value for the current epoch.\n    \"\"\"\n    cycle_length = T_0\n    while epoch >= cycle_length:\n        epoch -= cycle_length\n        cycle_length *= T_mult\n    beta = beta_min + 0.5 * (beta_max - beta_min) * (1 + torch.cos(torch.tensor(epoch / cycle_length * 3.1415926535)))\n    return beta.item()\n\n# Scheduler parameters\nT_0 = 10   # Number of epochs in the first cycle\nT_mult = 2 # Cycle length multiplier\nbeta_min = 0.1\nbeta_max = 1.0\nepochs = 100  # Total number of epochs to plot\n\n# Compute beta values for all epochs\nbeta_values = [get_cyclic_beta(epoch, T_0, T_mult, beta_min, beta_max) for epoch in range(epochs)]\n\n# Plot the cyclic beta values\nplt.figure(figsize=(10, 6))\nplt.plot(range(epochs), beta_values, label=\"Cyclic Beta\", color=\"blue\")\nplt.axhline(beta_min, color=\"red\", linestyle=\"--\", label=\"Beta Min\")\nplt.axhline(beta_max, color=\"green\", linestyle=\"--\", label=\"Beta Max\")\nplt.xlabel(\"Epoch\")\nplt.ylabel(\"Beta Value\")\nplt.title(\"Cyclic Beta Schedule\")\nplt.legend()\nplt.grid()\nplt.show()","metadata":{"ExecuteTime":{"end_time":"2025-01-18T19:46:36.949645Z","start_time":"2025-01-18T19:46:36.869637Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"MEAN = [0.5, 0.5, 0.5]\nSTD = [0.5, 0.5, 0.5]\ndef denormalize(tensor):\n    \"\"\"\n    Denormalize a tensor image with fixed mean and std\n    \"\"\"\n    tensor = tensor.clone()  # Avoid modifying the original tensor\n    for t, m, s in zip(tensor, MEAN, STD):\n        t.mul_(s).add_(m)\n    return tensor.clamp_(0, 1)  # Clamp to [0,1] range\n\n    \ndef train_vae(model, train_loader, val_loader, epochs=100, device='cuda', n_conditions=120):\n    # Scheduler parameters\n    T_0 = epochs   # Number of epochs in the first cycle\n    T_mult = 2 # Cycle length multiplier\n    beta_min = 0.01\n    beta_max = 0.05\n    \n    # Loss function\n    reconstruction_loss = nn.MSELoss()\n    avg_val_loss = 0\n    avg_val_recon = 0\n    avg_val_kl = 0\n    # Optimizer with adjusted learning rate\n    optimizer = optim.AdamW(model.parameters(), lr=1e-4,)\n    scheduler = CosineAnnealingLR(optimizer, T_max=epochs, eta_min=1e-7)\n    \n    # Move model to device\n    model = model.to(device)\n    \n    best_val_loss = float('inf')\n    train_losses = []\n    val_losses = []\n    fixed_z = torch.randn(1, model.latent_dim, 4, 4).to(device)\n    fixed_cond = torch.randint(0, n_conditions, (1,1,)).to(device)\n    val_iter = iter(val_loader)\n    train_iter = iter(train_loader)\n    val_samples, val_conditions, val_targets = next(val_iter)\n    train_samples, train_conditions, train_targets = next(train_iter)\n    val_samples = val_samples[4:6].to(device)  # Pick first two images\n    val_conditions = val_conditions[4:6].to(device)\n    val_targets = val_targets[4:6].to(device)\n    \n    train_samples = train_samples[4:6].to(device)  # Pick first two images\n    train_conditions = train_conditions[4:6].to(device)\n    train_targets = train_targets[4:6].to(device)\n    fixed_val_samples = (val_samples, val_conditions, val_targets)\n    fixed_train_samples = (train_samples, train_conditions, train_targets)\n    for epoch in tqdm(range(epochs), desc=\"Training Progress\"):\n        # Training phase\n        model.train()\n        train_loss = 0\n        train_recon_loss = 0\n        train_kl_loss = 0\n        beta = get_cyclic_beta(epoch, T_0, T_mult, beta_min, beta_max)\n        print(\"Current beta is:\", beta)\n        train_pbar = tqdm(train_loader, leave=False, desc=f'Training Epoch {epoch+1}')\n        for batch_idx, (data, condition, target) in enumerate(train_pbar):\n            data, condition, target = data.to(device), condition.to(device), target.to(device)\n            batch_size = data.size(0)\n            \n            optimizer.zero_grad()\n            \n            # Forward pass\n            recon_batch, mu, logvar = model(data, condition)\n            \n            recon_loss, kl_loss = model.loss_function(recon_batch, target, mu, logvar)\n            \n            loss = recon_loss + beta * kl_loss\n            \n            # Backward pass\n            loss.backward()\n            \n            # Gradient clipping\n            torch.nn.utils.clip_grad_norm_(model.parameters(), max_norm=1.0)\n            \n            optimizer.step()\n            \n            # Accumulate losses\n            train_loss += loss.item() * batch_size\n            train_recon_loss += recon_loss.item() * batch_size\n            train_kl_loss += kl_loss.item() * batch_size\n            \n            train_pbar.set_postfix({\n                'loss': loss.item(),\n                'recon': recon_loss.item(),\n                'kl': kl_loss.item()\n            })\n        \n        # Validation phase\n        model.eval()\n        val_loss = 0\n        val_recon_loss = 0\n        val_kl_loss = 0\n        \n        with torch.no_grad():\n            val_pbar = tqdm(val_loader, leave=False, desc=f'Validation Epoch {epoch+1}')\n            for data, condition, target in val_pbar:\n                data, condition, target = data.to(device), condition.to(device), target.to(device)\n                batch_size = data.size(0)\n                \n                recon_batch, mu, logvar = model.forward(data, condition)\n\n                recon_loss, kl_loss = model.loss_function(recon_batch, target, mu, logvar)\n                loss = recon_loss + beta * kl_loss\n                \n                val_loss += loss.item() * batch_size\n                val_recon_loss += recon_loss.item() * batch_size\n                val_kl_loss += kl_loss.item() * batch_size\n                \n                val_pbar.set_postfix({\n                    'loss': loss.item(),\n                    'recon': recon_loss.item(),\n                    'kl': kl_loss.item()\n                })\n        \n        scheduler.step()\n        \n        # Calculate average losses\n        train_size = len(train_loader.dataset)\n        val_size = len(val_loader.dataset)\n        \n        avg_train_loss = train_loss / train_size\n        avg_train_recon = train_recon_loss / train_size\n        avg_train_kl = train_kl_loss / train_size\n        \n        avg_val_loss = val_loss / val_size\n        avg_val_recon = val_recon_loss / val_size\n        avg_val_kl = val_kl_loss / val_size\n        \n        # Store losses for plotting\n        train_losses.append({\n            'total': avg_train_loss,\n            'recon': avg_train_recon,\n            'kl': avg_train_kl\n        })\n        val_losses.append({\n            'total': avg_val_loss,\n            'recon': avg_val_recon,\n            'kl': avg_val_kl\n        })\n        \n        if (epoch + 1) % 5 == 0:\n            plot_losses(train_losses, val_losses)\n            \n        # Save best model\n        if avg_val_loss < best_val_loss:\n            best_val_loss = avg_val_loss\n            torch.save({\n                'epoch': epoch,\n                'model_state_dict': model.state_dict(),\n                'optimizer_state_dict': optimizer.state_dict(),\n                'scheduler_state_dict': scheduler.state_dict(),\n                'loss': best_val_loss,\n                'condition_to_idx': train_loader.dataset.condition_to_idx  # Save mapping\n            }, 'best_model.pth')\n        \n        print(f'Epoch {epoch+1}:')\n        print(f'Train Loss: {avg_train_loss:.4f} (Recon: {avg_train_recon:.4f}, KL: {avg_train_kl:.4f})')\n        print(f'Valid Loss: {avg_val_loss:.4f} (Recon: {avg_val_recon:.4f}, KL: {avg_val_kl:.4f})')\n        print('-' * 50)\n        with torch.no_grad():\n            plt.figure(figsize=(20, 4))\n            fake_images = model.generate(batch_size=2, device='cuda')\n            fake_images = denormalize(fake_images)\n            fake_images = fake_images.clamp(0, 1).cpu()\n            for i in range(fake_images.size(0)):\n                plt.subplot(2, fake_images.size(0), i + 1)\n                plt.imshow(fake_images[i].permute(1, 2, 0))\n                plt.axis(\"off\")\n                plt.title(\"Generated\")\n            plt.tight_layout()\n            plt.show()\n\n            # Unpack fixed validation samples\n            val_samples, val_conditions, val_targets = fixed_val_samples\n            train_samples, train_conditions, train_targets = fixed_train_samples\n            \n            # Forward pass through the model\n            recon_batch, mu, logvar = model.forward(val_samples, val_conditions)\n            recon_batch_t, mu_t, logvar_t = model.forward(train_samples, train_conditions)\n\n            # Compute reconstruction loss\n            recon_loss, kl_loss = model.loss_function(recon_batch, val_targets, mu, logvar)\n            recon_loss_t, kl_loss_t = model.loss_function(recon_batch_t, train_targets, mu_t, logvar_t)\n\n            # Total loss\n            total_loss = recon_loss + kl_loss\n            print(\"Reconstruction Loss:\", recon_loss.item())\n            print(\"KL Divergence Loss:\", kl_loss.item())\n            print(\"Total Loss:\", total_loss.item())\n\n            total_loss_t = recon_loss_t + kl_loss_t\n            print(\"Train Reconstruction Loss:\", recon_loss_t.item())\n            print(\"Train KL Divergence Loss:\", kl_loss_t.item())\n            print(\"Train Total Loss:\", total_loss_t.item())\n\n        \n            # Convert original and reconstructed images to numpy\n            recon_batch = denormalize(recon_batch)\n            val_targets = denormalize(val_targets)\n            original_imgs = val_targets.clamp(0, 1).cpu().numpy().transpose(0, 2, 3, 1)\n            reconstructed_imgs = recon_batch.clamp(0, 1).cpu().numpy().transpose(0, 2, 3, 1)\n\n            recon_batch_t = denormalize(recon_batch_t)\n            train_targets = denormalize(train_targets)\n            original_imgs_t = train_targets.clamp(0, 1).cpu().numpy().transpose(0, 2, 3, 1)\n            reconstructed_imgs_t = recon_batch_t.clamp(0, 1).cpu().numpy().transpose(0, 2, 3, 1)\n            \n            # Plot original and reconstructed images\n            for i in range(2):  # Iterate over the two images\n                plt.subplot(1, 3, i + 2)\n                plt.imshow(reconstructed_imgs[i])\n                plt.axis('off')\n                plt.title(f'Reconstructed Image {i+1} (Epoch {epoch+1})')\n\n            # Show all images\n            plt.tight_layout()\n            plt.show()\n\n            # Optional: Display original images separately\n            plt.figure(figsize=(10, 5))\n            for i in range(2):\n                plt.subplot(1, 2, i + 1)\n                plt.imshow(original_imgs[i])\n                plt.axis('off')\n                plt.title(f'Original Image {i+1}')\n            plt.tight_layout()\n            plt.show()\n\n\n\n            # Plot original and reconstructed images\n            for i in range(2):  # Iterate over the two images\n                plt.subplot(1, 3, i + 2)\n                plt.imshow(reconstructed_imgs_t[i])\n                plt.axis('off')\n                plt.title(f'Reconstructed Train Image {i+1} (Epoch {epoch+1})')\n\n            # Show all images\n            plt.tight_layout()\n            plt.show()\n\n            # Optional: Display original images separately\n            plt.figure(figsize=(10, 5))\n            for i in range(2):\n                plt.subplot(1, 2, i + 1)\n                plt.imshow(original_imgs_t[i])\n                plt.axis('off')\n                plt.title(f'Original Train Image {i+1}')\n            plt.tight_layout()\n            plt.show()\n            plot_gradients(model)\n        \n        \n    print(f'Valid Loss: {avg_val_loss:.4f} (Recon: {avg_val_recon:.4f}, KL: {avg_val_kl:.4f})')\n    print('-' * 50)\n    plot_losses(train_losses, val_losses)\n    return train_losses, val_losses","metadata":{"ExecuteTime":{"end_time":"2025-01-18T19:46:36.969853Z","start_time":"2025-01-18T19:46:36.953634Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"# Overfitting\n> Overfit a single batch of only a few examples (e.g. as little as two). To do so we increase the capacity of our model (e.g. add layers or filters) and verify that we can reach the lowest achievable loss (e.g. zero). I also like to visualize in the same plot both the label and the prediction and ensure that they end up aligning perfectly once we reach the minimum loss. If they do not, there is a bug somewhere and we cannot continue to the next stage.¹<br>\n**Andrej Karpathy. (Apr 25, 2019). A Recipe for Training Neural Networks**","metadata":{}},{"cell_type":"code","source":"train_loader, val_loader, n_conditions = prepare_data(\"final_df.csv\", batch_size=128)","metadata":{},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# Create a tiny dataset with 2 examples\ntiny_loader = DataLoader(\n    torch.utils.data.Subset(train_loader.dataset, [i+torch.randint(0, 10000, (1,)).item() for i in range(128)]),  # Use two examples\n    batch_size=128,\n    shuffle=True\n)\n# Adjust model capacity (optional, depends on results)\nmodel = VAE(in_channels=3, feature_dim=256, latent_dim=128, cond_dim=16, n_conditions=n_conditions)\nprint(f\"VAE has {sum(p.numel() for p in model.parameters() if p.requires_grad):,} Trainable Parameters\")\nprint(f\"VAE Encoder has {sum(p.numel() for p in model.encoder.parameters() if p.requires_grad):,} Trainable Parameters\")\nprint(f\"VAE Decoder has {sum(p.numel() for p in model.decoder.parameters() if p.requires_grad):,} Trainable Parameters\")\nmodel = model.to('cuda')\nfeature_maps = {}\nto_img = torchvision.transforms.ToPILImage()\n\ndef hook_fn(module, input, output):\n    feature_maps[module] = output\n\n# Register hooks for layers\nfor name, layer in model.named_modules():\n    if isinstance(layer, nn.Conv2d):\n        layer.register_forward_hook(hook_fn)\n# Train on a single batch\noptimizer = optim.AdamW(model.parameters(), lr=1e-4)\nepochs = 100\nT_0 = 20   # Number of epochs in the first cycle\nT_mult = 2 # Cycle length multiplier\nbeta_min = 0.001\nbeta_max = 1\nscheduler = torch.optim.lr_scheduler.CosineAnnealingLR(optimizer, T_max=epochs)\nfor epoch in tqdm(range(epochs)):\n    beta = 0.05#get_cyclic_beta(epoch, T_0, T_mult, beta_min, beta_max)\n    \n    model.train()\n    for data, condition, target in tiny_loader:\n        data, condition, target = data.to('cuda'), condition.to('cuda'), target.to('cuda')\n        optimizer.zero_grad()\n        recon_batch, mu, logvar = model(data, condition)\n        recon_loss, kl_loss = model.loss_function(recon_batch, target, mu, logvar)\n\n        loss = recon_loss + beta*kl_loss\n        loss.backward()\n        optimizer.step()\n\n    # Visualize every 100 epochs\n    if (epoch + 1) % 10 == 0:\n        print(f\"Epoch {epoch+1}/{epochs}, Recon Loss: {recon_loss.item()}, KL Loss: {kl_loss.item()}, Total Loss: {loss.item()}\")\n\n        # Plot labels and predictions\n        with torch.no_grad():\n            \n            for data, condition, target in tiny_loader:\n                data, condition, target = data.to('cuda'), condition.to('cuda'), target.to('cuda')\n\n            data = data[:2]\n            condition = condition[:2]\n            target = target[:2]\n\n            recon_batch, mu, logvar = model.forward(data, condition)\n\n            for i in range(data.size(0)):\n                recon_batch_i = to_img(denormalize(recon_batch[i]))\n                target_i = to_img(denormalize(target[i]))\n                print(\"Target Image:\")\n                display(target_i)\n                print(\"Reconstruction Image:\")\n                display(recon_batch_i)\n\n        plot_gradients(model)\n","metadata":{"ExecuteTime":{"end_time":"2025-01-18T19:51:21.630748Z","start_time":"2025-01-18T19:47:44.550945Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"- Since loss is decreasing and reconstructions are normal, I think everything is good","metadata":{}},{"cell_type":"markdown","source":"# Model visualising\nThis section focuses on understanding what the model has learned and how it operates by analyzing its intermediate outputs and behaviors:\\\n1.\tGenerating Random Images: Generates new images from random latent vectors, optionally conditioned on specific labels (e.g., dog breeds).\\\n2.\tVisualizing Layer Channels: Displays how the image transforms as it passes through the channels of each layer, highlighting the feature extraction process.\\\n3.\tInspecting mu and logvar Distributions: Plots the distributions of the latent mean (mu) and log-variance (logvar) within a batch, providing insights into the learned latent space.\\\n4.\tLayer Activations: Examines the activations of each layer during forward passes to identify which features the model emphasizes.\\\n5.\tGradient Flow Analysis: Monitors gradient magnitudes across layers during training to detect anomalies such as vanishing or exploding gradients, ensuring stable learning dynamics.\n\nThis multi-faceted visualization approach provides a comprehensive understanding of the model’s learning process and potential areas for improvement.","metadata":{}},{"cell_type":"code","source":"with torch.no_grad():\n    fake_images = model.generate(batch_size=2, device='cuda')\n    for i in range(fake_images.size(0)):\n        display(to_img(denormalize(fake_images[i])))","metadata":{"ExecuteTime":{"end_time":"2025-01-18T18:26:34.652008Z","start_time":"2025-01-18T18:26:34.082719Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# Run a batch through the model\ndata, condition = [(data.to('cpu'), condition.to('cpu')) for data, condition, target in tiny_loader][0]\nmodel = model.to('cpu')\nmodel.eval()\nwith torch.no_grad():\n    _ = model(data, condition)\n","metadata":{"ExecuteTime":{"end_time":"2025-01-18T18:26:53.299300Z","start_time":"2025-01-18T18:26:51.656215Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"def visualize_feature_maps(feature_maps, num_channels=8):\n    for layer_name in feature_maps:\n        fmap = feature_maps[layer_name][0].detach().cpu().numpy()  # Batch index 0\n        num_channels = min(num_channels, fmap.shape[0])\n        fig, axes = plt.subplots(1, num_channels, figsize=(15, 5))\n        for i in range(num_channels):\n            axes[i].imshow(fmap[i], cmap='viridis')\n            axes[i].axis('off')\n            axes[i].set_title(f'Channel {i}')\n        plt.show()\nvisualize_feature_maps(feature_maps)","metadata":{"ExecuteTime":{"end_time":"2025-01-18T18:26:56.393059Z","start_time":"2025-01-18T18:26:54.134212Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"batch_img=[data for data, condition, target in tiny_loader][0].to('cpu')\n\nprint(batch_img.shape)\nmu, logvar = model.encoder(batch_img)\n\n# Plot histograms\nplt.figure(figsize=(12, 6))\nplt.subplot(1, 2, 1)\nplt.hist(mu.detach().cpu().numpy().flatten(), bins=50, color='blue', alpha=0.7)\nplt.title(\"Distribution of Mu\")\nplt.subplot(1, 2, 2)\nplt.hist(logvar.detach().cpu().numpy().flatten(), bins=50, color='red', alpha=0.7)\nplt.title(\"Distribution of Logvar\")\nplt.show()","metadata":{"ExecuteTime":{"end_time":"2025-01-18T18:27:28.411281Z","start_time":"2025-01-18T18:27:28.191351Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# Dictionary to store activations\nactivations = {}\n\n# Hook function to capture pre- and post-activation values\ndef hook_fn(module, input, output):\n    activations[module] = {'input': input[0], 'output': output}\n\n# Register hooks for layers of interest\nhooks = []\nfor name, layer in model.named_modules():\n    if isinstance(layer, (nn.Conv2d, nn.Linear, nn.BatchNorm2d)):\n        hooks.append(layer.register_forward_hook(hook_fn))\n\n\n# Run a batch through the model\ndata, condition = [(data.to('cpu'), condition.to('cpu')) for data, condition, target in tiny_loader][0]\n\nmodel.eval()\nwith torch.no_grad():\n    _ = model(data, condition)\n\n# Print statistics for each layer\nfor module, act in activations.items():\n    inp = act['input']\n    out = act['output']\n    print(f\"Layer: {module}\")\n    print(f\"Input - Mean: {inp.mean().item():.4f}, Std: {inp.std().item():.4f}, Min: {inp.min().item():.4f}, Max: {inp.max().item():.4f}\")\n    print(f\"Output - Mean: {out.mean().item():.4f}, Std: {out.std().item():.4f}, Min: {out.min().item():.4f}, Max: {out.max().item():.4f}\")\n    print(\"-\" * 50)","metadata":{"ExecuteTime":{"end_time":"2025-01-17T23:05:44.443159Z","start_time":"2025-01-17T23:05:44.373487Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"plot_gradients(model)","metadata":{"ExecuteTime":{"end_time":"2025-01-17T23:05:45.172028Z","start_time":"2025-01-17T23:05:45.115668Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"# Training","metadata":{}},{"cell_type":"code","source":"# Initialize data and model\nmodel = VAE(in_channels=3, feature_dim=256, latent_dim=512, cond_dim=32, n_conditions=n_conditions)\nprint(f\"VAE has {sum(p.numel() for p in model.parameters() if p.requires_grad):,} Trainable Parameters\")\n# Train model and get loss history\ntrain_losses, val_losses = train_vae(model, train_loader, val_loader, epochs=50, device='cuda', n_conditions=n_conditions)","metadata":{},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"# Inference\n1. Loads best model\n2. Generates random dog images","metadata":{}},{"cell_type":"code","source":"test_model = VAE(in_channels=3, feature_dim=256, latent_dim=512, cond_dim=32, n_conditions=n_conditions)\ncheckpoint = torch.load('best_model.pth')\ntest_model.load_state_dict(checkpoint['model_state_dict'])","metadata":{},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# Enter name of dog breeds (you can find them below)\nconditions = ['Eskimo_dog']\n\nconditions = torch.tensor([train_loader.dataset.condition_to_idx[i] for i in conditions])\nto_img = torchvision.transforms.ToPILImage()\nwith torch.no_grad():\n    fake_images = test_model.generate(batch_size=1, condition=conditions, device='cpu')\n    for i in range(fake_images.size(0)):\n        display(to_img(denormalize(fake_images[i])))","metadata":{},"outputs":[],"execution_count":null},{"cell_type":"code","source":"train_loader.dataset.conditions","metadata":{"collapsed":true,"jupyter":{"outputs_hidden":true},"scrolled":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# Random Generator\n\nto_img = torchvision.transforms.ToPILImage()\nwith torch.no_grad():\n    fake_images = test_model.generate(batch_size=1,  device='cpu')\n    for i in range(fake_images.size(0)):\n        display(to_img(denormalize(fake_images[i])))","metadata":{},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"# Project Summary\n\nI created a Conditional Variational Autoencoder (C-VAE) and trained it on a dog image dataset. The model’s performance was suboptimal, with poor structure in generated images. However, it demonstrated some understanding of key features like noses and colors of certain dog breeds.\n\nObservations:\\\n• Performance Issues: Likely caused by limitations in both the dataset quality and model architecture.\\\n• Learning Outcome: The project served as an educational experiment, providing valuable insights into conditional VAEs and generative modeling techniques.","metadata":{}},{"cell_type":"code","source":"","metadata":{},"outputs":[],"execution_count":null}]}