当前位置 博文首页 > numba提升python运行速度的实例方法

    numba提升python运行速度的实例方法

    作者:十一 时间:2021-02-02 12:11

    大家都知道Python运行速度很慢,但是轮子多,因此用户十分广泛,在各种领域上都能用到Python,但是最头疼的还是,解决运行速度问题,因此这里给大家介绍的是numba,是基本是等于再造语言。但是支持的numpy函数并不多。要让能jit的函数多起来才行。下面就详细介绍使用numba提升python运行速度方法。

    numba简介:

    能够实现将python函数编译为机器代码,提高运行速度。

    工作作用:

    给python换一种编译器

    使用numba:

    1、导入numba及其编译器

    import numpy as np
    import numba 
    from numba import jit

    2、传入numba装饰器jit,编写函数

    @jit(nopython=True) 
    def go_fast(a): 
      trace = 0
       for i in range(a.shape[0]): 
        trace += np.tanh(a[i, i]) 
    return a + trace

    3、函数传入实参

    x = np.arange(100).reshape(10, 10) 
    go_fast(x)

    4、加速的函数执行时间

    % timeit go_fast(x)

    知识点扩展:

    numba适合科学计算

    numpy是为面向numpy数组的计算任务而设计的。

    在面向数组的计算任务中,数据并行性对于像GPU这样的加速器是很自然的。Numba了解NumPy数组类型,并使用它们生成高效的编译代码,用于在GPU或多核CPU上执行。特殊装饰器还可以创建函数,像numpy函数那样在numpy数组上广播。

    什么情况下使用numba呢?

    • 使用numpy数组做大量科学计算时
    • 使用for循环时
    js