Skip to content

Instantly share code, notes, and snippets.

@SdgJlbl
Created August 4, 2019 17:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save SdgJlbl/59544c76d30f16170f7046d328797d4e to your computer and use it in GitHub Desktop.
Save SdgJlbl/59544c76d30f16170f7046d328797d4e to your computer and use it in GitHub Desktop.
Speeding up your code: creating NumPy universal functions with Numba
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Speeding up your code: creating NumPy universal functions with Numba\n",
"\n",
"I have read recently this [very interesting series of articles](https://towardsdatascience.com/speeding-up-your-code-1-the-example-of-the-mean-shift-clustering-in-poincar%C3%A9-ball-space-d46169bfdfc8) about how one can speed up code written in Python. \n",
"\n",
"I encourage you to go read the full series if you want more details, especially on how to use parallelisation and just-in-time compiling to speed up your code. \n",
"\n",
"I want to focus here on the first trick presented, that of vectorizing your code with NumPy, instead of using Python loops and iterators. Don't get me wrong, I love Python iterators and their expressive power, but for numerical computations, they just won't do the job. \n",
"\n",
"Vectorizing your computation can give you a speedup of several orders of magnitude. However, this vectorizing step can sometimes be non-trivial, and requires quite a lot of work, of NumPy twisting and handling harrowing concepts such as [strides](https://docs.scipy.org/doc/numpy/reference/generated/numpy.lib.stride_tricks.as_strided.html). This in turn makes your code less understandable and less easily maintainable. But what wouldn't we do for a factor-100 speedup? \n",
"\n",
"What I want to test here is how large a speedup can we gain without vectorizing our Python code, but instead by using Numba to define a (compiled) universal function for NumPy.\n",
"Universal functions are vectorized functions operating elementwise on NumPy arrays. One can think of functions such as `np.exp` or `np.power`. NumPy contains quite a lot of the most usually needed functions, but Numba allows you to define your own through the decorator [`@vectorize`](https://numba.pydata.org/numba-doc/dev/user/vectorize.html).\n",
"\n",
"It is far more efficient than using `np.apply`, which performs a for-loop underneath. On the other hand, vectorized functions defined with Numba are compiled, and should be more efficient. Let's find out how fast we can get without vectorizing by hand."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Generate data\n",
"\n",
"First, I generated some data to reproduce the results exposed in the [aforementioned article](https://towardsdatascience.com/speeding-up-your-code-1-the-example-of-the-mean-shift-clustering-in-poincar%C3%A9-ball-space-d46169bfdfc8)."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"\n",
"N = 1000\n",
"r = np.random.uniform(0, 1, size=N) \n",
"theta = np.random.uniform(0, 2*np.pi, size=N)\n",
"data = np.vstack((r * np.cos(theta), r * np.sin(theta))).T"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can plot the sample data."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"%matplotlib inline\n",
"import matplotlib.pyplot as plt\n",
"plt.style.use('seaborn-whitegrid')"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.collections.PathCollection at 0x7f4cc8ff2c88>"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 720x720 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.rcParams['figure.figsize'] = [10, 10]\n",
"plt.scatter(data[:, 0], data[:, 1], s=15, alpha=1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Looks good. Now, let's try to clusterize it in a Poincaré ball space (using a non-Euclidean distance)."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Naive Python implementation"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"First, as a baseline, I run the naive (almost) pure Python implementation. \n",
"\n",
"The `_dist_poinc` function computes the needed distance between two points (represented as NumPy arrays). \n",
"\n",
"$$d_{poinc} = \\mbox{arccosh} \\left(1 + 2 \\frac{||a - b ||^2}{(1 - ||a||^2) (1 - ||b|| ^2 )} \\right)$$\n",
"\n",
"Then, for each point, we compute the distance to every other point through a loop in `dist_poinc`. We apply the meanshift algorithm for each point (see the original article for more details): each point is shifted toward the mean of similar (i.e. close enough) points. How close is close enough is parametrized by the `sigma` value. "
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"def _dist_poinc(a, b):\n",
" num=np.dot(a-b, a-b)\n",
" den1=1-np.dot(a,a)\n",
" den2=1-np.dot(b,b)\n",
" return np.arccosh(1+ 2* (num) / (den1*den2))\n",
"\n",
"def dist_poinc(a, B):\n",
" return np.array([_dist_poinc(a, b) for b in B])\n",
"\n",
"def gaussian(d, bw):\n",
" return np.exp(-0.5*(d/bw)**2) / (bw*np.sqrt(2*np.pi))\n",
"\n",
"def meanshift(points, sigma):\n",
" shifted_pts = np.empty(points.shape) \n",
" for i, p in enumerate(points): \n",
" dists = dist_poinc( p, points) \n",
" weights = gaussian(dists, sigma) \n",
" shifted_pts[i] = (np.expand_dims(weights,1) * points).sum(0) / weights.sum()\n",
" return shifted_pts"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"5.51 s ± 268 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n"
]
}
],
"source": [
"%timeit meanshift(data, .2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Each iteration of this algorithm takes roughly 6 seconds on 1000 points, which is slow.\n",
"\n",
"We can plot the shifted points, and see how they start to cluster in the centre (and not at all on the periphery, because of the use of the Poincaré distance)."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"clustered = meanshift(data, .2)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.collections.PathCollection at 0x7f4cc8bea320>"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 720x720 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.scatter(data[:, 0], data[:, 1], s=15, alpha=1)\n",
"plt.scatter(clustered[:, 0], clustered[:, 1], s=15, c='crimson', alpha=.5)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Vectorized NumPy implementation\n",
"Next, we can see how the vectorized implementation is performing. For detail on how it is derived, I refer you to the [original article](https://hackernoon.com/speeding-up-your-code-2-vectorizing-the-loops-with-numpy-e380e939bed3), as it is not in the scope of this experiment."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"def num(points):\n",
" expd = np.expand_dims(points,2) \n",
" tiled = np.tile(expd, points.shape[0]) \n",
" return np.sum(np.square(points.T - tiled ), axis=1) \n",
"\n",
"def den(points):\n",
" sq_norm = 1 - np.sum(np.square(points), 1) \n",
" expd = np.expand_dims(sq_norm, 1) \n",
" return expd * expd.T \n",
"\n",
"def poinc_dist_vec(points):\n",
" return np.arccosh(1 + 2 * num(points)/ den(points))\n",
"\n",
"def gaussian(d, bw):\n",
" return np.exp(-0.5*(d/bw)**2) / (bw*np.sqrt(2*np.pi))\n",
"\n",
"def meanshift_vec(points, sigma):\n",
" dists = poinc_dist_vec(points)\n",
" weights = gaussian(dists, sigma)\n",
" expd_w = np.dot(weights, points) \n",
" summed_weights = np.sum(weights, 0) \n",
" shifted_pts = expd_w / np.expand_dims(summed_weights, 1) \n",
" return shifted_pts"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can check that we get the same results as in the original implementation, up to a small numerical precision error."
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"clustered_vec = meanshift_vec(data, .2)\n",
"np.allclose(clustered_vec, clustered)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"85.9 ms ± 873 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)\n"
]
}
],
"source": [
"%timeit meanshift_vec(data, .2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"With this implementation, each iteration is taking roughly 85 ms, a speedup by a factor 70. It is definitely worth the slightly less readable code."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Numba JIT implementation\n",
"What I want to know is how fast can my implementation be using the definition of the distance in Python, and just-in-time compiling with Numba.\n",
"\n",
"We write down the same function as in the first implementation (we just expand the `np.dot` to work with scalars instead of vectors), and we use the `@vectorize` decorator to create a ufunc.\n",
"\n",
"Then, we can compute all distances in one line, after computing the Cartesian product of all possible pairs of point, and reshape it in the distance matrix. \n",
"\n",
"The rest of the implementation is the same as the vectorized NumPy implementation. "
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"from numba import vectorize, float64"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"@vectorize([float64(float64, float64, float64, float64)])\n",
"def dist_poinc_jit(a1, a2, b1, b2):\n",
" num = np.power(a1 - b1, 2) + np.power(a2 - b2, 2)\n",
" den1 = 1 - (np.power(a1, 2) + np.power(a2, 2))\n",
" den2 = 1 - (np.power(b1, 2) + np.power(b2, 2))\n",
" return np.arccosh(1+ 2* (num) / (den1*den2))\n",
"\n",
"\n",
"def cartesian_product(arr1, arr2):\n",
" return np.hstack((np.repeat(arr1, len(arr2), axis=0), np.concatenate(len(arr1) * [arr2])))\n",
"\n",
"def gaussian(d, bw):\n",
" return np.exp(-0.5*(d/bw)**2) / (bw*np.sqrt(2*np.pi))\n",
"\n",
"def meanshift_numba(points, sigma):\n",
" dists = dist_poinc_jit(*cartesian_product(points, points).T).reshape((len(points), len(points))) \n",
" weights = gaussian(dists, sigma)\n",
" expd_w = np.dot(weights, points)\n",
" summed_weights = np.sum(weights, 0) \n",
" shifted_pts = expd_w / np.expand_dims(summed_weights, 1) \n",
" return shifted_pts"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Once again, we can check that we get the same result as before."
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"clustered_jit = meanshift_numba(data, .2)\n",
"np.allclose(clustered_vec, clustered_jit)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"102 ms ± 271 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)\n"
]
}
],
"source": [
"%timeit meanshift_numba(data, .2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This implementation is taking roughly 100 ms per iteration, which is a bit slower than the vectorized implementation in NumPy, but much faster than the first implementation with Python loops. \n",
"\n",
"If your code is too complex to be vectorized, or if you do not care so much for raw performance as for readability, just-in-time compiling with Numba is a great option you should consider. "
]
}
],
"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.8"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment