Skip to content

Instantly share code, notes, and snippets.

@AhmedCoolProjects
Created December 1, 2025 18:28
Show Gist options
  • Select an option

  • Save AhmedCoolProjects/2b7d227c7ebcd1596fc409397a993a76 to your computer and use it in GitHub Desktop.

Select an option

Save AhmedCoolProjects/2b7d227c7ebcd1596fc409397a993a76 to your computer and use it in GitHub Desktop.
DeepWalk.ipynb
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"provenance": [],
"authorship_tag": "ABX9TyMT4+OEYh+8IhASO3fc1hOU",
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"language_info": {
"name": "python"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/AhmedCoolProjects/2b7d227c7ebcd1596fc409397a993a76/deepwalk.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "code",
"source": [
"!pip install gensim"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "9GAAngtMKgWM",
"outputId": "11c45b1a-3c12-48c8-ffe4-629ecb93edf7"
},
"execution_count": 2,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Collecting gensim\n",
" Downloading gensim-4.4.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.metadata (8.4 kB)\n",
"Requirement already satisfied: numpy>=1.18.5 in /usr/local/lib/python3.12/dist-packages (from gensim) (2.0.2)\n",
"Requirement already satisfied: scipy>=1.7.0 in /usr/local/lib/python3.12/dist-packages (from gensim) (1.16.3)\n",
"Requirement already satisfied: smart_open>=1.8.1 in /usr/local/lib/python3.12/dist-packages (from gensim) (7.5.0)\n",
"Requirement already satisfied: wrapt in /usr/local/lib/python3.12/dist-packages (from smart_open>=1.8.1->gensim) (2.0.1)\n",
"Downloading gensim-4.4.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (27.9 MB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m27.9/27.9 MB\u001b[0m \u001b[31m69.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hInstalling collected packages: gensim\n",
"Successfully installed gensim-4.4.0\n"
]
}
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"id": "dVo6Y0mvKcNe"
},
"outputs": [],
"source": [
"import numpy as np\n",
"import random\n",
"import networkx as nx\n",
"from gensim.models import Word2Vec\n",
"import matplotlib.pyplot as plt\n",
"\n",
"# --- 1. The graph data structure ---\n",
"# We'll use NetworkX to easily create and visualize a graph\n",
"def create_sample_graph():\n",
" # Create a random graph with 3 clusters\n",
" # This helps us visualize if the embeddings actually separate the clusters\n",
" G = nx.fast_gnp_random_graph(n=30, p=0.1, seed=42)\n",
"\n",
" # Add some specific \"bridge\" edges to make it a bit more interesting\n",
" G.add_edges_from([(0, 10), (10, 20)])\n",
" return G\n",
"\n",
"# --- 2. The Random Walker (DeepWalk Core) ---\n",
"def get_random_walk(graph, start_node, walk_length):\n",
" \"\"\"\n",
" Generates a single random walk starting from start_node.\n",
" \"\"\"\n",
" walk = [str(start_node)] # Stored as strings for Word2Vec\n",
" curr_node = start_node\n",
"\n",
" for _ in range(walk_length - 1):\n",
" # Get list of neighbors\n",
" neighbors = list(graph.neighbors(curr_node))\n",
"\n",
" if len(neighbors) > 0:\n",
" # Pick a random neighbor (Uniform Probability)\n",
" next_node = random.choice(neighbors)\n",
" walk.append(str(next_node))\n",
" curr_node = next_node\n",
" else:\n",
" # Dead end: stop walking\n",
" break\n",
"\n",
" return walk\n",
"\n",
"def generate_walks(graph, num_walks, walk_length):\n",
" \"\"\"\n",
" Generates the full 'corpus' of walks.\n",
" num_walks: Number of walks to start from EACH node.\n",
" \"\"\"\n",
" walks = []\n",
" nodes = list(graph.nodes())\n",
"\n",
" print(f\"Generating {num_walks} walks per node...\")\n",
"\n",
" for _ in range(num_walks):\n",
" random.shuffle(nodes)\n",
"\n",
" for node in nodes:\n",
" walk = get_random_walk(graph, node, walk_length)\n",
" walks.append(walk)\n",
"\n",
" return walks\n",
"\n",
"# --- 3. Training the Embeddings ---\n",
"def train_deepwalk(walks, emb_size=16, window=5):\n",
" \"\"\"\n",
" Uses Gensim's Word2Vec to learn embeddings from the walks.\n",
" \"\"\"\n",
" # Initialize Word2Vec\n",
" # sg=1: Use Skip-Gram (better for DeepWalk)\n",
" # hs=1: Use Hierarchical Softmax (classic DeepWalk choice)\n",
" model = Word2Vec(sentences=walks,\n",
" vector_size=emb_size,\n",
" window=window,\n",
" min_count=0,\n",
" sg=1,\n",
" hs=1,\n",
" workers=4,\n",
" epochs=10)\n",
" return model"
]
},
{
"cell_type": "code",
"source": [
"G = create_sample_graph()\n",
"print(f\"Graph created with {len(G.nodes())} nodes and {len(G.edges())} edges\")\n",
"\n",
"NUM_WALKS = 10\n",
"WALK_LENGTH = 20\n",
"\n",
"walks = generate_walks(G, NUM_WALKS, WALK_LENGTH)\n",
"\n",
"print(f\"Sample walk: {walks[0]}\")\n",
"\n",
"EMB_SIZE = 2 # small size for plotting\n",
"model = train_deepwalk(walks, emb_size=EMB_SIZE)\n",
"\n",
"vec_0 = model.wv['0']\n",
"print(f\"Embedding for node 0: {vec_0}\")\n",
"\n",
"print(\"Visualizing embeddings...\")\n",
"plt.figure(figsize=(10, 8))\n",
"\n",
"for node in G.nodes():\n",
" vec = model.wv[str(node)]\n",
" plt.scatter(vec[0], vec[1], s=100)\n",
" plt.text(vec[0]+0.02, vec[1]+0.02, str(node), fontsize=12)\n",
"\n",
"plt.title(\"DeepWalk Embeddings 2D\")\n",
"plt.show()"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 803
},
"id": "WnF3ujBSKdG4",
"outputId": "0f4ae1f3-e3b3-451e-9a09-e074748dbf60"
},
"execution_count": 4,
"outputs": [
{
"output_type": "stream",
"name": "stderr",
"text": [
"WARNING:gensim.models.word2vec:Both hierarchical softmax and negative sampling are activated. This is probably a mistake. You should set either 'hs=0' or 'negative=0' to disable one of them. \n"
]
},
{
"output_type": "stream",
"name": "stdout",
"text": [
"Graph created with 30 nodes and 54 edges\n",
"Generating 10 walks per node...\n",
"Sample walk: ['23', '13', '3', '29', '13', '3', '29', '3', '13', '18', '7', '28', '12', '17', '12', '8', '12', '17', '12', '5']\n",
"Embedding for node 0: [-1.1661105 0.00267051]\n",
"Visualizing embeddings...\n"
]
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 1000x800 with 1 Axes>"
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA0YAAAKqCAYAAAAe1U5VAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAlhxJREFUeJzs3Xd4VVW+xvF3p54UclIoIRAICIj0jglKEVQQQUQhKkixF0BFx5EZFUWGIqigDGIFFRxF8CpYUEBBQARBwBYElQAJCTWF9LbvH4Ejx9QTcpKQ8/08T66Ttdfa+7dD8ty8WWuvbZimaQoAAAAAXJhbdRcAAAAAANWNYAQAAADA5RGMAAAAALg8ghEAAAAAl0cwAgAAAODyCEYAAAAAXB7BCAAAAIDLIxgBAAAAcHkEIwAAAAAuj2AEADgvERERGjdunO3zJUuWyDAM7dixo/qKKoe+ffuqXbt2VXItwzD01FNPldnvqaeekmEYdm1///oCAJyDYAQA5XT2F/6zHxaLRWFhYbr66qv14osv6vTp09Vdos2zzz4rwzC0a9cuu3bTNBUUFCTDMHTgwAG7Y1lZWfL29tYtt9xSlaXa2bBhg93X+O8f7733XrXVhqL27t2rRx99VJ06dVKdOnXUsGFDDR48uNhQPG7cOLt/S39/fzVv3lw33nijVq5cqYKCgmq4AwD4i0d1FwAAF5pp06apWbNmys3NVWJiojZs2KAHH3xQzz//vFatWqUOHTpUd4m67LLLJEmbN29W586dbe2//PKLkpOT5eHhoS1btqhZs2a2Y99//71ycnJsY6vTpEmT1L179yLtkZGR1VBN9frtt9/k5lYz/475+uuv64033tANN9yg++67TykpKXrllVd06aWXas2aNRowYIBdf29vb73++uuSpMzMTB08eFCrV6/WjTfeqL59++rjjz9WQEBAddwKABCMAMBRgwYNUrdu3WyfT5kyRV999ZWuvfZaDR06VDExMfLx8anGCqVu3brJYrFo8+bNmjhxoq19y5YtCgkJUbdu3bR582aNHj3admzz5s2SVCOC0eWXX64bb7yxusuoEby9vau7hBLdfPPNeuqpp+Tv729ru+2223TJJZfoqaeeKhKMPDw87L7nJGn69OmaNWuWpkyZojvvvFPvv/9+ldQOAH9XM/8EBQAXmCuuuEJPPPGEDh48qKVLl9od27t3r2688UYFBwfLYrGoW7duWrVqVZFzJCcn68EHH1R4eLi8vb3VokULzZ49226JUWxsrAzD0Ny5c/XCCy+oadOm8vHxUZ8+ffTzzz/b+nl5eal79+7asmWL3TW2bNmiyMhI9erVq9hjgYGBtudu5s6dq6ioKIWEhMjHx0ddu3bVihUrKvT1SUpKUo8ePdS4cWP99ttvFTrH3xmGoQkTJuiDDz5QmzZt5OPjo8jISP3000+SpFdeeUUtWrSQxWJR3759FRsbW+x5du7cqaioKPn4+KhZs2ZatGhRkT7Z2dmaOnWqWrRoIW9vb4WHh+vRRx9VdnZ2kX4PPfSQ6tWrpzp16mjo0KGKi4sr9rqbN29W9+7dZbFYdNFFF+mVV14ptl9Jz3Bt2bJFkydPVr169eTn56frr79ex48ftxtbUFCgp556SmFhYfL19VW/fv3066+/Fjlnbm6unn76abVs2VIWi0UhISG67LLLtHbt2mJrOqtr1652oUiSQkJCdPnllysmJqbUsed67LHHdNVVV+mDDz7Qvn37yj0OACoTwQgAKsmtt94qSfryyy9tbb/88osuvfRSxcTE6LHHHtNzzz0nPz8/DRs2TP/3f/9n65eRkaE+ffpo6dKlGjNmjF588UX16tVLU6ZM0eTJk4tc6+2339aLL76o+++/X1OmTNHPP/+sK664QkePHrX1ueyyyxQfH28XCLZs2aKoqChFRUXZltVJhc8effvtt4qMjLQt25o/f746d+6sadOmacaMGfLw8NCIESP06aefOvR1OXHihK22jRs36uKLLy5zzOnTp3XixIkiH6Zp2vXbtGmTHn74YY0dO1ZPPfWUYmJidO211+q///2vXnzxRd133336xz/+oa1bt+q2224rcp2kpCRdc8016tq1q5599lk1btxY9957r958801bn4KCAg0dOlRz587VkCFD9NJLL2nYsGF64YUXFB0dbXe+O+64Q/PmzdNVV12lWbNmydPTU4MHDy5y3Z9++klXXXWVjh07pqeeekrjx4/X1KlT7b4nyjJx4kTt2bNHU6dO1b333qvVq1drwoQJdn2mTJmip59+Wt26ddOcOXPUsmVLXX311UpPT7fr99RTT+npp59Wv379tGDBAv373/9WkyZN9MMPP5S7nnMlJiaqbt26Do259dZbZZpmmWEMAJzGBACUy+LFi01J5vfff19iH6vVanbu3Nn2ef/+/c327dubWVlZtraCggIzKirKbNmypa3tmWeeMf38/Mx9+/bZne+xxx4z3d3dzUOHDpmmaZoHDhwwJZk+Pj5mXFycrd+2bdtMSeZDDz1ka/v0009NSeY777xjmqZpJiQkmJLMjRs3mqdPnzbd3d3NTz/91DRN0/z5559NSeZ//vMf2/iMjAy7WnJycsx27dqZV1xxhV1706ZNzbFjxxb7dUpISDDbtm1rNm/e3IyNjS3x63bW119/bUoq8SMhIcHWV5Lp7e1tHjhwwNb2yiuvmJLM0NBQMzU11dY+ZcoUU5Jd3z59+piSzOeee87Wlp2dbXbq1MmsX7++mZOTY5qmab7zzjumm5ubuWnTJrtaFy1aZEoyt2zZYpqmae7evduUZN533312/W655RZTkjl16lRb27Bhw0yLxWIePHjQ1vbrr7+a7u7u5t//X3NJX98BAwaYBQUFtvaHHnrIdHd3N5OTk03TNM3ExETTw8PDHDZsmN35nnrqKVOS3Tk7duxoDh482KwM33zzjWkYhvnEE0/YtY8dO9b08/MrcdyuXbuKfA8DQFVixggAKpG/v79td7pTp07pq6++0siRI+1mQE6ePKmrr75a+/fvV3x8vCTpgw8+0OWXX66goCC7GZIBAwYoPz9f33zzjd11hg0bpkaNGtk+79Gjh3r27KnPPvvM1hYVFSU3Nzfbs0NbtmyRp6enunfvLn9/f3Xo0MG2nO7sf899vujc56SSkpKUkpKiyy+/vNyzCHFxcerTp49yc3P1zTffqGnTpuX+Oj755JNau3ZtkY/g4GC7fv3791dERITt8549e0qSbrjhBtWpU6dI+59//mk33sPDQ3fffbftcy8vL9199906duyYdu7cKanw3+aSSy5R69at7f5trrjiCknS119/LUm2r/2kSZPsrvHggw/afZ6fn68vvvhCw4YNU5MmTWztl1xyia6++uryfYEk3XXXXXZbe19++eXKz8/XwYMHJUnr169XXl6e7rvvPrtx5z5zdlZgYKB++eUX7d+/v9zXL86xY8d0yy23qFmzZnr00UcdGnt2SV5N2t0RgGth8wUAqERpaWmqX7++JOn333+XaZp64okn9MQTTxTb/9ixY2rUqJH279+vH3/8UfXq1Sux37latmxZpE+rVq20fPly2+eBgYFq27atXfjp3LmzLfBERUXZHfPy8lKPHj1s4z/55BNNnz5du3fvtnuW5u/v2SnJrbfeKg8PD8XExCg0NLRcY85q3759kQf3i3NusJAkq9UqSQoPDy+2PSkpya49LCxMfn5+dm2tWrWSVPg816WXXqr9+/crJiamzH+bgwcPys3NTRdddJHd8b8vHTx+/LgyMzOL/Te8+OKL7cJtaf5+70FBQZL+usezAalFixZ2/YKDg219z5o2bZquu+46tWrVSu3atdPAgQN16623OrTDYnp6uq699lqdPn1amzdvLvLsUVnS0tIkyS7QAkBVIhgBQCWJi4tTSkqK7RfRs5smPPLIIyXOBJzb98orryzxr+xnf1l31GWXXaZFixYpOTnZ9nzRWVFRUXrzzTeVm5urzZs3q2vXrrJYLJIKn90ZOnSoevfurYULF6phw4by9PTU4sWL9e6775br2sOHD9fbb7+t+fPna+bMmRWqvyzu7u4OtZt/e0apPAoKCtS+fXs9//zzxR7/ewirKpV5j71799Yff/yhjz/+WF9++aVef/11vfDCC1q0aJHuuOOOMsfn5ORo+PDh+vHHH/XFF19U6MW5ZzcP+XuQA4CqQjACgEryzjvvSJItBDVv3lyS5OnpWebsx0UXXaS0tLRyzZJIKnbJ0759++yWlUmFwejll1/WunXrtGvXLv3jH/+wHYuKilJmZqY+/fRT/fnnn7rhhhtsx1auXCmLxaIvvvjCbrvoxYsXl6s+qXDJVosWLfTkk0/KarXqscceK/fYqnLkyBGlp6fbzRqd3RXt7Nfyoosu0p49e9S/f/9SZ8uaNm2qgoIC/fHHH3azRH/fha9evXry8fEp9t+wsnbsO1uPVDhzee77qk6ePFlk5kwqnEkaP368xo8fr7S0NPXu3VtPPfVUmcGooKBAY8aM0fr167V8+XL16dOnQvW+8847MgxDV155ZYXGA8D54hkjAKgEX331lZ555hk1a9ZMo0aNkiTVr19fffv21SuvvKKEhIQiY87dWnnkyJHaunWrvvjiiyL9kpOTlZeXZ9f20Ucf2Z5PkqTt27dr27ZtGjRokF2/s88MPf/888rNzbWbMYqIiFDDhg317LPP2vWVCmcjDMNQfn6+rS02NlYfffRRmV+Lcz3xxBN65JFHNGXKFL388ssOja0KeXl5dttk5+Tk6JVXXlG9evXUtWtXSYX/NvHx8XrttdeKjM/MzLTt8Hb2a//iiy/a9Zk3b57d5+7u7rr66qv10Ucf6dChQ7b2mJiYYv/9K6p///7y8PAo8nVfsGBBkb4nT560+9zf318tWrQosh15cSZOnKj3339fCxcu1PDhwytU66xZs/Tll18qOjq62CWGAFAVmDECAAd9/vnn2rt3r/Ly8nT06FF99dVXWrt2rZo2bapVq1bZlqNJ0n//+19ddtllat++ve688041b95cR48e1datWxUXF6c9e/ZIkv7xj39o1apVuvbaazVu3Dh17dpV6enp+umnn7RixQrFxsbabX/cokULXXbZZbr33nuVnZ2tefPmKSQkpMhSvCZNmig8PFxbt25VRESEwsLC7I5HRUVp5cqVMgxDvXr1srUPHjxYzz//vAYOHKhbbrlFx44d03//+1+1aNFCP/74o0Nfrzlz5iglJUX333+/6tSpU+QFn8XZtGmTsrKyirR36NDBoedeyhIWFqbZs2crNjZWrVq10vvvv6/du3fr1Vdflaenp6TCZ6WWL1+ue+65R19//bV69eql/Px87d27V8uXL9cXX3yhbt26qVOnTrr55pu1cOFCpaSkKCoqSuvXr9fvv/9e5LpPP/201qxZo8svv1z33Xef8vLy9NJLL6lt27YOf31L0qBBAz3wwAN67rnnNHToUA0cOFB79uzR559/rrp169rNfrVp00Z9+/ZV165dFRwcrB07dmjFihVFtv/+u3nz5mnhwoWKjIyUr69vkXd4XX/99XazcXl5ebY+WVlZOnjwoFatWqUff/xR/fr106uvvlop9w4AFVLNu+IBwAXj7DbJZz+8vLzM0NBQ88orrzTnz59vtz30uf744w9zzJgxZmhoqOnp6Wk2atTIvPbaa80VK1bY9Tt9+rQ5ZcoUs0WLFqaXl5dZt25dMyoqypw7d65t6+iz23XPmTPHfO6558zw8HDT29vbvPzyy809e/YUe/2bb77ZlGTecsstRY49//zzpiTzkksuKXLsjTfeMFu2bGl6e3ubrVu3NhcvXmxOnTq13NtJn7uteX5+vnnzzTebHh4e5kcffVT8F9gse7vuc7e8lmTef//9duPP/foUd94PPvjA1tanTx+zbdu25o4dO8zIyEjTYrGYTZs2NRcsWFCkrpycHHP27Nlm27ZtTW9vbzMoKMjs2rWr+fTT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e+v111+3vw+rtVzX2b9/v5544glt3rxZp06dUpMmTXTLLbfokUceka+vb9knAAAAcEBWeq7d7nOOSD2eqez0PFn8K74rsDNUyeYLEyZMKHHp3N+nzF544QW98MILVVAVXIFhGAry81KQn1elndN0YMq4vl+Idt7/f6rvH6I9CXt17dt3FT6XVAwPDw+NHj3a4XoOHz6sHj16yGq1asKECQoODtbWrVs1depU7dy5s9zP8gEAAJRXbpYDS+iKkZPlosEIqE0Mb/dy9/X28FJ9f/udVwzPklew5ufnKz093aGNQ9555x0lJydr8+bNtj3977rrLhUUFOjtt99WUlKSgoLOf6twAACAszwt5f99qDhelpoXQ3jpCeAgN18PuQdbKjze8Cr+xy4jI0MBAQGyWq0KDg7W/fffr7S0tDLPd/bdXX9/X1jDhg3l5uYmL6/Kmy0DAACQJIufpwLq+VRobEA9H3n7EYyAC55hGPKPCjuv8X/XsGFDPfroo1q8eLH+97//aejQoVq4cKEGDhyovLy8Us/Xt29fSdLtt9+u3bt36/Dhw3r//ff18ssva9KkSfLz86twrQAAAMUxDEMd+lbsXZAd+jU+72e+naHmRTXgAuDXtYFSv4x1+D1GJZk5c6bd5zfddJNatWqlf//731qxYoVuuummEscOHDhQzzzzjGbMmKFVq1bZ2v/9739r+vTp5SgOAADAca0jQ/Xdqj8dfo9R60tDnV5bRTBjBFSAm4+HQkaf2SmxrD94nDluHdTMoWs89NBDcnNz07p168rsGxERod69e+vVV1/VypUrddttt2nGjBlasGCBQ9cEAAAoL29fTw26q50MQ+X6fcgwpEF3tyv25a41ATNGQAVZWgWp7vh2Orn011Jf9mp4uilkdBslpv7h0Pl9fHwUEhKiU6dOldrvvffe01133aV9+/apcePCKe3hw4eroKBA//znP3XzzTcrJCSk1HMAAABURJO2Ibr2/o76/NWfS33Zq4eXuwbd3U5N2tTc30mYMQLKYJqmMlJTlHLsqDJSU+xeSGZpFaSGU3rKOqR5kQ0Z3IMtsg5prob/6ilLK8d3hTt9+rROnDihevVKfxHtwoUL1blzZ1soOmvo0KHKyMjQrl27HL42AABAeTVpG6JxM6N02ciWRTZkCKjno8tGttS4Wb1qdCiSmDECSpSVnqZfN67X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vzPL58oTilTYLzdD2vOeM6sCAABALUcwQs1hmoUbLVTEtkXl3q2uJvj+++81YcIEtW3bVn5+fmrSpIlGjhypffv2Fem7YMECXXLJJfL29lajRo00efJkpaenV0PVAAAAtRfBCDVHxqkzu885GnDMwnGZSc6oyilmz56tlStXqn///po/f77uuusuffPNN+rSpYt+/vlnW7+HHnpIEydOVFJSkjw8PHTkyBG9+OKLGj58eInnzs3NVZs2bWQYhubOnVsVtwMAAHDBIxih5shJO7/x2acrp44qMHnyZB08eFAvvvii7rjjDj3++OPatGmT8vLyNGvWLElSQkKCFixYIEny9vZWjx49JEk33XSTvvzyS61evbrYc7/00ks6dOhQ1dwIAABALUEwQs3h5X9+473rVE4dVSAqKkpeXl52bS1btlTbtm0VExMjSdq6davy8vK0dOlSHTx4UHPmzJEk9ezZU5L03ntFn6s6duyYpk2bpn/+859OvgMAAIDahWCEmsM3uPDlrTIcHGgUjvMJckZVVcY0TR09elR169aVJGVnZ0uSwsLC7PqdDVQ7d+4sco7HHntMF198sUaPHu3kagEAAGoXghFqDsOQet5dsbE97ykcfwFbtmyZ4uPjFR0dLUm6+OKLJUlbtmyx63d2g4b4+Hi79u3bt+utt97SvHnzZFzgXwsAAICqRjBCzdLxZsnTV+X+1jTcCvt3vMmpZTnb3r17df/99ysyMlJjx46VJHXp0kU9e/bU7NmztXjxYh05ckSS9NZbb8nT01OZmZm28aZpauLEiYqOjlZkZGS13AMAAMCFzKO6CwDs+ARK0W9Ly0ZKpptKf5+RmyRDin7ngn65a2JiogYPHiyr1aoVK1bI3d3ddmzlypWKjo7WbbfdZmvr0aOHTp48qd9++83WtmTJEv30009asWJFldYOAABQWzBjhJqnxQBp1HLJ00eFzxv9fVnYmTZPH2nUB1KL/lVfYyVJSUnRoEGDlJycrDVr1hR5nqhRo0bavHmz9u3bp1dffVWSNHLkSB0+fFitWrWSVPhG5ylTpugf//iHwsPDq/weAAAAagNmjFAztRggTf5V2vNe4ctbkw78dSwoovCZok43SxZrtZVomqZO5eYrPT9ffu7uCvZ0L/Jsj2maykrPVW5Wvjwt7rL4edr6ZGVlaciQIdq3b5/WrVunNm3a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yyAY4YJiHTZMhsVS/lkjNzcZFousw65zbmEAAAC4oBGMcEFxDwhQ4xdfLAxGZYWjM8cbv/QSL3cFAABAqQhGuOD4X36Zwl955a+Zo78HpDNthsWi8Fdflf9lvaqnUAAAAFwwPKq7AKAi/C+/TC03blDKRx/r1NJ3Ct9vdIZneGMFj75V1uuHyb1OnWqsEgAAABcKwzQdfVtmzZaamiqr1aqUlBQFsHzKJZimqfzkZBWkZ8jNz1fugYFstAAAAACHsgEzRrjgGYYhj6AgKSiouksBAADABYpnjAAAAAC4PIIRAAAAAJdHMEKtNW7cOBmGUeJHfHx8dZcIAACAGoJnjFBr3X333RowYIBdm2mauueeexQREaFGjRpVU2UAAACoaZgxQq0VGRmp0aNH2z6GDRumr776ShkZGTpw4IAMw9CSJUuKHbt8+XJdeumlCgwMVEhIiPr06aNPP/20am8AAAAAVYZgBJdx4sQJWxDq2LFjif1eeuklRUdHq27dupo1a5aeeOIJpaSk6Nprr9WHH35YRdUCAACgKrGUDi6jbt26CgoKUps2bTRv3jx179692H4vvfSSunfvrtWrV9veh3TbbbepUaNGeuuttzR8+PCqLBsAAABVgBkjuIwNGzYoKSlJo0aNKrVfamqq6tevb/eS2ICAAPn7+8vHx8fZZQIAAKAaEIzgMt599115enpq5MiRpfbr27ev1qxZo5deekmxsbHau3ev7r//fqWkpOiBBx6oomoBAABQlVhKB5eQlpamjz/+WFdffbVCQkJ04MCBEvu++OKLOnHihCZNmqRJkyZJKlyGt379ekVGRlZVyQAAAKhCTpsx+s9//qOoqCj5+voqMDCwXGNM09STTz6phg0bysfHRwMGDND+/fudVSJcyEcffaSMjIwyl9FJkq+vry6++GKNHTtWH3zwgd588001bNhQw4cP1++//14F1QIAAKCqOS0Y5eTkaMSIEbr33nvLPebZZ5/Viy++qEWLFmnbtm3y8/PT1VdfraysLGeViRrONE2lp6crKSlJ6enpMk2zQudZtmyZ/P39NXTo0DL7jhgxQocOHdKSJUt04403avz48dqwYYNycnL073//u0LXBwAAQM3mtKV0Tz/9tCSV+J6YvzNNU/PmzdPjjz+u6667TpL09ttvq0GDBvroo4900003OatU1ECZmZnas2eP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udrPq+3YscNIMseOHevYouAWZ3vpcDhMfHy8eeGFFxq2FRcXm7CwMPOXv/zFgxWiLV999ZWRZPLz8xu2ffLJJ8ayLHPq1KkWx0VFRZk33nij0bbOnTubV1991WO1om3u9jM1NdUsWLDAGyXCSe720hhjdu3aZXr27GnOnDljJJn169d7uFq0pT39vNrbb79tQkNDTU1NjSfK9Aj+vOJDDodDkydP1uOPP64BAwb4uhx0sJKSElmW5daplfCdI0eOqKioSCNGjGjYFh0drdTUVOXk5PiwMuTk5CgmJkZDhgxp2DZixAjZbDbl5eW1OC49PV1r167VhQsX5HA49NZbb6myslLDhg3zQtVoiTv9PHfunPLy8tS9e3elp6crLi5OQ4cO1eeff+6tstEMdz+b5eXl+vnPf66XX35Z8fHx3igVTnC3n9cqKSmR3W5XcHCwJ8r0CIKRDy1ZskTBwcF69NFHfV0KOlhlZaWeeOIJTZo0SXa73dflwAVFRUWSpLi4uEbb4+LiGp6DbxQVFal79+6NtgUHB6tz586t9ubtt99WTU2NunTporCwMD300ENav369kpKSPF0yWuFOP7/++mtJ0pNPPqlf/OIX2rRpkwYPHqzhw4dzHaAPufvZ/M1vfqP09HSNGzfO0yXCBe7282r//ve/9cwzzzh9OuX1gmDUinnz5smyrFYfBw4ccOvYO3fu1IoVK7Rq1SrOq/UST/bzajU1NZo4caKMMfrjH//YAZXjWt7qJbzD0/1cuHChiouLtXnzZn3xxReaPXu2Jk6cqH379nXgq8AVnuynw+GQJD300EOaPn26Bg0apGXLlik5OVmvv/56R74MyLO93LBhg7Zu3cqiU17krZ+dpaWluvfee9W/f389+eST7S/ci26cuS0fmDNnjqZNm9bqPrfccotbx96+fbvOnTun3r17N2yrq6vTnDlztHz5ch09etSt46JlnuznFVdC0bFjx7R161ZmizzEk728cjrH2bNn1aNHj4btZ8+e1e233+7WMdE6Z/sZHx+vc+fONdpeW1urCxcutHgazuHDh/XSSy9p//79DacsDxw4UNu3b9fLL7+sV155pUNeA77lyX5e+Uz279+/0fbvfe97On78uPtFo1me7OXWrVt1+PDhJqeb//SnP9Vdd92lbdu2taNyNMeT/bzi0qVLysjI0E033aT169crJCSkvWV7FcGoFd26dVO3bt08cuzJkyc3uoZBkkaNGqXJkydr+vTpHvmegc6T/ZS+DUWHDh1Sdna2unTp4rHvFeg82cu+ffsqPj5eW7ZsaQhCpaWlysvLc2vVSbTN2X6mpaWpuLhYO3fu1B133CGp/pcrh8Oh1NTUZseUl5dLUpMVy4KCghpmH9CxPNnPPn36KCEhQQUFBY22Hzx4UKNHj25/8WjEk72cN2+eZs6c2WhbSkqKli1bpjFjxrS/eDThyX5K9T8rR40apbCwMG3YsEHh4eEdVrvX+Hr1B39x7Ngxs2vXLvPUU0+ZTp06mV27dpldu3aZS5cuNeyTnJxs3nvvvRaPwap01w9X+1ldXW3Gjh1rEhMTze7du82ZM2caHlVVVb56GTDufTaff/55ExMTYz744AOzd+9eM27cONO3b19TUVHhi5eAq2RkZJhBgwaZvLw88/nnn5t+/fqZSZMmNTx/8uRJk5ycbPLy8owx9Z/NpKQkc9ddd5m8vDxTWFholi5daizLMh999JGvXga+4Wo/jTFm2bJlxm63m3feecccOnTILFiwwISHh5vCwkJfvAR8w51eXkusSnfdcLWfJSUlJjU11aSkpJjCwsJGvwfV1tb66mW4jGDUQaZOnWokNXlkZ2c37CPJrFy5ssVjEIyuH67288iRI83uf+0YeJ87n02Hw2EWLlxo4uLiTFhYmBk+fLgpKCjwfvFo4vz582bSpEmmU6dOxm63m+nTpzcKuVc+i1f39+DBg+a+++4z3bt3N5GRkea2225rsnw3fMOdfhpjzHPPPWcSExNNZGSkSUtLM9u3b/dy5biWu728GsHo+uFqP7Ozs1v8PejIkSO+eRFusIwxxrNzUgAAAABwfWNVOgAAAAABj2AEAAAAIOARjAAAAAAEPIIRAAAAgIBHMAIAAAAQ8AhGAAAAAAIewQgAAABAwCMYAQAAAAh4BCMAAAAAAY9gBAAAACDgEYwAAAAABDyCEQAAAICA9/8BOzCey9H6/mMAAAAASUVORK5CYII=\n"
},
"metadata": {}
}
]
},
{
"cell_type": "code",
"source": [],
"metadata": {
"id": "f84k4EX3KqKQ"
},
"execution_count": null,
"outputs": []
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment