MCPcopy Create free account
hub / github.com/ChunmingHe/WS-SAM / forward

Method forward

lib/VIT/decoder/decoder_p.py:250–291  ·  view source on GitHub ↗
(self, E4, E3, E2, E1,shape)

Source from the content-addressed store, hash-verified

248
249
250 def forward(self, E4, E3, E2, E1,shape):
251 E4, E3, E2, E1= self.side_conv1(E4), self.side_conv2(E3), self.side_conv3(E2), self.side_conv4(E1)
252
253 if E4.size()[2:] != E3.size()[2:]:
254 E4 = F.interpolate(E4, size=E3.size()[2:], mode='bilinear')
255 if E2.size()[2:] != E3.size()[2:]:
256 E2 = F.interpolate(E2, size=E3.size()[2:], mode='bilinear')
257
258 E5 = self.conv_block(E4, E3, E2)
259
260 E4 = torch.cat((E4, E5),1)
261 E3 = torch.cat((E3, E5),1)
262 E2 = torch.cat((E2, E5),1)
263
264 E4 = F.relu(self.fuse1(E4), inplace=True)
265 E3 = F.relu(self.fuse2(E3), inplace=True)
266 E2 = F.relu(self.fuse3(E2), inplace=True)
267
268 P5 = self.predtrans5(E5)
269
270 D4 = self.MSA5(E5, E4, P5)
271 D4 = F.interpolate(D4, size=E3.size()[2:], mode='bilinear')
272 P4 = self.predtrans4(D4)
273
274 D3 = self.MSA4(D4, E3, P4)
275 D3 = F.interpolate(D3, size=E2.size()[2:], mode='bilinear')
276 P3 = self.predtrans3(D3)
277
278 D2 = self.MSA3(D3, E2, P3)
279 D2 = F.interpolate(D2, size=E1.size()[2:], mode='bilinear')
280 P2 = self.predtrans2(D2)
281
282 D1 = self.MSA2(D2, E1, P2)
283 P1 =self.predtrans1(D1)
284
285 P1 = F.interpolate(P1, size=shape, mode='bilinear')
286 P2 = F.interpolate(P2, size=shape, mode='bilinear')
287 P3 = F.interpolate(P3, size=shape, mode='bilinear')
288 P4 = F.interpolate(P4, size=shape, mode='bilinear')
289 P5 = F.interpolate(P5, size=shape, mode='bilinear')
290
291 return P5, P4, P3, P2, P1
292
293 def initialize(self):
294 weight_init(self)

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected