# Codeblock 8b def forward(self, x): x = self.first_conv(x) print(f"after first_conv\t\t: {x.shape}") x = self.depthwise_sep_conv0(x) print(f"after depthwise_sep_conv0\t: {x.shape}") x = self.depthwise_sep_conv1(x) print(f"after depthwise_sep_conv1\t: {x.shape}") x = self.depthwise_sep_conv2(x) print(f"after depthwise_sep_conv2\t: {x.shape}") x = self.depthwise_sep_conv3(x) print(f"after depthwise_sep_conv3\t: {x.shape}") x = self.depthwise_sep_conv4(x) print(f"after depthwise_sep_conv4\t: {x.shape}") x = self.depthwise_sep_conv5(x) print(f"after depthwise_sep_conv5\t: {x.shape}") for i, layer in enumerate(self.depthwise_sep_conv6): x = layer(x) print(f"after depthwise_sep_conv6 #{i}\t: {x.shape}") x = self.depthwise_sep_conv7(x) print(f"after depthwise_sep_conv7\t: {x.shape}") x = self.depthwise_sep_conv8(x) print(f"after depthwise_sep_conv8\t: {x.shape}") x = self.avgpool(x) print(f"after avgpool\t\t\t: {x.shape}") x = torch.flatten(x, start_dim=1) print(f"after flatten\t\t\t: {x.shape}") x = self.fc(x) print(f"after fc\t\t\t: {x.shape}") x = self.softmax(x) print(f"after softmax\t\t\t: {x.shape}") return x