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中的私有属性
Aug 21 Python
详解使用Python处理文件目录的相关方法
Oct 16 Python
django开发教程之利用缓存文件进行页面缓存的方法
Nov 10 Python
TensorFlow神经网络优化策略学习
Mar 09 Python
Python RabbitMQ消息队列实现rpc
May 30 Python
python生成随机红包的实例写法
Sep 02 Python
django连接mysql数据库及建表操作实例详解
Dec 10 Python
Python基于pandas爬取网页表格数据
May 11 Python
关于Python3爬虫利器Appium的安装步骤
Jul 29 Python
Python Socket多线程并发原理及实现
Dec 11 Python
解决import tensorflow导致jupyter内核死亡的问题
Feb 06 Python
如何在Python中创建二叉树
Mar 30 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
Linux中用PHP判断程序运行状态的2个方法
2014/05/04 PHP
基于linnux+phantomjs实现生成图片格式的网页快照
2015/04/15 PHP
基于PHP微信红包的算法探讨
2016/07/21 PHP
ThinkPHP5 框架引入 Go AOP,PHP AOP编程项目详解
2020/05/12 PHP
参考:关于Javascript中实现暂停的几篇文章
2007/03/04 Javascript
fix-ie5.js扩展在IE5下不能使用的几个方法
2007/08/20 Javascript
jQuery的一些特性和用法整理小结
2010/01/13 Javascript
javascript常用方法、属性集合及NodeList 和 HTMLCollection 的浏览器差异
2010/12/25 Javascript
js事件(Event)知识整理
2012/10/11 Javascript
JavaScript的递归之递归与循环示例介绍
2013/08/05 Javascript
jquery实现的随机多彩tag标签随机颜色和字号大小效果
2014/03/27 Javascript
自己实现ajax封装示例分享
2014/04/01 Javascript
javascript判断移动端访问设备并解析对应CSS的方法
2015/02/05 Javascript
JQUERY的AJAX请求缓存里的数据问题处理
2016/02/23 Javascript
AngularJS在IE下取数据总是缓存问题的解决方法
2016/08/05 Javascript
浅谈layer的iframe弹窗给里面的标签赋值的问题
2016/11/10 Javascript
详解Angular2 关于*ngFor 嵌套循环
2017/05/22 Javascript
在layui中使用form表单监听ajax异步验证注册的实例
2019/09/03 Javascript
Vue v-bind动态绑定class实例方法
2020/01/15 Javascript
[53:52]EG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
浅谈Python中用datetime包进行对时间的一些操作
2016/06/23 Python
Python实现带下标索引的遍历操作示例
2019/05/30 Python
Pycharm远程调试原理及具体配置详解
2019/08/08 Python
python:HDF和CSV存储优劣对比分析
2020/06/08 Python
Python3如何使用多线程升程序运行速度
2020/08/11 Python
在python3.9下如何安装scrapy的方法
2021/02/03 Python
CSS3与动画有关的属性transition、animation、transform对比(史上最全版)
2017/08/18 HTML / CSS
印度低票价航空公司:GoAir
2017/10/11 全球购物
酒店服务实习自我鉴定
2013/09/22 职场文书
最新的大学生找工作自我评价
2013/09/29 职场文书
个性发展自我评价
2014/02/11 职场文书
城市精细化管理实施方案
2014/03/04 职场文书
驾驶员培训方案
2014/05/01 职场文书
财务会计专业自荐书
2014/06/30 职场文书
2015年社区工作总结
2015/04/08 职场文书
2016公务员年度考核评语
2015/12/01 职场文书