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


Posted in Python onJanuary 25, 2021

大家都知道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循环时

到此这篇关于numba提升python运行速度的实例方法的文章就介绍到这了,更多相关如何使用numba提升python运行速度内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python查询mysql中文乱码问题
Nov 09 Python
Python最长公共子串算法实例
Mar 07 Python
Python爬取网易云音乐上评论火爆的歌曲
Jan 19 Python
Python中的上下文管理器和with语句的使用
Apr 17 Python
基于python的图片修复程序(实现水印去除)
Jun 04 Python
linux下安装python3和对应的pip环境教程详解
Jul 01 Python
Python2和3字符编码的区别知识点整理
Aug 08 Python
Python中常用的高阶函数实例详解
Feb 21 Python
django处理select下拉表单实例(从model到前端到post到form)
Mar 13 Python
python安装dlib库报错问题及解决方法
Mar 16 Python
python和php学习哪个更有发展
Jun 17 Python
python 两种方法删除空文件夹
Sep 29 Python
python中K-means算法基础知识点
Jan 25 #Python
python中HTMLParser模块知识点总结
Jan 25 #Python
pycharm配置QtDesigner的超详细方法
Jan 25 #Python
Python扫描端口的实现
Jan 25 #Python
Python 将代码转换为可执行文件脱离python环境运行(步骤详解)
Jan 25 #Python
Python实现京东抢秒杀功能
Jan 25 #Python
Python Process创建进程的2种方法详解
Jan 25 #Python
You might like
mysql5写入和读出乱码解决
2006/11/25 PHP
如何隐藏你的.php文件
2007/01/04 PHP
PHP源代码数组统计count分析
2011/08/02 PHP
php 转换字符串编码 iconv与mb_convert_encoding的区别说明
2011/11/10 PHP
YII路径的用法总结
2014/07/09 PHP
PHPExcel内存泄漏问题解决方法
2015/01/23 PHP
JavaScript入门教程(9) Document文档对象
2009/01/31 Javascript
获得所有表单值的JQuery实现代码[IE暂不支持]
2012/05/24 Javascript
Jquery插件easyUi表单验证提交(示例代码)
2013/12/30 Javascript
Mac OS X 系统下安装和部署Egret引擎开发环境
2014/09/03 Javascript
JavaScript把数组作为堆栈使用的方法
2015/03/20 Javascript
jQuery验证插件validation使用指南
2015/04/21 Javascript
Bootstrap入门书籍之(四)菜单、按钮及导航
2016/02/17 Javascript
JavaScript 不支持 indexof 该如何解决
2016/03/30 Javascript
D3.js实现饼状图的方法详解
2016/09/21 Javascript
微信小程序 window_x64环境搭建
2016/09/30 Javascript
JQuery PHP图片在线裁剪实例
2020/07/27 Javascript
javascript实现手动点赞效果
2019/04/09 Javascript
Vue使用Clipboard.JS在h5页面中复制内容实例详解
2019/09/03 Javascript
Python实现桶排序与快速排序算法结合应用示例
2017/11/22 Python
django2笔记之路由path语法的实现
2019/07/17 Python
python类中super() 的使用解析
2019/12/19 Python
在PyCharm中实现添加快捷模块
2020/02/12 Python
Python3之外部文件调用Django程序操作model等文件实现方式
2020/04/07 Python
利用Python实现最小二乘法与梯度下降算法
2021/02/21 Python
使用CSS3来匹配横屏竖屏的简单方法
2015/08/04 HTML / CSS
介绍一下SQL中union,intersect和minus
2012/04/05 面试题
校庆筹备方案
2014/03/30 职场文书
中学教师师德承诺书
2014/05/23 职场文书
保护动物的标语
2014/06/11 职场文书
2014业务员年终工作总结
2014/12/09 职场文书
公司仓管员岗位职责
2015/04/01 职场文书
淘宝客服专员岗位职责
2015/04/07 职场文书
罚款通知怎么写
2015/04/22 职场文书
2016年感恩母亲节活动总结
2016/04/01 职场文书
python 批量压缩图片的脚本
2021/06/02 Python