make convolution layers.
(self, num_layers, num_filters, num_kernels)
| 453 | return deconv_kernel, padding, output_padding |
| 454 | |
| 455 | def _make_conv_layer(self, num_layers, num_filters, num_kernels): |
| 456 | """make convolution layers.""" |
| 457 | assert num_layers == len(num_filters), \ |
| 458 | 'ERROR: num_conv_layers is different len(num_conv_filters)' |
| 459 | assert num_layers == len(num_kernels), \ |
| 460 | 'ERROR: num_conv_layers is different len(num_conv_filters)' |
| 461 | layers = [] |
| 462 | for i in range(num_layers): |
| 463 | kernel, padding, output_padding = \ |
| 464 | self._get_deconv_cfg(num_kernels[i]) |
| 465 | |
| 466 | planes = num_filters[i] |
| 467 | layers.append( |
| 468 | nn.Conv2d(in_channels=self.num_input_features, |
| 469 | out_channels=planes, |
| 470 | kernel_size=kernel, |
| 471 | stride=1, |
| 472 | padding=padding, |
| 473 | bias=self.deconv_with_bias)) |
| 474 | layers.append(nn.BatchNorm2d(planes, momentum=self.bn_momentum)) |
| 475 | layers.append(nn.ReLU(inplace=True)) |
| 476 | self.num_input_features = planes |
| 477 | |
| 478 | return nn.Sequential(*layers) |
| 479 | |
| 480 | def _make_deconv_layer(self, num_layers, num_filters, num_kernels): |
| 481 | """make deconvolution layers.""" |
no test coverage detected