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 ljust rjust center输出
Sep 06 Python
Python进行数据科学工作的简单入门教程
Apr 01 Python
Python实现ssh批量登录并执行命令
Oct 25 Python
Python操作使用MySQL数据库的实例代码
May 25 Python
浅谈python和C语言混编的几种方式(推荐)
Sep 27 Python
更换Django默认的模板引擎为jinja2的实现方法
May 28 Python
python生成密码字典的方法
Jul 06 Python
浅谈利用numpy对矩阵进行归一化处理的方法
Jul 11 Python
Python中logging.NullHandler 的使用教程
Nov 29 Python
Python socket模块方法实现详解
Nov 05 Python
Python 中 Shutil 模块详情
Nov 11 Python
pytorch实现加载保存查看checkpoint文件
Jul 15 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语法速查表
2006/12/06 PHP
PHP字符串中特殊符号的过滤方法介绍
2014/02/18 PHP
PHP实现的限制IP投票程序IP来源分析
2016/05/04 PHP
Laravel向公共模板赋值方法总结
2019/06/25 PHP
jquery中的mouseleave和mouseout的区别 模仿下拉框效果
2012/02/07 Javascript
jQuery的控件及事件(输入控件及回车事件)使用示例
2013/07/25 Javascript
JavaScript正则表达式中的ignoreCase属性使用详解
2015/06/16 Javascript
JavaScript实现下拉列表框数据增加、删除、上下排序的方法
2015/08/11 Javascript
Sort()函数的多种用法
2016/03/20 Javascript
js简单倒计时实现代码
2016/04/30 Javascript
深入理解JS函数的参数(arguments)的使用
2016/05/28 Javascript
AngularJS 视图详解及示例代码
2016/08/17 Javascript
浅谈JS之iframe中的窗口
2016/09/13 Javascript
angular 实现下拉列表组件的示例代码
2019/03/09 Javascript
详解javascript设计模式三:代理模式
2019/03/25 Javascript
JS数组的常用10种方法详解
2020/05/08 Javascript
微信小程序自定义modal弹窗组件的方法详解
2020/12/20 Javascript
零基础写python爬虫之抓取糗事百科代码分享
2014/11/06 Python
将Django框架和遗留的Web应用集成的方法
2015/07/24 Python
Python实现比较扑克牌大小程序代码示例
2017/12/06 Python
Pandas中把dataframe转成array的方法
2018/04/13 Python
python socket网络编程之粘包问题详解
2018/04/28 Python
python 杀死自身进程的实现方法
2019/07/01 Python
使用pyecharts生成Echarts网页的实例
2019/08/12 Python
零件设计自荐信范文
2013/11/27 职场文书
大专学生求职信
2014/07/04 职场文书
社区关爱留守儿童活动方案
2014/08/22 职场文书
业务员工作态度散漫检讨书
2014/11/02 职场文书
世界环境日活动总结
2015/02/11 职场文书
2015年采购员工作总结
2015/04/27 职场文书
奖励申请报告范文
2015/05/15 职场文书
辞职离别感言
2015/08/04 职场文书
2019个人工作自我评价范文(3篇)
2019/09/19 职场文书
MySQL和Oracle批量插入SQL的通用写法示例
2021/11/17 MySQL
基于Pygame实现简单的贪吃蛇游戏
2021/12/06 Python
Flink 侧流输出源码示例解析
2022/09/23 Servers