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实现rsa算法代码
Feb 17 Python
python3使用requests模块爬取页面内容的实战演练
Sep 25 Python
Python实现的求解最大公约数算法示例
May 03 Python
python scp 批量同步文件的实现方法
Jan 03 Python
python实现京东订单推送到测试环境,提供便利操作示例
Aug 09 Python
wxPython电子表格功能wx.grid实例教程
Nov 19 Python
python 实现检验33品种数据是否是正态分布
Dec 09 Python
Python reques接口测试框架实现代码
Jul 28 Python
基于Python爬取股票数据过程详解
Oct 21 Python
python可视化 matplotlib画图使用colorbar工具自定义颜色
Dec 07 Python
python Zmail模块简介与使用示例
Dec 19 Python
Python3中最常用的5种线程锁实例总结
Jul 07 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
基于PHP导出Excel的小经验 完美解决乱码问题
2013/06/10 PHP
用php简单实现加减乘除计算器
2014/01/06 PHP
input、button的不同type值在ajax提交表单时导致的陷阱
2009/02/24 Javascript
JavaScript 学习初步 入门教程
2010/03/25 Javascript
javascript代码编写需要注意的7个小细节小结
2011/09/21 Javascript
禁用页面部分JavaScript方法的具体实现
2013/07/31 Javascript
使用AJAX实现Web页面进度条的实例分享
2016/05/06 Javascript
关于Jquery中的bind(),on()绑定事件方式总结
2016/10/26 Javascript
简单实现js悬浮导航效果
2017/02/05 Javascript
关于ES6的六个小特性(二)
2017/02/20 Javascript
React学习笔记之条件渲染(一)
2017/07/02 Javascript
JS实现闭包中的沙箱模式示例
2017/09/07 Javascript
Vue条件循环判断+计算属性+绑定样式v-bind的实例
2018/09/18 Javascript
vue-cli脚手架搭建的项目去除eslint验证的方法
2018/09/29 Javascript
js中值引用和地址引用实例分析
2019/06/21 Javascript
vue如何使用外部特殊字体的操作
2020/07/30 Javascript
Python的for和break循环结构中使用else语句的技巧
2016/05/24 Python
Python3 修改默认环境的方法
2019/02/16 Python
python numpy 矩阵堆叠实例
2020/01/17 Python
如何在python中判断变量的类型
2020/07/29 Python
详解python使用金山词霸的翻译功能(调试工具断点的使用)
2021/01/07 Python
HTML5 语音搜索只需一句代码
2013/01/03 HTML / CSS
ALDO英国官网:加拿大女鞋品牌
2018/02/19 全球购物
能否解释一下XSS cookie盗窃是什么意思
2012/06/02 面试题
师生聚会感言
2014/01/26 职场文书
《火烧云》教学反思
2014/04/12 职场文书
群众路线剖析材料(四风问题)
2014/10/08 职场文书
2014年幼儿园工作总结
2014/11/10 职场文书
2014年工程部工作总结
2014/11/25 职场文书
写给孩子的新学期寄语
2015/02/27 职场文书
语文教师求职信范文
2015/03/20 职场文书
商场圣诞节活动总结
2015/05/06 职场文书
工厂员工辞职信范文
2015/05/12 职场文书
2015婚礼主持词开场白
2015/05/28 职场文书
2019大学生社会实践报告汇总
2019/08/16 职场文书
Anaconda配置各版本Pytorch的实现
2021/08/07 Python