| 40 | self.activate_before_residual = activate_before_residual |
| 41 | |
| 42 | def forward(self, x): |
| 43 | if not self.equalInOut and self.activate_before_residual == True: |
| 44 | x = self.relu1(self.bn1(x)) |
| 45 | else: |
| 46 | out = self.relu1(self.bn1(x)) |
| 47 | out = self.relu2(self.bn2(self.conv1(out if self.equalInOut else x))) |
| 48 | if self.drop_rate > 0: |
| 49 | out = F.dropout(out, p=self.drop_rate, training=self.training) |
| 50 | out = self.conv2(out) |
| 51 | return torch.add(x if self.equalInOut else self.convShortcut(x), out) |
| 52 | |
| 53 | |
| 54 | class NetworkBlock(nn.Module): |