Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save anujonthemove/8274ab72da31a9b2c6606dfdff6ac2db to your computer and use it in GitHub Desktop.

Select an option

Save anujonthemove/8274ab72da31a9b2c6606dfdff6ac2db to your computer and use it in GitHub Desktop.
Double For Loop Vectorization using Numpy
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"id": "0ba55f5d",
"metadata": {},
"source": [
"## Imports"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "24767758",
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"from IPython.display import Image\n",
"import time\n",
"import matplotlib.pyplot as plt\n",
"plt.style.use('seaborn-poster')"
]
},
{
"cell_type": "markdown",
"id": "8193453b",
"metadata": {},
"source": [
"## Set a fixed random seed value"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "47f890f0",
"metadata": {},
"outputs": [],
"source": [
"seed = np.random.seed(1)"
]
},
{
"cell_type": "markdown",
"id": "c67a281e",
"metadata": {},
"source": [
"## Question-2"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "117a769d",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<IPython.core.display.Image object>"
]
},
"execution_count": 3,
"metadata": {
"image/png": {
"height": 400,
"width": 800
}
},
"output_type": "execute_result"
}
],
"source": [
"Image(filename=\"question-2.png\", width=800, height=400)"
]
},
{
"cell_type": "markdown",
"id": "9e776cd0",
"metadata": {},
"source": [
"## Prepare sample data and parameters"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "ec39a102",
"metadata": {},
"outputs": [],
"source": [
"def prepare_data(data_size):\n",
" x = np.random.random((data_size, 1))\n",
" y = np.random.random((data_size, ))\n",
" \n",
" return x, y"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "93bfba21",
"metadata": {},
"outputs": [],
"source": [
"x, y = prepare_data(data_size=100)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "a9da3588",
"metadata": {},
"outputs": [],
"source": [
"beta = np.random.random((3,))"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "9a4be27b",
"metadata": {},
"outputs": [],
"source": [
"alpha = beta*0.5"
]
},
{
"cell_type": "markdown",
"id": "9a87c567",
"metadata": {},
"source": [
"## Non-vectorized version"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "d4cf934c",
"metadata": {},
"outputs": [],
"source": [
"def non_vect(x, y, beta, alpha):\n",
" n = len(x)\n",
" m = len(beta)\n",
" yhat = np.zeros(n)\n",
" \n",
" for i in range(n):\n",
" for j in range(m):\n",
" yhat[i] += alpha[j]*np.exp(-beta[j]*x[i])\n",
" \n",
" return yhat"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "603b4d58",
"metadata": {},
"outputs": [],
"source": [
"yhat = non_vect(x, y, beta, alpha)"
]
},
{
"cell_type": "markdown",
"id": "9993d593",
"metadata": {},
"source": [
"## Vectorized version"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "f49a741c",
"metadata": {},
"outputs": [],
"source": [
"def vect(x, y, beta, alpha):\n",
" n = len(x)\n",
" m = len(beta)\n",
" yhat_vect = np.zeros(n)\n",
" \n",
" yhat_vect = np.dot(alpha, np.exp(np.outer(-beta, x)))\n",
" return yhat_vect"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "29434b72",
"metadata": {},
"outputs": [],
"source": [
"yhat_vect = vect(x, y, beta, alpha)"
]
},
{
"cell_type": "markdown",
"id": "a3357ea0",
"metadata": {},
"source": [
"## Sanity check"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "683622a4",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ True, True, True, True, True, True, True, True, True,\n",
" True, True, True, True, True, True, True, True, True,\n",
" True, True, True, True, True, True, True, True, True,\n",
" True, True, True, True, True, True, True, True, True,\n",
" True, True, True, True, True, True, True, True, True,\n",
" True, True, True, True, True, True, True, True, True,\n",
" True, True, True, True, True, True, True, True, True,\n",
" True, True, True, True, True, True, True, True, True,\n",
" True, True, True, True, True, True, True, True, True,\n",
" True, True, True, True, True, True, True, True, True,\n",
" True, True, True, True, True, True, True, True, True,\n",
" True])"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"yhat == yhat_vect"
]
},
{
"cell_type": "markdown",
"id": "f448b37a",
"metadata": {},
"source": [
"## Benchmarking"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "1e6cf329",
"metadata": {},
"outputs": [],
"source": [
"UPTO_POWER_OF_TWO = 20"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "ee44b4b1",
"metadata": {},
"outputs": [],
"source": [
"def benchmark(upto, beta, alpha, function):\n",
" \n",
" benchmark_dict = {}\n",
" \n",
" for i in range(1, upto):\n",
" \n",
" data_size = 2**i\n",
" X, y = prepare_data(data_size=data_size)\n",
" print(\"On iteration: {}, data_size: {}\".format(i, data_size))\n",
" \n",
" start = time.time()\n",
" function(X, y, beta, alpha)\n",
" end = time.time()\n",
" \n",
" benchmark_dict[i] = end-start\n",
" \n",
" return benchmark_dict"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "6796c8c3",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"On iteration: 1, data_size: 2\n",
"On iteration: 2, data_size: 4\n",
"On iteration: 3, data_size: 8\n",
"On iteration: 4, data_size: 16\n",
"On iteration: 5, data_size: 32\n",
"On iteration: 6, data_size: 64\n",
"On iteration: 7, data_size: 128\n",
"On iteration: 8, data_size: 256\n",
"On iteration: 9, data_size: 512\n",
"On iteration: 10, data_size: 1024\n",
"On iteration: 11, data_size: 2048\n",
"On iteration: 12, data_size: 4096\n",
"On iteration: 13, data_size: 8192\n",
"On iteration: 14, data_size: 16384\n",
"On iteration: 15, data_size: 32768\n",
"On iteration: 16, data_size: 65536\n",
"On iteration: 17, data_size: 131072\n",
"On iteration: 18, data_size: 262144\n",
"On iteration: 19, data_size: 524288\n"
]
}
],
"source": [
"non_vect_benchmark_dict = benchmark(upto=UPTO_POWER_OF_TWO, beta=beta, alpha=alpha, function=non_vect)"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "301251c5",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"On iteration: 1, data_size: 2\n",
"On iteration: 2, data_size: 4\n",
"On iteration: 3, data_size: 8\n",
"On iteration: 4, data_size: 16\n",
"On iteration: 5, data_size: 32\n",
"On iteration: 6, data_size: 64\n",
"On iteration: 7, data_size: 128\n",
"On iteration: 8, data_size: 256\n",
"On iteration: 9, data_size: 512\n",
"On iteration: 10, data_size: 1024\n",
"On iteration: 11, data_size: 2048\n",
"On iteration: 12, data_size: 4096\n",
"On iteration: 13, data_size: 8192\n",
"On iteration: 14, data_size: 16384\n",
"On iteration: 15, data_size: 32768\n",
"On iteration: 16, data_size: 65536\n",
"On iteration: 17, data_size: 131072\n",
"On iteration: 18, data_size: 262144\n",
"On iteration: 19, data_size: 524288\n"
]
}
],
"source": [
"vect_benchmark_dict = benchmark(upto=UPTO_POWER_OF_TWO, beta=beta, alpha=alpha, function=vect)"
]
},
{
"cell_type": "markdown",
"id": "5920cec0",
"metadata": {},
"source": [
"## Plot"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "ca976d5b",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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BMB5552HmWFmTJ06FQDnHHfccQfDhw8nIyOD3r17c/HFF7Nly5aI9ZsZ1157LX/5y18YNGgQGRkZfP3119WaFYW2S6xH6DUBfvzxR04//XS6d+9OZmYmo0aN4vnnn6/2vp544gl22GEHMjMzGTFiRMw6IiIiIk1FyUErM3HiRA466CBeeOEFjj/+eK6//noeeuihyvkrV65k33335auvvuKf//wnTz31FJ07d+boo4/m9ddfT3h90TIzMzn55JN5/PHHq43DP23aNHbeeWdGjx4NwKuvvsrBBx9MdnY2jzzyCI899hj5+fnst99+LFu2rHK5u+66ixNOOIEePXrw0EMP8fTTTzNx4kSWLFlC7969ee655wC4+uqrmTlzJjNnzuToo48G4Nprr+Wyyy7j0EMP5eWXX+aKK65g6tSpHH300dWSnKlTp/Lqq69y22238eqrr9KnT59q7+8Xv/hF5WuEHieeeCKpqalsv/32ACxbtow999yTr776ijvuuIOXXnqJ3XbbjRNPPJGXXnqpcl3/+9//OO200xg2bBjPPfccv//977nkkktYsGBBjdtXREREpFE55wJ7ANMBV8PjjYase8yYMa4mW7dudVu3bq1x/r9nLHa7/+ntOh8T7/6w2rJXPzc3rmV/++SX1ZY99d8z3e5/etv9e8biGmOryfXXX+8A98ADD0SU77zzzu7QQw+tnL788stdamqqW7hwYWVZWVmZ23777d3o0aMTXl8sH374oQPcG2+8UVmWl5fn0tLS3C233FJZNmTIEHfQQQdFLLt582aXm5vrLrnkksrp7OxsN3HixBpf78cff3SA+89//hNRvn79epeRkeHOOuusiPJp06Y5wL344ouVZYDr3bu3KywsjKj73nvvOcC99957MV/7qaeecmbm7rzzzsqyn//8565bt25u3bp1EXUPOeQQN3LkyMrpvffe2+24446uvLy8smzmzJkOcAcccECN79e5uvdhERERkZoAs1wNx9BBXzm4EBgX9Qi1R3mppoUaW0FxGXn5xXU+1m8tqbbs5m2lcS27ubC02rIbtpaQl19MQXFZvWMPnTEP2Xnnnfnpp58qp99//3322msvhg4dWlmWmprKqaeeypw5c6o1t6lrfbHss88+DBkyhGnTplWWPfHEE1RUVHD66acDsHDhQhYvXszpp59OWVlZ5aNDhw6M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hhsaJTn44x//yPPPP5/09YqIiIhI7dSsSJqN4uJiMjMzGTJkSNChiIiIiLRJunLQSjz99NOYGXPnzq0276ijjmLkyJEAlJWVcfPNN7PDDjuQmZlJnz59uPzyyykqKopYZuvWrVx11VUMGTKEzMxMevXqxYknnsiaNWuYMmUKN9xwAwDp6emYGWZWueyqVas488wz6datG5mZmey666488sgjEeufOnUqZsb777/PpEmT6Ny5M3vuuSdQvVnRwIEDK18j+hHuueeeY6+99qJDhw507tyZSZMm8dNPP0XUKSws5MILLyQ3N5fs7GyOPfZYli9fnuDWFhEREYnPza/P48+vzeOpz5dRUeGCDqdOunLQShxzzDF06tSJRx55hL/+9a+V5WvWrOGtt97illtuAWDy5Mm8/PLLXHnlley9997MmzePP/7xjyxZsoRnn30WgJKSEg499FC++uorrrrqKvbaay82b97Mm2++ycaNG/nFL37B8uXLuf/++/nwww9JTU2tfL2tW7dywAEHsHHjRv785z+z3Xbb8cgjj3DGGWdQWFjIL3/5y4i4Tz/9dE499VSeeeYZysrKYr63559/nuLiqg48BQUFnHbaaeTm5laW3XvvvVxwwQWcc845XHfddeTn5zNlyhQOOOAA5s6dS06ON6bw+eefz5NPPsn111/P7rvvzttvv81pp53WwK0vIiIiEtvTs5azYWsJXTqkc/Lu2wUdTp2UHMTy8V3w8T/rrte5P/zi7ciyly+FBa/XveyQA2HivZFlDx0Da7+HvS+GvX8dd7gA7dq1Y9KkSTz22GP85S9/ISXFuyj0+OOPA3DaaafxwQcf8OSTT/LQQw9x5plnAnDIIYfQtWtXJk+ezJw5cxg1ahSPPPIIM2fO5MUXX+TYY4+tfI2TTjqp8nm/fv0A2HPPPUlLq9qNHnzwQRYuXMh7773H+PHjATjyyCNZs2YNf/jDHzj33HMjkomTTjopIpmJZfTo0ZXPKyoqOP7443HO8eqrrwJesnDllVdyzjnn8MADD1TW3WOPPRg+fDj3338/l156KQsWLOCxxx7jpptu4qqrrgLgsMMOo6CggHvvjfosRERERBpofUFx5TCmw5r5zc9C1KwoluICKFhd92Pr2urLFm2Kb9ltG6svu3W9N6+4oPq8OJx55pmsWLGCd999t7Js2rRpHHzwwfTu3Zs33niDjIwMTjrpJMrKyiofhx12GADvv/8+AG+99Ra9evWKSAzi9f7779O3b9/KxCBk8uTJrF27lu+++y6ifOLEiQmt/8orr+Stt97ihRdeYPDgwQDMnDmTLVu2cPrpp0e8r+22244ddtih8n19+umnVFRUcPLJJ0es85RTTknwXYqIiIjULeLmZz2b983PQnTlIJbMbMjuVXe9rO7Vy9p1jm/Z9l1irC/XWzazfjvPvvvuy8CBA5k2bRqHHHII8+bN44svvqhs75+Xl0dJSQlZWVkxl1+/fn3l3759+9Yrhg0bNtC7d+9q5b169aqcHy5W3Zrcf//9/O1vf+ORRx5hn332qSzPy8sDvKsgsXTp4m3rVatWAdCzZ8+I+dHTIiIiIsmwKDw56K7koOXa+9cJN+updMzfvUd9nPVy/ZbzmRmTJ0/m73//O//617+YNm0a2dnZlWfnc3NzadeuHR988EHM5fv06QNAt27d+Oabb+oVQ9euXVmwYEG18tWrV1fOj445HjNmzOCCCy7guuuuq9ZHINT3YOrUqYwYMaLasqH+BqFEZM2aNZVXHULTIiIiIskWnhwMayFXDtSsqJU544wzKCgo4LnnnuPRRx/lhBNOoEOHDgAcccQRFBUVsXnzZsaOHVvtEUoODjvsMFavXs3LL9ecrGRmZgKwbdu2iPIDDjiA5cuX89FHH0WUP/bYY/To0YOddtop4fe0aNEiTjjhBCZNmsSUKVOqzd97773Jyclh0aJFMd/X8OHDAa9/REpKCk899VTE8k888UTCMYmIiIjUZWFefuXzoT1aRnKgKwetzPbbb8+ee+7JVVddxYoVKyo7HgOMHz+eU089lZNOOonLLruMPfbYg5SUFJYsWcJrr73GLbfcwvbbb8/kyZP5z3/+w6mnnsrVV1/NnnvuSX5+Pm+++SaXXnopO+ywQ+VB/t/+9jeOPPJIUlNTGTt2LGeffTZ33nknJ5xwAjfddBP9+vXj0Ucf5e233+a+++6L6IwcrwkTJtChQwd++ctf8sknn0TM22uvvejYsSO33norF110EWvXruXII4+kU6dOrFixghkzZjB+/HhOO+00hg8fzmmnncZ1111HRUUFu+++O2+99RavvfZawza6iIiISAyhKwfZmWn06tgu4Gjio+SgFTrjjDO4+OKL6du3LwceeGDEvEceeYS77rqLBx54gJtuuonMzEwGDhzI4YcfXtn2Pj09nbfeeosbbriBf//739xwww3k5uayzz77VDYLmjBhAhdeeCH33HMPN954I845nHNkZWUxY8YMrrjiCq666iry8/MZPnw406ZNY/LkyfV6P6FmStGdnAGc88YLPv/889luu+249dZbeeyxxygrK6Nv377st99+jBo1qrL+fffdR3Z2NrfddhslJSUcdNBBPPbYY+y77771ik1EREQkls3bSlmzxRuKfWiP7LibUgfNQgdXrc3YsWPdrFmzYs4rLCwEqGxuI9LSaB8WERFp3mYv3ciJ//oYgJPG9OO2SSMDjqiKmc12zo2NNU9XDkREREREkqxDRion7NaXRXkF7NK3U9DhxE3JgYiIiIhIku3YuyO3nzwq6DASptGKREREREQEUHIgIiIiIiK+NpkcpKSkUFFREXQYIvVWXl5OSkqb/PqKiIg0e+UVjtLylnms2SaPLtLS0igpKQk6DJF6Ky0tJS1NXYZERESao3mrtrDTdW9w6O0zePCjH4MOJyFtNjkoKyvT1QNpkSoqKigrK1NyICIi0kwtzMuntNyxMK+AwpLyoMNJSJs9uujSpQtr166lQ4cO9bprr0gQysvLKSwsrLwZnYiIiDQ/C9cUVD4f0j07wEgS1yavHIB3F+AePXqQnp4edCgicdN+KyIi0vwtyqtKDob1bFnJQZu9cgBgZrRr1y7oMERERESkFQklB+mpxoCuHQKOJjFt9sqBiIiIiEiyFZeVs2T9VgAGdcsiLbVlHW63rGhFRERERJqxJesKqXDe82E9coINph6UHIiIiIiIJMnCvPzK50N7tKz+BqDkQEREREQkacI7Iys5EBERERFpwxa24JGKoI2PViQiIiIikkyXHbo9R4zoxcK8AgbmZgUdTsKUHIiIiIiIJMmQ7tkt7sZn4dSsSEREREREACUHIiIiIiLiU7MiEREREZEkmLNsExsLSxjWI5s+ndqTkmJBh5QwJQciIiIiIknw0MdLeP7LFQC8dPE+7Nqvc7AB1YOaFYmIiIiIJEFLvwEaKDkQEREREWmwigrH4rytAPTt3J4OGS2zgY6SAxERERGRBlqxaRvbSsuBlnnzsxAlByIiIiIiDbQo7M7IQ3WfAxERERGRtis8OdCVAxERERGRNiyyM3JOgJE0jJIDEREREZEGWhjerKiFjlQE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\n",
"text/plain": [
"<Figure size 921.6x633.6 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"x1 = list(non_vect_benchmark_dict.keys())\n",
"y1 = list(non_vect_benchmark_dict.values())\n",
"\n",
"x2 = list(vect_benchmark_dict.keys())\n",
"y2 = list(vect_benchmark_dict.values())\n",
"\n",
"plt.title('Non-Vectorized vs Vectorized processing time comparison')\n",
"plt.xlabel('power of 2')\n",
"plt.ylabel('Processing time(in seconds)')\n",
"plt.plot(x1, y1, '--', x2, y2, '--');\n",
"plt.legend(('non vectorized', 'vectorized'), loc='upper left');"
]
},
{
"cell_type": "markdown",
"id": "7efd3620",
"metadata": {},
"source": [
"___"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"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.8.10"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment