ixxi-dante/nw2vec

View on GitHub
projects/correctness/gae-reproduction-cora-nw2vec-gae_arch+adj_kernel+layer1.ipynb

Summary

Maintainability
Test Coverage
{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Train nw2vec with the original VGAE architecture for Cora embeddings + a kernel for the scalar product decoding + an intermediate layer in decoding"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Using TensorFlow backend.\n"
     ]
    }
   ],
   "source": [
    "import os\n",
    "\n",
    "# Train on CPU (hide GPU) due to memory constraints\n",
    "os.environ['CUDA_VISIBLE_DEVICES'] = \"\"\n",
    "\n",
    "import contextlib\n",
    "\n",
    "import numpy as np\n",
    "import keras\n",
    "from keras_tqdm import TQDMNotebookCallback as TQDMCallback\n",
    "\n",
    "from nw2vec import layers\n",
    "from nw2vec import ae\n",
    "from nw2vec import utils\n",
    "from nw2vec import batching\n",
    "import settings\n",
    "\n",
    "from gae.input_data import load_data\n",
    "from gae.preprocessing import sparse_to_tuple, mask_test_edges"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "@contextlib.contextmanager\n",
    "def gae_directory():\n",
    "    working_directory = os.path.abspath(os.curdir)\n",
    "    try:\n",
    "        # Move to the GAE directory\n",
    "        os.chdir('../../gae')\n",
    "        yield\n",
    "    finally:\n",
    "        # Move back\n",
    "        os.chdir(working_directory)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Load data\n",
    "with gae_directory():\n",
    "    adj, features = load_data('cora')\n",
    "    features = features.toarray()\n",
    "\n",
    "#adj_train = mask_test_edges(adj)[0]\n",
    "adj_train, train_edges, val_edges, val_edges_false, test_edges, test_edges_false = mask_test_edges(adj)\n",
    "assert adj_train.diagonal().sum() == 0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "dims = (features.shape[1], 32, 8, 8)\n",
    "n_ξ_samples =1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "def build_p_builder(dims, adj_kernel=None, use_bias=False, with_l1=True):\n",
    "\n",
    "    # Extract the dimensions we use.\n",
    "    dim_data, dim_l1, _, _ = dims\n",
    "\n",
    "    def p_builder(p_input):\n",
    "        if with_l1:\n",
    "            # Unshared intermediate layer.\n",
    "            p_penultimate_adj = keras.layers.Dense(\n",
    "                dim_l1, use_bias=use_bias, activation='relu',\n",
    "                kernel_regularizer='l2', bias_regularizer='l2',\n",
    "                name='p_layer1_adj'\n",
    "            )(p_input)\n",
    "        else:\n",
    "            # No intermediate layer.\n",
    "            p_penultimate_adj = p_input\n",
    "\n",
    "        # Prepare kwargs for the Bilinear adj decoder, then build it.\n",
    "        adj_kwargs = {}\n",
    "        if adj_kernel is not None:\n",
    "            adj_kwargs['fixed_kernel'] = adj_kernel\n",
    "        else:\n",
    "            adj_kwargs['kernel_regularizer'] = 'l2'\n",
    "        p_adj = layers.Bilinear(0, use_bias=use_bias, name='p_adj',\n",
    "                                bias_regularizer='l2',\n",
    "                                **adj_kwargs)([p_penultimate_adj, p_penultimate_adj])\n",
    "\n",
    "        return ([p_adj], ('SigmoidBernoulliScaledAdjacency',))\n",
    "\n",
    "    return p_builder"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "q_model, q_codecs = ae.build_q(dims, fullbatcher=batching.fullbatches)\n",
    "p_builder = build_p_builder(dims, with_l1=True)\n",
    "\n",
    "vae, vae_codecs = ae.build_vae(\n",
    "    (q_model, q_codecs),\n",
    "    p_builder,\n",
    "    n_ξ_samples,\n",
    "    [1.0, 1.0]\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "def target_func(batch_adj, required_nodes, final_nodes):\n",
    "    return [\n",
    "        np.zeros(1),  # ignored\n",
    "        utils.expand_dims_tile(\n",
    "            utils.expand_dims_tile(batch_adj + np.eye(batch_adj.shape[0]),\n",
    "                                   0, n_ξ_samples),\n",
    "            0, 1\n",
    "        )\n",
    "    ]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "def get_roc_score(edges_pos, edges_neg, adj_pred):\n",
    "    # Predict on test set of edges\n",
    "    preds = []\n",
    "    pos = []\n",
    "    for e in edges_pos:\n",
    "        preds.append(adj_pred[e[0], e[1]])\n",
    "        pos.append(adj[e[0], e[1]])\n",
    "\n",
    "    preds_neg = []\n",
    "    neg = []\n",
    "    for e in edges_neg:\n",
    "        preds_neg.append(adj_pred[e[0], e[1]])\n",
    "        neg.append(adj[e[0], e[1]])\n",
    "\n",
    "    preds_all = np.hstack([preds, preds_neg])\n",
    "    labels_all = np.hstack([np.ones(len(preds)), np.zeros(len(preds))])\n",
    "    roc_score = roc_auc_score(labels_all, preds_all)\n",
    "    ap_score = average_precision_score(labels_all, preds_all)\n",
    "\n",
    "    return roc_score, ap_score"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "import scipy\n",
    "from sklearn.metrics import roc_auc_score\n",
    "from sklearn.metrics import average_precision_score\n",
    "\n",
    "val_scores = []\n",
    "test_scores = []\n",
    "\n",
    "def valtest_cb(epoch, logs):\n",
    "    _, adj_pred = vae.predict_fullbatch(adj=adj_train, features=features)\n",
    "    adj_pred = scipy.special.expit(adj_pred[0, 0])\n",
    "    val_scores.append(get_roc_score(val_edges, val_edges_false, adj_pred))\n",
    "    test_scores.append(get_roc_score(test_edges, test_edges_false, adj_pred))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/slerique/anaconda3/envs/base36/lib/python3.6/site-packages/tensorflow/python/ops/gradients_impl.py:100: UserWarning: Converting sparse IndexedSlices to a dense Tensor of unknown shape. This may consume a large amount of memory.\n",
      "  \"Converting sparse IndexedSlices to a dense Tensor of unknown shape. \"\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "97885006a7294f56891a20cd942cc9e9",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "HBox(children=(IntProgress(value=0, description='Training', max=200), HTML(value='')))"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n"
     ]
    }
   ],
   "source": [
    "n_epochs = 200\n",
    "\n",
    "history = vae.fit_fullbatches(batcher_kws={'adj': adj_train, 'features': features, 'target_func': target_func},\n",
    "                              epochs=n_epochs,\n",
    "                              verbose=0,\n",
    "                              callbacks=[TQDMCallback(show_inner=False),\n",
    "                                         keras.callbacks.LambdaCallback(on_epoch_end=valtest_cb)])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "history = {'history': history.history}\n",
    "val_scores = np.array(val_scores)\n",
    "test_scores = np.array(test_scores)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Results"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1080x288 with 3 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, axes = plt.subplots(1, len(history['history']), figsize=(len(history['history']) * 5, 4))\n",
    "for i, (title, values) in enumerate(history['history'].items()):\n",
    "    axes[i].plot(np.array(values))\n",
    "    axes[i].set_title(title)\n",
    "fig.tight_layout()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x7fbac23f8048>"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(val_scores[:, 0], label='Val AUC')\n",
    "plt.plot(val_scores[:, 1], label='Val AP')\n",
    "plt.plot(test_scores[:, 0], label='Test AUC')\n",
    "plt.plot(test_scores[:, 1], label='Test AP')\n",
    "plt.legend()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0.88210036, 0.88683954])"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "val_scores[val_scores[:, 0].argmax()]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0.86384797, 0.87748441])"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "val_scores[-1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0.90419258, 0.90356699])"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test_scores[val_scores[:, 0].argmax()]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0.90419258, 0.90356699])"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test_scores[test_scores[:, 0].argmax()]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0.89557266, 0.91053696])"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test_scores[-1]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Precision"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "import scipy\n",
    "from sklearn.metrics import roc_auc_score\n",
    "from sklearn.metrics import average_precision_score\n",
    "from keras import backend as K"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "def get_roc_score(edges_pos, edges_neg, adj_pred):\n",
    "    # Predict on test set of edges\n",
    "    preds = []\n",
    "    pos = []\n",
    "    for e in edges_pos:\n",
    "        preds.append(adj_pred[e[0], e[1]])\n",
    "        pos.append(adj[e[0], e[1]])\n",
    "\n",
    "    preds_neg = []\n",
    "    neg = []\n",
    "    for e in edges_neg:\n",
    "        preds_neg.append(adj_pred[e[0], e[1]])\n",
    "        neg.append(adj[e[0], e[1]])\n",
    "\n",
    "    preds_all = np.hstack([preds, preds_neg])\n",
    "    labels_all = np.hstack([np.ones(len(preds)), np.zeros(len(preds))])\n",
    "    roc_score = roc_auc_score(labels_all, preds_all)\n",
    "    ap_score = average_precision_score(labels_all, preds_all)\n",
    "\n",
    "    return roc_score, ap_score"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "q_preds, adj_preds = zip(*[vae.predict_fullbatch(adj=adj_train, features=features) for _ in range(10)])\n",
    "\n",
    "q_preds = np.array(q_preds)\n",
    "adj_preds = np.array(adj_preds)\n",
    "\n",
    "q_pred = q_preds.mean(0)\n",
    "adj_pred = scipy.special.expit(adj_preds[:, 0, :, :, :]).mean(1).mean(0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0.900066251633787, 0.9132702123226044)"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "get_roc_score(test_edges, test_edges_false, adj_pred)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 3 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAMcAAADuCAYAAACNphM4AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvqOYd8AAAFqVJREFUeJzt3XuUFNWdB/Dvd4YZHjMIA4O8BYxPEp8xrK67PskGWVeNJvFxkhjXLPFEjxrds7726NGTeDTZjdGsG5YkrpqH+IhGkqBG1KhrjBEUH4BG4BAcQXAYHjK8Zrp/+0dVT9ftqequprtmquH7OacOdbuqq24P/et7b9Wte2lmEJHe6vo7AyJppeAQiaDgEImg4BCJoOAQiaDgEImg4BCJoOAQiaDgEIkwoL8zIHumz53cZBs6MrH2XfTmzqfMbEbCWSqbgkMS0d6RwStPTYi1b8PYFa0JZ2e3KDgkIYaMZfs7ExVRcEgiDEAWtd2pVcEhiclCJYdILwZDl6pVIr0ZgIyqVSLh1OYQCWEAMjX+lKnukEtisjGXUkjeQ3I9ybcjtpPkXSSXk3yT5NHVyL+CQxJhMGRiLjHcC6DYHfTTABzoL7MA/KjiDwBVqyQhZkBXlWpVZvYCyclFdjkTwP3mjRbyJ5LDSY41s7WVnFfBIQkhMmDcnVtJLgyk55jZnDJONh7A+4F0m/+agkPSxwBk45cc7WZ2TAWnC4vCisstBYckpoySo1JtACYG0hMArKn0oGqQSyK8m4CMtVTBPABf9a9aHQtgc6XtDUAlhyTEAHRZdX57ST4A4CR4bZM2ADcBaAAAM5sNYD6AmQCWA9gG4KJqnFfBIYkwEJkqVUzM7PwS2w3ApVU5WYCCQxKTtT5rcyRCwSGJyLU5apmCQxJCZKrU5ugvCg5JhPckoIJDpBczYpfV93c2KqLgkMRk1eYQ6c1rkKtaJRJCDXKRUGqQixSR0U1Akd4MRJfV9tertnMvqaUGuUgEA1WtEomiBrlICDPoUq5IGK9Bru4jIqHUIBcJYaAedhKJopJDJIQ3bpWCQyRE1Ybd6TcKDkmENzSPrlaJ9GJGVatEougmoEgI73kOtTlEQuhJQJFQ3qVclRwivahvlUgR6rIuEsLrsq5qlUgotTlEQni9clWtEumlmjM79RcFhyREJYdIpFq/Q17boS2plbtaFWcpheQMku+SXE7y2pDtXyP5EcnF/vL1anwGlRySmGpUq0jWA7gbwGfhzTf+Ksl5Zra0YNcHzeyyik8YoJJDEpF7hjzOUsI0AMvNbKWZ7QIwF8CZiX8AKDgkIQag2+piLfDmF18YWGYFDjUewPuBdJv/WqFzSL5J8hGSE6vxGVStksSUUa1qN7NjIraFFS1WkP4NgAfMbCfJSwDcB+CUuCePopJDkhGzShWjWtUGIFgSTACwxjmV2QYz2+knfwzg09X4CAoOSUTuYac4SwmvAjiQ5BSSjQDOAzAvuAPJsYHkGQCWVeMzqFolialG3yoz6yZ5GYCnANQDuMfMlpC8BcBCM5sH4HKSZwDoBtAB4GsVnxgKDklINR92MrP5AOYXvHZjYP06ANdV5WQBCg5JhIHoztZ2rV3BIYmp9e4jCg5Jhul5DpFQGmBBpAgFh0gIA5FRg1wknBrkIiFMDXKRaKbgEAmjOQFFIqnkEAlhBmSyCg6RULpaJRLCoGqVSAQ1yEUiWeGT3jWmtu/v9zGS3ybZTvJDkpNJGsmq/MCQvJfkt6txrArzcRLJtmocy4yxlrRScMTkD/dyNYCpZjamzPdW7QtXK7yrVXWxlrRStSq+SQA2mNn6/s5IMSQHmFl3f+cDULWqbCSPIvkayY9JPkhybqnqRO6Xl+S/kVxPci3Js0jOJPkXkh0krw/s71RRCn+5SV5LcoWfh6UkP1/i/NMBPA1gHMmtJO8N2eciksv8Y64k+Q3/9SYATwTeu5XkuBLnG0ryOZJ30TOQ5H+QXE1yHcnZJAcX/G2uIfkhgP8NvHZ14O91UeD4kcerJlWryuAPrfJrAD8DMALAwwDOifn2MQAGwRvt7kZ44xN9Gd4YRX8P4EaS+8c81gr/PcMA3Azg5wXDuzjMbAGA0wCsMbNmM/tayG7rAZwOYB8AFwG4g+TRZtZZ8N5mM1sT8n4AAMmRAJ4B8JKZXW5mBuB2AAcBOBLAAYG/Qc4YeH/PSQBmBV4b5u97MYC7Sbb420odr2KGeIGh4Mg7FkADgB+YWZeZPQJvXKI4ugB8x8y64I2X2grgTjP72MyWAFgC4PA4BzKzh81sjZllzexBAO/BG5N1t5nZ78xshXmeB/B7eAFYjnEAngfwsJn9OwCQJIB/AfAtM+sws48B3Apv/KacLICbzGynmW33X+sCcIv/d54PYCuAg2Meryos5pJWfd3mGAfgA//XMOevMd+7wcwy/nruC7AusH07gOY4ByL5VQBXAZjsv9QML9h2G8nTANwE7xe5DsAQAG+VeZh/hPclnh14bZR/rEXe99o7HbwxnHI+MrMdBcfaUND22Abvc8Y5XuUMMHUfKctaAONJMhAg+8Gr5lRTJ7wvQE7P1SWSk+BVyU4F8LKZZUguRviYrLGQHAjgVwC+CuBxM+si+evAMeP+QP4YQAuA+SRn+FWydniB/0kz+yDifeX8AMc5XlWkucoUR19Xq16GNyrd5SQHkDwbFVZnIiwGMJPkCJJjAFwZ2NYE78v0EeA1pAF8qsLzNQIY6B+z2y9F/iGwfR2AkSSHxTjWZQDeBfBbkoPNLAsvaO4gua+f5/EkP7c7Ga328YqfK96SVn0aHP78CmfDG65xI4BzATyawKl+BuANAKvg1f0fDORhKYD/hBeo6wAcBuClSk7m19svB/AQvM91AQLjuZrZOwAeALCS5KZiV6v8EnUWvGH3Hyc5CMA1AJYD+BPJLQAWADi4gixX+3i95PpW1XKDnNbPoetfFm3LNUBlzzBw//E24dZLY+278vwbFhWZgqDf6CagJCbNVaY4UnPvnuT1gZtkweWJPszD7Ig8zC79bnERlo23pFW/lxwFN9Ru7a98AICZXQLgkv7Mwx5lbyg5WGKqW5FerPYb5CVLDsaf6rZHfVOTNQwfETiIu72xaVfP+q5uNwu2qyBe6wp+fgpuVZH57dxa+F43Wfj/wIJDN7dsc9JbOgPdjerdneu2uQcvnP5u+PBOJ71tdf5Y3YPdnetaupx04UNC2W0F/02BzaOHb3I2fbhleMG+br5HD93ipNd3uFeXmUUkC/ztuzZ1INPZWfybXeMlR5xqVc9UtwBAMjfVbWRwNAwfgYmXfqsnXfjF2f/Y1T3rq9pHONu6/+re5M4MzThpDnE7nDYMzKcH/dF9b/cQJ9krH3XuoXHCOa856ScW5Xuj1A91v8CDF7v99ArPdfqZLzvpN795WM96++FNzrZBZ69z0tt3Nbjp10Y66WxD/lt39dmPO9tue/qfnLQ1ut/Qfz3BbcL911x3/4ZATBcGys5A3K2e/X2Ult5SIY441apYU92SnEV/qtxMZ2fhZtkbZWMuKRUnOOJMdQszm2Nmx5jZMfVNTSFvkb2KwavHxllKKNXm9bvgP+hvf4Xk5Gp8hDjVqpJT3RZqaO7CuL/J77LtfveG8IgT83X7tkWTnG085mN33yFuf7qGercuNHFovs69tP4QZ1vWrZ3g4FPdLlxvrHDncj9nhNtB+Lm1R/es72h0f+I6P7nTSR+034dO+vk7j3XSh9yxpGd9048+6Wzb+JL7YOH28W7VsXmrk0TnlHxe2ruGOttGLnZ/7zpnun/Pu3/pVqNwhLu96dH8D9vW8e6xBgdqf3VuLTNUNe5zxGzzXgxgo5kdQPI8eF3yz6303HFKjpJT3YqEqk6f9Z42r9/9KNfmDToTwH3++iMATmWgy/HuKhkcfrfn3FS3ywA85D8/IVJc/GpVa6696i+zAkeJ0+bt2cf/vm4GMBIVinUTMGyqW5FSCi+VF9FepG9VnDZvrHZxuRK5Q969pQHrn80H946j3Pr6+nc+0bN+8ILNzrbm093LmoveLnjyteC+x7YxjfnzFlwH6D7EvW/x1mq37TNodaOTvuqH33DS2ePylf3hg3Y526aNdZ/ReqnNzWfmdLeh8M7/5NsZmwv6vw4ouLh33Ym/ddL37Pe3Trr+yX171u9vP9V98wy3DZFZ4bZJhk7b4KS/vL/bzvrhCdN71g8++H1n28p1+efBsk+UuMxkBKrTNSROmze3Txu9oZKGAeio9MSp6Vsle6DqtDnitHnnAbjQX/8CgGetCt3N+71vlezBqnC1ysy6SebavPUA7jGzJSRvAbDQzOYB+CmAn5FcDq/EqMrz8AoOSU6Vuo+EtXnN7MbA+g4AX6zO2fISCQ6j21WjcbNbe2v5c/60785y+10MeeIg92D7udf8xz3jdq7aekG+Xtvd5P5vXPQptwvHT148yUnXFwxJ8OMr7nTS5z6Rf1inq8n9Uz239Egn3TXKvfA/8AO3PbM9MHxDvdsUQl3BEGy3P3mGk27Y4v79ugL3OSY869b9OzrdNgYHucfOLnAv4vzw8FOc9OhJ+ar6gDr32N88/Pme9TsGu22bXnI3AWuYSg5JTBlXq1JJwSHJUXD0Vt/cjX2Ozw8pWzhYcNdn8utNL7rDRW0f6xblDcPcbhrN33AvRa57fULP+j/PfNbZtnjLBCfNLreY7xrq/u9d/N9XuPtPzndVGTnSvTTbUdCFffAgt1rV+hv3M598S34Mh0eWu1WyrZvcHr4jXnH7vQz9gnvlcvjA7T3r7y9zLyE3bnLzteOk7U562HD3c3S9uK+TzozJ57uxoL73wc6WnvWubOmvjkoOkShqc4iESPtYnzHECg6SqwB8DCADoDuNw6hICu0NweE72czaY+3ZMQDZh0b1JDsnuMVr05r8X615l9vGaDx+o5MufApu+9yBTvqgK/NPFf7iAbcrxYTpq510dh+3Dm073Lr94JM+ctLbOvJPFnbucC/NfvmwPzvp+T84wUm/f4bbBnlgaf73pHuDe321bpjbNeUrVyxw0nf9wR2McOf/BS5fj3b/ts0z3K7zG5ePctLDLljspJsWuOf+IPDY7Bsb3Tbb69375Y+7/Y8opdgjt7VA1SpJTo2XHHH7VhmA35NcVNCduEfwMdnuHXpMdm9Hi7+kVdyS43gzW+MPPPw0yXfM7IXgDmY2B8AcAGhqnZjijyx9Zm+4WpWbicjM1pN8DN7TWS9E7t/Sjcw5+fsRIxrcuv5Hr47uWd81qqBiunYfJ1nf7G5fc65bR/78sLU966vqJjvb/vKe20V9yKiC4XIKTn1Eq3s/4cWFR/SsX/mlp5xtj649yklvnOoea+BQ9/7MlO/k/warZ7p963eNcH9L7lowwz3WRreAr78w365o/V6Ls63lHHfonR2T3P/iI19387lgtvvckAWaGS1ukw0bpgX+H+P8/NX4T2TJahXJJpJDc+vwhtZ/O+mMSe3bG6pVowE85j+SOwDAL83syURzJbXP9oKrVf5gbkeU2k+klxSXCnEkcik301WPjjX56+X7vOPeTxg2PX8/4YuT3FEGP9zpDk/56Kvu/caGVW4/pOeHHdCzPmSd+78x5edrnfSqC9yheMad6N4TWPD2oU6aI/N9q773uDvgRWac26aY+plVTnrl01Oc9OZD8j+jI5e5bbCuE9zu35sa3OGHGia5+2+dnx/KZ9Ol7mPGm+8/0Elv/Ds3n7d/2r3PcdxZn3DSw+bm+1q1T3N/+g89ID9L2qaBccbmKb1Lmuk+hyQmze2JOPQMuUgElRySnBovORKZE5DkR/CmO47XF6vvtSKdeaulfE0ys1FhOwPAoHETbfKsq2Id/N2br9p75gQ0s1EkF6bxAwNAWvO2x+WrxksOVaskEUTtN8gVHJIcBUekOQkeu1Jpzduek6+Udw2JI7Hg8HvpplJa87bH5WtP7z4isrtUcohEqfHgSOQOeVrmLSd5D8n1JN8OvDaC5NMk3/P/bSl2jITyNZHkcySXkVxC8oo05I3kIJJ/JvmGn6+b/den+HPtvefPvddY6lixR1hPcQBVPTgCc7idBmAqgPNJTi3+rsTcC2BGwWvXAnjGzA4E8Iyf7mvdAK42s0MBHAvgUv9v1N952wngFDM7AsCRAGaQPBbeHHt3+PnaCG8OvpJq/XmOJEqOOHO49Qn/Ud7CSUyC88fdB+CsPs0UADNba2av+esfw5tObnx/5808uSERG/zFAJwCb6698vKlkqOXWPOW96PRZrYW8L6kAPYtsX+i/GmBjwLwClKQN5L1JBcDWA/gaQArAGzy59oDyvj/ZDbeklZJBEci87PtiUg2A/gVgCvNbEup/fuCmWXM7Eh404tNA3Bo2G6lD1TGklJJBEfZ85b3sXUkxwKA/+/6EvsngmQDvMD4hZk9mqa8AYCZbQLwB3htouH+XHtAzP9PlrGkVRLBkfZ5y4Pzx10I4PG+zoA/R/ZPASwzs++nJW8kR5Ec7q8PBjAdXnvoOXhz7ZWXrxovOap+nyNqDrdqnycOkg8AOAnePNdtAG4CcBuAh0heDGA1EpguK4bjAXwFwFt+/R4Ark9B3sYCuM+/4lgHb87535JcCmAuyW8DeB1eYJfUF1eiSI4A8CCAyQBWAfiSmW0M2S8D4C0/udrMzijcp9d7knieQ2TI6Il24Hnxnud4867df56D5HcBdJjZbf49tRYzuyZkv61m1tz7CNH0mKwkw/rsalVil78VHJKc+G2O1tw4y/4SOh5zhLiXvwf5x/4TyVgBpL5Vkpgy2hztxapVJBcAGBOy6YYysrOfP97z/gCeJfmWma0o9gYFhySnSs1ZM5setY3kOpJjzWxtscvfgfGeV5L8A7wbr0WDQ9UqSUwf9a0qefmbZAvJgf56K7yrhUtLHVjBIckweA87xVkqcxuAz5J8D8Bn/TRIHkPyJ/4+hwJYSPINePdsbjOzksGhapUkoq8GWDCzDQBODXl9IYCv++t/BHBYucdWcEhyavwWmoJDEsMav8Gs4JBkpLzfVBwKDklMmp/yi0PBIYlJ84NMcSg4JDkqOURCpHzwhDgUHJIcBYdIbxplXaQIZms7OhQckgzd5xCJpku5IlFUcoiEU4NcJIwBUMdDkXBqc4iE0H0OkShmqlaJRFHJIRJFwSESTiWHSBgDkKnt6FBwSGJUcohE0dUqkXAqOUTCqMu6SDgCoBrkIuE04qFIGFWrRKKob5VIJF2tEomikkMkhOlqlUi02o4NzQkoyaFZrKWic5BfJLmEZJZksemaZ5B8l+RyktfGObaCQ5KTexqw1FKZtwGcDeCFqB1I1gO4G8BpAKYCOJ/k1FIHVrVKkpGbTTbp05gtAwCSxXabBmC5ma30950L4EyUmG5ZJYckgohXpeqju+jjAbwfSLf5rxWlkkOSk41ddLSSXBhIzzGzObkEyQUAxoS87wYzezzG8cOKlZJRqeCQZJRXrWo3s8jGtJlNrzA3bQAmBtITAKwp9SZVqyQxKapWvQrgQJJTSDYCOA/AvFJvUnBIcvrgahXJz5NsA3AcgN+RfMp/fRzJ+V42rBvAZQCeArAMwENmtqTUsVWtkoT0TcdDM3sMwGMhr68BMDOQng9gfjnHVnBIMjT6iEg0PewkEkXBIRLCAGjCTJEwehJQJJqCQySEAcjU9tROCg5JiAGm4BAJp2qVSAhdrRIpQiWHSAQFh0gIMyCT6e9cVETBIclRySESQcEhEsZ0tUoklAGmm4AiEdR9RCSEWTlD86SSgkOSowa5SDhTySESRg87iYRTx0ORcAbA1H1EJITpYSeRSFbj1SpajTeaJJ1IPgmgNebu7WY2I8n87A4Fh0gEjbIuEkHBIRJBwSESQcEhEkHBIRJBwSESQcEhEkHBIRJBwSES4f8BczIMjlMqRwwAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 3 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 3 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 3 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 3 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 3 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 3 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "for layer in vae.layers:\n",
    "    if hasattr(layer, 'kernel'):\n",
    "        fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(6, 4))#, sharey=True)\n",
    "        im1 = ax1.imshow(K.eval(layer.kernel).T)\n",
    "        ax1.set_title('{} kernel'.format(layer.name))\n",
    "        plt.colorbar(im1, ax=ax1)\n",
    "        if hasattr(layer, 'bias') and layer.bias is not None:\n",
    "            im2 = ax2.imshow(K.eval(K.expand_dims(layer.bias, -1)))\n",
    "            ax2.set_title('{} bias'.format(layer.name))\n",
    "            plt.colorbar(im2, ax=ax2)\n",
    "        else:\n",
    "            ax2.set_visible(False)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Plot the embeddings"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pickle\n",
    "\n",
    "%matplotlib inline\n",
    "import matplotlib.pyplot as plt\n",
    "import scipy\n",
    "import scipy.sparse as sp\n",
    "import seaborn as sb\n",
    "\n",
    "from sklearn.manifold import MDS"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Downscale the embeddings\n",
    "mds = MDS(n_jobs=-2, )\n",
    "mds.fit(q_pred[:, :dims[-1]].astype(np.float64))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Load the ground truth labels\n",
    "\n",
    "def parse_index_file(filename):\n",
    "    index = []\n",
    "    for line in open(filename):\n",
    "        index.append(int(line.strip()))\n",
    "    return index\n",
    "\n",
    "with gae_directory():\n",
    "    ty = pickle.load(open(\"data/ind.cora.ty\", 'rb'), encoding='latin1')\n",
    "    ally = pickle.load(open(\"data/ind.cora.ally\", 'rb'), encoding='latin1')\n",
    "    test_idx_reorder = parse_index_file(\"data/ind.cora.test.index\")\n",
    "test_idx_range = np.sort(test_idx_reorder)\n",
    "\n",
    "labels = sp.vstack((ally, ty)).toarray()\n",
    "labels[test_idx_reorder, :] = labels[test_idx_range, :]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Turn labels into colors\n",
    "palette = sb.color_palette(n_colors=labels.shape[1])\n",
    "colors = np.array(palette)[np.argmax(labels, axis=1)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Plot the downscaled embeddings and the links\n",
    "fig, ax = plt.subplots(figsize=(15, 15))\n",
    "edges = np.array([[mds.embedding_[i], mds.embedding_[j]] for (i, j) in sparse_to_tuple(sp.triu(adj))[0]])\n",
    "edges = edges.transpose([2, 1, 0])\n",
    "ax.plot(edges[0], edges[1], color='lightgrey', zorder=1)\n",
    "ax.scatter(mds.embedding_[:, 0], mds.embedding_[:, 1], c=colors, zorder=2)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}