1 importtorch.nn as nn2 importtorch3
4 classconv2DBatchNormRelu(nn.Module):5 def __init__(self,in_channels,out_channels,kernel_size,stride,padding,bias=True,dilation=1,is_batchnorm=True):6 super(conv2DBatchNormRelu,self).__init__()7 ifis_batchnorm:8 self.cbr_unit=nn.Sequential(9 nn.Conv2d(in_channels,out_channels,kernel_size=kernel_size,stride=stride,padding=padding,10 bias=bias,dilation=dilation),11 nn.BatchNorm2d(out_channels),12 nn.ReLU(inplace=True),13 )14 else:15 self.cbr_unit=nn.Sequential(16 nn.Conv2d(in_channels, out_channels, kernel_size=kernel_size, stride=stride, padding=padding,17 bias=bias, dilation=dilation),18 nn.ReLU(inplace=True)19 )20
21 defforward(self,inputs):22 outputs=self.cbr_unit(inputs)23 returnoutputs24
25 classsegnetDown2(nn.Module):26 def __init__(self,in_channels,out_channels):27 super(segnetDown2,self).__init__()28 self.conv