{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"name":"python","version":"3.11.13","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"kaggle":{"accelerator":"gpu","dataSources":[{"sourceId":6799,"databundleVersionId":4225553,"sourceType":"competition"}],"dockerImageVersionId":31089,"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":true}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"#### This notebook is part 3 of my project: \n\n\n* Part 1 - https://www.kaggle.com/code/anako2020/cnn-deconvnet-part-1     About the imageNet \n\n* Part 2 - https://www.kaggle.com/code/anako2020/cnn-deconvnet-part-2      About the Alexnet\n\n* Part 3 - https://www.kaggle.com/code/anako2020/cnn-deconvnet-part-3      Deconvolution Layer 2 - on dogs images\n\n* Part 4 - https://www.kaggle.com/code/anako2020/cnn-deconvnet-part-4      Deconvolution Layer 3 - on dogs images\n","metadata":{}},{"cell_type":"markdown","source":"# Decovnet - layer 2 visualization","metadata":{}},{"cell_type":"markdown","source":"![Conv_flow_AlexNet.png](attachment:990ff317-cedf-4221-98b3-81b9bba77485.png)","metadata":{},"attachments":{"990ff317-cedf-4221-98b3-81b9bba77485.png":{"image/png":"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"}}},{"cell_type":"code","source":"import os\nimport numpy as np\nimport pandas as pd\nfrom PIL import Image, ImageFile\nImageFile.LOAD_TRUNCATED_IMAGES = True  # avoid PIL truncation errors on some JPEGs\n\nimport matplotlib.pyplot as plt\nplt.rcParams.update({\n    \"figure.dpi\": 120,           # sharper inline figures\n    \"savefig.dpi\": 120,\n    \"figure.facecolor\": \"white\", # white bg (matches our saved grids)\n    \"axes.facecolor\": \"white\",\n    \"axes.grid\": False,\n})\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-09-19T06:46:58.143051Z","iopub.execute_input":"2025-09-19T06:46:58.14347Z","iopub.status.idle":"2025-09-19T06:46:58.404968Z","shell.execute_reply.started":"2025-09-19T06:46:58.143441Z","shell.execute_reply":"2025-09-19T06:46:58.404375Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# ==== VISUALIZATION COLOR SCHEME CONFIGURATION ====\nfrom matplotlib.colors import rgb_to_hsv, hsv_to_rgb\nfrom scipy.ndimage import gaussian_filter\n\nclass VisualizationConfig:\n    \"\"\"Centralized configuration for all visualization styling\"\"\"\n    \n    # Color scheme settings\n    FIGURE_BG = 'black'  # or 'white' for light theme\n    TEXT_COLOR = 'white'  # or 'black' for light theme\n    SPINE_COLOR = 'black'\n    SPINE_WIDTH = 2\n    \n    # Deconvolutional enhancement parameters\n    DECONV_ENHANCE = {\n        'saturation': 0.75,      # reduce saturation for calmer look\n        'gamma': 0.92,           # slight gamma correction\n        'blur_sigma': 0.6,       # gaussian blur to reduce checkerboard\n        'gray_blend': 0.12,      # blend toward mid-gray\n        'contrast_lo': 1,        # robust contrast percentiles\n        'contrast_hi': 99,\n        'out_lo': 0.12,          # output range\n        'out_hi': 0.88\n    }\n    \n    # Standard enhancement multiplier\n    STANDARD_ENHANCE_FACTOR = 2.0\n\n# Global styling functions\ndef robust_rescale(img, config=VisualizationConfig.DECONV_ENHANCE):\n    \"\"\"Rescale per-crop using robust percentiles\"\"\"\n    p_lo = np.percentile(img, config['contrast_lo'])\n    p_hi = np.percentile(img, config['contrast_hi'])\n    if p_hi <= p_lo:\n        return np.clip(img, 0, 1)\n    x = (img - p_lo) / (p_hi - p_lo)\n    x = np.clip(x, 0, 1)\n    return config['out_lo'] + x * (config['out_hi'] - config['out_lo'])\n\ndef apply_deconv_styling(img_rgb, config=VisualizationConfig.DECONV_ENHANCE):\n    \"\"\"Apply paper-style enhancement to deconv crops\"\"\"\n    x = img_rgb.astype(np.float32)\n    \n    # Robust contrast\n    x = robust_rescale(x, config)\n    \n    # Light blur (channel-wise)\n    x = np.stack([gaussian_filter(x[..., i], config['blur_sigma']) for i in range(3)], axis=-1)\n    \n    # Desaturate in HSV\n    hsv = rgb_to_hsv(np.clip(x, 0, 1))\n    hsv[..., 1] *= config['saturation']\n    x = hsv_to_rgb(hsv)\n    \n    # Mild gamma\n    x = np.clip(x, 0, 1) ** config['gamma']\n    \n    # Blend to mid-gray\n    x = (1 - config['gray_blend']) * x + config['gray_blend'] * 0.5\n    \n    return np.clip(x, 0, 1)\n\ndef style_axis(ax, config=VisualizationConfig):\n    \"\"\"Apply consistent axis styling\"\"\"\n    ax.set_xticks([])\n    ax.set_yticks([])\n    for spine in ax.spines.values():\n        spine.set_visible(True)\n        spine.set_linewidth(config.SPINE_WIDTH)\n        spine.set_color(config.SPINE_COLOR)\n    ax.set_facecolor(config.FIGURE_BG)\n\ndef style_figure(fig, config=VisualizationConfig):\n    \"\"\"Apply consistent figure styling\"\"\"\n    fig.patch.set_facecolor(config.FIGURE_BG)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-09-19T06:46:58.405898Z","iopub.execute_input":"2025-09-19T06:46:58.406196Z","iopub.status.idle":"2025-09-19T06:46:58.416156Z","shell.execute_reply.started":"2025-09-19T06:46:58.406171Z","shell.execute_reply":"2025-09-19T06:46:58.415312Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# #To change themes, modify the VisualizationConfig class:\n# # For light theme:\n# VisualizationConfig.FIGURE_BG = 'white'\n# VisualizationConfig.TEXT_COLOR = 'black'\n\n# # For dark theme:\n# VisualizationConfig.FIGURE_BG = 'black'  \n# VisualizationConfig.TEXT_COLOR = 'white'","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-09-19T06:46:58.416992Z","iopub.execute_input":"2025-09-19T06:46:58.417219Z","iopub.status.idle":"2025-09-19T06:46:58.433603Z","shell.execute_reply.started":"2025-09-19T06:46:58.417192Z","shell.execute_reply":"2025-09-19T06:46:58.432936Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# ==== Step 0.a — paths & sanity ====\nimport os, glob\n\n# path to images\nval_path     = \"/kaggle/input/imagenet-object-localization-challenge/ILSVRC/Data/CLS-LOC/val\"\nlabels_path  = \"/kaggle/input/imagenet-object-localization-challenge/LOC_val_solution.csv\"\nmapping_path = \"/kaggle/input/imagenet-object-localization-challenge/LOC_synset_mapping.txt\"\n\n# unify naming \nVAL_DIR     = val_path\nLABELS_CSV  = labels_path\nSYNSET_MAP  = mapping_path\nVAL_ANN_DIR = \"/kaggle/input/imagenet-object-localization-challenge/ILSVRC/Annotations/CLS-LOC/val\"  # XMLs\n\n# checks\nassert os.path.exists(VAL_DIR),     f\"VAL_DIR missing: {VAL_DIR}\"\nassert os.path.exists(SYNSET_MAP),  f\"SYNSET_MAP missing: {SYNSET_MAP}\"\n\n# labels CSV may not be strictly needed (we use XMLs), so don't hard-fail if absent:\nprint(\"LABELS_CSV present:\", os.path.exists(LABELS_CSV))\n\nn_imgs = len(glob.glob(os.path.join(VAL_DIR, \"*.JPEG\")))\nprint(f\"VAL_DIR OK → {VAL_DIR}  • JPEGs: {n_imgs}\")\nprint(\"VAL_ANN_DIR present:\", os.path.exists(VAL_ANN_DIR))","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-09-19T06:46:58.4352Z","iopub.execute_input":"2025-09-19T06:46:58.435422Z","iopub.status.idle":"2025-09-19T06:46:59.473459Z","shell.execute_reply.started":"2025-09-19T06:46:58.435378Z","shell.execute_reply":"2025-09-19T06:46:59.472659Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# tiny helper: load synset→text mapping (we’ll reuse later)\ndef load_synset_map(path=SYNSET_MAP):\n    m = {}\n    with open(path, \"r\") as f:\n        for line in f:\n            if not line.strip(): continue\n            sid, txt = line.strip().split(\" \", 1)\n            m[sid] = txt\n    return m\n\nSYN2TXT = load_synset_map()\nprint(\"Mapping entries:\", len(SYN2TXT))\nfor k in list(SYN2TXT.keys())[:3]:\n    print(\"  \", k, \"→\", SYN2TXT[k])","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-09-19T06:46:59.474106Z","iopub.execute_input":"2025-09-19T06:46:59.474278Z","iopub.status.idle":"2025-09-19T06:46:59.488219Z","shell.execute_reply.started":"2025-09-19T06:46:59.474263Z","shell.execute_reply":"2025-09-19T06:46:59.487582Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# One-off: find synset IDs by keywords (case-insensitive)\nimport re\n\nSYNC_MAP = \"/kaggle/input/imagenet-object-localization-challenge/LOC_synset_mapping.txt\"\n\ndef find_synsets(keywords):\n    kw = [re.compile(rf\"\\b{re.escape(k)}\\b\", re.I) for k in keywords]\n    hits = []\n    with open(SYNC_MAP, \"r\") as f:\n        for line in f:\n            syn, name_all = line.strip().split(\" \", 1)\n            name = name_all.split(\",\")[0].strip().lower()  # primary label\n            if any(p.search(name) for p in kw):\n                hits.append((syn, name))\n    print(f\"Found {len(hits)} matches:\")\n    for syn, name in hits:\n        print(f\"  {syn:>10}  {name}\")\n    return hits\n\n# EXAMPLES — change these to what you actually need:\n_ = find_synsets([\"golden retriever\", \"chihuahua\", \"siberian husky\", \"pug\", 'dog','puppy','sheepdog','sighthound','hound','greyhound','wolfhound',\n            'terrier','retriever','shepherd','spaniel','setter','pointer','mastiff','bulldog','poodle','husky','beagle','collie',])\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-09-19T06:46:59.489007Z","iopub.execute_input":"2025-09-19T06:46:59.489324Z","iopub.status.idle":"2025-09-19T06:46:59.504661Z","shell.execute_reply.started":"2025-09-19T06:46:59.489293Z","shell.execute_reply":"2025-09-19T06:46:59.504086Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"## Load the AlexNet model","metadata":{}},{"cell_type":"code","source":"import torch\nfrom torchvision.models import alexnet\n\n# Define device\ndevice = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")\n\n# Load pretrained model\nmodel = alexnet(weights=\"DEFAULT\").to(device) \nmodel.eval()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-09-19T06:46:59.505308Z","iopub.execute_input":"2025-09-19T06:46:59.505545Z","iopub.status.idle":"2025-09-19T06:47:07.009455Z","shell.execute_reply.started":"2025-09-19T06:46:59.505528Z","shell.execute_reply":"2025-09-19T06:47:07.00875Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"<hr>\n\n## Decovnet","metadata":{}},{"cell_type":"code","source":"SYNSETS = {'n02091032', 'n02116738'}  # my picks - choosing dogs","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-09-19T06:47:07.010128Z","iopub.execute_input":"2025-09-19T06:47:07.010513Z","iopub.status.idle":"2025-09-19T06:47:07.014036Z","shell.execute_reply.started":"2025-09-19T06:47:07.010494Z","shell.execute_reply":"2025-09-19T06:47:07.013439Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# === STEP 0c: Filter by hardcoded synsets (standalone) ===\nimport os, pandas as pd\nfrom PIL import Image\n\n# --- config (edit paths if needed) ---\n#VAL_DIR     = VAL_DIR  # e.g. \"/kaggle/input/.../ILSVRC/Data/CLS-LOC/val\"\n#LABELS_CSV  = \"/kaggle/input/imagenet-object-localization-challenge/LOC_val_solution.csv\"\n#SYNSET_MAP  = \"/kaggle/input/imagenet-object-localization-challenge/LOC_synset_mapping.txt\"\n\n# --- sanity on paths ---\nassert os.path.isdir(VAL_DIR), f\"VAL_DIR not found: {VAL_DIR}\"\nassert os.path.exists(LABELS_CSV), f\"labels csv missing: {LABELS_CSV}\"\nassert os.path.exists(SYNSET_MAP), f\"synset map missing: {SYNSET_MAP}\"\nassert os.path.exists(SYNSET_MAP), f\"synset map missing: {SYNSET_MAP}\"\n\n\n# --- lookup names for status line ---\nsyn_names = {}\nwith open(SYNSET_MAP, \"r\") as f:\n    for line in f:\n        parts = line.strip().split(\" \", 1)\n        if len(parts) == 2 and parts[0] in SYNSETS:\n            syn_names[parts[0]] = parts[1].split(\",\")[0]\n\nmissing = SYNSETS - set(syn_names.keys())\nprint(\"Target synsets:\", \", \".join(sorted(SYNSETS)))\nprint(\"Names:\", \", \".join(f\"{s}→{syn_names.get(s, '?')}\" for s in sorted(SYNSETS)))\nif missing:\n    print(\"⚠ Missing in mapping:\", sorted(missing))\n\n# --- load labels, extract synset, dedup by ImageId ---\ndf = pd.read_csv(LABELS_CSV)\nsec = next(c for c in df.columns if c.lower() != \"imageid\")  # usually 'PredictionString' or 'Label'\ndf = df[[\"ImageId\", sec]].copy()\ndf[\"Synset\"] = df[sec].astype(str).str.split().str[0]\nbefore = len(df)\ndf = df.drop_duplicates(\"ImageId\")\nprint(f\"Rows: {before} → {len(df)} unique ImageId\")\n\n# --- filter by hardcoded synsets ---\ndf = df[df[\"Synset\"].isin(SYNSETS)].copy()\nprint(f\"Matched images: {len(df)}\")\n\n# --- build paths + existence check ---\ndf[\"ImagePath\"] = df[\"ImageId\"].apply(lambda i: os.path.join(VAL_DIR, f\"{i}.JPEG\"))\nexists = df[\"ImagePath\"].apply(os.path.exists)\nprint(f\"On disk: {int(exists.sum())} exist | {int((~exists).sum())} missing\")\n\n\n\n# --- final selection list (for downstream use) ---\nselected_images = [\n    {\"image_id\": iid, \"image_path\": path, \"synset\": syn, \"label\": syn_names.get(syn, syn)}\n    for iid, syn, path, ok in zip(df[\"ImageId\"], df[\"Synset\"], df[\"ImagePath\"], exists)\n    if ok\n]\nprint(f\"Selected files: {len(selected_images)}\")\nfor i, it in enumerate(selected_images[:5], 1):\n    print(f\"  {i}. {it['image_id']} → {os.path.basename(it['image_path'])} ({it['label']})\")\n\n# (optional) actually load them now\n# images = [Image.open(d[\"image_path\"]).convert(\"RGB\") for d in selected_images]\n# print(f\"Loaded {len(images)} images.\")\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-09-19T06:47:07.014814Z","iopub.execute_input":"2025-09-19T06:47:07.015069Z","iopub.status.idle":"2025-09-19T06:47:07.798533Z","shell.execute_reply.started":"2025-09-19T06:47:07.015048Z","shell.execute_reply":"2025-09-19T06:47:07.797797Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# === Visualize first 20 selected dog images ===\nimport math\nfrom PIL import Image\nimport matplotlib.pyplot as plt\n\nassert len(selected_images) > 0, \"selected_images is empty\"\n\nN = min(20, len(selected_images))\nrows = math.ceil(N / 5)\ncols = min(5, N)\n\nplt.figure(figsize=(4*cols, 3.5*rows))\n\nfor i, item in enumerate(selected_images[:N], 1):\n    path  = item[\"image_path\"]\n    label = item.get(\"label\", item.get(\"synset\", \"\"))\n    try:\n        img = Image.open(path).convert(\"RGB\")\n    except Exception as e:\n        print(f\"[skip] {path}: {e}\")\n        continue\n\n    ax = plt.subplot(rows, cols, i)\n    ax.imshow(img)\n    ax.axis(\"off\")\n    ax.set_title(f\"{label}\\n{item['image_id']}\", fontsize=10)\n\nplt.tight_layout()\nplt.show()\nprint(f\"Displayed {N} images.\")\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-09-19T06:47:07.801182Z","iopub.execute_input":"2025-09-19T06:47:07.801471Z","iopub.status.idle":"2025-09-19T06:47:11.349294Z","shell.execute_reply.started":"2025-09-19T06:47:07.801454Z","shell.execute_reply":"2025-09-19T06:47:11.348265Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"## Step 1 - extract features map\n\nWhat’s stored (after the run)\n\n* validation_data['conv2'] (per image):\n* feature_maps: list of 100 tensors, each torch.float32 with shape (1, 192, 27, 27)\n* image_paths: list[str]\n* image_info: list[dict]\n* processing_times: list[float]\n* feature_extractor.pooling_indices (for the last image only):\n* 'pool1': torch.int64 with shape (1, 64, 27, 27) — the “switches” (values in [0..8] for k=3).","metadata":{}},{"cell_type":"code","source":"# ==== DEFINE ExactFeatureExtractor CLASS FIRST ====\n# Step 1 - extract features map\n# Process validation set (50 dog images instead of 50,000)\n\n# Extracting conv2 feature maps and pooling indices from 50 images\n# Storting all activation tensors and switches\n\nimport time\nfrom PIL import Image\nimport torch\nimport torch.nn as nn\nimport torch.nn.functional as F\nfrom collections import OrderedDict\nfrom torchvision.models import alexnet, AlexNet_Weights\n\ndevice    = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")\nweights   = AlexNet_Weights.DEFAULT\ntransform = weights.transforms()  # Resize(256) → CenterCrop(224) → ToTensor → Normalize\n\n# if model not defined yet, create it\ntry:\n    model\nexcept NameError:\n    model = alexnet(weights=weights).to(device).eval()\n\n\nclass ExactFeatureExtractor:\n    \"\"\"Extract features with exact pooling indices like Zeiler & Fergus paper\"\"\"\n    def __init__(self, model):\n        self.model = model\n        self.feature_maps = OrderedDict()\n        self.pooling_indices = OrderedDict()\n        self.hooks = []\n        self._register_hooks()\n    \n    def _register_hooks(self):\n        \"\"\"Register hooks to capture both feature maps and compute pooling indices\"\"\"\n        alexnet_layer_map = {\n            0: 'conv1',   1: 'relu1',   2: 'pool1',\n            3: 'conv2',   4: 'relu2',   5: 'pool2', \n            6: 'conv3',   7: 'relu3',\n            8: 'conv4',   9: 'relu4',\n            10: 'conv5',  11: 'relu5',  12: 'pool5'\n        }\n        \n        def make_hook(name, layer_idx):\n            def hook_fn(module, input, output):\n                self.feature_maps[name] = output.clone()\n                \n                if isinstance(module, nn.MaxPool2d):\n                    input_tensor = input[0]\n                    _, indices = F.max_pool2d(\n                        input_tensor,\n                        kernel_size=module.kernel_size,\n                        stride=module.stride,\n                        padding=module.padding,\n                        return_indices=True\n                    )\n                    self.pooling_indices[name] = indices.clone()\n            return hook_fn\n        \n        layer_names = []\n        for idx, layer in enumerate(self.model.features):\n            if idx in alexnet_layer_map:\n                layer_name = alexnet_layer_map[idx]\n                hook = layer.register_forward_hook(make_hook(layer_name, idx))\n                self.hooks.append(hook)\n                layer_names.append(layer_name)\n        \n        print(\"Registered hooks for layers:\", layer_names)\n    \n    def extract_features(self, input_tensor):\n        \"\"\"Extract features and indices\"\"\"\n        self.feature_maps.clear()\n        self.pooling_indices.clear()\n        \n        with torch.no_grad():\n            _ = self.model(input_tensor)\n        \n        return self.feature_maps.copy(), self.pooling_indices.copy()\n    \n    def cleanup(self):\n        \"\"\"Remove hooks\"\"\"\n        for hook in self.hooks:\n            hook.remove()\n\nclass ProgressiveProcessor:\n    \"\"\"Step 1: Process selected images with detailed progress tracking\"\"\"\n    \n    def __init__(self, model, feature_extractor):\n        self.model = model\n        self.feature_extractor = feature_extractor\n        self.validation_data = {}\n        \n    def process_images_with_progress(self, selected_images, layer_name='conv2'):\n        \"\"\"Process images with detailed progress tracking\"\"\"\n        num_images = len(selected_images)\n        print(f\"\\n=== STEP 1: PROCESSING {num_images} DOG IMAGES FOR {layer_name.upper()} ===\")\n        \n        # Initialize storage\n        self.validation_data[layer_name] = {\n            'feature_maps': [],\n            'image_paths': [],\n            'image_info': [],\n            'processing_times': []\n        }\n        \n        total_start_time = time.time()\n        successful_count = 0\n        \n        for i, img_info in enumerate(selected_images):\n            img_start_time = time.time()\n            img_path = img_info['image_path']\n            img_id = img_info['image_id']\n            \n            print(f\"[{i+1}/{num_images}] {img_id} ({img_info['label']})\", end=\" \")\n            \n            try:\n                # Load and process image\n                img = Image.open(img_path).convert('RGB')\n                img_tensor = transform(img).unsqueeze(0).to(device)\n                \n                # Extract features\n                feature_maps, pooling_indices = self.feature_extractor.extract_features(img_tensor)\n                \n                # Store results\n                self.validation_data[layer_name]['feature_maps'].append(feature_maps[layer_name].clone())\n                self.validation_data[layer_name]['image_paths'].append(img_path)\n                self.validation_data[layer_name]['image_info'].append(img_info)\n                \n                img_time = time.time() - img_start_time\n                self.validation_data[layer_name]['processing_times'].append(img_time)\n                \n                successful_count += 1\n                print(f\"✓ ({img_time:.1f}s)\")\n                \n                # Progress summary every 10 images\n                if (i + 1) % 10 == 0:\n                    total_elapsed = time.time() - total_start_time\n                    avg_time = total_elapsed / (i + 1)\n                    eta = avg_time * (num_images - i - 1)\n                    print(f\"  Progress: {successful_count}/{num_images} ({100*successful_count/num_images:.0f}%) | ETA: {eta:.0f}s\")\n                \n            except Exception as e:\n                print(f\"✗ ERROR: {e}\")\n                continue\n        \n        # Final summary\n        total_time = time.time() - total_start_time\n        avg_time = total_time / successful_count if successful_count > 0 else 0\n        \n        print(f\"\\n=== STEP 1 COMPLETE ===\")\n        print(f\"Successfully processed: {successful_count}/{num_images} dog images\")\n        print(f\"Total time: {total_time:.1f} seconds ({avg_time:.1f}s per image)\")\n        \n        if successful_count > 0:\n            sample_shape = self.validation_data[layer_name]['feature_maps'][0].shape\n            print(f\"Feature map shape: {sample_shape}\")\n        \n        return successful_count\n\n# Initialize feature extractor\nprint(\"Initializing feature extractor...\")\ntry:\n    feature_extractor.cleanup()\nexcept:\n    pass\n\nfeature_extractor = ExactFeatureExtractor(model)\n\n# Execute Step 1\nprogressive_processor = ProgressiveProcessor(model, feature_extractor)\nnum_processed = progressive_processor.process_images_with_progress(selected_images, 'conv2')\n\n# What did we store per image?\nvd = progressive_processor.validation_data['conv2']\nprint(\"Stored items:\", len(vd['feature_maps']), \"feature maps\")\nprint(\"Sample fmap:\", vd['feature_maps'][0].dtype, vd['feature_maps'][0].shape)\n\nprint(f\"\\nREADY FOR STEP 2: {num_processed} images processed for conv2 analysis\")","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-09-19T06:47:11.350432Z","iopub.execute_input":"2025-09-19T06:47:11.350836Z","iopub.status.idle":"2025-09-19T06:47:13.650062Z","shell.execute_reply.started":"2025-09-19T06:47:11.350792Z","shell.execute_reply":"2025-09-19T06:47:13.6494Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"## Step 2 - find strongest activations\n\nWhat’s stored (after the run)\n\n* analyzer.global_activations['conv2']\n    * type: dict[int → list[dict]]\n    * key = channel index 0..191\n    * value = list of 100 activations (sorted desc by strength) where each item is:\n        * image_idx: int (0..99)\n        * image_info: dict\n        * image_path: str\n        * max_value: float (conv2 peak; can be negative since it’s pre-ReLU)\n        * location: (y, x) tuple of ints in [0..26] (position inside the 27×27 map)\n* channel_results\n    * alias of analyzer.global_activations['conv2'] returned by find_strongest_activations(...)\n* top_channels\n    * type: list[dict], each item:\n        * channel: int\n        * max_value: float (that channel’s global best)\n        * activations: ","metadata":{}},{"cell_type":"code","source":"# ==== STEP 2: FIND GLOBALLY STRONGEST ACTIVATIONS ====\n\n# Analyzing all 192 conv2 channels across 50 images\n# Finding maximum activation value and location for each channel\n# Ranking all activations to identify strongest channels\n\nclass ActivationAnalyzer:\n    \"\"\"Step 2: Find globally strongest activations across all processed images\"\"\"\n    \n    def __init__(self, progressive_processor):\n        self.processor = progressive_processor\n        self.global_activations = {}\n        \n    def find_strongest_activations(self, layer_name='conv2', verbose=True):\n        \"\"\"Find strongest activations across all images for each channel\"\"\"\n        if layer_name not in self.processor.validation_data:\n            print(f\"No data found for {layer_name}\")\n            return {}\n            \n        data = self.processor.validation_data[layer_name]\n        feature_maps = data['feature_maps']\n        num_images = len(feature_maps)\n        num_channels = feature_maps[0].shape[1]  # 192 for conv2\n        \n        if verbose:\n            print(f\"\\n=== STEP 2: FINDING STRONGEST ACTIVATIONS IN {layer_name.upper()} ===\")\n            print(f\"Analyzing {num_images} images × {num_channels} channels = {num_images * num_channels} activations\")\n        \n        # For each channel, find strongest activations across all images\n        channel_results = {}\n        \n        for channel_idx in range(num_channels):\n            if verbose and channel_idx % 50 == 0:\n                print(f\"Processing channel {channel_idx+1}/{num_channels}\")\n                \n            channel_activations = []\n            \n            # Go through all 50 images for this channel\n            for img_idx, feature_map in enumerate(feature_maps):\n                channel_map = feature_map[0, channel_idx]  # Shape: [27, 27]\n                max_val = torch.max(channel_map).item()\n                \n                # Find location of max value\n                max_locations = (channel_map == max_val).nonzero(as_tuple=False)\n                if len(max_locations) > 0:\n                    location = max_locations[0]  # Take first if multiple\n                    y, x = location[0].item(), location[1].item()\n                    \n                    channel_activations.append({\n                        'image_idx': img_idx,\n                        'image_info': data['image_info'][img_idx],\n                        'image_path': data['image_paths'][img_idx],\n                        'max_value': max_val,\n                        'location': (y, x),\n                    })\n            \n            # Sort by activation strength (strongest first)\n            channel_activations.sort(key=lambda x: x['max_value'], reverse=True)\n            channel_results[channel_idx] = channel_activations\n        \n        self.global_activations[layer_name] = channel_results\n        \n        if verbose:\n            print(f\"Analysis complete for all {num_channels} channels\")\n            \n        return channel_results\n    \n    def get_top_channels(self, layer_name='conv2', top_n=5):\n        \"\"\"Get the channels with highest maximum activations\"\"\"\n        if layer_name not in self.global_activations:\n            print(f\"No analysis found for {layer_name}\")\n            return []\n            \n        channel_results = self.global_activations[layer_name]\n        \n        # Find the maximum activation for each channel\n        channel_max_values = []\n        for channel_idx, activations in channel_results.items():\n            if activations:  # Make sure we have activations for this channel\n                max_activation = activations[0]['max_value']  # Already sorted\n                channel_max_values.append({\n                    'channel': channel_idx,\n                    'max_value': max_activation,\n                    'activations': activations\n                })\n        \n        # Sort channels by their maximum activation values\n        channel_max_values.sort(key=lambda x: x['max_value'], reverse=True)\n        \n        print(f\"\\nTop {top_n} strongest channels in {layer_name}:\")\n        for i, channel_data in enumerate(channel_max_values[:top_n]):\n            channel = channel_data['channel']\n            max_val = channel_data['max_value']\n            best_image = channel_data['activations'][0]['image_info']['label']\n            print(f\"  {i+1}. Channel {channel}: {max_val:.3f} (strongest in {best_image})\")\n            \n        return channel_max_values[:top_n]\n\n# Execute Step 2\nprint(\"Starting activation analysis...\")\nanalyzer = ActivationAnalyzer(progressive_processor)\n\n# Find strongest activations across all 50 dog images\nchannel_results = analyzer.find_strongest_activations('conv2', verbose=True)\n\n# Get top 5 strongest channels\ntop_channels = analyzer.get_top_channels('conv2', top_n=5)\n\nprint(f\"\\nStep 2 Complete: Found strongest activations across {len(channel_results)} channels\")\nprint(\"Ready for Step 3: Select top 9 images per channel\")","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-09-19T06:47:13.65087Z","iopub.execute_input":"2025-09-19T06:47:13.651119Z","iopub.status.idle":"2025-09-19T06:47:16.285882Z","shell.execute_reply.started":"2025-09-19T06:47:13.651103Z","shell.execute_reply":"2025-09-19T06:47:16.285227Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"## Step 3 - Selecting the top 9 images per channel (for 2 channels)","metadata":{}},{"cell_type":"code","source":"# ==== STEP 3: SELECT TOP 2 STRONGEST CHANNELS AND THEIR TOP 9 IMAGES ====\n\nimport matplotlib.pyplot as plt\nfrom PIL import Image\n\nclass TopChannelSelector:\n    \"\"\"Step 3: Find 2 strongest channels and select top 9 images for each\"\"\"\n    \n    def __init__(self, analyzer):\n        self.analyzer = analyzer\n        self.selected_channels_data = {}\n        \n    def find_and_select_top_channels(self, layer_name='conv2', num_channels=2, top_images=9):\n        \"\"\"Find the strongest channels and select their top activating images\"\"\"\n        if layer_name not in self.analyzer.global_activations:\n            print(f\"No analysis found for {layer_name}\")\n            return {}\n            \n        print(f\"\\n=== STEP 3: FINDING TOP {num_channels} STRONGEST CHANNELS ===\")\n        \n        # Get top channels globally\n        top_channels = self.analyzer.get_top_channels(layer_name, top_n=num_channels)\n        \n        if not top_channels:\n            print(\"No channels found!\")\n            return {}\n        \n        # For each top channel, get its top 9 images\n        selected_data = {}\n        \n        for rank, channel_data in enumerate(top_channels, 1):\n            channel_idx = channel_data['channel']\n            max_activation = channel_data['max_value']\n            all_activations = channel_data['activations']\n            \n            # Select top 9 images for this channel\n            top_9_images = all_activations[:top_images]\n            \n            selected_data[channel_idx] = {\n                'rank': rank,\n                'channel_idx': channel_idx,\n                'max_activation': max_activation,\n                'top_9_images': top_9_images,\n                'all_activations': all_activations\n            }\n            \n            print(f\"\\nChannel {channel_idx} (Rank #{rank}):\")\n            print(f\"  Max activation: {max_activation:.3f}\")\n            print(f\"  Top {top_images} images selected:\")\n            \n            for i, img_data in enumerate(top_9_images, 1):\n                img_info = img_data['image_info']\n                activation = img_data['max_value']\n                location = img_data['location']\n                print(f\"    {i}. {img_info['image_id']}: {img_info['label']} \"\n                      f\"(act: {activation:.3f}, loc: {location})\")\n        \n        self.selected_channels_data[layer_name] = selected_data\n        return selected_data\n    \n    def visualize_top_channels(self, layer_name='conv2', save_prefix=\"conv2_channel\"):\n        \"\"\"Visualize top 9 images for each of the strongest channels\"\"\"\n        if layer_name not in self.selected_channels_data:\n            print(f\"No selected channels data for {layer_name}\")\n            return\n            \n        selected_data = self.selected_channels_data[layer_name]\n        \n        print(f\"\\n=== VISUALIZING TOP {len(selected_data)} CHANNELS ===\")\n        \n        for channel_idx, data in selected_data.items():\n            rank = data['rank']\n            max_activation = data['max_activation']\n            top_9_images = data['top_9_images']\n            \n            print(f\"\\nVisualizing Channel {channel_idx} (Rank #{rank}, Max Act: {max_activation:.3f})\")\n            \n            # Create 3x3 visualization\n            fig, axes = plt.subplots(3, 3, figsize=(15, 15))\n            fig.suptitle(f'Conv2 Channel {channel_idx} (Rank #{rank}) - Top 9 Strongest Activations\\n'\n                        f'Max Activation: {max_activation:.3f}', \n                        fontsize=16, y=0.98)\n            \n            for i in range(9):\n                row, col = i // 3, i % 3\n                ax = axes[row, col]\n                \n                if i < len(top_9_images):\n                    img_data = top_9_images[i]\n                    img_path = img_data['image_path']\n                    img_info = img_data['image_info']\n                    activation = img_data['max_value']\n                    location = img_data['location']\n                    \n                    try:\n                        # Load and display image\n                        img = Image.open(img_path).convert('RGB')\n                        ax.imshow(img)\n                        ax.set_title(f\"{i+1}. {img_info['label']}\\n\"\n                                   f\"Act: {activation:.2f}, Loc: {location}\", \n                                   fontsize=11)\n                        ax.axis('off')\n                        \n                    except Exception as e:\n                        ax.text(0.5, 0.5, f'Error loading image\\n{e}', \n                               ha='center', va='center', fontsize=10)\n                        ax.set_title(f\"{i+1}. Error\", fontsize=11)\n                        ax.axis('off')\n                else:\n                    ax.axis('off')\n            \n            plt.tight_layout()\n            plt.subplots_adjust(top=0.93)\n            \n            # Save visualization\n            save_path = f\"{save_prefix}_{channel_idx}_rank{rank}.png\"\n            plt.savefig(save_path, dpi=150, bbox_inches='tight', facecolor='white')\n            print(f\"  ✓ Saved visualization to {save_path}\")\n            \n            plt.show()\n    \n    def get_summary(self, layer_name='conv2'):\n        \"\"\"Get summary of selected channels and their patterns\"\"\"\n        if layer_name not in self.selected_channels_data:\n            print(f\"No data for {layer_name}\")\n            return\n            \n        selected_data = self.selected_channels_data[layer_name]\n        \n        print(f\"\\n=== SUMMARY: TOP {len(selected_data)} CHANNELS ANALYSIS ===\")\n        \n        for channel_idx, data in selected_data.items():\n            rank = data['rank']\n            max_activation = data['max_activation']\n            top_9_images = data['top_9_images']\n            \n            print(f\"\\nChannel {channel_idx} (Rank #{rank}):\")\n            print(f\"  Max activation: {max_activation:.3f}\")\n            print(f\"  Activation range: {top_9_images[-1]['max_value']:.3f} - {max_activation:.3f}\")\n            \n            # Count breed distribution\n            breed_counts = {}\n            for img_data in top_9_images:\n                breed = img_data['image_info']['label']\n                breed_counts[breed] = breed_counts.get(breed, 0) + 1\n            \n            print(f\"  Breed distribution:\")\n            for breed, count in sorted(breed_counts.items(), key=lambda x: x[1], reverse=True):\n                print(f\"    {breed}: {count}\")\n    \n    def save_channel_data(self, layer_name='conv2', filename=\"selected_channels_data.txt\"):\n        \"\"\"Save detailed channel data to file\"\"\"\n        if layer_name not in self.selected_channels_data:\n            print(f\"No data for {layer_name}\")\n            return\n            \n        selected_data = self.selected_channels_data[layer_name]\n        \n        with open(filename, 'w') as f:\n            f.write(f\"TOP {len(selected_data)} STRONGEST CHANNELS - {layer_name.upper()}\\n\")\n            f.write(\"=\" * 60 + \"\\n\\n\")\n            \n            for channel_idx, data in selected_data.items():\n                rank = data['rank']\n                max_activation = data['max_activation']\n                top_9_images = data['top_9_images']\n                \n                f.write(f\"CHANNEL {channel_idx} (RANK #{rank})\\n\")\n                f.write(f\"Max Activation: {max_activation:.3f}\\n\\n\")\n                \n                f.write(\"Top 9 Images:\\n\")\n                for i, img_data in enumerate(top_9_images, 1):\n                    img_info = img_data['image_info']\n                    activation = img_data['max_value']\n                    location = img_data['location']\n                    f.write(f\"  {i:2d}. {img_info['image_id']:25s} | {img_info['label']:25s} | \"\n                           f\"Act: {activation:6.3f} | Loc: {location}\\n\")\n                \n                f.write(\"\\n\" + \"-\" * 60 + \"\\n\\n\")\n        \n        print(f\"✓ Saved detailed channel data to {filename}\")\n\n# ==== EXECUTE STEP 3 ====\nprint(\"=== STEP 3: SELECTING TOP 2 STRONGEST CHANNELS ===\")\n\n# Initialize the selector\nselector = TopChannelSelector(analyzer)\n\n# Find top 2 channels and select their top 9 images\nselected_channels = selector.find_and_select_top_channels('conv2', num_channels=2, top_images=9)\n\n# Visualize both channels\nselector.visualize_top_channels('conv2', save_prefix=\"conv2_top_channel\")\n\n# Show summary analysis\nselector.get_summary('conv2')\n\n# Save detailed data\nselector.save_channel_data('conv2', \"top_2_channels_analysis.txt\")\n\nprint(f\"\\n✅ STEP 3 COMPLETE!\")\nprint(f\"✅ Found top 2 strongest channels: {list(selected_channels.keys())}\")\nprint(f\"✅ Selected 9 strongest activating images for each channel\")\nprint(f\"✅ Created visualizations and saved analysis\")\nprint(f\"✅ Ready for Step 4: Deconvolutional reconstruction\")","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-09-19T06:47:16.28671Z","iopub.execute_input":"2025-09-19T06:47:16.286913Z","iopub.status.idle":"2025-09-19T06:47:26.203678Z","shell.execute_reply.started":"2025-09-19T06:47:16.286896Z","shell.execute_reply":"2025-09-19T06:47:26.202745Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"## Step 4 - Create isolated activations","metadata":{}},{"cell_type":"code","source":"# ==== STEP 4: CREATE ISOLATED ACTIVATIONS ====\n# For each selected image, create sparse activation maps by zeroing out all other feature maps\n# Keep only the target channel with its full spatial extent\n\n# This directly implements the Zeiler & Fergus approach: \n# \"Zero out all other feature maps except map f, keep the entire spatial extent of feature map f (not just single pixels)\"\n\nimport torch\nimport torch.nn.functional as F\nimport numpy as np\nfrom PIL import Image\n\nclass IsolatedActivationCreator:\n    \"\"\"Step 4: Create sparse activations for deconvolutional reconstruction\"\"\"\n    \n    def __init__(self, feature_extractor, selector, progressive_processor):\n        self.feature_extractor = feature_extractor\n        self.selector = selector\n        self.processor = progressive_processor\n        self.isolated_activations = {}\n        \n    def create_isolated_activations_for_channel(self, layer_name='conv2', channel_idx=None):\n        \"\"\"Create isolated activations for all top 9 images of a specific channel\"\"\"\n        if layer_name not in self.selector.selected_channels_data:\n            print(f\"No selected channels data for {layer_name}\")\n            return None\n            \n        if channel_idx not in self.selector.selected_channels_data[layer_name]:\n            print(f\"Channel {channel_idx} not found in selected data\")\n            return None\n            \n        channel_data = self.selector.selected_channels_data[layer_name][channel_idx]\n        top_9_images = channel_data['top_9_images']\n        \n        print(f\"\\n=== STEP 4: CREATING ISOLATED ACTIVATIONS FOR CHANNEL {channel_idx} ===\")\n        print(f\"Processing {len(top_9_images)} images for channel {channel_idx}\")\n        \n        # Initialize storage for this channel\n        if layer_name not in self.isolated_activations:\n            self.isolated_activations[layer_name] = {}\n        \n        self.isolated_activations[layer_name][channel_idx] = {\n            'images_data': [],\n            'sparse_activations': [],\n            'pooling_switches': [],\n            'original_activations': []\n        }\n        \n        # Process each of the top 9 images\n        for rank, img_data in enumerate(top_9_images, 1):\n            img_idx = img_data['image_idx']\n            img_info = img_data['image_info']\n            img_path = img_data['image_path']\n            max_activation = img_data['max_value']\n            location = img_data['location']\n            \n            print(f\"  [{rank}/9] Processing {img_info['image_id']} ({img_info['label']})\")\n            print(f\"         Max activation: {max_activation:.3f} at location {location}\")\n            \n            try:\n                # Load and process the image to get fresh activations and switches\n                img = Image.open(img_path).convert('RGB')\n                \n                # Use the same transform as in Step 1\n                from torchvision import transforms\n                transform = transforms.Compose([\n                    transforms.Resize(256),\n                    transforms.CenterCrop(224),\n                    transforms.ToTensor(),\n                    transforms.Normalize(mean=[0.485, 0.456, 0.406], \n                                       std=[0.229, 0.224, 0.225])\n                ])\n                \n                img_tensor = transform(img).unsqueeze(0).to(next(self.feature_extractor.model.parameters()).device)\n                \n                # Extract features and pooling switches\n                feature_maps, pooling_indices = self.feature_extractor.extract_features(img_tensor)\n                \n                # Get the activation tensor for our target layer\n                original_activation = feature_maps[layer_name].clone()  # Shape: [1, 192, 27, 27]\n                \n                # Create sparse activation - zero out all channels except target channel\n                sparse_activation = torch.zeros_like(original_activation)\n                sparse_activation[0, channel_idx, :, :] = original_activation[0, channel_idx, :, :]\n                \n                # Verify the max activation matches what we found earlier\n                actual_max = torch.max(sparse_activation[0, channel_idx, :, :]).item()\n                \n                print(f\"         Sparse activation created - max value: {actual_max:.3f}\")\n                \n                # Store all the data we'll need for deconvolution\n                isolated_data = {\n                    'rank': rank,\n                    'image_idx': img_idx,\n                    'image_info': img_info,\n                    'image_path': img_path,\n                    'image_tensor': img_tensor.clone(),\n                    'original_activation': original_activation.clone(),\n                    'sparse_activation': sparse_activation.clone(),\n                    'pooling_switches': {k: v.clone() for k, v in pooling_indices.items()},\n                    'max_activation': actual_max,\n                    'max_location': location,\n                    'all_feature_maps': {k: v.clone() for k, v in feature_maps.items()}\n                }\n                \n                self.isolated_activations[layer_name][channel_idx]['images_data'].append(isolated_data)\n                \n                print(f\"         ✓ Isolated activation stored for reconstruction\")\n                \n            except Exception as e:\n                print(f\"         ✗ ERROR processing image: {e}\")\n                continue\n        \n        num_successful = len(self.isolated_activations[layer_name][channel_idx]['images_data'])\n        print(f\"\\n✓ Channel {channel_idx}: {num_successful}/9 isolated activations created\")\n        \n        return self.isolated_activations[layer_name][channel_idx]\n    \n    def create_all_isolated_activations(self, layer_name='conv2'):\n        \"\"\"Create isolated activations for all selected channels\"\"\"\n        if layer_name not in self.selector.selected_channels_data:\n            print(f\"No selected channels data for {layer_name}\")\n            return\n            \n        selected_channels = list(self.selector.selected_channels_data[layer_name].keys())\n        print(f\"\\n=== CREATING ISOLATED ACTIVATIONS FOR ALL {len(selected_channels)} CHANNELS ===\")\n        \n        results = {}\n        for channel_idx in selected_channels:\n            channel_result = self.create_isolated_activations_for_channel(layer_name, channel_idx)\n            results[channel_idx] = channel_result\n        \n        return results\n    \n    def verify_isolated_activations(self, layer_name='conv2', channel_idx=None):\n        \"\"\"Verify the isolated activations were created correctly\"\"\"\n        if (layer_name not in self.isolated_activations or \n            channel_idx not in self.isolated_activations[layer_name]):\n            print(f\"No isolated activations found for {layer_name} channel {channel_idx}\")\n            return\n            \n        channel_data = self.isolated_activations[layer_name][channel_idx]\n        images_data = channel_data['images_data']\n        \n        print(f\"\\n=== VERIFICATION: CHANNEL {channel_idx} ISOLATED ACTIVATIONS ===\")\n        print(f\"Successfully created: {len(images_data)} sparse activations\")\n        \n        for i, data in enumerate(images_data, 1):\n            sparse_act = data['sparse_activation']\n            original_act = data['original_activation']\n            \n            # Check dimensions\n            print(f\"  Image {i}: Sparse activation shape: {sparse_act.shape}\")\n            \n            # Verify only target channel is non-zero\n            non_zero_channels = torch.sum(torch.sum(torch.sum(sparse_act[0], dim=2), dim=1) != 0)\n            print(f\"           Non-zero channels: {non_zero_channels.item()} (should be 1)\")\n            \n            # Check max activation\n            sparse_max = torch.max(sparse_act).item()\n            original_max = torch.max(original_act[0, channel_idx]).item()\n            print(f\"           Max activation: sparse={sparse_max:.3f}, original={original_max:.3f}\")\n            \n            # Verify switches are stored\n            switches_stored = len(data['pooling_switches'])\n            print(f\"           Pooling switches stored: {switches_stored} layers\")\n    \n    def get_isolated_data_summary(self, layer_name='conv2'):\n        \"\"\"Get summary of all isolated activations created\"\"\"\n        if layer_name not in self.isolated_activations:\n            print(f\"No isolated activations for {layer_name}\")\n            return\n            \n        print(f\"\\n=== ISOLATED ACTIVATIONS SUMMARY ({layer_name.upper()}) ===\")\n        \n        for channel_idx, channel_data in self.isolated_activations[layer_name].items():\n            num_images = len(channel_data['images_data'])\n            print(f\"Channel {channel_idx}: {num_images} isolated activations ready for deconvolution\")\n            \n            if num_images > 0:\n                # Show activation range for this channel\n                activations = [data['max_activation'] for data in channel_data['images_data']]\n                min_act, max_act = min(activations), max(activations)\n                print(f\"  Activation range: {min_act:.3f} - {max_act:.3f}\")\n                \n                # Show what pooling layers we have switches for\n                sample_switches = channel_data['images_data'][0]['pooling_switches']\n                switch_layers = list(sample_switches.keys())\n                print(f\"  Pooling switches available: {switch_layers}\")\n\n# ==== EXECUTE STEP 4 ====\nprint(\"=== STEP 4: CREATING ISOLATED ACTIVATIONS ===\")\n\n# Initialize the isolated activation creator\nactivation_creator = IsolatedActivationCreator(feature_extractor, selector, progressive_processor)\n\n# Create isolated activations for all selected channels (11 and 180)\nisolated_results = activation_creator.create_all_isolated_activations('conv2')\n\n# Verify the results\nactivation_creator.verify_isolated_activations('conv2', 11)\nactivation_creator.verify_isolated_activations('conv2', 180)\n\n# Show summary\nactivation_creator.get_isolated_data_summary('conv2')\n\nprint(f\"\\n✅ STEP 4 COMPLETE!\")\nprint(f\"✅ Created isolated activations for channels {list(isolated_results.keys())}\")\nprint(f\"✅ All data ready for deconvolutional reconstruction (Step 5)\")\nprint(f\"✅ Each sparse activation has only 1 non-zero channel with full spatial extent\")\nprint(f\"✅ Pooling switches stored for accurate unpooling\")","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-09-19T06:47:26.204593Z","iopub.execute_input":"2025-09-19T06:47:26.204921Z","iopub.status.idle":"2025-09-19T06:47:26.453186Z","shell.execute_reply.started":"2025-09-19T06:47:26.204893Z","shell.execute_reply":"2025-09-19T06:47:26.452578Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"## Step 5 - Deconvolutional Network Reconstruction","metadata":{}},{"cell_type":"code","source":"# ==== STEP 5: DECONVOLUTIONAL NETWORK RECONSTRUCTION ====\n# Project sparse activations back to pixel space using deconvnet\n# Start from AFTER pool2, not from conv2 activations\n\nimport torch\nimport torch.nn as nn\nimport torch.nn.functional as F\nimport numpy as np\nfrom PIL import Image\nimport matplotlib.pyplot as plt\n\nclass DeconvolutionalNetwork:\n    \"\"\"Step 5: Deconvolutional network to project activations back to pixel space\"\"\"\n    \n    def __init__(self, original_model):\n        self.original_model = original_model\n        self.device = next(original_model.parameters()).device\n        \n        # Extract the convolutional layers we need to reverse\n        self.layer_info = {}\n        \n        # Map AlexNet feature layers\n        alexnet_layer_map = {\n            0: ('conv1', nn.Conv2d),   2: ('pool1', nn.MaxPool2d),\n            3: ('conv2', nn.Conv2d),   5: ('pool2', nn.MaxPool2d),\n            6: ('conv3', nn.Conv2d),   8: ('conv4', nn.Conv2d),\n            10: ('conv5', nn.Conv2d),  12: ('pool5', nn.MaxPool2d)\n        }\n        \n        # Store layer information for reconstruction\n        for idx, layer in enumerate(original_model.features):\n            if idx in alexnet_layer_map:\n                layer_name, layer_type = alexnet_layer_map[idx]\n                self.layer_info[layer_name] = {\n                    'layer': layer,\n                    'type': layer_type,\n                    'index': idx\n                }\n        \n        print(\"Deconvolutional network initialized\")\n        print(f\"Available layers for reconstruction: {list(self.layer_info.keys())}\")\n    \n    def get_conv2_pooled_activation(self, sparse_activation):\n        \"\"\"\n        Apply pool2 to the conv2 sparse activation to match the expected input shape for unpooling\n        \n        The issue: We stored conv2 activations BEFORE pool2, but we need pool2 switches\n        Solution: Apply pool2 to get the correct shape, then unpool\n        \"\"\"\n        pool2_layer = self.layer_info['pool2']['layer']\n        \n        # Apply pool2 to get the shape that matches our stored switches\n        pooled_activation, _ = F.max_pool2d(\n            sparse_activation,\n            kernel_size=pool2_layer.kernel_size,\n            stride=pool2_layer.stride,\n            padding=pool2_layer.padding,\n            return_indices=True\n        )\n        \n        return pooled_activation\n    \n    def reconstruct_from_conv2(self, sparse_activation, pooling_switches):\n        \"\"\"\n        Reconstruct input from conv2 activation using deconvnet\n        \n        Corrected approach:\n        1. Start with conv2 activation [1, 192, 27, 27]\n        2. Apply pool2 to get [1, 192, 13, 13] (matches switch dimensions)\n        3. Unpool using stored switches back to conv2 size\n        4. Continue reconstruction path\n        \"\"\"\n        print(f\"\\n=== DECONVOLUTIONAL RECONSTRUCTION FROM CONV2 ===\")\n        print(f\"Input sparse activation shape: {sparse_activation.shape}\")\n        \n        # Step 0: Apply pool2 to match the switch dimensions\n        print(\"Step 0: Applying pool2 to match switch dimensions...\")\n        pooled_activation = self.get_conv2_pooled_activation(sparse_activation)\n        print(f\"   After pooling: {pooled_activation.shape}\")\n        \n        current_activation = pooled_activation\n        \n        # Step 1: Reverse pool2 (unpool using stored switches)\n        print(\"Step 1: Unpooling pool2...\")\n        if 'pool2' in pooling_switches:\n            pool2_switches = pooling_switches['pool2']\n            pool2_layer = self.layer_info['pool2']['layer']\n            \n            print(f\"   Switch shape: {pool2_switches.shape}\")\n            print(f\"   Current activation shape: {current_activation.shape}\")\n            \n            # Unpool using max_unpool2d\n            unpooled = F.max_unpool2d(\n                current_activation,\n                pool2_switches,\n                kernel_size=pool2_layer.kernel_size,\n                stride=pool2_layer.stride,\n                padding=pool2_layer.padding\n            )\n            current_activation = unpooled\n            print(f\"   After unpooling: {current_activation.shape}\")\n        \n        # Step 2: Reverse ReLU2 (apply ReLU - deconv paper keeps ReLU)\n        print(\"Step 2: Applying ReLU...\")\n        current_activation = F.relu(current_activation)\n        print(f\"   After ReLU: {current_activation.shape}\")\n        \n        # Step 3: Reverse conv2 (transposed convolution)\n        print(\"Step 3: Transposed conv2...\")\n        conv2_layer = self.layer_info['conv2']['layer']\n        \n        print(f\"   Original conv2: {conv2_layer.in_channels} -> {conv2_layer.out_channels}\")\n        print(f\"   Current activation channels: {current_activation.shape[1]}\")\n        \n        # Create transposed convolution - input/output channels swapped from original\n        transposed_conv2 = nn.ConvTranspose2d(\n            in_channels=conv2_layer.out_channels,  # 192 (conv2 output becomes deconv input)\n            out_channels=conv2_layer.in_channels,  # 64 (conv2 input becomes deconv output) \n            kernel_size=conv2_layer.kernel_size,\n            stride=conv2_layer.stride,\n            padding=conv2_layer.padding,\n            bias=False\n        ).to(self.device)\n        \n        # Use the same weights but transposed for deconvolution\n        with torch.no_grad():\n            # Original conv2 weight: [192, 64, 5, 5] (out_channels, in_channels, H, W)\n            # For deconv we need: [192, 64, 5, 5] (in_channels, out_channels, H, W)\n            # No transpose needed - just copy directly\n            transposed_conv2.weight.data = conv2_layer.weight.data\n        \n        current_activation = transposed_conv2(current_activation)\n        print(f\"   After transposed conv2: {current_activation.shape}\")\n        \n        # Step 4: Reverse pool1 (unpool using stored switches)\n        print(\"Step 4: Unpooling pool1...\")\n        if 'pool1' in pooling_switches:\n            pool1_switches = pooling_switches['pool1']\n            pool1_layer = self.layer_info['pool1']['layer']\n            \n            unpooled = F.max_unpool2d(\n                current_activation,\n                pool1_switches,\n                kernel_size=pool1_layer.kernel_size,\n                stride=pool1_layer.stride,\n                padding=pool1_layer.padding\n            )\n            current_activation = unpooled\n            print(f\"   After unpooling: {current_activation.shape}\")\n        \n        # Step 5: Reverse ReLU1\n        print(\"Step 5: Applying ReLU...\")\n        current_activation = F.relu(current_activation)\n        print(f\"   After ReLU: {current_activation.shape}\")\n        \n        # Step 6: Reverse conv1 (transposed convolution)\n        print(\"Step 6: Transposed conv1...\")\n        conv1_layer = self.layer_info['conv1']['layer']\n        \n        print(f\"   Original conv1: {conv1_layer.in_channels} -> {conv1_layer.out_channels}\")\n        print(f\"   Current activation channels: {current_activation.shape[1]}\")\n        \n        transposed_conv1 = nn.ConvTranspose2d(\n            in_channels=conv1_layer.out_channels,  # 64 (conv1 output becomes deconv input)\n            out_channels=conv1_layer.in_channels,  # 3 (conv1 input becomes deconv output)\n            kernel_size=conv1_layer.kernel_size,\n            stride=conv1_layer.stride,\n            padding=conv1_layer.padding,\n            bias=False\n        ).to(self.device)\n        \n        # Use the same weights for deconvolution\n        with torch.no_grad():\n            # Original conv1 weight: [64, 3, 11, 11] (out_channels, in_channels, H, W)\n            # For deconv we need: [64, 3, 11, 11] (in_channels, out_channels, H, W)\n            # No transpose needed - just copy directly\n            transposed_conv1.weight.data = conv1_layer.weight.data\n        \n        reconstruction = transposed_conv1(current_activation)\n        print(f\"   Final reconstruction shape: {reconstruction.shape}\")\n        \n        return reconstruction\n    \n    def reconstruct_all_images_for_channel(self, layer_name, channel_idx, activation_creator):\n        \"\"\"Reconstruct all 9 images for a specific channel\"\"\"\n        if (layer_name not in activation_creator.isolated_activations or\n            channel_idx not in activation_creator.isolated_activations[layer_name]):\n            print(f\"No isolated activations found for {layer_name} channel {channel_idx}\")\n            return []\n        \n        channel_data = activation_creator.isolated_activations[layer_name][channel_idx]\n        images_data = channel_data['images_data']\n        \n        print(f\"\\n=== RECONSTRUCTING ALL IMAGES FOR CHANNEL {channel_idx} ===\")\n        print(f\"Processing {len(images_data)} images...\")\n        \n        reconstructions = []\n        \n        for i, img_data in enumerate(images_data, 1):\n            print(f\"\\n[{i}/{len(images_data)}] Reconstructing {img_data['image_info']['image_id']}\")\n            \n            try:\n                sparse_activation = img_data['sparse_activation']\n                pooling_switches = img_data['pooling_switches']\n                \n                if layer_name == 'conv2':\n                    reconstruction = self.reconstruct_from_conv2(sparse_activation, pooling_switches)\n                else:\n                    print(f\"Reconstruction from {layer_name} not implemented yet\")\n                    continue\n                \n                # Store reconstruction data\n                reconstruction_data = {\n                    'rank': i,\n                    'image_info': img_data['image_info'],\n                    'original_image_tensor': img_data['image_tensor'],\n                    'sparse_activation': sparse_activation,\n                    'reconstruction': reconstruction.clone(),\n                    'max_activation': img_data['max_activation']\n                }\n                \n                reconstructions.append(reconstruction_data)\n                print(f\"✓ Reconstruction complete for rank {i}\")\n                \n            except Exception as e:\n                print(f\"✗ Error reconstructing image {i}: {e}\")\n                import traceback\n                traceback.print_exc()\n                continue\n        \n        print(f\"\\n✓ Channel {channel_idx}: {len(reconstructions)}/{len(images_data)} reconstructions completed\")\n        return reconstructions\n    \n    def tensor_to_image(self, tensor):\n        \"\"\"Convert tensor to displayable image (centralized function)\"\"\"\n        tensor = tensor.cpu().detach()\n        \n        # Denormalize ImageNet normalization\n        mean = torch.tensor([0.485, 0.456, 0.406]).view(3, 1, 1)\n        std = torch.tensor([0.229, 0.224, 0.225]).view(3, 1, 1)\n        \n        denorm = tensor.squeeze(0) * std + mean\n        denorm = torch.clamp(denorm, 0, 1)\n        \n        # Convert to numpy and transpose\n        img_np = denorm.numpy().transpose(1, 2, 0)\n        return img_np\n    \n    def visualize_reconstruction(self, reconstruction_data, save_path=None):\n        \"\"\"Visualize original image vs reconstruction with consistent styling\"\"\"\n        original_tensor = reconstruction_data['original_image_tensor']\n        reconstruction_tensor = reconstruction_data['reconstruction']\n        image_info = reconstruction_data['image_info']\n        max_activation = reconstruction_data['max_activation']\n        \n        # Create figure with consistent styling\n        fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(12, 6))\n        style_figure(fig)\n        \n        # Original image\n        original_img = self.tensor_to_image(original_tensor)\n        ax1.imshow(original_img)\n        ax1.set_title(f\"Original Image\\n{image_info['label']}\", \n                      color=VisualizationConfig.TEXT_COLOR)\n        style_axis(ax1)\n        \n        # Reconstruction - apply styling\n        reconstruction_img = self.tensor_to_image(reconstruction_tensor)\n        styled_recon = apply_deconv_styling(reconstruction_img)\n        ax2.imshow(styled_recon)\n        ax2.set_title(f\"Deconv Reconstruction\\nActivation: {max_activation:.2f}\",\n                      color=VisualizationConfig.TEXT_COLOR)\n        style_axis(ax2)\n        \n        plt.suptitle(f\"Deconvolutional Visualization - {image_info['image_id']}\", \n                     fontsize=14, color=VisualizationConfig.TEXT_COLOR)\n        plt.tight_layout()\n        \n        if save_path:\n            plt.savefig(save_path, dpi=150, bbox_inches='tight', \n                       facecolor=VisualizationConfig.FIGURE_BG)\n            print(f\"Visualization saved to {save_path}\")\n        \n        plt.show()\n        return fig\n\n# ==== EXECUTE STEP 5 (DYNAMIC CHANNELS) ====\nprint(\"=== STEP 5: DECONVOLUTIONAL RECONSTRUCTION (DYNAMIC) ===\")\n\n# Initialize deconvolutional network\ndeconv_net = DeconvolutionalNetwork(model)\n\n# Pick how many channels to visualize end-to-end\nTOP_K_CHANNELS = 2  # change to whatever (e.g., 2 for \"paper-style two rows\")\n\n# Derive the strongest channels from Step 2 results\nif 'top_channels' in globals() and top_channels:\n    highest_signal_channels = [c['channel'] for c in top_channels[:TOP_K_CHANNELS]]\nelse:\n    # Fallback: query analyzer now\n    top_list = analyzer.get_top_channels('conv2', top_n=TOP_K_CHANNELS)\n    highest_signal_channels = [c['channel'] for c in top_list]\n\nprint(\"Selected highest-signal channels:\", highest_signal_channels)\n\n# Quick smoke test on the first channel only\ntest_ch = highest_signal_channels[0]\nprint(f\"Testing reconstruction with Channel {test_ch}, first image...\")\ntest_recons = deconv_net.reconstruct_all_images_for_channel('conv2', test_ch, activation_creator)\n\nif test_recons:\n    print(f\"\\n✓ Test successful! Got {len(test_recons)} reconstruction(s)\")\n    \n    # Optional: peek with styled visualization\n    if len(test_recons) > 0:\n        print(\"\\nVisualizing first reconstruction with styling...\")\n        deconv_net.visualize_reconstruction(test_recons[0], \"test_reconstruction_styled.png\")\n    \n    # Full reconstruction for all selected channels\n    reconstructions_by_channel = {}\n    for ch in highest_signal_channels:\n        print(f\"\\nReconstructing full set for Channel {ch}...\")\n        reconstructions_by_channel[ch] = deconv_net.reconstruct_all_images_for_channel(\n            'conv2', ch, activation_creator\n        )\n    \n    print(\"\\n✅ STEP 5 COMPLETE!\")\n    for ch, recs in reconstructions_by_channel.items():\n        print(f\"✅ Channel {ch}: {len(recs)} reconstructions\")\n    \n    # Keep backward-compatibility variables if Step 6 still expects them\n    if len(highest_signal_channels) >= 1:\n        channelA = highest_signal_channels[0]\n        channelA_all = reconstructions_by_channel[channelA]\n    if len(highest_signal_channels) >= 2:\n        channelB = highest_signal_channels[1]\n        channelB_all = reconstructions_by_channel[channelB]\n        \nelse:\n    print(\"❌ Test failed, debugging needed\")\n\nprint(\"✅ Deconvolutional visualizations show what input patterns trigger each feature map\")\nprint(\"✅ Ready for Step 6: Create final visualization tiles\")","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-09-19T06:47:26.454001Z","iopub.execute_input":"2025-09-19T06:47:26.454184Z","iopub.status.idle":"2025-09-19T06:47:27.720634Z","shell.execute_reply.started":"2025-09-19T06:47:26.45417Z","shell.execute_reply":"2025-09-19T06:47:27.719786Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"<hr>","metadata":{}},{"cell_type":"markdown","source":"## Step 6 - Visualization","metadata":{}},{"cell_type":"code","source":"# ==== STEP 6: CREATE FINAL ZEILER & FERGUS STYLE VISUALIZATION (DYNAMIC) ====\nimport matplotlib.pyplot as plt\nimport numpy as np\nimport torch\nfrom matplotlib import gridspec\n\nclass ZeilerFergusVisualizer:\n    \"\"\"Step 6: Create final visualization matching Figure 2 from the paper (dynamic channels)\"\"\"\n    def __init__(self, deconv_net):\n        self.deconv_net = deconv_net\n\n    def tensor_to_image(self, tensor, denormalize=True):\n        \"\"\"Convert tensor to displayable image with centralized styling\"\"\"\n        t = tensor.detach().cpu()\n        if denormalize:\n            mean = torch.tensor([0.485, 0.456, 0.406]).view(3, 1, 1)\n            std  = torch.tensor([0.229, 0.224, 0.225]).view(3, 1, 1)\n            t = torch.clamp(t.squeeze(0) * std + mean, 0, 1)\n        else:\n            t = torch.clamp(t.squeeze(0), 0, 1)\n        return t.numpy().transpose(1, 2, 0)\n\n    def create_zeiler_fergus_visualization(self, reconstructions_by_channel, channels,\n                                           num_show=9, save_path=\"zeiler_fergus_visualization.png\"):\n        \"\"\"\n        Paper-style: for each channel (row), show a 3x3 grid of (reconstruction, original) pairs.\n        Uses up to the first 2 channels to match the paper layout.\n        \"\"\"\n        print(\"\\n=== STEP 6: CREATING ZEILER & FERGUS STYLE VISUALIZATION ===\")\n        assert len(channels) >= 1, \"No channels provided to visualize.\"\n        channels = channels[:2]\n        rows = len(channels)\n        \n        fig = plt.figure(figsize=(20, 6 * rows))\n        style_figure(fig)\n\n        for r, ch in enumerate(channels, start=1):\n            recs = (reconstructions_by_channel.get(ch) or [])[:num_show]\n            print(f\"Creating Channel {ch} visualization with {len(recs)} items...\")\n            self._create_channel_visualization(fig, recs, channel_idx=ch,\n                                               subplot_rows=rows, subplot_start=r)\n\n        fig.suptitle('Deconvolutional Network Visualization - Conv2 Feature Maps\\n'\n                     'Reproducing Zeiler & Fergus \"Visualizing and Understanding Convolutional Networks\"',\n                     fontsize=16, fontweight='bold', y=0.98, \n                     color=VisualizationConfig.TEXT_COLOR)\n        \n        fig.text(0.02, 0.5, 'Conv2\\nLayer', rotation=90, fontsize=14,\n                 fontweight='bold', ha='center', va='center',\n                 color=VisualizationConfig.TEXT_COLOR)\n\n        plt.tight_layout(rect=[0.03, 0.02, 0.97, 0.95])\n        plt.savefig(save_path, dpi=300, bbox_inches='tight', \n                   facecolor=VisualizationConfig.FIGURE_BG, edgecolor='none')\n        print(f\"✓ Final visualization saved to {save_path}\")\n        plt.show()\n        return fig\n\n    def _create_channel_visualization(self, fig, reconstructions, channel_idx,\n                                      subplot_rows, subplot_start):\n        \"\"\"Single channel block (3x3) with recon + original pairs.\"\"\"\n        num_show = len(reconstructions)\n        for i, rd in enumerate(reconstructions):\n            row_in_channel = i // 3\n            col = i % 3\n\n            # Reconstruction tile with styling\n            ax = fig.add_subplot(subplot_rows * 3, 6,\n                                 (row_in_channel * 6) + (col * 2) + 1 + (subplot_start - 1) * 18)\n            \n            recon_img = self.tensor_to_image(rd['reconstruction'])\n            styled_recon = apply_deconv_styling(recon_img)\n            ax.imshow(styled_recon)\n            ax.set_title(f'Rank {i+1}\\nReconst.', fontsize=10, fontweight='bold',\n                        color=VisualizationConfig.TEXT_COLOR)\n            style_axis(ax)\n\n            # Original tile\n            ax2 = fig.add_subplot(subplot_rows * 3, 6,\n                                  (row_in_channel * 6) + (col * 2) + 2 + (subplot_start - 1) * 18)\n            ax2.imshow(self.tensor_to_image(rd['original_image_tensor']))\n            act = rd['max_activation']\n            lbl = rd['image_info']['label']\n            ax2.set_title(f'Original\\n{lbl[:12]}...\\nAct: {act:.1f}', fontsize=9,\n                         color=VisualizationConfig.TEXT_COLOR)\n            style_axis(ax2)\n\n        y_pos = 0.75 if subplot_start == 1 else 0.25\n        fig.text(0.5, y_pos + 0.15, f'Channel {channel_idx} - Top {num_show} Activations',\n                 fontsize=14, fontweight='bold', ha='center',\n                 color=VisualizationConfig.TEXT_COLOR)\n\n    def create_paper_style_grid(self, reconstructions_by_channel, channels,\n                                top_show=9, save_path=\"paper_style_grid.png\"):\n        \"\"\"\n        Compact grid like the paper:\n        Left 3 columns = reconstructions, Right 3 columns = originals (top 3 each).\n        Shows up to 2 channels (rows).\n        \"\"\"\n        print(\"\\n=== CREATING PAPER-STYLE GRID LAYOUT ===\")\n        assert len(channels) >= 1, \"No channels provided to visualize.\"\n        channels = channels[:2]\n\n        fig, axes = plt.subplots(len(channels), 6, figsize=(18, 6 * len(channels)))\n        style_figure(fig)\n        \n        if len(channels) == 1:\n            axes = np.expand_dims(axes, axis=0)\n\n        for r, ch in enumerate(channels):\n            recs = (reconstructions_by_channel.get(ch) or [])[:top_show]\n            print(f\"Processing Channel {ch}...\")\n\n            # Left: 3 reconstructions with styling\n            for i in range(3):\n                ax = axes[r, i]\n                style_axis(ax)\n                if i < len(recs):\n                    recon_img = self.tensor_to_image(recs[i]['reconstruction'])\n                    styled_recon = apply_deconv_styling(recon_img)\n                    ax.imshow(styled_recon)\n                    ax.set_title(f'Ch{ch} R{i+1}\\nReconst', fontsize=10, fontweight='bold',\n                                color=VisualizationConfig.TEXT_COLOR)\n\n            # Right: 3 originals\n            for i in range(3):\n                ax = axes[r, i + 3]\n                style_axis(ax)\n                if i < len(recs):\n                    img = self.tensor_to_image(recs[i]['original_image_tensor'])\n                    act = recs[i]['max_activation']\n                    lbl = recs[i]['image_info']['label'].replace(' ', '\\n')[:15]\n                    ax.imshow(img)\n                    ax.set_title(f'{lbl}\\nAct: {act:.1f}', fontsize=9,\n                                color=VisualizationConfig.TEXT_COLOR)\n\n        fig.text(0.5, 0.95, 'Deconvolutional Network Feature Visualization',\n                 fontsize=16, fontweight='bold', ha='center',\n                 color=VisualizationConfig.TEXT_COLOR)\n        fig.text(0.25, 0.02, 'Reconstructions', fontsize=12, fontweight='bold', ha='center',\n                 color=VisualizationConfig.TEXT_COLOR)\n        fig.text(0.75, 0.02, 'Original Images', fontsize=12, fontweight='bold', ha='center',\n                 color=VisualizationConfig.TEXT_COLOR)\n\n        line = plt.Line2D([0.5, 0.5], [0.05, 0.92], color='gray', linestyle='--',\n                          alpha=0.5, transform=fig.transFigure)\n        fig.add_artist(line)\n\n        plt.tight_layout(rect=[0, 0.05, 1, 0.92])\n        plt.savefig(save_path, dpi=300, bbox_inches='tight', \n                   facecolor=VisualizationConfig.FIGURE_BG)\n        print(f\"✓ Paper-style grid saved to {save_path}\")\n        plt.show()\n        return fig\n\n    def create_detailed_comparison(self, reconstructions_by_channel, channels,\n                                   top_k=6, save_path=\"detailed_comparison.png\"):\n        \"\"\"\n        Detailed side-by-side comparisons. Shows top_k per channel (default 6).\n        Supports any number of channels; defaults to first two for a compact page.\n        \"\"\"\n        print(\"\\n=== CREATING DETAILED CHANNEL COMPARISON ===\")\n        assert len(channels) >= 1, \"No channels provided to visualize.\"\n        channels = channels[:2]\n\n        rows_total = top_k * len(channels)\n        fig, axes = plt.subplots(rows_total, 4, figsize=(16, 4 * rows_total))\n        style_figure(fig)\n        \n        if rows_total == 1:\n            axes = np.expand_dims(axes, axis=0)\n\n        for block, ch in enumerate(channels):\n            recs = (reconstructions_by_channel.get(ch) or [])[:top_k]\n            start_row = block * top_k\n            title = f\"Channel {ch}\"\n            print(f\"Creating detailed view for {title}...\")\n\n            for i, rd in enumerate(recs):\n                row = start_row + i\n\n                # Original\n                axes[row, 0].imshow(self.tensor_to_image(rd['original_image_tensor']))\n                axes[row, 0].set_title('Original Image', fontsize=10, fontweight='bold',\n                                      color=VisualizationConfig.TEXT_COLOR)\n                style_axis(axes[row, 0])\n\n                # Reconstruction with styling\n                recon_img = self.tensor_to_image(rd['reconstruction'])\n                styled_recon = apply_deconv_styling(recon_img)\n                axes[row, 1].imshow(styled_recon)\n                axes[row, 1].set_title('Deconv Reconstruction', fontsize=10, fontweight='bold',\n                                      color=VisualizationConfig.TEXT_COLOR)\n                style_axis(axes[row, 1])\n\n                # Enhanced with config\n                enhanced_factor = VisualizationConfig.STANDARD_ENHANCE_FACTOR\n                enh = np.clip(styled_recon * enhanced_factor, 0, 1)\n                axes[row, 2].imshow(enh)\n                axes[row, 2].set_title(f'Enhanced ({enhanced_factor:.1f}x)', fontsize=10, fontweight='bold',\n                                      color=VisualizationConfig.TEXT_COLOR)\n                style_axis(axes[row, 2])\n\n                # Info panel\n                info = rd.get('image_info', {})\n                axes[row, 3].text(0.1, 0.8, f\"Image: {info.get('image_id', '?')}\",\n                                  transform=axes[row, 3].transAxes, fontsize=8,\n                                  color=VisualizationConfig.TEXT_COLOR)\n                axes[row, 3].text(0.1, 0.6, f\"Label: {info.get('label', '?')}\",\n                                  transform=axes[row, 3].transAxes, fontsize=8,\n                                  color=VisualizationConfig.TEXT_COLOR)\n                axes[row, 3].text(0.1, 0.4, f\"Activation: {rd['max_activation']:.3f}\",\n                                  transform=axes[row, 3].transAxes, fontsize=8, fontweight='bold',\n                                  color=VisualizationConfig.TEXT_COLOR)\n                axes[row, 3].text(0.1, 0.2, f\"Rank: {i+1}/{top_k}\",\n                                  transform=axes[row, 3].transAxes, fontsize=8,\n                                  color=VisualizationConfig.TEXT_COLOR)\n                style_axis(axes[row, 3])\n\n            # Section label\n            block_center_y = 1.0 - ((start_row + top_k/2) / rows_total)\n            fig.text(0.02, block_center_y, title, rotation=90,\n                     fontsize=12, fontweight='bold', ha='center', va='center',\n                     color=VisualizationConfig.TEXT_COLOR)\n\n        plt.suptitle('Detailed Deconvolutional Analysis - Conv2 Feature Maps',\n                     fontsize=16, fontweight='bold', color=VisualizationConfig.TEXT_COLOR)\n        plt.tight_layout(rect=[0.05, 0.02, 1, 0.95])\n        plt.savefig(save_path, dpi=300, bbox_inches='tight', \n                   facecolor=VisualizationConfig.FIGURE_BG)\n        print(f\"✓ Detailed comparison saved to {save_path}\")\n        plt.show()\n        return fig","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-09-19T06:47:27.726821Z","iopub.execute_input":"2025-09-19T06:47:27.727107Z","iopub.status.idle":"2025-09-19T06:47:27.856339Z","shell.execute_reply.started":"2025-09-19T06:47:27.72708Z","shell.execute_reply":"2025-09-19T06:47:27.855746Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"\n# ==== EXECUTE STEP 6 ====\nprint(\"=== STEP 6: CREATING FINAL VISUALIZATIONS ===\")\n\nvisualizer = ZeilerFergusVisualizer(deconv_net)\n\n# From Step 5:\n# - highest_signal_channels: list[int], in descending “strength” order\n# - reconstructions_by_channel: dict[int -> list[reconstruction_data]]\nchannels = highest_signal_channels[:2]  # keep two rows like the paper\nprint(\"Channels to visualize:\", channels)\nprint({ch: len(reconstructions_by_channel.get(ch, [])) for ch in channels})\nassert all(len(reconstructions_by_channel.get(ch, [])) > 0 for ch in channels), \\\n    \"One of the channels has 0 reconstructions.\"\n\n# 1) Main Z&F-style figure (3x3 per channel)\nmain_fig = visualizer.create_zeiler_fergus_visualization(\n    reconstructions_by_channel, channels,\n    num_show=9,\n    save_path=\"zeiler_fergus_conv2_visualization.png\"\n)\n\n# 2) Compact paper-style grid (3 recon + 3 originals per channel)\ngrid_fig = visualizer.create_paper_style_grid(\n    reconstructions_by_channel, channels,\n    top_show=9,\n    save_path=\"conv2_paper_style_grid.png\"\n)\n\n# 3) Detailed comparison (top-6 per channel)\ndetail_fig = visualizer.create_detailed_comparison(\n    reconstructions_by_channel, channels,\n    top_k=6,\n    save_path=\"conv2_detailed_comparison.png\"\n)\n\nprint(\"\\n✅ STEP 6 COMPLETE!\")\nprint(\"✅ Created three different visualizations:\")\nprint(\"   1. Main Zeiler & Fergus style: zeiler_fergus_conv2_visualization.png\")\nprint(\"   2. Paper-style grid: conv2_paper_style_grid.png\")\nprint(\"   3. Detailed comparison: conv2_detailed_comparison.png\")\n\nprint(\"\\n=== VISUALIZATION SUMMARY ===\")\nprint(\"Layer analyzed: Conv2\")\nprint(f\"Channels visualized: {len(channels)} (strongest globally)\")\nprint(\"Images per channel (main fig): 9 (top activations)\")\nprint(f\"Total reconstructions shown: {sum(len(reconstructions_by_channel.get(ch, [])[:9]) for ch in channels)}\")\nprint(\"Deconv path: Conv2 → (pool2↩) → Conv1 → Input (224x224)\")","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-09-19T06:47:27.857215Z","iopub.execute_input":"2025-09-19T06:47:27.857526Z","iopub.status.idle":"2025-09-19T06:47:50.570013Z","shell.execute_reply.started":"2025-09-19T06:47:27.857501Z","shell.execute_reply":"2025-09-19T06:47:50.569246Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# ==== SPATIAL MAPPING VISUALIZATION WITH 64x64 SQUARES (DYNAMIC, STYLED) ====\nimport torch\nimport matplotlib.pyplot as plt\nimport matplotlib.patches as patches\nimport numpy as np\n\nclass SpatialMappingVisualizer:\n    \"\"\"Visualize spatial correspondence between original images and deconv reconstructions\"\"\"\n    def __init__(self, deconv_net):\n        self.deconv_net = deconv_net\n\n    def tensor_to_image(self, tensor, denormalize=True):\n        \"\"\"Convert tensor to displayable image (consistent with other classes)\"\"\"\n        t = tensor.detach().cpu()\n        if denormalize:\n            mean = torch.tensor([0.485, 0.456, 0.406]).view(3, 1, 1)\n            std  = torch.tensor([0.229, 0.224, 0.225]).view(3, 1, 1)\n            t = torch.clamp(t.squeeze(0) * std + mean, 0, 1)\n        else:\n            t = torch.clamp(t.squeeze(0), 0, 1)\n        return t.numpy().transpose(1, 2, 0)\n\n    def calculate_receptive_field_mapping(self, conv2_location,\n                                          conv2_size=(27, 27), input_size=(224, 224)):\n        \"\"\"Map a conv2 (y,x) position to input-image center coordinates (AlexNet conv1→pool1→conv2).\"\"\"\n        stride_total = 8   # 4 (conv1) * 2 (pool1)\n        rf_size = 51       # combined RF at conv2\n        y, x = conv2_location\n        cx = x * stride_total + rf_size // 2\n        cy = y * stride_total + rf_size // 2\n        return cy, cx\n\n    def find_max_activation_location(self, sparse_activation, channel_idx):\n        \"\"\"Find spatial argmax in [1, 192, 27, 27] for a given channel.\"\"\"\n        ch_map = sparse_activation[0, channel_idx]  # [27,27]\n        max_val = torch.max(ch_map).item()\n        locs = (ch_map == max_val).nonzero(as_tuple=False)\n        if len(locs) > 0:\n            y, x = locs[0].tolist()\n            return y, x, max_val\n        return 13, 13, 0.0  # fallback center\n\n    def create_spatial_mapping_visualization(self, reconstructions_by_channel, channels,\n                                             num_show=6, gap_rows=2,\n                                             save_path=\"spatial_mapping_with_squares.png\"):\n        \"\"\"\n        Dynamic: dict[channel] -> list[reconstruction_data], and a list of channels.\n        Renders up to 2 channels, each with `num_show` items.\n        `gap_rows` adds blank spacer rows between channel blocks.\n        \"\"\"\n        print(\"\\n=== SPATIAL MAPPING VISUALIZATION ===\")\n        assert len(channels) >= 1, \"No channels provided to visualize.\"\n        channels = channels[:2]\n\n        rows_per_block = num_show\n        rows_total = rows_per_block * len(channels) + max(0, len(channels) - 1) * gap_rows\n\n        fig, axes = plt.subplots(rows_total, 6, figsize=(18, max(1, rows_total) * 3.2))\n        style_figure(fig)\n        \n        if rows_total == 1:\n            axes = np.expand_dims(axes, 0)  # ensure 2D indexing\n\n        for block, ch in enumerate(channels):\n            recs = (reconstructions_by_channel.get(ch) or [])[:num_show]\n            print(f\"\\nProcessing Channel {ch} (items: {len(recs)})...\")\n            start_row = block * (rows_per_block + gap_rows)\n\n            for i, rd in enumerate(recs):\n                row = start_row + i\n\n                # Tensors/images\n                orig_img = self.tensor_to_image(rd['original_image_tensor'])\n                recon_img = self.tensor_to_image(rd['reconstruction'])\n                sparse = rd['sparse_activation']\n\n                # Locate max in conv2 for this channel\n                max_y, max_x, max_val = self.find_max_activation_location(sparse, ch)\n                print(f\"  Rank {i+1}: max {max_val:.3f} at conv2 ({max_y}, {max_x})\")\n\n                # Map to input coords + clamp 64x64 crop\n                cy, cx = self.calculate_receptive_field_mapping((max_y, max_x))\n                sq = 64\n                top  = int(np.clip(cy - sq // 2, 0, 224 - sq))\n                left = int(np.clip(cx - sq // 2, 0, 224 - sq))\n\n                # 0: original + red square\n                axes[row, 0].imshow(orig_img)\n                axes[row, 0].set_title(f'Ch{ch} Rank {i+1}\\nOriginal', fontsize=10, fontweight='bold',\n                                      color=VisualizationConfig.TEXT_COLOR)\n                axes[row, 0].add_patch(patches.Rectangle((left, top), sq, sq,\n                                                         linewidth=2, edgecolor='red', facecolor='none'))\n                style_axis(axes[row, 0])\n\n                # 1: reconstruction + same square with styling\n                styled_recon = apply_deconv_styling(recon_img)\n                axes[row, 1].imshow(styled_recon)\n                axes[row, 1].set_title(f'Deconv\\nAct: {max_val:.1f}', fontsize=10, fontweight='bold',\n                                      color=VisualizationConfig.TEXT_COLOR)\n                axes[row, 1].add_patch(patches.Rectangle((left, top), sq, sq,\n                                                         linewidth=2, edgecolor='red', facecolor='none'))\n                style_axis(axes[row, 1])\n\n                # 2: original crop\n                axes[row, 2].imshow(orig_img[top:top+sq, left:left+sq])\n                axes[row, 2].set_title('Original\\nCrop 64×64', fontsize=10, fontweight='bold',\n                                      color=VisualizationConfig.TEXT_COLOR)\n                style_axis(axes[row, 2])\n\n                # 3: reconstruction crop with styling\n                rc = styled_recon[top:top+sq, left:left+sq]\n                axes[row, 3].imshow(rc)\n                axes[row, 3].set_title('Deconv\\nCrop 64×64', fontsize=10, fontweight='bold',\n                                      color=VisualizationConfig.TEXT_COLOR)\n                style_axis(axes[row, 3])\n\n                # 4: enhanced crop using config\n                enhanced_factor = VisualizationConfig.STANDARD_ENHANCE_FACTOR\n                enh = np.clip(rc * enhanced_factor, 0, 1)\n                axes[row, 4].imshow(enh)\n                axes[row, 4].set_title(f'Enhanced\\nCrop ({enhanced_factor:.1f}×)', fontsize=10, fontweight='bold',\n                                      color=VisualizationConfig.TEXT_COLOR)\n                style_axis(axes[row, 4])\n\n                # 5: info panel\n                info = rd.get('image_info', {})\n                info_text = (\n                    f\"Image: {info.get('image_id','?')}\\n\"\n                    f\"Label: {info.get('label','?')}\\n\"\n                    f\"Conv2: ({max_y},{max_x})\\n\"\n                    f\"Input: ({cy},{cx})\\n\"\n                    f\"Crop: [{top}:{top+sq}, {left}:{left+sq}]\"\n                )\n                axes[row, 5].text(0.1, 0.5, info_text, transform=axes[row, 5].transAxes,\n                                  fontsize=8, va='center', family='monospace',\n                                  color=VisualizationConfig.TEXT_COLOR)\n                axes[row, 5].set_title('Coordinates', fontsize=10, fontweight='bold',\n                                      color=VisualizationConfig.TEXT_COLOR)\n                style_axis(axes[row, 5])\n\n            # Blank spacer rows between channel blocks\n            for gr in range(gap_rows):\n                gap_row = start_row + rows_per_block + gr\n                if gap_row < rows_total:\n                    for c in range(6):\n                        style_axis(axes[gap_row, c])\n\n            # Side label at the vertical center of this block\n            center_row = start_row + rows_per_block / 2 - 0.5\n            y_norm = 1.0 - (center_row + 0.5) / rows_total\n            fig.text(0.02, y_norm, f'Channel {ch}', rotation=90, fontsize=12,\n                     fontweight='bold', ha='center', va='center',\n                     color=VisualizationConfig.TEXT_COLOR)\n\n        plt.suptitle('Spatial Mapping: Conv2 Activations → Input Regions\\n'\n                     'Red squares show corresponding 64×64 regions',\n                     fontsize=14, fontweight='bold', color=VisualizationConfig.TEXT_COLOR)\n        plt.tight_layout(rect=[0.05, 0.02, 1, 0.94])\n        fig.subplots_adjust(hspace=0.8)  # extra vertical space between rows\n        plt.savefig(save_path, dpi=300, bbox_inches='tight', \n                   facecolor=VisualizationConfig.FIGURE_BG)\n        print(f\"✓ Spatial mapping visualization saved to {save_path}\")\n        plt.show()\n        return fig\n\n    def create_receptive_field_diagram(self):\n        \"\"\"Create a diagram showing the receptive field mapping\"\"\"\n        fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(12, 5))\n        style_figure(fig)\n\n        # Conv2 feature map\n        conv2_grid = np.zeros((27, 27))\n        conv2_grid[13, 13] = 1  # center\n        ax1.imshow(conv2_grid, cmap='Blues')\n        ax1.set_title('Conv2 Feature Map\\n27×27 spatial resolution', fontweight='bold',\n                     color=VisualizationConfig.TEXT_COLOR)\n        ax1.set_xlabel('X coordinate', color=VisualizationConfig.TEXT_COLOR)\n        ax1.set_ylabel('Y coordinate', color=VisualizationConfig.TEXT_COLOR)\n        for i in range(28):\n            ax1.axhline(i - 0.5, color='gray', alpha=0.3, linewidth=0.5)\n            ax1.axvline(i - 0.5, color='gray', alpha=0.3, linewidth=0.5)\n        ax1.add_patch(patches.Rectangle((12.5, 12.5), 1, 1,\n                                        linewidth=1, edgecolor='red', facecolor='red', alpha=0.5))\n        ax1.text(13, 13, '(13,13)', ha='center', va='center', fontweight='bold', color='white')\n        style_axis(ax1)\n\n        # Input image\n        input_grid = np.zeros((224, 224, 3))\n        ax2.imshow(input_grid)\n        ax2.set_title('Input Image\\n224×224 pixels', fontweight='bold',\n                     color=VisualizationConfig.TEXT_COLOR)\n        ax2.set_xlabel('X coordinate', color=VisualizationConfig.TEXT_COLOR)\n        ax2.set_ylabel('Y coordinate', color=VisualizationConfig.TEXT_COLOR)\n\n        # RF + crop at center\n        cy, cx = self.calculate_receptive_field_mapping((13, 13))\n        rf_size = 51\n        rf_top, rf_left = cy - rf_size // 2, cx - rf_size // 2\n        ax2.add_patch(patches.Rectangle((rf_left, rf_top), rf_size, rf_size,\n                                        linewidth=1, edgecolor='red', facecolor='none'))\n        ax2.text(cx, cy, f'RF: {rf_size}×{rf_size}', ha='center', va='center',\n                 fontweight='bold', color='blue',\n                 bbox=dict(boxstyle=\"round,pad=0.3\", facecolor=\"white\", alpha=0.8))\n\n        crop = 64\n        ct, cl = cy - crop // 2, cx - crop // 2\n        ax2.add_patch(patches.Rectangle((cl, ct), crop, crop,\n                                        linewidth=2, edgecolor='red', facecolor='none'))\n        ax2.text(cx, ct - 10, f'Crop: {crop}×{crop}', ha='center', va='top',\n                 fontweight='bold', color='red')\n        style_axis(ax2)\n\n        plt.tight_layout()\n        plt.show()\n\n        print(\"Receptive field mapping:\")\n        print(f\"  Conv2 position (13,13) → input center ({cy},{cx})\")\n        print(f\"  Receptive field size: {rf_size}×{rf_size}\")\n        print(f\"  Crop region: {crop}×{crop}\")\n\n# ==== TIGHT DUAL CROPS — SINGLE CHANNEL FIG (PAPER-STYLED DECONV) ====\ndef make_tight_dual_crops_single_channel(reconstructions_by_channel,\n                                         channel, num_show=6, crop_size=64,\n                                         save_path=None):\n    \"\"\"\n    One figure per channel:\n      2 rows × 6 cols — left 3 cols = DECONV crops, right 3 cols = ORIGINAL crops.\n    \"\"\"\n    recs = (reconstructions_by_channel.get(channel) or [])[:num_show]\n    assert len(recs) > 0, f\"No reconstructions for channel {channel}\"\n\n    def _find_max_loc(sparse_activation, ch):\n        m = sparse_activation[0, ch]  # [27, 27]\n        vmax = torch.max(m).item()\n        ys, xs = (m == vmax).nonzero(as_tuple=True)\n        y = int(ys[0]) if len(ys) else 13\n        x = int(xs[0]) if len(xs) else 13\n        return y, x, vmax\n\n    def _map_conv2_to_input(yx, stride_total=8, rf_size=51):\n        y, x = yx\n        return int(y * stride_total + rf_size // 2), int(x * stride_total + rf_size // 2)\n\n    def _crop_coords(rd, ch, crop_size):\n        my, mx, _ = _find_max_loc(rd['sparse_activation'], ch)\n        cy, cx = _map_conv2_to_input((my, mx))\n        top  = int(np.clip(cy - crop_size // 2, 0, 224 - crop_size))\n        left = int(np.clip(cx - crop_size // 2, 0, 224 - crop_size))\n        return top, left\n\n    def _tensor_to_img(t, denorm=True):\n        t = t.detach().cpu()\n        if denorm:\n            mean = torch.tensor([0.485, 0.456, 0.406]).view(3,1,1)\n            std  = torch.tensor([0.229, 0.224, 0.225]).view(3,1,1)\n            t = torch.clamp(t.squeeze(0) * std + mean, 0, 1)\n        else:\n            t = torch.clamp(t.squeeze(0), 0, 1)\n        return t.numpy().transpose(1, 2, 0)\n\n    rows, cols = 2, 6\n    fig = plt.figure(figsize=(cols*2.4, rows*2.4))\n    style_figure(fig)\n    \n    gs = gridspec.GridSpec(rows, cols, figure=fig,\n                           left=0.02, right=0.98, top=0.9, bottom=0.06,\n                           wspace=0.02, hspace=0.08)\n\n    for i, rd in enumerate(recs):\n        r = i // 3\n        c = i % 3\n\n        top, left = _crop_coords(rd, channel, crop_size)\n        orig   = _tensor_to_img(rd['original_image_tensor'], True)\n        deconv = _tensor_to_img(rd['reconstruction'], True)\n\n        orig_crop   = orig[top:top+crop_size,   left:left+crop_size]\n        deconv_crop = deconv[top:top+crop_size, left:left+crop_size]\n        \n        # Apply centralized styling only to deconv crop\n        deconv_crop = apply_deconv_styling(deconv_crop)\n\n        # Deconv crop (left half)\n        axL = fig.add_subplot(gs[r, c])\n        axL.imshow(deconv_crop)\n        style_axis(axL)\n\n        # Original crop (right half)\n        axR = fig.add_subplot(gs[r, c+3])\n        axR.imshow(orig_crop)\n        style_axis(axR)\n\n    fig.text(0.25, 0.95, 'Deconv crops', color=VisualizationConfig.TEXT_COLOR,\n             ha='center', va='top', fontsize=11, fontweight='bold')\n    fig.text(0.75, 0.95, 'Original crops', color=VisualizationConfig.TEXT_COLOR,\n             ha='center', va='top', fontsize=11, fontweight='bold')\n    fig.text(0.01, 0.5, f'Channel {channel}', color=VisualizationConfig.TEXT_COLOR,\n             rotation=90, va='center', ha='left', fontsize=11, fontweight='bold')\n\n    if save_path is None:\n        save_path = f'conv2_tight_dual_crops_ch{channel}.png'\n    plt.savefig(save_path, dpi=300, bbox_inches='tight', \n               facecolor=VisualizationConfig.FIGURE_BG)\n    print(f\"✓ Saved: {save_path}  •  channel={channel}  •  n={len(recs)}\")\n    plt.show()\n    return fig\n\n# ==== EXECUTE SPATIAL MAPPING VISUALIZATION ====\nprint(\"=== SPATIAL MAPPING VISUALIZATION ===\")\nspatial_viz = SpatialMappingVisualizer(deconv_net)\n\nprint(\"Creating receptive field mapping diagram...\")\nspatial_viz.create_receptive_field_diagram()\n\nprint(\"\\nCreating spatial mapping visualization...\")\nchannels = highest_signal_channels[:2]  # same two you visualize elsewhere\nspatial_fig = spatial_viz.create_spatial_mapping_visualization(\n    reconstructions_by_channel, channels,\n    num_show=6,          # show 6 per channel\n    gap_rows=2,          # add two blank spacer rows between channels\n    save_path=\"spatial_mapping_with_squares.png\"\n)\n\nprint(\"\\n=== Run per-channel tight dual crops figs ===\")\ntwo_channels = highest_signal_channels[:2]\nprint(\"Rendering single-channel figs for:\", two_channels)\nfor ch in two_channels:\n    make_tight_dual_crops_single_channel(\n        reconstructions_by_channel, ch,\n        num_show=6, crop_size=64,\n        save_path=f'conv2_tight_dual_crops_ch{ch}.png'\n    )\n\nprint(\"\\n✅ SPATIAL MAPPING COMPLETE!\")\nprint(\"✅ Red squares show corresponding regions in original and reconstruction\")\nprint(\"✅ Cropped patches visualize what the feature truly latched onto\")\nprint(\"✅ Matches the Zeiler & Fergus-style spatial correspondence\")","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-09-19T06:47:50.570961Z","iopub.execute_input":"2025-09-19T06:47:50.571277Z","iopub.status.idle":"2025-09-19T06:48:06.184261Z","shell.execute_reply.started":"2025-09-19T06:47:50.571247Z","shell.execute_reply":"2025-09-19T06:48:06.183441Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"# ==== TIGHT DUAL CROPS — SINGLE CHANNEL FIG (PAPER-STYLED DECONV) ====\nimport numpy as np\nimport torch\nimport matplotlib.pyplot as plt\nfrom matplotlib import gridspec\n\n# --- helpers (now using centralized functions) -------------------------\n\ndef _tensor_to_img(t, denorm=True):\n    \"\"\"Use centralized tensor conversion (keeping for local compatibility)\"\"\"\n    t = t.detach().cpu()\n    if denorm:\n        mean = torch.tensor([0.485, 0.456, 0.406]).view(3,1,1)\n        std  = torch.tensor([0.229, 0.224, 0.225]).view(3,1,1)\n        t = torch.clamp(t.squeeze(0) * std + mean, 0, 1)\n    else:\n        t = torch.clamp(t.squeeze(0), 0, 1)\n    return t.numpy().transpose(1, 2, 0)\n\ndef _find_max_loc(sparse_activation, ch):\n    m = sparse_activation[0, ch]  # [27, 27]\n    vmax = torch.max(m).item()\n    ys, xs = (m == vmax).nonzero(as_tuple=True)\n    y = int(ys[0]) if len(ys) else 13\n    x = int(xs[0]) if len(xs) else 13\n    return y, x, vmax\n\ndef _map_conv2_to_input(yx, stride_total=8, rf_size=51):\n    y, x = yx\n    return int(y * stride_total + rf_size // 2), int(x * stride_total + rf_size // 2)\n\ndef _crop_coords(rd, ch, crop_size):\n    my, mx, _ = _find_max_loc(rd['sparse_activation'], ch)\n    cy, cx = _map_conv2_to_input((my, mx))\n    top  = int(np.clip(cy - crop_size // 2, 0, 224 - crop_size))\n    left = int(np.clip(cx - crop_size // 2, 0, 224 - crop_size))\n    return top, left\n\n# --- main figure (now using centralized styling) ----------------------\n\ndef make_tight_dual_crops_single_channel(reconstructions_by_channel,\n                                         channel, num_show=6, crop_size=64,\n                                         save_path=None):\n    \"\"\"\n    One figure per channel:\n      2 rows × 6 cols — left 3 cols = DECONV crops, right 3 cols = ORIGINAL crops.\n    Now uses centralized styling configuration.\n    \"\"\"\n    recs = (reconstructions_by_channel.get(channel) or [])[:num_show]\n    assert len(recs) > 0, f\"No reconstructions for channel {channel}\"\n\n    rows, cols = 2, 6\n    fig = plt.figure(figsize=(cols*2.4, rows*2.4))\n    style_figure(fig)  # Apply centralized figure styling\n    \n    gs = gridspec.GridSpec(rows, cols, figure=fig,\n                           left=0.02, right=0.98, top=0.9, bottom=0.06,\n                           wspace=0.02, hspace=0.08)\n\n    for i, rd in enumerate(recs):\n        r = i // 3\n        c = i % 3\n\n        top, left = _crop_coords(rd, channel, crop_size)\n        orig   = _tensor_to_img(rd['original_image_tensor'], True)\n        deconv = _tensor_to_img(rd['reconstruction'], True)\n\n        orig_crop   = orig[top:top+crop_size,   left:left+crop_size]\n        deconv_crop = deconv[top:top+crop_size, left:left+crop_size]\n        \n        # Apply centralized deconv styling\n        deconv_crop = apply_deconv_styling(deconv_crop)\n\n        # Deconv crop (left half)\n        axL = fig.add_subplot(gs[r, c])\n        axL.imshow(deconv_crop)\n        style_axis(axL)  # Apply centralized axis styling\n\n        # Original crop (right half)\n        axR = fig.add_subplot(gs[r, c+3])\n        axR.imshow(orig_crop)\n        style_axis(axR)  # Apply centralized axis styling\n\n    # Use centralized text color configuration\n    fig.text(0.25, 0.95, 'Deconv crops', color=VisualizationConfig.TEXT_COLOR,\n             ha='center', va='top', fontsize=11, fontweight='bold')\n    fig.text(0.75, 0.95, 'Original crops', color=VisualizationConfig.TEXT_COLOR,\n             ha='center', va='top', fontsize=11, fontweight='bold')\n    fig.text(0.01, 0.5, f'Channel {channel}', color=VisualizationConfig.TEXT_COLOR,\n             rotation=90, va='center', ha='left', fontsize=11, fontweight='bold')\n\n    if save_path is None:\n        save_path = f'conv2_tight_dual_crops_ch{channel}.png'\n    \n    # Use centralized background color for saving\n    plt.savefig(save_path, dpi=300, bbox_inches='tight', \n               facecolor=VisualizationConfig.FIGURE_BG)\n    print(f\"✓ Saved: {save_path}  •  channel={channel}  •  n={len(recs)}\")\n    plt.show()\n    return fig\n\n# === Execute Step 6 Visualizations ===\nprint(\"\\n=== STEP 6: CREATING ALL FINAL VISUALIZATIONS ===\")\n\n# Initialize visualizers\nzeiler_viz = ZeilerFergusVisualizer(deconv_net)\nspatial_viz = SpatialMappingVisualizer(deconv_net)\n\n# 1. Create Zeiler & Fergus style visualization\nprint(\"\\n1. Creating Zeiler & Fergus style visualization...\")\nzeiler_fig = zeiler_viz.create_zeiler_fergus_visualization(\n    reconstructions_by_channel, highest_signal_channels,\n    num_show=9, save_path=\"zeiler_fergus_conv2_visualization.png\"\n)\n\n# 2. Create paper-style grid\nprint(\"\\n2. Creating paper-style grid layout...\")\ngrid_fig = zeiler_viz.create_paper_style_grid(\n    reconstructions_by_channel, highest_signal_channels,\n    top_show=9, save_path=\"paper_style_grid_conv2.png\"\n)\n\n# 3. Create detailed comparison\nprint(\"\\n3. Creating detailed channel comparison...\")\ndetailed_fig = zeiler_viz.create_detailed_comparison(\n    reconstructions_by_channel, highest_signal_channels,\n    top_k=6, save_path=\"detailed_comparison_conv2.png\"\n)\n\n# 4. Create spatial mapping visualization\nprint(\"\\n4. Creating spatial mapping visualization...\")\nprint(\"Creating receptive field mapping diagram...\")\nspatial_viz.create_receptive_field_diagram()\n\nprint(\"\\nCreating spatial mapping visualization...\")\nspatial_fig = spatial_viz.create_spatial_mapping_visualization(\n    reconstructions_by_channel, highest_signal_channels,\n    num_show=6, gap_rows=2, save_path=\"spatial_mapping_conv2.png\"\n)\n\n# 5. Create tight dual crops per channel\nprint(\"\\n5. Creating tight dual crops visualizations...\")\ntwo_channels = highest_signal_channels[:2]\nprint(\"Rendering single-channel figs for:\", two_channels)\nfor ch in two_channels:\n    make_tight_dual_crops_single_channel(\n        reconstructions_by_channel, ch,\n        num_show=6, crop_size=64,\n        save_path=f'conv2_tight_dual_crops_ch{ch}.png'\n    )\n\nprint(\"\\n✅ STEP 6 COMPLETE!\")\nprint(\"✅ Created comprehensive conv2 feature visualizations\")\nprint(\"✅ Generated multiple visualization styles:\")\nprint(\"   • Zeiler & Fergus paper-style layout\")\nprint(\"   • Paper-style grid comparison\")\nprint(\"   • Detailed side-by-side analysis\")\nprint(\"   • Spatial mapping with activation regions\")\nprint(\"   • Tight dual crops per channel\")\nprint(\"✅ All visualizations use consistent styling from VisualizationConfig\")\nprint(\"✅ High-quality visualizations saved as PNG files\")\n\nprint(\"\\n🎯 CONV2 FEATURE VISUALIZATION PIPELINE COMPLETE!\")\nprint(\"You now have:\")\nprint(\"   • Deconvolutional reconstructions showing what patterns trigger conv2 features\")\nprint(\"   • Spatial correspondence between activations and input regions\")\nprint(\"   • Multiple visualization formats for different analysis needs\")\nprint(\"   • Consistent, publication-ready styling\")\nprint(\"\\nThe Zeiler & Fergus methodology successfully reveals the learned visual representations in conv2!\")","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-09-19T06:48:06.185182Z","iopub.execute_input":"2025-09-19T06:48:06.185495Z","iopub.status.idle":"2025-09-19T06:48:44.547329Z","shell.execute_reply.started":"2025-09-19T06:48:06.185477Z","shell.execute_reply":"2025-09-19T06:48:44.546426Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"### We can see that channel 11 learns to recognize red lines/atrributes channel 158 learns to resecognize blue lines/atrributes","metadata":{}}]}