numba提升python运行速度的实例方法
作者:十一 发布时间:2022-10-06 20:39:27
标签: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循环时
来源:https://www.py.cn/toutiao/23259.html
0
投稿
猜你喜欢
- 源代码如下:#-*- coding:utf-8 -*- def check_exsit(process_name): import win3
- 创建与打开站点启动FrontPage XP,选择菜单“文件/新建”,再单击“网页或站点”命令选项。在“新建网页或站点”任务窗格
- 浏览器的出现互联网的出现是人类信息交流方式的一次划时代的革命,在这场革命中有两个技术对互联网的发展起到了决定性的作用:一个技术带来的人类信息
- Python中内置了一些与时间处理相关的库,如time、datatime和calendar库。其中time库是Python中处理时间的标准库
- 什么是CSS Sprites?“Sprite”(精灵)这个词在计算机图形学中有它独特的定义,由于游戏、视频等画质越来越高,必须有一种技术可以
- 今天调试某页面样式,发现chrome下出现问题,但是同样基于webkit引擎的safari没有问题,很是郁闷。于是寻找针对google ch
- 看youa的源码发现的,原来flash可以有fallback content:<object type="applicati
- 定义流的作用是使用统一的方式处理文件、网络和数据压缩等共用同一套函数和用法的操作。简单而言,流是具有流式行为的资源对象。因此,流可以线性读写
- “/xxxxx”应用程序中的服务器错误。 -------------------------------------------------
- 文件处理流程1.打开文件,得到文件句柄并赋值给一个变量2.通过句柄对文件进行操作3.关闭文件 r模式,默认模式,文件不存在则报错w
- 1、背景最近的项目中,再次踩到Python字符串处理的坑,决定把此次解决方案记录一下,以勿踩坑。2、遇到坑原本字符串:大坪英利国际8号楼88
- char、varchar、text和nchar、nvarchar、ntext的区别1、CHAR。CHAR存储定长数据很方便,CHAR字段上的
- Python是一种非常实用的高级编程语言,它的易读性和简洁性使其成为初学者的首选语言。然而,Python的功能远不止于此,它的强大库支持使其
- 题目描述:(1)模拟登陆界面,判别用户名和密码,给出合适的提示,如果超过三次,锁定输入。用代替密码;或者最新输入显示,前面的变成;安全性措施
- 下面是一份在 HTML 4 Strict 和 XHTML 1.0 Strict 下必须遵守的标签嵌套规则,比如你不能在 <a>
- 我们知道numpy.ndarray.reshape()是用来改变numpy数组的形状的,但是它的参数会有一些特殊的用法,这里我们进一步说明一
- 这里给大家分享一段使用PHP Socket 编程模拟Http post和get请求的代码,非常的实用,结尾部分我们再讨论下php模拟http
- 随着WEB标准在国内的不断普及,结构表现行为分离、模块化、语义化、优雅退化等概念也成为考核一名前端人员对WEB标准理解的重要条目,其中,由于
- 本文阐述了网页设计中的十大诀窍,作为网页开发者我们应该注意,这样才能最大限度得发挥网站的功能和效益: 预早筹划设计主页未必很艰难。
- 各大云计算提供商(亚马逊、谷歌和微软)目前都使用了键/值存储方式。然而,在San Francisco召开的MSDN开发者大会上,微软宣布他们