提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
------------------------------时间有限,持续更新中ing--------------------------------
一、numpy.flatnonzero()
该函数输入一个矩阵,返回扁平化后矩阵中非零元素的位置(index)
classes = ['plane', 'car', 'bird', 'cat', 'deer', 'dog', 'frog', 'horse', 'ship', 'truck']
num_classes = len(classes)
samples_per_class = 7
for y, cls in enumerate(classes):
idxs = np.flatnonzero(y_train == y)
这里是查找某个类别图片的下标
二、np.random.choice()
numpy.random.choice(a, size=None, replace=True, p=None)
'''
1. 从a中抽取数字,组成size大小的输出 **这里a必须是一维的,否则报错
2. replace参数表示抽取的数字是否可以重复,True代表可重复,False代表不可重复
3. p代表每个数字被抽取到的概率,这个数组的大小要和a的大小一样,**一维**
'''
三、np.reshape()
第一个参数为数组,第二个参数为元组,表示reshape后的形状,如果形状参数中含有-1,那么表示该维自动计算
四、画图(matplot相关函数)
1 plt.subplot()
在一个画布中新建子图,并确定当前画图的子图位置。以下两种方式效果一样
plt.subplot(331)
plt.subplot(3,3,1)
'''
子图的子图的排列顺序
图1 图2 图3
图4 图5 图6
图7 图8 图9
'''
2 plt.legend()
3 plt.errorbar()
五、np.argsort()&np.argmax()
numpy.argsort(a, axis=-1, kind=None, order=None)
五、扩充维度
1 newaxis
2 np.reshape()
六、求范数
七、x.dot(y)与np.dot(x,y)
八、np.sum
1.axis参数
a = np.array(range(0,24)).reshape(2,3,4)
array([[[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]],
[[12, 13, 14, 15],
[16, 17, 18, 19],
[20, 21, 22, 23]]])
此时矩阵a的各个轴的维度为 axis[0] = 2,axis[1]=3,axis[2]=4。
0轴为最外层的维度,依次类推1轴为行数,2轴为列数(1,2轴为二维矩阵)
以axis=0为例,则沿着第0个下标(最左边的下标)变化的方向进行操作,也就是将除了第0个下标外,其他两个下标都相同的部分分成一组,然后再进行操作。
'''
a000 a100 为一组
'''
在哪一个维度进行操作就会将哪一个维度进行降维
详细参考
九、数组连接
一般只用两个参数,输入要拼接的序列和拼接的维度
十、np.vstack, np.hstack
返回在间隔[start,stop]上计算的num个等距样本。
十一、torch.stack torch.cat
torch.stack: 沿着一个新维度对输入张量序列进行连接。 序列中所有的张量都应该为相同形状。例如将两个二维向量拼接成两个三维向量,dim指定在哪一维拼接。
torch.cat: 在给定的维度进行拼接