x.repeat(a,b) :将张量x在列的方向上重复b次,在行的方向上重复a次。
x.repeat(a,b,c) :将张量x在列的方向上重复c次,在行的方向上重复b次,在深度的方向上重复a次。
例如YOLOv3中的代码:
此代码的功能是生成每个格子的初始的横纵坐标。
grid_x = torch.linspace(0, input_width - 1, input_width).repeat(input_height, 1).repeat(
batch_size * self.num_anchors, 1, 1).view(x.shape).type(FloatTensor)
grid_y = torch.linspace(0, input_height - 1, input_height).repeat(input_width, 1).t().repeat(
batch_size * self.num_anchors, 1, 1).view(y.shape).type(FloatTensor)