Python中将数据矢量化运算所带来的时间加快
➤01 矢量化运算
在《PaddlePaddle深度学习实战》一书中,介绍了在Python中利用Numpy中的矩阵(矢量)运算所带来的速度增加。
▲ PaddlePaddle深度学习实战
下面程序来自于书中的给出的示例,显示了计算两个维度为1000000的矢量内积计算。
利用nympy中的dot运算,与直接通过循环运算,速度相差两个多数量级。
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# TEST1.PY -- by Dr. ZhuoQing 2020-11-10
#
# Note:
#============================================================from headm import *v1 = random.rand(1000000)
v2 = random.rand(1000000)
v = 0tic = time.time()
for i in range(1000000):v += v1[i] * v2[i]toc = time.time()
printf("v:%f, cost time:%f"%(v, (toc-tic)*1000))tic = time.time()
v = dot(v1,v2)
toc = time.time()
printf("v:%f, cost time:%f"%(v, (toc-tic)*1000))#------------------------------------------------------------
# END OF FILE : TEST1.PY
#============================================================
运行的结果为:
v:250151.502867, cost time:553.031683
v:250151.502867, cost time:2.000332
两个运算之间相差近250倍。
值得注意的是后,这个运算比值在不同的计算机中,使用循环大体都在0.5秒左右,但是使用numpy的dot运算,则会有比较大的区别。
Python中将数据矢量化运算所带来的时间加快相关推荐
- python什么是矢量化运算?
矢量化运算 Numpy数组不需要进行循环遍历,即可对每个元素执行批量的算术运算操作,这个过程叫做矢量化运算操作. 实现数组广播机制的条件是什么? 两个数组的某一维度等长,或其中一个数组是一维数组
- Python之数据规整化:清理、转换、合并、重塑
Python之数据规整化:清理.转换.合并.重塑 1. 合并数据集 pandas.merge可根据一个或者多个不同DataFrame中的行连接起来. pandas.concat可以沿着一条轴将多个对象 ...
- python数据统计 矢量图_用python中的矢量化解决方案计算max draw down
Maximum Drawdown是量化金融中常用的一种风险度量,用于评估所经历的最大负收益. 最近,我变得不耐烦的时间来计算最大下降使用我的循环方法.def max_dd_loop(returns): ...
- Anonympy——使用Python进行数据匿名化
目录 介绍 背景 使用代码 兴趣点 GitHub存储库 介绍 我们的世界充斥着数字数据.2.5万亿字节是每天产生的数据量.大多数时候,数据是个人的和敏感的,与它相关的人不想透露它.个人和敏感数据的一些 ...
- python把文字矢量化_如何将点阵汉字矢量化 | indienova
那么是不是点阵汉字就已经退出历史舞台了呢?并没有.现在街上能常常见到的简易 LED 屏,很多都还是用的点阵汉字.很多工控或者简易屏幕上,也都还在使用点阵汉字,这是因为同矢量字体相比,点阵汉字占用的空间 ...
- python二维向量运算,二维数组python中的矢量化计数
像这样的东西呢,它是矢量化的,没有for循环:def moving_count(a, value, axis=0): """Return sequential count ...
- 如何在Python中将数据插入到Word模板中生成一份Word文档
在一些的项目开发中,会有一些生成Word文件的操作,比如将获取到的一些数据添加到Word模板当中的相应的位置生成一份Word文档. 由于最近的Python项目当中需要将一些从服务器查出的数据添加到Wo ...
- python怎么处理数据标注_在python中将数据标记为敏感
编辑 我提出了一个使用ctypes(反过来使用c)将内存归零的解决方案. import sys import ctypes def zerome(string): location = id(stri ...
- python dbf 修改_在Python中将数据写入dbf时出错
dbf与大多数其他数据库包的不同之处在于,您不是直接使用dbf文件本身而是获得完全独立的数据结构(例如,一串行作为元组). 我发现自己遇到的问题是,当我一次更新多个字段时: record.name = ...
最新文章
- 分布式消息队列Kafka集群安装
- 彻底解决 gcr、quay、DockerHub 镜像下载难题!
- C语言数据结构(大话数据结构——笔记3)第五章:串(字符串)
- 云炬Android开发报错处理教程 Gradle下载超时please configure the proxy settings either in IDE or Gradle
- JSON学习笔记(一)- 语法
- different behavior dialog popup display no
- PhotoShop基础知识
- WDM驱动程序入门(3)——安装步骤
- 关于抓包出现TCP DUP ACK问题
- Ubantu下安装adobe flash player插件
- 集群起不来oracle,Oracle11g rac 集群无法启动分析及处理
- 海外观看2022卡塔尔世界杯中文直播攻略大全
- jitpack No version of NDK matched the requested
- 使用BS4爬取智联招聘
- 锂电池的充电电压和电流应该是多少
- 移动浏览器市场份额之争
- Tether是操纵市场的幕后黑手吗?
- Crash:reportSizeConfigurations ActivityRecord not found for Token xxx
- 测试液晶显示器的软件,tLCDtest(液晶屏幕测试软件)
- 用js写随机抽奖代码