gpt4 book ai didi

Python编程深度学习计算库之numpy

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 26 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Python编程深度学习计算库之numpy由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

numpy是python下的计算库,被非常广泛地应用,尤其是近来的深度学习的推广。在这篇文章中,将会介绍使用numpy进行一些最为基础的计算.

numpy vs scipy 。

numpy和scipy都可以进行运算,主要区别如下 。

Python编程深度学习计算库之numpy

最近比较热门的深度学习,比如在神经网络的算法,多维数组的使用是一个极为重要的场景。如果你熟悉tensorflow中的tensor的概念,你会非常清晰numpy的作用。所以熟悉numpy可以说是使用python进行深度学习入门的一个基础知识.

安装 。

?
1
2
3
4
5
6
7
liumiaocn:tmp liumiao$ pip install numpy
collecting numpy
  downloading https: / / files.pythonhosted.org / packages / b6 / 5e / 4b2c794fb57a42e285d6e0fae0e9163773c5a6a6a7e1794967fc5d2168f2 / numpy - 1.14 . 5 - cp27 - cp27m - macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl ( 4.7mb )
   100 % |████████████████████████████████| 4.7mb 284kb / s
installing collected packages: numpy
successfully installed numpy - 1.14 . 5
liumiaocn:tmp liumiao$

确认 。

?
1
2
3
4
5
6
7
8
9
10
11
12
liumiaocn:tmp liumiao$ pip show numpy
name: numpy
version: 1.14 . 5
summary: numpy: array processing for numbers, strings, records, and objects.
home - page: http: / / www.numpy.org
author: travis e. oliphant et al.
author - email: none
license: bsd
location: / usr / local / lib / python2. 7 / site - packages
requires:
required - by:
liumiaocn:tmp liumiao$

使用 。

使用numpy的数组 。

使用如下例子简单来理解一下numpy的数组的使用:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
liumiaocn:tmp liumiao$ cat np - 1.py
#!/usr/local/bin/python
import numpy as np
arr = [ 1 , 2 , 3 , 4 ]
print ( "array arr: " , arr)
np_arr = np.array(arr)
print ( "numpy array: " , np_arr)
print ( "doulbe calc : " , 2 * np_arr)
print ( "ndim: " , np_arr.ndim)
liumiaocn:tmp liumiao$ python np - 1.py
( 'array arr: ' , [ 1 , 2 , 3 , 4 ])
( 'numpy array: ' , array([ 1 , 2 , 3 , 4 ]))
( 'doulbe calc : ' , array([ 2 , 4 , 6 , 8 ]))
( 'ndim: ' , 1 )
liumiaocn:tmp liumiao$

多维数组&ndim/shape 。

ndim在numpy中指的是数组的维度,如果是2维值则为2,在下面的例子中构造一个步进为2的等差数列,然后将其进行维度的转换同时输出数组的ndim和shape的值以辅助对于ndim和shape含义的理解.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
liumiaocn:tmp liumiao$ cat np - 2.py
#!/usr/local/bin/python
import numpy as np
arithmetic = np.arange( 0 , 16 , 2 )
print (arithmetic)
print ( "ndim: " ,arithmetic.ndim, " shape:" , arithmetic.shape)
#resize to 2*4 2-dim array
arithmetic.resize( 2 , 4 )
print (arithmetic)
print ( "ndim: " ,arithmetic.ndim, " shape:" , arithmetic.shape)
#resize to 2*2*2 3-dim array
array = arithmetic.resize( 2 , 2 , 2 )
print (arithmetic)
print ( "ndim: " ,arithmetic.ndim, " shape:" , arithmetic.shape)
liumiaocn:tmp liumiao$ python np - 2.py
[ 0 2 4 6 8 10 12 14 ]
( 'ndim: ' , 1 , ' shape:' , ( 8 ,))
[[ 0 2 4 6 ]
  [ 8 10 12 14 ]]
( 'ndim: ' , 2 , ' shape:' , ( 2 , 4 ))
[[[ 0 2 ]
  [ 4 6 ]]
  [[ 8 10 ]
  [ 12 14 ]]]
( 'ndim: ' , 3 , ' shape:' , ( 2 , 2 , 2 ))
liumiaocn:tmp liumiao$

另外也可以使用reshape进行维度的调整.

等差数列&等比数列 。

numpy和matlab写起来有很多函数基本一样,比如等比数列和等差数列可以使用linspace和logspace进行.

Python编程深度学习计算库之numpy

logspace缺省的时候指的是以10给底,但是可以通过指定base进行设定 。

?
1
2
3
4
5
6
7
8
9
10
11
liumiaocn:tmp liumiao$ cat np - 3.py
#!/usr/local/bin/python
import numpy as np
print ( "np.linspace(1,4,4):" , np.linspace( 1 , 4 , 4 ))
print ( "np.logspace(1,4,4):" , np.logspace( 1 , 4 , 4 ))
print ( "np.logspace(1,4,4,base=2):" ,np.logspace( 1 , 4 , 4 ,base = 2 ))
liumiaocn:tmp liumiao$ python np - 3.py
( 'np.linspace(1,4,4):' , array([ 1. , 2. , 3. , 4. ]))
( 'np.logspace(1,4,4):' , array([  10. 100. , 1000. , 10000. ]))
( 'np.logspace(1,4,4,base=2):' , array([ 2. , 4. , 8. , 16. ]))
liumiaocn:tmp liumiao$

数组初始化 。

numpy提供了很方便的初始化的函数,比如 。

Python编程深度学习计算库之numpy

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
liumiaocn:tmp liumiao$ cat np - 4.py
#!/usr/local/bin/python
import numpy as np
print ( "np.zeros(6):" ,np.zeros( 6 ))
print ( "np.zeros((2,3)):" ,np.zeros(( 2 , 3 )))
print ( "np.ones(6):" ,np.ones( 6 ))
print ( "np.ones((2,3)):" ,np.ones(( 2 , 3 )))
print ( "np.random.random(6):" ,np.random.random( 6 ))
print ( "np.random.random(6):" ,np.random.random( 6 ))
print ( "np.random.random((2,3)):" ,np.random.random(( 2 , 3 )))
print ( "np.random.seed(1234)" )
np.random.seed( 1234 )
print ( "np.random.random(6):" ,np.random.random( 6 ))
print ( "np.random.seed(1234)" )
np.random.seed( 1234 )
print ( "np.random.random(6):" ,np.random.random( 6 ))
liumiaocn:tmp liumiao$ python np - 4.py
( 'np.zeros(6):' , array([ 0. , 0. , 0. , 0. , 0. , 0. ]))
( 'np.zeros((2,3)):' , array([[ 0. , 0. , 0. ],
     [ 0. , 0. , 0. ]]))
( 'np.ones(6):' , array([ 1. , 1. , 1. , 1. , 1. , 1. ]))
( 'np.ones((2,3)):' , array([[ 1. , 1. , 1. ],
     [ 1. , 1. , 1. ]]))
( 'np.random.random(6):' , array([ 0.06909968 , 0.27468844 , 0.59127996 , 0.56973602 , 0.45985047 ,
     0.95384945 ]))
( 'np.random.random(6):' , array([ 0.62996648 , 0.2824114 , 0.2698051 , 0.09262053 , 0.50862503 ,
     0.96600255 ]))
( 'np.random.random((2,3)):' , array([[ 0.66880129 , 0.8834006 , 0.49458989 ],
     [ 0.28335563 , 0.65711274 , 0.76726504 ]]))
np.random.seed( 1234 )
( 'np.random.random(6):' , array([ 0.19151945 , 0.62210877 , 0.43772774 , 0.78535858 , 0.77997581 ,
     0.27259261 ]))
np.random.seed( 1234 )
( 'np.random.random(6):' , array([ 0.19151945 , 0.62210877 , 0.43772774 , 0.78535858 , 0.77997581 ,
     0.27259261 ]))
liumiaocn:tmp liumiao$

总结 。

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我的支持。如果你想了解更多相关内容请查看下面相关链接 。

原文链接:https://blog.csdn.net/liumiaocn/article/details/80728029 。

最后此篇关于Python编程深度学习计算库之numpy的文章就讲到这里了,如果你想了解更多关于Python编程深度学习计算库之numpy的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com