Python 如何在pytorch中进行批量填充
我需要在训练期间用其他图像补丁填充图像。既然我在用mini batch进行培训,有什么有效的方法可以做到这一点吗 例如,我有一小批大小为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#面片数
[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.,