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

 更新时间:2021年01月25日 15:16:57   作者:十一  
在本篇文章里小编给大家整理的是一篇关于numba提升python运行速度的实例方法,有兴趣的朋友们可以参考下。

大家都知道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运行速度内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • PyCharm安装Markdown插件的两种方法

    PyCharm安装Markdown插件的两种方法

    Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。这篇文章主要介绍了PyCharm安装Markdown插件的两种方法,需要的朋友可以参考下
    2019-06-06
  • Python Web开发通信协议WSGI uWSGI uwsgi使用对比全面介绍

    Python Web开发通信协议WSGI uWSGI uwsgi使用对比全面介绍

    这篇文章主要为大家介绍了Python Web开发通信协议WSGI uWSGI uwsgi使用对比全面介绍,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • Python dict的使用误区你知道吗

    Python dict的使用误区你知道吗

    这篇文章主要为大家介绍了Python dict的使用误区,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • requests.gPython 用requests.get获取网页内容为空 ’ ’问题

    requests.gPython 用requests.get获取网页内容为空 ’ ’问题

    这篇文章主要介绍了requests.gPython 用requests.get获取网页内容为空 ’ ’,温行首先举例说明,具有一定得参考价值,需要的小伙伴可以参考一下
    2022-01-01
  • 探索Python元类与class语句协议掌握类的控制权

    探索Python元类与class语句协议掌握类的控制权

    这篇文章主要介绍了通过Python元类与class语句协议掌握类的控制权探索,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • Python中元组的基础介绍及常用操作总结

    Python中元组的基础介绍及常用操作总结

    元组是一种不可变序列。元组变量的赋值要在定义时就进行,这就像C语言中的const变量或是C++的引用,定义时赋值之后就不允许有修改。元组存在的意义是:元组在映射中可以作为键使用,因为要保证键的不变性。元组作为很多内置函数和方法的返回值存在
    2021-09-09
  • django mysql数据库及图片上传接口详解

    django mysql数据库及图片上传接口详解

    这篇文章主要介绍了django mysql数据库及图片上传接口详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • PyQT5 QTDesigner窗口及组成的实现

    PyQT5 QTDesigner窗口及组成的实现

    这篇文章主要介绍了PyQT5 QTDesigner窗口及组成的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • python错误:AttributeError: ''module'' object has no attribute ''setdefaultencoding''问题的解决方法

    python错误:AttributeError: ''module'' object has no attribute

    这篇文章主要介绍了python错误:AttributeError: 'module' object has no attribute 'setdefaultencoding'问题的解决方法,需要的朋友可以参考下
    2014-08-08
  • 如何将DataFrame数据写入csv文件及读取

    如何将DataFrame数据写入csv文件及读取

    在Python中进行数据处理时,经常会用到CSV文件的读写操作,当需要将list数据保存到CSV文件时,可以使用内置的csv模块,若data是一个list,saveData函数能够将list中每个元素存储在CSV文件的一行,但需要注意的是,默认情况下读取出的CSV数据类型为str
    2024-09-09

最新评论