在深度学习的实现中,经常出现数组和矩阵的计算。NumPy的数组类(numpy.array)中提供了很多便捷的方法
1.导入numpy库
In [21]:
import numpy as np
2.生成numpy数组。
要生成numpy数组需要使用np.array()方法。np.array()可以接收python列表作为参数,生成numpy数组(numpy.ndarray)。
In [22]:
x = np.array([1,2,3])
print('x的值是:',x)
print('x的类型是:',type(x))
3.Numpy的算术运算
In [23]:
x1 = np.array([1,2,3])
y1 = np.array([4,5,6])
print('加法:', x1 + y1)
print('减法:', x1 - y1)
print('乘法:', x1 * y1)
print('除法:', x1 / y1)
4.生成多维数组
In [24]:
x2 = np.array([[1,2],[3,4]])
print('x2的值是:',x2)
print('x2的类型是:',type(x2))
print('x2的形状是:',x2.shape)
print('x2的数据类型是:',x2.dtype)
5.多维数组的算术运算
In [25]:
y2 = np.array([[5,6],[7,8]])
print('y2的值是:',y2)
print('二维加法:',x2+y2)
print('二维乘法:',x2*y2)
NumPy数组(np.array)可以生成N维数组,即可以生成一维数组、二维数组、三维数组等任意维数的数组。数学上将一维数组称为向量,将二维数组称为矩阵。另外,可以将一般化之后的向量或矩阵等统称为张量(tensor)。
6.广播
形状不同的数组间也可以进行运算,这样的运算能力称为广播。因为NumPy有广播功能,所以不同形状的数组之间也可以顺利地进行运算。
In [26]:
x3 = np.array([1,2,3])
print('x3扩大10倍:',x3*10)
y3 = np.array([[1,2,3],[4,5,6]])
print('y3扩大10倍:',y3*10)