Numpy的优势

一、为什么学习Numpy

在这里我们通过一段带运行来体会到Numpy的好处

import random
import time
import numpy as np
a = []
for i in range(100000000):
    a.append(random.random())
t1 = time.time()
sum1=sum(a)
t2=time.time()

b=np.array(a)
t4=time.time()
sum3=np.sum(b)
t5=time.time()
print(t2-t1, t5-t4)

t2-t1为使用python自带的求和函数消耗的时间,t5-t4为使用numpy求和消耗的时间,结果为:

Numpy的优势

​从中我们看到numpy的计算速度要快很多,节约了时间。


那么,机器学习的最大特点就是大量的数据运算,那么如果没有一个快速的解决方案,那可能现在python也在机器学习领域达不到好的效果。

Numpy的优势

​二、Numpy介绍

Numpy的优势

三、Numpy的特点

为什么Numpy会快?

我们都知道Python作为一个动态语言一大特点就是慢,语言本身的特点我们可以抛开不说,并且CPython还带有GIL锁,发挥不了多核的优势,但是我们前面学过那么多也没怎么体会到速度慢呢???那是因为前面的django、flask或者scrapy这些框架,其实都是一些基于网络的操作(主要是IO操作)。这里给大家思考题了,为什么网络操作其实并不怎么会受到GIL的影响?快快快思考,如果不知道,我在这里给一张图,就不过多解释了,注意大小顺序按照开销排序

Numpy的优势

但是,如果是我们机器学习怎么办,充满大量的计算。没有解决这个问题,会消耗大量的时间运算,如果还是使用原来的Python函数或者工具,那么估计在机器学习领域就没有Python什么事情了!但是有的Numpy就好多了,接下来我们了解了解Numpy到底好在哪?

1、Numpy的数组内存块风格

在numpy当中一个核心就是ndarray(这个稍后会详细介绍),那么这个称之为数组的东西到底跟原本的python列表有什么不同呢,请看一张图:

Numpy的优势

从图中我们看出来numpy其实在存储数据的时候,数据与数据的地址都是连续的,这样就给我们操作带来了好处,处理速度快。在计算机内存里是存储在一个连续空间上的,而对于这个连续空间,我们如果创建 Array 的方式不同,在这个连续空间上的排列顺序也有不同。

Numpy的优势

展开阅读全文

页面更新:2024-03-11

标签:多核   向量   数组   函数   排列   顺序   消耗   框架   内存   机器   优势   操作   方式   时间   数据   数码   空间

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top