-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathkeras_to_torch.py
389 lines (348 loc) · 21.8 KB
/
keras_to_torch.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
import torch
def print_iwpod_shapes(net):
print(net.layer0.conv.weight.shape)
print(net.layer0.conv.bias.shape)
print(net.layer0.bn.weight.shape)
print(net.layer0.bn.bias.shape)
print(net.layer0.bn.running_mean.shape)
print(net.layer0.bn.running_var.shape)
print(net.layer1.conv.weight.shape)
print(net.layer1.conv.bias.shape)
print(net.layer1.bn.weight.shape)
print(net.layer1.bn.bias.shape)
print(net.layer1.bn.running_mean.shape)
print(net.layer1.bn.running_var.shape)
print(net.layer3.conv.weight.shape)
print(net.layer3.conv.bias.shape)
print(net.layer3.bn.weight.shape)
print(net.layer3.bn.bias.shape)
print(net.layer3.bn.running_mean.shape)
print(net.layer3.bn.running_var.shape)
print(net.layer4.conv1.weight.shape)
print(net.layer4.conv1.bias.shape)
print(net.layer4.bn1.weight.shape)
print(net.layer4.bn1.bias.shape)
print(net.layer4.bn1.running_mean.shape)
print(net.layer4.bn1.running_var.shape)
print(net.layer4.conv2.weight.shape)
print(net.layer4.conv2.bias.shape)
print(net.layer4.bn2.weight.shape)
print(net.layer4.bn2.bias.shape)
print(net.layer4.bn2.running_mean.shape)
print(net.layer4.bn2.running_var.shape)
print(net.layer6.conv.weight.shape)
print(net.layer6.conv.bias.shape)
print(net.layer6.bn.weight.shape)
print(net.layer6.bn.bias.shape)
print(net.layer6.bn.running_mean.shape)
print(net.layer6.bn.running_var.shape)
print(net.layer7.conv1.weight.shape)
print(net.layer7.conv1.bias.shape)
print(net.layer7.bn1.weight.shape)
print(net.layer7.bn1.bias.shape)
print(net.layer7.bn1.running_mean.shape)
print(net.layer7.bn1.running_var.shape)
print(net.layer7.conv2.weight.shape)
print(net.layer7.conv2.bias.shape)
print(net.layer7.bn2.weight.shape)
print(net.layer7.bn2.bias.shape)
print(net.layer7.bn2.running_mean.shape)
print(net.layer7.bn2.running_var.shape)
print(net.layer8.conv1.weight.shape)
print(net.layer8.conv1.bias.shape)
print(net.layer8.bn1.weight.shape)
print(net.layer8.bn1.bias.shape)
print(net.layer8.bn1.running_mean.shape)
print(net.layer8.bn1.running_var.shape)
print(net.layer8.conv2.weight.shape)
print(net.layer8.conv2.bias.shape)
print(net.layer8.bn2.weight.shape)
print(net.layer8.bn2.bias.shape)
print(net.layer8.bn2.running_mean.shape)
print(net.layer8.bn2.running_var.shape)
print(net.layer10.conv.weight.shape)
print(net.layer10.conv.bias.shape)
print(net.layer10.bn.weight.shape)
print(net.layer10.bn.bias.shape)
print(net.layer10.bn.running_mean.shape)
print(net.layer10.bn.running_var.shape)
print(net.layer11.conv1.weight.shape)
print(net.layer11.conv1.bias.shape)
print(net.layer11.bn1.weight.shape)
print(net.layer11.bn1.bias.shape)
print(net.layer11.bn1.running_mean.shape)
print(net.layer11.bn1.running_var.shape)
print(net.layer11.conv2.weight.shape)
print(net.layer11.conv2.bias.shape)
print(net.layer11.bn2.weight.shape)
print(net.layer11.bn2.bias.shape)
print(net.layer11.bn2.running_mean.shape)
print(net.layer11.bn2.running_var.shape)
print(net.layer12.conv1.weight.shape)
print(net.layer12.conv1.bias.shape)
print(net.layer12.bn1.weight.shape)
print(net.layer12.bn1.bias.shape)
print(net.layer12.bn1.running_mean.shape)
print(net.layer12.bn1.running_var.shape)
print(net.layer12.conv2.weight.shape)
print(net.layer12.conv2.bias.shape)
print(net.layer12.bn2.weight.shape)
print(net.layer12.bn2.bias.shape)
print(net.layer12.bn2.running_mean.shape)
print(net.layer12.bn2.running_var.shape)
print(net.layer14.conv.weight.shape)
print(net.layer14.conv.bias.shape)
print(net.layer14.bn.weight.shape)
print(net.layer14.bn.bias.shape)
print(net.layer14.bn.running_mean.shape)
print(net.layer14.bn.running_var.shape)
print(net.layer15.conv1.weight.shape)
print(net.layer15.conv1.bias.shape)
print(net.layer15.bn1.weight.shape)
print(net.layer15.bn1.bias.shape)
print(net.layer15.bn1.running_mean.shape)
print(net.layer15.bn1.running_var.shape)
print(net.layer15.conv2.weight.shape)
print(net.layer15.conv2.bias.shape)
print(net.layer15.bn2.weight.shape)
print(net.layer15.bn2.bias.shape)
print(net.layer15.bn2.running_mean.shape)
print(net.layer15.bn2.running_var.shape)
print(net.layer16.conv1.weight.shape)
print(net.layer16.conv1.bias.shape)
print(net.layer16.bn1.weight.shape)
print(net.layer16.bn1.bias.shape)
print(net.layer16.bn1.running_mean.shape)
print(net.layer16.bn1.running_var.shape)
print(net.layer16.conv2.weight.shape)
print(net.layer16.conv2.bias.shape)
print(net.layer16.bn2.weight.shape)
print(net.layer16.bn2.bias.shape)
print(net.layer16.bn2.running_mean.shape)
print(net.layer16.bn2.running_var.shape)
print(net.layer17.conv1.weight.shape)
print(net.layer17.conv1.bias.shape)
print(net.layer17.bn1.weight.shape)
print(net.layer17.bn1.bias.shape)
print(net.layer17.bn1.running_mean.shape)
print(net.layer17.bn1.running_var.shape)
print(net.layer17.conv2.weight.shape)
print(net.layer17.conv2.bias.shape)
print(net.layer17.bn2.weight.shape)
print(net.layer17.bn2.bias.shape)
print(net.layer17.bn2.running_mean.shape)
print(net.layer17.bn2.running_var.shape)
print(net.layer18.conv1.weight.shape)
print(net.layer18.conv1.bias.shape)
print(net.layer18.bn1.weight.shape)
print(net.layer18.bn1.bias.shape)
print(net.layer18.bn1.running_mean.shape)
print(net.layer18.bn1.running_var.shape)
print(net.layer18.conv2.weight.shape)
print(net.layer18.conv2.bias.shape)
print(net.layer18.bn2.weight.shape)
print(net.layer18.bn2.bias.shape)
print(net.layer18.bn2.running_mean.shape)
print(net.layer18.bn2.running_var.shape)
print(net.layer19.probs_conv_batch1.conv.weight.shape)
print(net.layer19.probs_conv_batch1.conv.bias.shape)
print(net.layer19.box_conv_batch1.conv.weight.shape)
print(net.layer19.box_conv_batch1.conv.bias.shape)
print(net.layer19.probs_conv_batch1.bn.weight.shape)
print(net.layer19.probs_conv_batch1.bn.bias.shape)
print(net.layer19.probs_conv_batch1.bn.running_mean.shape)
print(net.layer19.probs_conv_batch1.bn.running_var.shape)
print(net.layer19.box_conv_batch1.bn.weight.shape)
print(net.layer19.box_conv_batch1.bn.bias.shape)
print(net.layer19.box_conv_batch1.bn.running_mean.shape)
print(net.layer19.box_conv_batch1.bn.running_var.shape)
print(net.layer19.probs_conv_batch2.conv.weight.shape)
print(net.layer19.probs_conv_batch2.conv.bias.shape)
print(net.layer19.box_conv_batch2.conv.weight.shape)
print(net.layer19.box_conv_batch2.conv.bias.shape)
print(net.layer19.probs_conv_batch2.bn.weight.shape)
print(net.layer19.probs_conv_batch2.bn.bias.shape)
print(net.layer19.probs_conv_batch2.bn.running_mean.shape)
print(net.layer19.probs_conv_batch2.bn.running_var.shape)
print(net.layer19.box_conv_batch2.bn.weight.shape)
print(net.layer19.box_conv_batch2.bn.bias.shape)
print(net.layer19.box_conv_batch2.bn.running_mean.shape)
print(net.layer19.box_conv_batch2.bn.running_var.shape)
print(net.layer19.probs_conv1.weight.shape)
print(net.layer19.probs_conv1.bias.shape)
print(net.layer19.box_conv1.weight.shape)
print(net.layer19.box_conv1.bias.shape)
def load_keras_weights(pytorch_net, keras_weights):
pytorch_net.layer0.conv.weight.data = torch.from_numpy(keras_weights[0]).permute(3,2,0,1)
pytorch_net.layer0.conv.bias.data = torch.from_numpy(keras_weights[1])
pytorch_net.layer0.bn.weight.data = torch.from_numpy(keras_weights[2])
pytorch_net.layer0.bn.bias.data = torch.from_numpy(keras_weights[3])
pytorch_net.layer0.bn.running_mean.data = torch.from_numpy(keras_weights[4])
pytorch_net.layer0.bn.running_var.data = torch.from_numpy(keras_weights[5])
pytorch_net.layer1.conv.weight.data = torch.from_numpy(keras_weights[6]).permute(3,2,0,1)
pytorch_net.layer1.conv.bias.data = torch.from_numpy(keras_weights[7])
pytorch_net.layer1.bn.weight.data = torch.from_numpy(keras_weights[8])
pytorch_net.layer1.bn.bias.data = torch.from_numpy(keras_weights[9])
pytorch_net.layer1.bn.running_mean.data = torch.from_numpy(keras_weights[10])
pytorch_net.layer1.bn.running_var.data = torch.from_numpy(keras_weights[11])
pytorch_net.layer3.conv.weight.data = torch.from_numpy(keras_weights[12]).permute(3,2,0,1)
pytorch_net.layer3.conv.bias.data = torch.from_numpy(keras_weights[13])
pytorch_net.layer3.bn.weight.data = torch.from_numpy(keras_weights[14])
pytorch_net.layer3.bn.bias.data = torch.from_numpy(keras_weights[15])
pytorch_net.layer3.bn.running_mean.data = torch.from_numpy(keras_weights[16])
pytorch_net.layer3.bn.running_var.data = torch.from_numpy(keras_weights[17])
pytorch_net.layer4.conv1.weight.data = torch.from_numpy(keras_weights[18]).permute(3,2,0,1)
pytorch_net.layer4.conv1.bias.data = torch.from_numpy(keras_weights[19])
pytorch_net.layer4.bn1.weight.data = torch.from_numpy(keras_weights[20])
pytorch_net.layer4.bn1.bias.data = torch.from_numpy(keras_weights[21])
pytorch_net.layer4.bn1.running_mean.data = torch.from_numpy(keras_weights[22])
pytorch_net.layer4.bn1.running_var.data = torch.from_numpy(keras_weights[23])
pytorch_net.layer4.conv2.weight.data = torch.from_numpy(keras_weights[24]).permute(3,2,0,1)
pytorch_net.layer4.conv2.bias.data = torch.from_numpy(keras_weights[25])
pytorch_net.layer4.bn2.weight.data = torch.from_numpy(keras_weights[26])
pytorch_net.layer4.bn2.bias.data = torch.from_numpy(keras_weights[27])
pytorch_net.layer4.bn2.running_mean.data = torch.from_numpy(keras_weights[28])
pytorch_net.layer4.bn2.running_var.data = torch.from_numpy(keras_weights[29])
pytorch_net.layer6.conv.weight.data = torch.from_numpy(keras_weights[30]).permute(3,2,0,1)
pytorch_net.layer6.conv.bias.data = torch.from_numpy(keras_weights[31])
pytorch_net.layer6.bn.weight.data = torch.from_numpy(keras_weights[32])
pytorch_net.layer6.bn.bias.data = torch.from_numpy(keras_weights[33])
pytorch_net.layer6.bn.running_mean.data = torch.from_numpy(keras_weights[34])
pytorch_net.layer6.bn.running_var.data = torch.from_numpy(keras_weights[35])
pytorch_net.layer7.conv1.weight.data = torch.from_numpy(keras_weights[36]).permute(3,2,0,1)
pytorch_net.layer7.conv1.bias.data = torch.from_numpy(keras_weights[37])
pytorch_net.layer7.bn1.weight.data = torch.from_numpy(keras_weights[38])
pytorch_net.layer7.bn1.bias.data = torch.from_numpy(keras_weights[39])
pytorch_net.layer7.bn1.running_mean.data = torch.from_numpy(keras_weights[40])
pytorch_net.layer7.bn1.running_var.data = torch.from_numpy(keras_weights[41])
pytorch_net.layer7.conv2.weight.data = torch.from_numpy(keras_weights[42]).permute(3,2,0,1)
pytorch_net.layer7.conv2.bias.data = torch.from_numpy(keras_weights[43])
pytorch_net.layer7.bn2.weight.data = torch.from_numpy(keras_weights[44])
pytorch_net.layer7.bn2.bias.data = torch.from_numpy(keras_weights[45])
pytorch_net.layer7.bn2.running_mean.data = torch.from_numpy(keras_weights[46])
pytorch_net.layer7.bn2.running_var.data = torch.from_numpy(keras_weights[47])
pytorch_net.layer8.conv1.weight.data = torch.from_numpy(keras_weights[48]).permute(3,2,0,1)
pytorch_net.layer8.conv1.bias.data = torch.from_numpy(keras_weights[49])
pytorch_net.layer8.bn1.weight.data = torch.from_numpy(keras_weights[50])
pytorch_net.layer8.bn1.bias.data = torch.from_numpy(keras_weights[51])
pytorch_net.layer8.bn1.running_mean.data = torch.from_numpy(keras_weights[52])
pytorch_net.layer8.bn1.running_var.data = torch.from_numpy(keras_weights[53])
pytorch_net.layer8.conv2.weight.data = torch.from_numpy(keras_weights[54]).permute(3,2,0,1)
pytorch_net.layer8.conv2.bias.data = torch.from_numpy(keras_weights[55])
pytorch_net.layer8.bn2.weight.data = torch.from_numpy(keras_weights[56])
pytorch_net.layer8.bn2.bias.data = torch.from_numpy(keras_weights[57])
pytorch_net.layer8.bn2.running_mean.data = torch.from_numpy(keras_weights[58])
pytorch_net.layer8.bn2.running_var.data = torch.from_numpy(keras_weights[59])
pytorch_net.layer10.conv.weight.data = torch.from_numpy(keras_weights[60]).permute(3,2,0,1)
pytorch_net.layer10.conv.bias.data = torch.from_numpy(keras_weights[61])
pytorch_net.layer10.bn.weight.data = torch.from_numpy(keras_weights[62])
pytorch_net.layer10.bn.bias.data = torch.from_numpy(keras_weights[63])
pytorch_net.layer10.bn.running_mean.data = torch.from_numpy(keras_weights[64])
pytorch_net.layer10.bn.running_var.data = torch.from_numpy(keras_weights[65])
pytorch_net.layer11.conv1.weight.data = torch.from_numpy(keras_weights[66]).permute(3,2,0,1)
pytorch_net.layer11.conv1.bias.data = torch.from_numpy(keras_weights[67])
pytorch_net.layer11.bn1.weight.data = torch.from_numpy(keras_weights[68])
pytorch_net.layer11.bn1.bias.data = torch.from_numpy(keras_weights[69])
pytorch_net.layer11.bn1.running_mean.data = torch.from_numpy(keras_weights[70])
pytorch_net.layer11.bn1.running_var.data = torch.from_numpy(keras_weights[71])
pytorch_net.layer11.conv2.weight.data = torch.from_numpy(keras_weights[72]).permute(3,2,0,1)
pytorch_net.layer11.conv2.bias.data = torch.from_numpy(keras_weights[73])
pytorch_net.layer11.bn2.weight.data = torch.from_numpy(keras_weights[74])
pytorch_net.layer11.bn2.bias.data = torch.from_numpy(keras_weights[75])
pytorch_net.layer11.bn2.running_mean.data = torch.from_numpy(keras_weights[76])
pytorch_net.layer11.bn2.running_var.data = torch.from_numpy(keras_weights[77])
pytorch_net.layer12.conv1.weight.data = torch.from_numpy(keras_weights[78]).permute(3,2,0,1)
pytorch_net.layer12.conv1.bias.data = torch.from_numpy(keras_weights[79])
pytorch_net.layer12.bn1.weight.data = torch.from_numpy(keras_weights[80])
pytorch_net.layer12.bn1.bias.data = torch.from_numpy(keras_weights[81])
pytorch_net.layer12.bn1.running_mean.data = torch.from_numpy(keras_weights[82])
pytorch_net.layer12.bn1.running_var.data = torch.from_numpy(keras_weights[83])
pytorch_net.layer12.conv2.weight.data = torch.from_numpy(keras_weights[84]).permute(3,2,0,1)
pytorch_net.layer12.conv2.bias.data = torch.from_numpy(keras_weights[85])
pytorch_net.layer12.bn2.weight.data = torch.from_numpy(keras_weights[86])
pytorch_net.layer12.bn2.bias.data = torch.from_numpy(keras_weights[87])
pytorch_net.layer12.bn2.running_mean.data = torch.from_numpy(keras_weights[88])
pytorch_net.layer12.bn2.running_var.data = torch.from_numpy(keras_weights[89])
pytorch_net.layer14.conv.weight.data = torch.from_numpy(keras_weights[90]).permute(3,2,0,1)
pytorch_net.layer14.conv.bias.data = torch.from_numpy(keras_weights[91])
pytorch_net.layer14.bn.weight.data = torch.from_numpy(keras_weights[92])
pytorch_net.layer14.bn.bias.data = torch.from_numpy(keras_weights[93])
pytorch_net.layer14.bn.running_mean.data = torch.from_numpy(keras_weights[94])
pytorch_net.layer14.bn.running_var.data = torch.from_numpy(keras_weights[95])
pytorch_net.layer15.conv1.weight.data = torch.from_numpy(keras_weights[96]).permute(3,2,0,1)
pytorch_net.layer15.conv1.bias.data = torch.from_numpy(keras_weights[97])
pytorch_net.layer15.bn1.weight.data = torch.from_numpy(keras_weights[98])
pytorch_net.layer15.bn1.bias.data = torch.from_numpy(keras_weights[99])
pytorch_net.layer15.bn1.running_mean.data = torch.from_numpy(keras_weights[100])
pytorch_net.layer15.bn1.running_var.data = torch.from_numpy(keras_weights[101])
pytorch_net.layer15.conv2.weight.data = torch.from_numpy(keras_weights[102]).permute(3,2,0,1)
pytorch_net.layer15.conv2.bias.data = torch.from_numpy(keras_weights[103])
pytorch_net.layer15.bn2.weight.data = torch.from_numpy(keras_weights[104])
pytorch_net.layer15.bn2.bias.data = torch.from_numpy(keras_weights[105])
pytorch_net.layer15.bn2.running_mean.data = torch.from_numpy(keras_weights[106])
pytorch_net.layer15.bn2.running_var.data = torch.from_numpy(keras_weights[107])
pytorch_net.layer16.conv1.weight.data = torch.from_numpy(keras_weights[108]).permute(3,2,0,1)
pytorch_net.layer16.conv1.bias.data = torch.from_numpy(keras_weights[109])
pytorch_net.layer16.bn1.weight.data = torch.from_numpy(keras_weights[110])
pytorch_net.layer16.bn1.bias.data = torch.from_numpy(keras_weights[111])
pytorch_net.layer16.bn1.running_mean.data = torch.from_numpy(keras_weights[112])
pytorch_net.layer16.bn1.running_var.data = torch.from_numpy(keras_weights[113])
pytorch_net.layer16.conv2.weight.data = torch.from_numpy(keras_weights[114]).permute(3,2,0,1)
pytorch_net.layer16.conv2.bias.data = torch.from_numpy(keras_weights[115])
pytorch_net.layer16.bn2.weight.data = torch.from_numpy(keras_weights[116])
pytorch_net.layer16.bn2.bias.data = torch.from_numpy(keras_weights[117])
pytorch_net.layer16.bn2.running_mean.data = torch.from_numpy(keras_weights[118])
pytorch_net.layer16.bn2.running_var.data = torch.from_numpy(keras_weights[119])
pytorch_net.layer17.conv1.weight.data = torch.from_numpy(keras_weights[120]).permute(3,2,0,1)
pytorch_net.layer17.conv1.bias.data = torch.from_numpy(keras_weights[121])
pytorch_net.layer17.bn1.weight.data = torch.from_numpy(keras_weights[122])
pytorch_net.layer17.bn1.bias.data = torch.from_numpy(keras_weights[123])
pytorch_net.layer17.bn1.running_mean.data = torch.from_numpy(keras_weights[124])
pytorch_net.layer17.bn1.running_var.data = torch.from_numpy(keras_weights[125])
pytorch_net.layer17.conv2.weight.data = torch.from_numpy(keras_weights[126]).permute(3,2,0,1)
pytorch_net.layer17.conv2.bias.data = torch.from_numpy(keras_weights[127])
pytorch_net.layer17.bn2.weight.data = torch.from_numpy(keras_weights[128])
pytorch_net.layer17.bn2.bias.data = torch.from_numpy(keras_weights[129])
pytorch_net.layer17.bn2.running_mean.data = torch.from_numpy(keras_weights[130])
pytorch_net.layer17.bn2.running_var.data = torch.from_numpy(keras_weights[131])
pytorch_net.layer18.conv1.weight.data = torch.from_numpy(keras_weights[132]).permute(3,2,0,1)
pytorch_net.layer18.conv1.bias.data = torch.from_numpy(keras_weights[133])
pytorch_net.layer18.bn1.weight.data = torch.from_numpy(keras_weights[134])
pytorch_net.layer18.bn1.bias.data = torch.from_numpy(keras_weights[135])
pytorch_net.layer18.bn1.running_mean.data = torch.from_numpy(keras_weights[136])
pytorch_net.layer18.bn1.running_var.data = torch.from_numpy(keras_weights[137])
pytorch_net.layer18.conv2.weight.data = torch.from_numpy(keras_weights[138]).permute(3,2,0,1)
pytorch_net.layer18.conv2.bias.data = torch.from_numpy(keras_weights[139])
pytorch_net.layer18.bn2.weight.data = torch.from_numpy(keras_weights[140])
pytorch_net.layer18.bn2.bias.data = torch.from_numpy(keras_weights[141])
pytorch_net.layer18.bn2.running_mean.data = torch.from_numpy(keras_weights[142])
pytorch_net.layer18.bn2.running_var.data = torch.from_numpy(keras_weights[143])
pytorch_net.layer19.probs_conv_batch1.conv.weight.data = torch.from_numpy(keras_weights[144]).permute(3,2,0,1)
pytorch_net.layer19.probs_conv_batch1.conv.bias.data = torch.from_numpy(keras_weights[145])
pytorch_net.layer19.box_conv_batch1.conv.weight.data = torch.from_numpy(keras_weights[146]).permute(3,2,0,1)
pytorch_net.layer19.box_conv_batch1.conv.bias.data = torch.from_numpy(keras_weights[147])
pytorch_net.layer19.probs_conv_batch1.bn.weight.data = torch.from_numpy(keras_weights[148])
pytorch_net.layer19.probs_conv_batch1.bn.bias.data = torch.from_numpy(keras_weights[149])
pytorch_net.layer19.probs_conv_batch1.bn.running_mean.data = torch.from_numpy(keras_weights[150])
pytorch_net.layer19.probs_conv_batch1.bn.running_var.data = torch.from_numpy(keras_weights[151])
pytorch_net.layer19.box_conv_batch1.bn.weight.data = torch.from_numpy(keras_weights[152])
pytorch_net.layer19.box_conv_batch1.bn.bias.data = torch.from_numpy(keras_weights[153])
pytorch_net.layer19.box_conv_batch1.bn.running_mean.data = torch.from_numpy(keras_weights[154])
pytorch_net.layer19.box_conv_batch1.bn.running_var.data = torch.from_numpy(keras_weights[155])
pytorch_net.layer19.probs_conv_batch2.conv.weight.data = torch.from_numpy(keras_weights[156]).permute(3,2,0,1)
pytorch_net.layer19.probs_conv_batch2.conv.bias.data = torch.from_numpy(keras_weights[157])
pytorch_net.layer19.box_conv_batch2.conv.weight.data = torch.from_numpy(keras_weights[158]).permute(3,2,0,1)
pytorch_net.layer19.box_conv_batch2.conv.bias.data = torch.from_numpy(keras_weights[159])
pytorch_net.layer19.probs_conv_batch2.bn.weight.data = torch.from_numpy(keras_weights[160])
pytorch_net.layer19.probs_conv_batch2.bn.bias.data = torch.from_numpy(keras_weights[161])
pytorch_net.layer19.probs_conv_batch2.bn.running_mean.data = torch.from_numpy(keras_weights[162])
pytorch_net.layer19.probs_conv_batch2.bn.running_var.data = torch.from_numpy(keras_weights[163])
pytorch_net.layer19.box_conv_batch2.bn.weight.data = torch.from_numpy(keras_weights[164])
pytorch_net.layer19.box_conv_batch2.bn.bias.data = torch.from_numpy(keras_weights[165])
pytorch_net.layer19.box_conv_batch2.bn.running_mean.data = torch.from_numpy(keras_weights[166])
pytorch_net.layer19.box_conv_batch2.bn.running_var.data = torch.from_numpy(keras_weights[167])
pytorch_net.layer19.probs_conv1.weight.data = torch.from_numpy(keras_weights[168]).permute(3,2,0,1)
pytorch_net.layer19.probs_conv1.bias.data = torch.from_numpy(keras_weights[169])
pytorch_net.layer19.box_conv1.weight.data = torch.from_numpy(keras_weights[170]).permute(3,2,0,1)
pytorch_net.layer19.box_conv1.bias.data = torch.from_numpy(keras_weights[171])
return pytorch_net