Python 如何在pytorch中进行批量填充

Python 如何在pytorch中进行批量填充,python,numpy,pytorch,Python,Numpy,Pytorch,我需要在训练期间用其他图像补丁填充图像。既然我在用mini batch进行培训,有什么有效的方法可以做到这一点吗 例如,我有一小批大小为[B,3,128,128]的图像。我还有大小为[B,4,3,32,32]的补丁,其中4是补丁的数量。此外,我还有一个边界框,指示大小为[B,4,4]的补丁的位置。如何以批处理方式填写修补程序?您可以忽略修补程序之间的重叠。导入焊炬 B=1#批数 C=3个通道的数量 S=16#img的尺寸 img=火炬零点(B、C、S、S) s=4#补丁大小 n_面片=4#面片数

我需要在训练期间用其他图像补丁填充图像。既然我在用mini batch进行培训,有什么有效的方法可以做到这一点吗

例如,我有一小批大小为
[B,3,128,128]
的图像。我还有大小为
[B,4,3,32,32]
的补丁,其中4是补丁的数量。此外,我还有一个边界框,指示大小为
[B,4,4]
的补丁的位置。如何以批处理方式填写修补程序?您可以忽略修补程序之间的重叠。

导入焊炬
B=1#批数
C=3个通道的数量
S=16#img的尺寸
img=火炬零点(B、C、S、S)
s=4#补丁大小
n_面片=4#面片数
patches=torch.arange(B*C*n_patch*s*s).视图(B,n_patch,C,s,s)
#生成4*B盒
#框:x_min,y_min,x_max,y_max。这里,我们取四个角补丁。此外,我们只需设置所有批次共享相同的面片坐标。
基盒=火炬张量([[0,0,s,s],[s-s,0,s,s],[0,s-s,s,s],[s-s,s,s])
B盒子=基本盒子。视图(1,-1,4)。重复(B,1,1)
对于范围(B)内的批次id:
对于范围内的修补程序id(n\u修补程序):
bbox=bboxes[批处理id,补丁id,:]
img[batch\u id,:,bbox[0]:bbox[2],bbox[1]:bbox[3]=批次[batch\u id,patch\u id,…]
img
#张量([[0,1,2,3,0,0,0,0,0,0,0,0,0,96,97,98,99]),
#           [  4.,   5.,   6.,   7.,   0.,   0.,   0.,   0.,   0.,   0.,   0., 0., 100., 101., 102., 103.],
#           [  8.,   9.,  10.,  11.,   0.,   0.,   0.,   0.,   0.,   0.,   0., 0., 104., 105., 106., 107.],
#           [ 12.,  13.,  14.,  15.,   0.,   0.,   0.,   0.,   0.,   0.,   0., 0., 108., 109., 110., 111.],
#           [  0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0., 0.,   0.,   0.,   0.,   0.],
#           [  0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0., 0.,   0.,   0.,   0.,   0.],
#           [  0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0., 0.,   0.,   0.,   0.,   0.],
#           [  0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0., 0.,   0.,   0.,   0.,   0.],
#           [  0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0., 0.,   0.,   0.,   0.,   0.],
#           [  0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0., 0.,   0.,   0.,   0.,   0.],
#           [  0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0., 0.,   0.,   0.,   0.,   0.],
#           [  0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0., 0.,   0.,   0.,   0.,   0.],
#           [ 48.,  49.,  50.,  51.,   0.,   0.,   0.,   0.,   0.,   0.,   0., 0., 144., 145., 146., 147.],
#           [ 52.,  53.,  54.,  55.,   0.,   0.,   0.,   0.,   0.,   0.,   0., 0., 148., 149., 150., 151.],
#           [ 56.,  57.,  58.,  59.,   0.,   0.,   0.,   0.,   0.,   0.,   0., 0., 152., 153., 154., 155.],
#           [ 60.,  61.,  62.,  63.,   0.,   0.,   0.,   0.,   0.,   0.,   0., 0., 156., 157., 158., 159.]],
#          [[ 16.,  17.,  18.,  19.,   0.,   0.,   0.,   0.,   0.,   0.,   0., 0., 112., 113., 114., 115.],
#           [ 20.,  21.,  22.,  23.,   0.,   0.,   0.,   0.,   0.,   0.,   0., 0., 116., 117., 118., 119.],
#           [ 24.,  25.,  26.,  27.,   0.,   0.,   0.,   0.,   0.,   0.,   0., 0., 120., 121., 122., 123.],
#           [ 28.,  29.,  30.,  31.,   0.,   0.,   0.,   0.,   0.,   0.,   0., 0., 124., 125., 126., 127.],
#           [  0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0., 0.,   0.,   0.,   0.,   0.],
#           [  0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0., 0.,   0.,   0.,   0.,   0.],
#           [  0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0., 0.,   0.,   0.,   0.,   0.],
#           [  0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0., 0.,   0.,   0.,   0.,   0.],
#           [  0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0., 0.,   0.,   0.,   0.,   0.],
#           [  0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0., 0.,   0.,   0.,   0.,   0.],
#           [  0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0., 0.,   0.,   0.,   0.,   0.],
#           [  0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0., 0.,   0.,   0.,   0.,   0.],
#           [ 64.,  65.,  66.,  67.,   0.,   0.,   0.,   0.,   0.,   0.,   0., 0., 160., 161., 162., 163.],
#           [ 68.,  69.,  70.,  71.,   0.,   0.,   0.,   0.,   0.,   0.,   0., 0., 164., 165., 166., 167.],
#           [ 72.,  73.,  74.,  75.,   0.,   0.,   0.,   0.,   0.,   0.,   0., 0., 168., 169., 170., 171.],
#           [ 76.,  77.,  78.,  79.,   0.,   0.,   0.,   0.,   0.,   0.,   0., 0., 172., 173., 174., 175.]],
#          [[ 32.,  33.,  34.,  35.,   0.,   0.,   0.,   0.,   0.,   0.,   0., 0., 128., 129., 130., 131.],
#           [ 36.,  37.,  38.,  39.,   0.,   0.,   0.,   0.,   0.,   0.,   0., 0., 132., 133., 134., 135.],
#           [ 40.,  41.,  42.,  43.,   0.,   0.,   0.,   0.,   0.,   0.,   0., 0., 136., 137., 138., 139.],
#           [ 44.,  45.,  46.,  47.,   0.,   0.,   0.,   0.,   0.,   0.,   0., 0., 140., 141., 142., 143.],
#           [  0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0., 0.,   0.,   0.,   0.,   0.],
#           [  0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0., 0.,   0.,   0.,   0.,   0.],
#           [  0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0., 0.,   0.,   0.,   0.,   0.],
#           [  0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0., 0.,   0.,   0.,   0.,   0.],
#           [  0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0., 0.,   0.,   0.,   0.,   0.],
#           [  0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0., 0.,   0.,   0.,   0.,   0.],
#           [  0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0., 0.,   0.,   0.,   0.,   0.],
#           [  0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0., 0.,   0.,