Accelerating with the CPU

Numba has several code-generation utilities that generate machine code out of Python code. One of its central features is the @numba.jit decorator. This decorator allows you to mark a function for optimization by Numba's compiler. For example, the following function calculates the product of all the elements in an array:

@numba.jit(nopython=True)def product(a):    result = 1    for i in range(len(a)):        result*=a[i]    return result

It can be viewed as a np.product. custom implementation. The decorator tells Numba to compile the function into machine code, which results in much faster execution time compared to the Python version. Numba always tries to compile the specified function. In the case of operations in the function ...

Get OpenCV 4 with Python Blueprints - Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.