From 5dbd1dd7444d9d4be83c5de6ac4aef089a635baf Mon Sep 17 00:00:00 2001 From: Tirthajyoti Sarkar Date: Fri, 22 Oct 2021 00:59:07 -0700 Subject: [PATCH 1/8] Create Readme.md --- Timing-decorator/Readme.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 Timing-decorator/Readme.md diff --git a/Timing-decorator/Readme.md b/Timing-decorator/Readme.md new file mode 100644 index 0000000..8936534 --- /dev/null +++ b/Timing-decorator/Readme.md @@ -0,0 +1 @@ +## Timing decorator with ML estimators From 8f5dfc9b5e98c27ce3e600f655e143c6d91dd0fd Mon Sep 17 00:00:00 2001 From: Tirthajyoti Sarkar Date: Fri, 22 Oct 2021 00:59:34 -0700 Subject: [PATCH 2/8] Add files via upload --- .../Timing-decorator-ML-optimization.ipynb | 489 ++++++++++++++++++ 1 file changed, 489 insertions(+) create mode 100644 Timing-decorator/Timing-decorator-ML-optimization.ipynb diff --git a/Timing-decorator/Timing-decorator-ML-optimization.ipynb b/Timing-decorator/Timing-decorator-ML-optimization.ipynb new file mode 100644 index 0000000..2d4bbc9 --- /dev/null +++ b/Timing-decorator/Timing-decorator-ML-optimization.ipynb @@ -0,0 +1,489 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 201, + "id": "5a0b11ef-4d23-4678-98de-2e2c5d6ac365", + "metadata": {}, + "outputs": [], + "source": [ + "from functools import wraps\n", + "from time import time,sleep\n", + "import numpy as np, matplotlib.pyplot as plt\n", + "from sklearn.linear_model import LogisticRegressionCV\n", + "from sklearn.ensemble import RandomForestClassifier\n", + "from sklearn.datasets import make_classification,make_regression\n", + "from sklearn.model_selection import train_test_split" + ] + }, + { + "cell_type": "markdown", + "id": "179c44d3-b908-4544-a506-c24170c9f642", + "metadata": {}, + "source": [ + "## Timing decorator with `functools.wraps`" + ] + }, + { + "cell_type": "code", + "execution_count": 235, + "id": "ed5eaae6-1f2b-490d-9a77-16dfca402aa0", + "metadata": {}, + "outputs": [], + "source": [ + "def timing(func):\n", + " @wraps(func)\n", + " def wrap(*args, **kw):\n", + " ts = time()\n", + " result = func(*args, **kw)\n", + " te = time()\n", + " tdelta = round(1000*(te-ts),3)\n", + " print (f\"Function '{func.__name__}' took {tdelta} milliseconds to run\")\n", + " return result\n", + " return wrap" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "39761a68-afed-428f-9f2f-58d933bc61ad", + "metadata": {}, + "outputs": [], + "source": [ + "@timing\n", + "def list_length(a):\n", + " if isinstance(a,list):\n", + " sleep(0.1)\n", + " s = len(a)\n", + " return s\n", + " else:\n", + " print(\"Argument is not a list\")" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "573c97d3-b24f-4590-a492-d34588777c23", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Function 'list_length' took 111.291 milliseconds to run\n" + ] + }, + { + "data": { + "text/plain": [ + "3" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list_length([1,2,3])" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "4e4096ba-226d-4f73-a801-eb85bfad14d8", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Argument is not a list\n", + "Function 'list_length' took 0.0 milliseconds to run\n" + ] + } + ], + "source": [ + "list_length(5)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "bb695ae1-b0bf-4389-aff0-526929dd216a", + "metadata": {}, + "outputs": [], + "source": [ + "def time_return(func):\n", + " @wraps(func)\n", + " def wrap(*args, **kw):\n", + " ts = time()\n", + " result = func(*args, **kw)\n", + " te = time()\n", + " tdelta = round(1000*(te-ts),3)\n", + " return tdelta\n", + " return wrap" + ] + }, + { + "cell_type": "code", + "execution_count": 135, + "id": "7fbea76a-a77d-408a-a1e4-92ddb6ce1ced", + "metadata": {}, + "outputs": [], + "source": [ + "@time_return\n", + "def numpy_matmul(a,b):\n", + " return (np.matmul(a,b))" + ] + }, + { + "cell_type": "code", + "execution_count": 140, + "id": "cdbacc07-0035-4223-85ef-480c296c26f7", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "16.48" + ] + }, + "execution_count": 140, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "SIZE = 1000\n", + "a = np.random.beta(1.0,2.0,size=(SIZE,SIZE))\n", + "b = np.random.beta(1.0,2.0,size=(SIZE,SIZE))\n", + "numpy_matmul(a,b)" + ] + }, + { + "cell_type": "code", + "execution_count": 141, + "id": "33a26139-375f-406d-92ff-f2fffc958b26", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "111.301" + ] + }, + "execution_count": 141, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "SIZE = 2000\n", + "a = np.random.beta(1.0,2.0,size=(SIZE,SIZE))\n", + "b = np.random.beta(1.0,2.0,size=(SIZE,SIZE))\n", + "numpy_matmul(a,b)" + ] + }, + { + "cell_type": "code", + "execution_count": 143, + "id": "8b62edde-40ac-4d10-abc6-7fc77b057916", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Matrix multiplication of size (500x500) took 3.0 milliseconds\n", + "Matrix multiplication of size (1000x1000) took 17.031 milliseconds\n", + "Matrix multiplication of size (2000x2000) took 111.501 milliseconds\n", + "Matrix multiplication of size (3000x3000) took 359.307 milliseconds\n", + "Matrix multiplication of size (4000x4000) took 835.614 milliseconds\n", + "Matrix multiplication of size (5000x5000) took 1611.042 milliseconds\n" + ] + } + ], + "source": [ + "SIZE = [500,1000,2000,3000,4000,5000]\n", + "for s in SIZE:\n", + " a = np.random.beta(1.0,2.0,size=(s,s))\n", + " b = np.random.beta(1.0,2.0,size=(s,s))\n", + " t = numpy_matmul(a,b)\n", + " print(f\"Matrix multiplication of size ({s}x{s}) took {t} milliseconds\")" + ] + }, + { + "cell_type": "markdown", + "id": "68f93384-d0c4-45d8-bf44-ac2657089d2d", + "metadata": {}, + "source": [ + "## Throwing an ML estimator into the mix" + ] + }, + { + "cell_type": "code", + "execution_count": 144, + "id": "28dc6ecb-4a34-473d-b3a4-a607afd4e8de", + "metadata": {}, + "outputs": [], + "source": [ + "def time_estimator(func):\n", + " @wraps(func)\n", + " def wrap(*args, **kw):\n", + " ts = time()\n", + " result = func(*args, **kw)\n", + " te = time()\n", + " tdelta = round(1000*(te-ts),3)\n", + " return (tdelta, result)\n", + " return wrap" + ] + }, + { + "cell_type": "code", + "execution_count": 178, + "id": "6cbe46a4-0a4d-4cb8-866e-14646442e918", + "metadata": {}, + "outputs": [], + "source": [ + "@time_estimator\n", + "def classifier_accuracy(estimator,x,y):\n", + " X_train, X_test, y_train, y_test = train_test_split(x, y, \n", + " test_size=0.33, \n", + " random_state=42)\n", + " estimator.fit(X_train,y_train)\n", + " score = estimator.score(X_test,y_test)\n", + " return round(score,3)" + ] + }, + { + "cell_type": "code", + "execution_count": 179, + "id": "50dd6f15-7df4-4627-a62f-0f55e5e90d74", + "metadata": {}, + "outputs": [], + "source": [ + "data = make_classification(n_samples=1000,n_features=20,n_informative=20,n_redundant=0,\n", + " flip_y=0.05,class_sep=1.5)\n", + "x,y = data[0],data[1]" + ] + }, + { + "cell_type": "code", + "execution_count": 180, + "id": "4da09873-f5c3-4edf-8347-c995d95eb043", + "metadata": {}, + "outputs": [], + "source": [ + "log_model = LogisticRegressionCV()" + ] + }, + { + "cell_type": "code", + "execution_count": 181, + "id": "39c5e844-b61c-4763-9ccb-c9d058e7be63", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(312.083, 0.836)" + ] + }, + "execution_count": 181, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "classifier_accuracy(log_model,x,y)" + ] + }, + { + "cell_type": "markdown", + "id": "b987ae48-52e9-449b-9fd3-663459465097", + "metadata": {}, + "source": [ + "## Change the data and record execution time" + ] + }, + { + "cell_type": "code", + "execution_count": 176, + "id": "f21f6487-9c84-48cf-8d43-414b8aa88428", + "metadata": {}, + "outputs": [], + "source": [ + "SIZE = [1000+500*i for i in range(21)]\n", + "log_model = LogisticRegressionCV()\n", + "model_time, model_acc = [],[]\n", + "\n", + "for s in SIZE:\n", + " data = make_classification(n_samples=s,n_features=20,n_informative=20,n_redundant=0,\n", + " flip_y=0.05,class_sep=1.5)\n", + " x,y = data[0],data[1]\n", + " m_time, m_acc = classifier_accuracy(log_model,x,y)\n", + " model_time.append(m_time)\n", + " model_acc.append(m_acc)" + ] + }, + { + "cell_type": "code", + "execution_count": 177, + "id": "593abe3d-4d07-404e-87c5-7374379689cb", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "fig,ax = plt.subplots(1,2,figsize=(12,4))\n", + "ax[0].scatter(SIZE,model_acc,edgecolor='k',s=100)\n", + "ax[0].plot(SIZE,model_acc)\n", + "ax[0].set_title(\"Accuracy score with data size\",fontsize=15)\n", + "ax[0].set_xlabel(\"Data size\",fontsize=14)\n", + "ax[0].grid(True)\n", + "ax[1].scatter(SIZE,model_time,edgecolor='k',s=100)\n", + "ax[1].plot(SIZE,model_time)\n", + "ax[1].set_title(\"Training time (msec) with data size\",fontsize=15)\n", + "ax[1].set_xlabel(\"Data size\",fontsize=14)\n", + "ax[1].grid(True)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "102ece6b-e0be-4ff3-8ee2-7fa3012c3741", + "metadata": {}, + "source": [ + "## Change the model and optimize" + ] + }, + { + "cell_type": "code", + "execution_count": 229, + "id": "52a0dca9-879c-4f8c-9942-8960a734a210", + "metadata": {}, + "outputs": [], + "source": [ + "num_trees = [5*x for x in range(1,21)]\n", + "model_time, model_acc = [],[]\n", + "data = make_classification(n_samples=1000, n_features=20, \n", + " n_informative=20, n_redundant=0, \n", + " flip_y=0.05,class_sep=1.0)\n", + "x,y = data[0],data[1]\n", + "for n in num_trees:\n", + " rf_model = RandomForestClassifier(n_estimators=n)\n", + " m_time, m_acc = classifier_accuracy(rf_model,x,y)\n", + " model_time.append(m_time)\n", + " model_acc.append(m_acc)" + ] + }, + { + "cell_type": "code", + "execution_count": 232, + "id": "ce3efbe4-e817-4296-9227-75bd3905e41d", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "fig,ax = plt.subplots(1,2,figsize=(12,4))\n", + "ax[0].scatter(num_trees,model_acc,edgecolor='k',s=100)\n", + "ax[0].plot(num_trees,model_acc)\n", + "ax[0].set_title(\"Accuracy score with Random Forest\",fontsize=15)\n", + "ax[0].set_xlabel(\"Number of trees\",fontsize=14)\n", + "ax[0].grid(True)\n", + "ax[1].scatter(num_trees,model_time,edgecolor='k',s=100)\n", + "ax[1].plot(num_trees,model_time)\n", + "ax[1].set_title(\"Training time (msec) with Random Forest\",fontsize=15)\n", + "ax[1].set_xlabel(\"Number of trees\",fontsize=14)\n", + "ax[1].grid(True)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 233, + "id": "e2db0158-f14b-46d9-81fe-f5698ceb9be7", + "metadata": {}, + "outputs": [], + "source": [ + "model_time = np.array(model_time)\n", + "model_acc = np.array(model_acc)\n", + "model_opt = model_acc + 1/model_time" + ] + }, + { + "cell_type": "code", + "execution_count": 236, + "id": "9e2568d9-9ec5-4a6f-8540-6a286c6252b8", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure(dpi=120)\n", + "plt.title(\"Model optimization with number of trees\", fontsize=15)\n", + "plt.plot(num_trees,model_opt)\n", + "plt.scatter(num_trees,model_opt,s=100,edgecolor='k')\n", + "plt.xlabel(\"Number of trees\",fontsize=14)\n", + "plt.grid(True)\n", + "plt.show()" + ] + } + ], + "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.9.4" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From f948bd11fa588295c9f10e24e8ab004202c37f47 Mon Sep 17 00:00:00 2001 From: Tirthajyoti Sarkar Date: Sat, 8 Jan 2022 22:54:11 -0800 Subject: [PATCH 3/8] Create Readme.md --- Time-profiling/Readme.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 Time-profiling/Readme.md diff --git a/Time-profiling/Readme.md b/Time-profiling/Readme.md new file mode 100644 index 0000000..6d6d34d --- /dev/null +++ b/Time-profiling/Readme.md @@ -0,0 +1 @@ +## Time-profiling ML code From 9e3364ba741e1f930a9892acd21cababdae5d5c5 Mon Sep 17 00:00:00 2001 From: Tirthajyoti Sarkar Date: Sat, 8 Jan 2022 22:56:53 -0800 Subject: [PATCH 4/8] Add files via upload --- Time-profiling/8.14 - profile-DS-workflow.png | Bin 0 -> 128088 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Time-profiling/8.14 - profile-DS-workflow.png diff --git a/Time-profiling/8.14 - profile-DS-workflow.png b/Time-profiling/8.14 - profile-DS-workflow.png new file mode 100644 index 0000000000000000000000000000000000000000..e17e393679411ebc5694b797f7288bf00e73308b GIT binary patch literal 128088 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%0DA^r22fYLWrMK((uH~2BpBy6=g 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 F|2HCiv#$UE literal 0 HcmV?d00001 From 34edffcb3c3772ef34811a5d1c92e3e975cb0af5 Mon Sep 17 00:00:00 2001 From: Tirthajyoti Sarkar Date: Sat, 8 Jan 2022 22:59:21 -0800 Subject: [PATCH 5/8] Add files via upload --- Time-profiling/cProfile.ipynb | 513 ++++++++++++++++++++++++++++++++++ 1 file changed, 513 insertions(+) create mode 100644 Time-profiling/cProfile.ipynb diff --git a/Time-profiling/cProfile.ipynb b/Time-profiling/cProfile.ipynb new file mode 100644 index 0000000..a65359a --- /dev/null +++ b/Time-profiling/cProfile.ipynb @@ -0,0 +1,513 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "fc118b68-6776-4504-ace0-0e076616fde6", + "metadata": {}, + "source": [ + "# Time-profiling Data Science code using `cProfile`\n", + "\n", + "## Dr. Tirthajyoti Sarkar\n", + "\n", + "---" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "98192c2c-f90d-4a7b-b3b2-ae23870d6f4e", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 3 function calls in 0.064 seconds\n", + "\n", + " Ordered by: standard name\n", + "\n", + " ncalls tottime percall cumtime percall filename:lineno(function)\n", + " 1 0.064 0.064 0.064 0.064 :1()\n", + " 1 0.000 0.000 0.064 0.064 {built-in method builtins.exec}\n", + " 1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}\n", + "\n", + "\n" + ] + } + ], + "source": [ + "import numpy as np\n", + "import cProfile\n", + "\n", + "SIZE = 10_000_000\n", + "a = np.arange(SIZE)\n", + "b = np.random.normal(size=SIZE)\n", + "\n", + "cProfile.run('a+b')" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "9500a64c-9d19-4e05-97cf-231ab5f1842e", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "SIZE = 10_000_000\n", + "a = np.arange(SIZE)\n", + "b = np.random.normal(size=SIZE)\n", + "a+b\n" + ] + } + ], + "source": [ + "code = \"\"\"SIZE = 10_000_000\n", + "a = np.arange(SIZE)\n", + "b = np.random.normal(size=SIZE)\n", + "a+b\"\"\"\n", + "\n", + "print(code)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "6d810ec6-245d-4082-8f64-d5c16b162936", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 5 function calls in 0.488 seconds\n", + "\n", + " Ordered by: standard name\n", + "\n", + " ncalls tottime percall cumtime percall filename:lineno(function)\n", + " 1 0.078 0.078 0.488 0.488 :1()\n", + " 1 0.000 0.000 0.488 0.488 {built-in method builtins.exec}\n", + " 1 0.028 0.028 0.028 0.028 {built-in method numpy.arange}\n", + " 1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}\n", + " 1 0.381 0.381 0.381 0.381 {method 'normal' of 'numpy.random.mtrand.RandomState' objects}\n", + "\n", + "\n" + ] + } + ], + "source": [ + "cProfile.run(code)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "8a5bf74f-fa5b-4997-a864-82a6d9503216", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 6 function calls in 0.531 seconds\n", + "\n", + " Ordered by: standard name\n", + "\n", + " ncalls tottime percall cumtime percall filename:lineno(function)\n", + " 1 0.055 0.055 0.510 0.510 1735574101.py:1(add)\n", + " 1 0.021 0.021 0.531 0.531 :1()\n", + " 1 0.000 0.000 0.531 0.531 {built-in method builtins.exec}\n", + " 1 0.057 0.057 0.057 0.057 {built-in method numpy.arange}\n", + " 1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}\n", + " 1 0.397 0.397 0.397 0.397 {method 'normal' of 'numpy.random.mtrand.RandomState' objects}\n", + "\n", + "\n" + ] + } + ], + "source": [ + "def add():\n", + " SIZE = 10_000_000\n", + " a = np.arange(SIZE)\n", + " b = np.random.normal(size=SIZE)\n", + " c=a+b\n", + "\n", + "cProfile.run('add()')" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "f899c334-2d1f-41ef-aceb-71348e5a6818", + "metadata": {}, + "outputs": [], + "source": [ + "def add(size):\n", + " a = np.arange(size)\n", + " b = np.random.normal(size=size)\n", + " c=a+b" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "cdf8d43a-f240-4de6-9a92-6dee6c1cd98b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 6 function calls in 0.500 seconds\n", + "\n", + " Ordered by: standard name\n", + "\n", + " ncalls tottime percall cumtime percall filename:lineno(function)\n", + " 1 0.054 0.054 0.478 0.478 1565836920.py:1(add)\n", + " 1 0.021 0.021 0.500 0.500 :1()\n", + " 1 0.000 0.000 0.500 0.500 {built-in method builtins.exec}\n", + " 1 0.030 0.030 0.030 0.030 {built-in method numpy.arange}\n", + " 1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}\n", + " 1 0.394 0.394 0.394 0.394 {method 'normal' of 'numpy.random.mtrand.RandomState' objects}\n", + "\n", + "\n" + ] + } + ], + "source": [ + "SIZE = 10_000_000\n", + "cProfile.run('add(SIZE)')" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "8d038a76-4394-472b-9949-be9ef936dca5", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 6 function calls in 1.034 seconds\n", + "\n", + " Ordered by: standard name\n", + "\n", + " ncalls tottime percall cumtime percall filename:lineno(function)\n", + " 1 0.114 0.114 0.987 0.987 1565836920.py:1(add)\n", + " 1 0.047 0.047 1.034 1.034 :1()\n", + " 1 0.000 0.000 1.034 1.034 {built-in method builtins.exec}\n", + " 1 0.082 0.082 0.082 0.082 {built-in method numpy.arange}\n", + " 1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}\n", + " 1 0.791 0.791 0.791 0.791 {method 'normal' of 'numpy.random.mtrand.RandomState' objects}\n", + "\n", + "\n" + ] + } + ], + "source": [ + "SIZE = 20_000_000\n", + "cProfile.run('add(SIZE)')" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "f14c476d-cc19-4ce5-b74e-abf211eabc7a", + "metadata": {}, + "outputs": [], + "source": [ + "def ops(a,b):\n", + " x1 = a+b\n", + " x2 = a-b\n", + " x3 = a*b\n", + " x4 = a/b" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "771a1452-2d4a-476e-8775-3479beac3700", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 4 function calls in 0.287 seconds\n", + "\n", + " Ordered by: standard name\n", + "\n", + " ncalls tottime percall cumtime percall filename:lineno(function)\n", + " 1 0.251 0.251 0.251 0.251 3200973052.py:1(ops)\n", + " 1 0.036 0.036 0.286 0.286 :1()\n", + " 1 0.000 0.000 0.287 0.287 {built-in method builtins.exec}\n", + " 1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}\n", + "\n", + "\n" + ] + } + ], + "source": [ + "cProfile.run('ops(a,b)')" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "5af6602e-a66f-4bf0-9d22-bc5b71e8c4d0", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total function calls: 48\n", + "Total time (seconds): 1.1839559\n" + ] + } + ], + "source": [ + "import cProfile, pstats\n", + "\n", + "profiler = cProfile.Profile()\n", + "# Enable profiler\n", + "profiler.enable()\n", + "# Function execution\n", + "add(SIZE)\n", + "# Disable profiler\n", + "profiler.disable()\n", + "# pstats\n", + "stats = pstats.Stats(profiler)\n", + "# Print the total time and function calls\n", + "print(\"Total function calls:\", stats.total_calls)\n", + "print(\"Total time (seconds):\", stats.total_tt)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "91f2d625-37bf-41f6-9c92-ae52bf608d02", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 48 function calls in 1.184 seconds\n", + "\n", + " Random listing order was used\n", + "\n", + " ncalls tottime percall cumtime percall filename:lineno(function)\n", + " 2 0.000 0.000 0.000 0.000 c:\\users\\tirtha\\appdata\\local\\programs\\python\\python39\\lib\\contextlib.py:86(__init__)\n", + " 2 0.000 0.000 0.000 0.000 c:\\users\\tirtha\\appdata\\local\\programs\\python\\python39\\lib\\contextlib.py:112(__enter__)\n", + " 2 0.000 0.000 0.000 0.000 c:\\users\\tirtha\\appdata\\local\\programs\\python\\python39\\lib\\contextlib.py:121(__exit__)\n", + " 2 0.000 0.000 0.000 0.000 c:\\users\\tirtha\\appdata\\local\\programs\\python\\python39\\lib\\contextlib.py:242(helper)\n", + " 2 0.000 0.000 0.000 0.000 c:\\users\\tirtha\\appdata\\local\\programs\\python\\python39\\lib\\site-packages\\traitlets\\traitlets.py:535(get)\n", + " 2 0.000 0.000 0.000 0.000 c:\\users\\tirtha\\appdata\\local\\programs\\python\\python39\\lib\\site-packages\\traitlets\\traitlets.py:566(__get__)\n", + " 2 0.000 0.000 0.000 0.000 c:\\users\\tirtha\\appdata\\local\\programs\\python\\python39\\lib\\site-packages\\IPython\\utils\\ipstruct.py:125(__getattr__)\n", + " 2 0.000 0.000 0.000 0.000 c:\\users\\tirtha\\appdata\\local\\programs\\python\\python39\\lib\\codeop.py:142(__call__)\n", + " 4 0.000 0.000 0.000 0.000 c:\\users\\tirtha\\appdata\\local\\programs\\python\\python39\\lib\\site-packages\\IPython\\core\\compilerop.py:166(extra_flags)\n", + " 2 0.000 0.000 0.000 0.000 c:\\users\\tirtha\\appdata\\local\\programs\\python\\python39\\lib\\site-packages\\IPython\\core\\interactiveshell.py:1286(user_global_ns)\n", + " 2 0.000 0.000 0.000 0.000 c:\\users\\tirtha\\appdata\\local\\programs\\python\\python39\\lib\\site-packages\\IPython\\core\\interactiveshell.py:3354(compare)\n", + " 2 0.000 0.000 1.184 0.592 c:\\users\\tirtha\\appdata\\local\\programs\\python\\python39\\lib\\site-packages\\IPython\\core\\interactiveshell.py:3416(run_code)\n", + " 2 0.000 0.000 0.000 0.000 c:\\users\\tirtha\\appdata\\local\\programs\\python\\python39\\lib\\site-packages\\IPython\\core\\hooks.py:103(__call__)\n", + " 2 0.000 0.000 0.000 0.000 c:\\users\\tirtha\\appdata\\local\\programs\\python\\python39\\lib\\site-packages\\IPython\\core\\hooks.py:168(pre_run_code_hook)\n", + " 1 0.000 0.000 0.000 0.000 C:\\Users\\Tirtha\\AppData\\Local\\Temp/ipykernel_12356/3775033682.py:9()\n", + " 1 0.044 0.044 1.184 1.184 C:\\Users\\Tirtha\\AppData\\Local\\Temp/ipykernel_12356/3775033682.py:7()\n", + " 1 0.114 0.114 1.140 1.140 C:\\Users\\Tirtha\\AppData\\Local\\Temp/ipykernel_12356/1565836920.py:1(add)\n", + " 1 0.081 0.081 0.081 0.081 {built-in method numpy.arange}\n", + " 1 0.945 0.945 0.945 0.945 {method 'normal' of 'numpy.random.mtrand.RandomState' objects}\n", + " 2 0.000 0.000 0.000 0.000 {built-in method builtins.compile}\n", + " 2 0.000 0.000 1.184 0.592 {built-in method builtins.exec}\n", + " 4 0.000 0.000 0.000 0.000 {built-in method builtins.getattr}\n", + " 4 0.000 0.000 0.000 0.000 {built-in method builtins.next}\n", + " 1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}\n", + "\n", + "\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "stats = pstats.Stats(profiler)\n", + "stats.print_stats()" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "06fa3a62-5fef-4d9e-8c6a-d9e309d80e16", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "pstats.Stats" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "type(stats)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "cefecaa0-9933-49ae-b0dc-3f869e83fa89", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1.1839559" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "stats.total_tt" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "fe15e37e-d329-4168-a479-60c219126e16", + "metadata": {}, + "outputs": [], + "source": [ + "stats.fcn_list" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "15c966eb-e094-4e5f-8e54-1a2c3923f6c7", + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "560a8a4d-84fc-43c2-a1c8-79113dcc73ac", + "metadata": {}, + "outputs": [], + "source": [ + "size = [int(i*1e6) for i in range(5,26,5)]\n", + "total_tt = []\n", + "for s in size:\n", + " profiler = cProfile.Profile()\n", + " profiler.enable()\n", + " add(s)\n", + " profiler.disable()\n", + " stats = pstats.Stats(profiler)\n", + " total_tt.append(round(stats.total_tt,3)) " + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "264f4589-e40b-4c2d-bb08-9116dc4eb2e4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[0.274, 0.464, 0.706, 0.94, 1.187]" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "total_tt" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "695c9306-bcc6-45ea-8939-28e8e127eec3", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure(figsize=(6,3),dpi=120)\n", + "plt.bar(x=[str(i)+'-million' for i in range(5,26,5)],\n", + " height=total_tt, \n", + " edgecolor='k',\n", + " color=\"#2c75b0\")\n", + "plt.xlabel(\"Array size\", fontsize=16)\n", + "plt.ylabel(\"Time taken (seconds)\",fontsize=16)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "9b1e4af3-385a-420a-be85-449119210f93", + "metadata": {}, + "source": [ + "## Data science workflow profiling\n", + "\n", + "While measuring the execution time of these small standalone functions serve as basic demonstration of the usage of these profilers, the real utility is realized when they are used in a large-scale data science workflow. Such a workflow has a variety of modules and functions and we can set up profiling for all of them if necessary. The output may be logged into a database or even be fed into a monitoring system that will track the performance of the modules over time and take action if needed (e.g., a function has poorly performed and took too much time in a certain run or for a certain input data).\n", + "\n", + "![ds-workflow](https://raw.githubusercontent.com/tirthajyoti/Machine-Learning-with-Python/master/Time-profiling/8.14%20-%20profile-DS-workflow.png)" + ] + } + ], + "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.9.0" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 6363d068f3e265ded35c2639a6fbd020fa5df335 Mon Sep 17 00:00:00 2001 From: Tirthajyoti Sarkar Date: Sun, 9 Jan 2022 00:52:45 -0800 Subject: [PATCH 6/8] Update README.md --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index bc4c537..077c9d7 100644 --- a/README.md +++ b/README.md @@ -148,4 +148,11 @@ See my articles on Medium on this topic. ### Unit testing ML code with Pytest Check the files and detailed instructions in the [Pytest](https://github.com/tirthajyoti/Machine-Learning-with-Python/tree/master/Pytest) directory to understand how one should write unit testing code/module for machine learning models +--- + +### Memory and timing profiling + +Profiling data science code and ML models for memory footprint and computing time is a critical but often overlooed area. Here are a couple of Notebooks showing the ideas, +* [Memory profling using Scalene](https://github.com/tirthajyoti/Machine-Learning-with-Python/tree/master/Memory-profiling/Scalene) +* [Time-profiling data science code](https://github.com/tirthajyoti/Machine-Learning-with-Python/blob/master/Time-profiling/cProfile.ipynb) From f701e7466475b1c958b36065c05d2a179eea5d98 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 14 Sep 2022 00:40:47 -0700 Subject: [PATCH 7/8] Bump numpy from 1.16.3 to 1.22.0 in /Deployment/Linear_regression (#22) Bumps [numpy](https://github.com/numpy/numpy) from 1.16.3 to 1.22.0. - [Release notes](https://github.com/numpy/numpy/releases) - [Changelog](https://github.com/numpy/numpy/blob/main/doc/HOWTO_RELEASE.rst) - [Commits](https://github.com/numpy/numpy/compare/v1.16.3...v1.22.0) --- updated-dependencies: - dependency-name: numpy dependency-type: direct:production ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Deployment/Linear_regression/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Deployment/Linear_regression/requirements.txt b/Deployment/Linear_regression/requirements.txt index 042b208..8cfc955 100644 --- a/Deployment/Linear_regression/requirements.txt +++ b/Deployment/Linear_regression/requirements.txt @@ -1,4 +1,4 @@ -numpy==1.16.3 +numpy==1.22.0 pandas==0.24.2 requests==2.22.0 scikit-learn==0.21.2 From ad23604344b55c759d0ffd24ac4c5695e9f79822 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 14 Sep 2022 00:41:00 -0700 Subject: [PATCH 8/8] Bump numpy from 1.16.3 to 1.22.0 in /Deployment/rnn_app (#21) Bumps [numpy](https://github.com/numpy/numpy) from 1.16.3 to 1.22.0. - [Release notes](https://github.com/numpy/numpy/releases) - [Changelog](https://github.com/numpy/numpy/blob/main/doc/HOWTO_RELEASE.rst) - [Commits](https://github.com/numpy/numpy/compare/v1.16.3...v1.22.0) --- updated-dependencies: - dependency-name: numpy dependency-type: direct:production ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Deployment/rnn_app/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Deployment/rnn_app/requirements.txt b/Deployment/rnn_app/requirements.txt index 4fb6913..cee79e4 100644 --- a/Deployment/rnn_app/requirements.txt +++ b/Deployment/rnn_app/requirements.txt @@ -1,4 +1,4 @@ -numpy==1.16.3 +numpy==1.22.0 pandas==0.24.2 requests==2.22.0