concatenate
def concatenate(arrays, axis=None, out=None)
#使用实例
concatenate((a1, a2, ...), axis=0, out=None)
沿现有轴连接一系列阵列。
参数:
- a1,a2,…:array_like序列
数组必须具有相同的形状,维度除外
对应于“轴”(默认为第一个)。
- axis:整数,可选
矩阵将沿其连接的轴。如果轴为无,矩阵将在使用前被展平。axis默认值为0。
- 输出:ndarray,可选
如果提供,则为放置结果的目的地。形状必须正确,与未指定out参数时连接将返回的形状匹配。
np.bincount
def bincount(x, weights=None, minlength=None)
计数非负整数数组中每个值的出现次数。说人话就是统计出一个列表的各个元素的出现次数
参数
- x:array_like,
一维
,非负整数
因为输入矩阵必须是一维的,这就是为什么在yolov5计数标签之前需要先将标签在水平方向拼接起来
#将标签信息在水平方向上拼接起来
labels = np.concatenate(labels, 0) # labels.shape = (866643, 5) for COCO
#label标签里面的维度信息??
classes = labels[:, 0].astype(int) # labels = [class xywh]
weights = np.bincount(classes, minlength=nc) # occurrences per class
- 权重:array_like,可选
权重,与“x”形状相同的数组。 - minlength:int,可选
输出阵列的最小长度
输出:整数的ndarray,对输入数组进行计数后的结果,输出的长度等于“np.amax(x)+1”。
from_numpy
torch.from_numpy(ndarray) → Tensor
将numpy.ndarray 转换为pytorch的 Tensor。 返回的张量tensor和numpy的ndarray共享同一内存空间。修改一个会导致另外一个也被修改。返回的张量不能改变大小。
torch.sum
torch.sum(input) → float
返回输入张量input 所有元素的和。
输出形状与输入相同,除了给定维度上为1.
参数:
- input (Tensor) – 输入张量
torch.sum(input, dim, out=None) → Tensor
返回输入张量给定维度上每行的和。 输出形状与输入相同,除了给定维度上为1.
参数:
- input (Tensor) – 输入张量
- dim (int) – 缩减的维度
- out (Tensor, optional) – 结果张量