大家都知道Python运行速度很慢,但是轮子多,因此用户十分广泛,在各种领域上都能用到Python,但是最头疼的还是,解决运行速度问题,因此这里给大家介绍的是numba,是基本是等于再造语言。但是支持的numpy函数并不多。要让能jit的函数多起来才行。下面就详细介绍使用numba提升python运行速度方法。
numba简介:
能够实现将python函数编译为机器代码,提高运行速度。
工作作用:
给python换一种编译器
使用numba:
1、导入numba及其编译器
1
2
3
|
import numpy as np import numba from numba import jit |
2、传入numba装饰器jit,编写函数
1
2
3
4
5
6
|
@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、函数传入实参
1
2
|
x = np.arange( 100 ).reshape( 10 , 10 ) go_fast(x) |
4、加速的函数执行时间
1
|
% timeit go_fast(x) |
知识点扩展:
numba适合科学计算
numpy是为面向numpy数组的计算任务而设计的。
在面向数组的计算任务中,数据并行性对于像GPU这样的加速器是很自然的。Numba了解NumPy数组类型,并使用它们生成高效的编译代码,用于在GPU或多核CPU上执行。特殊装饰器还可以创建函数,像numpy函数那样在numpy数组上广播。
什么情况下使用numba呢?
- 使用numpy数组做大量科学计算时
- 使用for循环时
到此这篇关于numba提升python运行速度的实例方法的文章就介绍到这了,更多相关如何使用numba提升python运行速度内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://www.py.cn/toutiao/23259.html