在正式入门pytorch之前,首先回顾以下numpy的一些基本操作:
首先导入numpy包
import numpy as np
创建numpy的ndarray数组的方式主要以下3种:
- list转变为np.array
a1 = [[1, 2], [3, 4]]
a1 = np.array(a1)
- 创建自定义大小的随机数组
a2 = np.random.rand(2, 3)
- 创建特殊矩阵
a3_zero = np.zeros((2, 3), float)
a3_one = np.ones((2, 3), int)
a3_sequence = np.arange(6).reshape(2, 3)
矩阵的形状是我们在编程的时候很关心的参数,比如在搭建卷积神经网络时,就要保证卷积核的channel数量和上一层输出的特征图的channel数相等。
那么如何获取矩阵的shape呢?
print(a2.shape)
输出:
(2, 3)
矩阵运算:矩阵乘法和元素相乘
矩阵乘法:
np.dot(a1, a2)
输出:
array([[0.73630149, 2.14174254, 2.88921558],
[1.91645686, 5.21595794, 6.71389597]])
元素相乘:
np.multiply(a1, a1)
输出:
array([[ 1, 4],
[ 9, 16]])
这里用矩阵乘法的定义也进行了运算,结果和np.dot的计算结果一致。
def calculate(a, b)