def __init__(self, in_dim, projectionFactor, out_dim, dilation, dtype=torch.float32): super(BottleNeckDownSamplingDilatedConvLast, self).__init__() # Main branch # Secondary branch self.block0 = conv_block_1(in_dim, int(in_dim / projectionFactor)) self.conv1 = nn.Conv2d(int(in_dim / projectionFactor), int(in_dim / projectionFactor), kernel_size=3, padding=dilation, dilation=dilation) self.bn1 = nn.BatchNorm2d(int(in_dim / projectionFactor)) self.PReLU1 = nn.PReLU() self.block2 = conv_block_1(int(in_dim / projectionFactor), out_dim) self.do = nn.Dropout(p=0.01) self.conv_out = nn.Conv2d(in_dim, out_dim, kernel_size=3, padding=1) self.PReLU3 = nn.PReLU()
def __init__(self, in_dim, projectionFactor, out_dim, dtype=torch.float32): super().__init__() self.dtype = dtype # Main branch self.maxpool0 = nn.MaxPool2d(2, return_indices=True) # Secondary branch self.conv0 = nn.Conv2d(in_dim, int(in_dim / projectionFactor), kernel_size=2, stride=2) self.bn0 = nn.BatchNorm2d(int(in_dim / projectionFactor)) self.PReLU0 = nn.PReLU() self.conv1 = nn.Conv2d(int(in_dim / projectionFactor), int(in_dim / projectionFactor), kernel_size=3, padding=1) self.bn1 = nn.BatchNorm2d(int(in_dim / projectionFactor)) self.PReLU1 = nn.PReLU() self.block2 = conv_block_1(int(in_dim / projectionFactor), out_dim) self.do = nn.Dropout(p=0.01) self.PReLU3 = nn.PReLU()
def __init__(self, in_dim, out_dim, projectionFactor, dropoutRate, dtype=torch.float32): super(BottleNeckNormal_Asym, self).__init__() self.in_dim = in_dim self.out_dim = out_dim # Main branch # Secondary branch self.block0 = conv_block_1(in_dim, int(in_dim / projectionFactor)) self.block1 = conv_block_Asym(int(in_dim / projectionFactor), int(in_dim / projectionFactor), 5) self.block2 = conv_block_1(int(in_dim / projectionFactor), out_dim) self.do = nn.Dropout(p=dropoutRate) self.PReLU_out = nn.PReLU() if in_dim > out_dim: self.conv_out = conv_block_1(in_dim, out_dim)
def __init__(self, in_dim, projectionFactor, out_dim, dtype=torch.float32): super(BottleNeckUpSampling, self).__init__() # Main branch self.conv0 = nn.Conv2d(in_dim, int(in_dim / projectionFactor), kernel_size=3, padding=1) self.bn0 = nn.BatchNorm2d(int(in_dim / projectionFactor)) self.PReLU0 = nn.PReLU() self.conv1 = nn.Conv2d(int(in_dim / projectionFactor), int(in_dim / projectionFactor), kernel_size=3, padding=1) self.bn1 = nn.BatchNorm2d(int(in_dim / projectionFactor)) self.PReLU1 = nn.PReLU() self.block2 = conv_block_1(int(in_dim / projectionFactor), out_dim) self.do = nn.Dropout(p=0.01) self.PReLU3 = nn.PReLU()