Open wangbotao opened 2 years ago
right, i find the same problem as you. here is the source code of hrnt about the fuse layer.
for i in range(len(self.fuse_layers)):
y = x[0] if i == 0 else self.fuse_layers[i][0](x[0])
for j in range(1, self.num_branches):
if i == j:
y = y + x[j]
else:
y = y + self.fuse_layers[i][j](x[j])
x_fuse.append(self.relu(y))
for i in range(len(self.fuse_layers)):
y = out[0] if i == 0 else self.fuse_layers[i][0](out[0])
for j in range(self.num_branches):
if i == j:
y += out[j]
else:
y += self.fuse_layers[i][j](out[j])
out_fuse.append(self.relu(y))
Here is the current code of the fuse layer:
Problem is that the first scale is added twice. First time:
y = out[0] if i == 0 else self.fuse_layers[i][0](out[0])
Second time:when j = 0.
To fix it,
j
should start from 1:for j in range(1, self.num_branches)