Python torch.nn.LeakyReLU() Examples
The following are 30
code examples of torch.nn.LeakyReLU().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
torch.nn
, or try the search function
.
Example #1
Source File: newLayers3D.py From 3D-HourGlass-Network with MIT License | 7 votes |
def __init__(self, inChannels, outChannels, kernelSize = 1, stride = 1, padding = 0): super(NewConvBnRelu3D, self).__init__() self.inChannels = inChannels self.outChannels = outChannels self.kernelSize = kernelSize self.stride = stride self.padding = padding self.relu = nn.LeakyReLU() self.bn = nn.BatchNorm3d(self.inChannels) if (kernelSize == 1): self.conv = nn.Conv1d(self.inChannels, self.outChannels, self.kernelSize, self.stride, self.padding) elif (isinstance(kernelSize, int)): self.conv = nn.Conv3d(self.inChannels, self.outChannels, self.kernelSize, self.stride, self.padding) elif (kernelSize[0] == 1): self.conv = nn.Conv2d(self.inChannels, self.outChannels, self.kernelSize[1:], self.stride, self.padding) else : self.conv = nn.Conv3d(self.inChannels, self.outChannels, self.kernelSize, self.stride, self.padding)
Example #2
Source File: discriminators.py From cycleGAN-PyTorch with MIT License | 7 votes |
def __init__(self, input_nc, ndf=64, n_layers=3, norm_layer=nn.BatchNorm2d, use_bias=False): super(NLayerDiscriminator, self).__init__() dis_model = [nn.Conv2d(input_nc, ndf, kernel_size=4, stride=2, padding=1), nn.LeakyReLU(0.2, True)] nf_mult = 1 nf_mult_prev = 1 for n in range(1, n_layers): nf_mult_prev = nf_mult nf_mult = min(2**n, 8) dis_model += [conv_norm_lrelu(ndf * nf_mult_prev, ndf * nf_mult, kernel_size=4, stride=2, norm_layer= norm_layer, padding=1, bias=use_bias)] nf_mult_prev = nf_mult nf_mult = min(2**n_layers, 8) dis_model += [conv_norm_lrelu(ndf * nf_mult_prev, ndf * nf_mult, kernel_size=4, stride=1, norm_layer= norm_layer, padding=1, bias=use_bias)] dis_model += [nn.Conv2d(ndf * nf_mult, 1, kernel_size=4, stride=1, padding=1)] self.dis_model = nn.Sequential(*dis_model)
Example #3
Source File: dcgan_discriminator.py From Pytorch-Project-Template with MIT License | 7 votes |
def __init__(self, config): super().__init__() self.config = config self.relu = nn.LeakyReLU(self.config.relu_slope, inplace=True) self.conv1 = nn.Conv2d(in_channels=self.config.input_channels, out_channels=self.config.num_filt_d, kernel_size=4, stride=2, padding=1, bias=False) self.conv2 = nn.Conv2d(in_channels=self.config.num_filt_d, out_channels=self.config.num_filt_d * 2, kernel_size=4, stride=2, padding=1, bias=False) self.batch_norm1 = nn.BatchNorm2d(self.config.num_filt_d*2) self.conv3 = nn.Conv2d(in_channels=self.config.num_filt_d*2, out_channels=self.config.num_filt_d * 4, kernel_size=4, stride=2, padding=1, bias=False) self.batch_norm2 = nn.BatchNorm2d(self.config.num_filt_d*4) self.conv4 = nn.Conv2d(in_channels=self.config.num_filt_d*4, out_channels=self.config.num_filt_d*8, kernel_size=4, stride=2, padding=1, bias=False) self.batch_norm3 = nn.BatchNorm2d(self.config.num_filt_d*8) self.conv5 = nn.Conv2d(in_channels=self.config.num_filt_d*8, out_channels=1, kernel_size=4, stride=1, padding=0, bias=False) self.out = nn.Sigmoid() self.apply(weights_init)
Example #4
Source File: gat_layers.py From DeepInf with MIT License | 6 votes |
def __init__(self, n_head, f_in, f_out, attn_dropout, bias=True): super(MultiHeadGraphAttention, self).__init__() self.n_head = n_head self.w = Parameter(torch.Tensor(n_head, f_in, f_out)) self.a_src = Parameter(torch.Tensor(n_head, f_out, 1)) self.a_dst = Parameter(torch.Tensor(n_head, f_out, 1)) self.leaky_relu = nn.LeakyReLU(negative_slope=0.2) self.softmax = nn.Softmax(dim=-1) self.dropout = nn.Dropout(attn_dropout) if bias: self.bias = Parameter(torch.Tensor(f_out)) init.constant_(self.bias, 0) else: self.register_parameter('bias', None) init.xavier_uniform_(self.w) init.xavier_uniform_(self.a_src) init.xavier_uniform_(self.a_dst)
Example #5
Source File: model.py From StackGAN-Pytorch with MIT License | 6 votes |
def define_module(self): ndf, nef = self.df_dim, self.ef_dim self.encode_img = nn.Sequential( nn.Conv2d(3, ndf, 4, 2, 1, bias=False), nn.LeakyReLU(0.2, inplace=True), # state size. (ndf) x 32 x 32 nn.Conv2d(ndf, ndf * 2, 4, 2, 1, bias=False), nn.BatchNorm2d(ndf * 2), nn.LeakyReLU(0.2, inplace=True), # state size (ndf*2) x 16 x 16 nn.Conv2d(ndf*2, ndf * 4, 4, 2, 1, bias=False), nn.BatchNorm2d(ndf * 4), nn.LeakyReLU(0.2, inplace=True), # state size (ndf*4) x 8 x 8 nn.Conv2d(ndf*4, ndf * 8, 4, 2, 1, bias=False), nn.BatchNorm2d(ndf * 8), # state size (ndf * 8) x 4 x 4) nn.LeakyReLU(0.2, inplace=True) ) self.get_cond_logits = D_GET_LOGITS(ndf, nef) self.get_uncond_logits = None
Example #6
Source File: model.py From StackGAN-Pytorch with MIT License | 6 votes |
def __init__(self, ndf, nef, bcondition=True): super(D_GET_LOGITS, self).__init__() self.df_dim = ndf self.ef_dim = nef self.bcondition = bcondition if bcondition: self.outlogits = nn.Sequential( conv3x3(ndf * 8 + nef, ndf * 8), nn.BatchNorm2d(ndf * 8), nn.LeakyReLU(0.2, inplace=True), nn.Conv2d(ndf * 8, 1, kernel_size=4, stride=4), nn.Sigmoid()) else: self.outlogits = nn.Sequential( nn.Conv2d(ndf * 8, 1, kernel_size=4, stride=4), nn.Sigmoid())
Example #7
Source File: networks.py From 2D-Motion-Retargeting with MIT License | 6 votes |
def __init__(self, channels, kernel_size=7): super(Decoder, self).__init__() model = [] pad = (kernel_size - 1) // 2 acti = nn.LeakyReLU(0.2) for i in range(len(channels) - 1): model.append(nn.Upsample(scale_factor=2, mode='nearest')) model.append(nn.ReflectionPad1d(pad)) model.append(nn.Conv1d(channels[i], channels[i + 1], kernel_size=kernel_size, stride=1)) if i == 0 or i == 1: model.append(nn.Dropout(p=0.2)) if not i == len(channels) - 2: model.append(acti) # whether to add tanh a last? #model.append(nn.Dropout(p=0.2)) self.model = nn.Sequential(*model)
Example #8
Source File: network_blocks.py From ASFF with GNU General Public License v3.0 | 6 votes |
def add_conv(in_ch, out_ch, ksize, stride, leaky=True): """ Add a conv2d / batchnorm / leaky ReLU block. Args: in_ch (int): number of input channels of the convolution layer. out_ch (int): number of output channels of the convolution layer. ksize (int): kernel size of the convolution layer. stride (int): stride of the convolution layer. Returns: stage (Sequential) : Sequential layers composing a convolution block. """ stage = nn.Sequential() pad = (ksize - 1) // 2 stage.add_module('conv', nn.Conv2d(in_channels=in_ch, out_channels=out_ch, kernel_size=ksize, stride=stride, padding=pad, bias=False)) stage.add_module('batch_norm', nn.BatchNorm2d(out_ch)) if leaky: stage.add_module('leaky', nn.LeakyReLU(0.1)) else: stage.add_module('relu6', nn.ReLU6(inplace=True)) return stage
Example #9
Source File: gcn.py From TreeGAN with MIT License | 6 votes |
def __init__(self, batch, depth, features, degrees, support=10, node=1, upsample=False, activation=True): self.batch = batch self.depth = depth self.in_feature = features[depth] self.out_feature = features[depth+1] self.node = node self.degree = degrees[depth] self.upsample = upsample self.activation = activation super(TreeGCN, self).__init__() self.W_root = nn.ModuleList([nn.Linear(features[inx], self.out_feature, bias=False) for inx in range(self.depth+1)]) if self.upsample: self.W_branch = nn.Parameter(torch.FloatTensor(self.node, self.in_feature, self.degree*self.in_feature)) self.W_loop = nn.Sequential(nn.Linear(self.in_feature, self.in_feature*support, bias=False), nn.Linear(self.in_feature*support, self.out_feature, bias=False)) self.bias = nn.Parameter(torch.FloatTensor(1, self.degree, self.out_feature)) self.leaky_relu = nn.LeakyReLU(negative_slope=0.2) self.init_param()
Example #10
Source File: darknet.py From ssds.pytorch with MIT License | 6 votes |
def __init__(self, inp, oup, stride, expand_ratio=0.5): super(_conv_block, self).__init__() if stride == 1 and inp == oup: depth = int(oup*expand_ratio) self.conv = nn.Sequential( nn.Conv2d(inp, depth, 1, 1, bias=False), nn.BatchNorm2d(depth), nn.LeakyReLU(0.1, inplace=True), nn.Conv2d(depth, oup, 3, stride, 1, bias=False), nn.BatchNorm2d(oup), nn.LeakyReLU(0.1, inplace=True), ) else: self.conv = nn.Sequential( nn.Conv2d(inp, oup, 3, stride, 1, bias=False), nn.BatchNorm2d(oup), nn.LeakyReLU(0.1, inplace=True), ) self.depth = oup
Example #11
Source File: mrcnn.py From medicaldetectiontoolkit with Apache License 2.0 | 6 votes |
def __init__(self, cf, conv): super(Mask, self).__init__() self.pool_size = cf.mask_pool_size self.pyramid_levels = cf.pyramid_levels self.dim = conv.dim self.conv1 = conv(cf.end_filts, cf.end_filts, ks=3, stride=1, pad=1, norm=cf.norm, relu=cf.relu) self.conv2 = conv(cf.end_filts, cf.end_filts, ks=3, stride=1, pad=1, norm=cf.norm, relu=cf.relu) self.conv3 = conv(cf.end_filts, cf.end_filts, ks=3, stride=1, pad=1, norm=cf.norm, relu=cf.relu) self.conv4 = conv(cf.end_filts, cf.end_filts, ks=3, stride=1, pad=1, norm=cf.norm, relu=cf.relu) if conv.dim == 2: self.deconv = nn.ConvTranspose2d(cf.end_filts, cf.end_filts, kernel_size=2, stride=2) else: self.deconv = nn.ConvTranspose3d(cf.end_filts, cf.end_filts, kernel_size=2, stride=2) self.relu = nn.ReLU(inplace=True) if cf.relu == 'relu' else nn.LeakyReLU(inplace=True) self.conv5 = conv(cf.end_filts, cf.head_classes, ks=1, stride=1, relu=None) self.sigmoid = nn.Sigmoid()
Example #12
Source File: CycleGAN.py From Deep-learning-with-cats with GNU General Public License v3.0 | 6 votes |
def __init__(self): super(CycleGAN_D, self).__init__() # Size = n_colors x image_size x image_size model = [nn.Conv2d(param.n_colors, param.D_h_size, kernel_size=4, stride=2, padding=2), nn.LeakyReLU(0.2, inplace=True)] # Size = D_h_size x (image_size / 2) x (image_size / 2) model += [nn.Conv2d(param.D_h_size, param.D_h_size * 2, kernel_size=4, stride=2, padding=2), Norm2D(param.D_h_size * 2), nn.LeakyReLU(0.2, inplace=True)] # Size = (D_h_size * 2) x (image_size / 4) x (image_size / 4) model += [nn.Conv2d(param.D_h_size * 2, param.D_h_size * 4, kernel_size=4, stride=2, padding=2), Norm2D(param.D_h_size * 4), nn.LeakyReLU(0.2, inplace=True)] # Size = (D_h_size * 4) x (image_size / 8) x (image_size / 8) model += [nn.Conv2d(param.D_h_size * 4, param.D_h_size * 8, kernel_size=4, stride=1, padding=2), Norm2D(param.D_h_size * 8), nn.LeakyReLU(0.2, inplace=True)] # Size = (D_h_size * 8) x (image_size / 8) x (image_size / 8) model += [nn.Conv2d(param.D_h_size * 8, 1, kernel_size=2, stride=1, padding=2)] # Size = 1 x (image_size / 8)) x (image_size / 8) self.model = nn.Sequential(*model)
Example #13
Source File: ufrcnn.py From medicaldetectiontoolkit with Apache License 2.0 | 6 votes |
def __init__(self, cf, conv): super(Mask, self).__init__() self.pool_size = cf.mask_pool_size self.pyramid_levels = cf.pyramid_levels self.dim = conv.dim self.conv1 = conv(cf.end_filts, cf.end_filts, ks=3, stride=1, pad=1, norm=cf.norm, relu=cf.relu) self.conv2 = conv(cf.end_filts, cf.end_filts, ks=3, stride=1, pad=1, norm=cf.norm, relu=cf.relu) self.conv3 = conv(cf.end_filts, cf.end_filts, ks=3, stride=1, pad=1, norm=cf.norm, relu=cf.relu) self.conv4 = conv(cf.end_filts, cf.end_filts, ks=3, stride=1, pad=1, norm=cf.norm, relu=cf.relu) if conv.dim == 2: self.deconv = nn.ConvTranspose2d(cf.end_filts, cf.end_filts, kernel_size=2, stride=2) else: self.deconv = nn.ConvTranspose3d(cf.end_filts, cf.end_filts, kernel_size=2, stride=2) self.relu = nn.ReLU(inplace=True) if cf.relu == 'relu' else nn.LeakyReLU(inplace=True) self.conv5 = conv(cf.end_filts, cf.head_classes, ks=1, stride=1, relu=None) self.sigmoid = nn.Sigmoid()
Example #14
Source File: helper.py From torchscope with Apache License 2.0 | 6 votes |
def compute_flops(module, inp, out): if isinstance(module, nn.Conv2d): return compute_Conv2d_flops(module, inp, out) // 2 elif isinstance(module, nn.BatchNorm2d): return compute_BatchNorm2d_flops(module, inp, out) // 2 elif isinstance(module, (nn.AvgPool2d, nn.MaxPool2d)): return compute_Pool2d_flops(module, inp, out) // 2 elif isinstance(module, (nn.ReLU, nn.ReLU6, nn.PReLU, nn.ELU, nn.LeakyReLU)): return compute_ReLU_flops(module, inp, out) // 2 elif isinstance(module, nn.Upsample): return compute_Upsample_flops(module, inp, out) // 2 elif isinstance(module, nn.Linear): return compute_Linear_flops(module, inp, out) // 2 else: return 0
Example #15
Source File: helper.py From torchscope with Apache License 2.0 | 6 votes |
def compute_ReLU_flops(module, inp, out): assert isinstance(module, (nn.ReLU, nn.ReLU6, nn.PReLU, nn.ELU, nn.LeakyReLU)) batch_size = inp.size()[0] active_elements_count = batch_size for s in inp.size()[1:]: active_elements_count *= s return active_elements_count
Example #16
Source File: networks.py From DepthNets with MIT License | 6 votes |
def __init__(self, input_nc, ndf=64, norm_layer=nn.BatchNorm2d, use_sigmoid=False, gpu_ids=[]): super(PixelDiscriminator, self).__init__() self.gpu_ids = gpu_ids if type(norm_layer) == functools.partial: use_bias = norm_layer.func == nn.InstanceNorm2d else: use_bias = norm_layer == nn.InstanceNorm2d self.net = [ nn.Conv2d(input_nc, ndf, kernel_size=1, stride=1, padding=0), nn.LeakyReLU(0.2, True), nn.Conv2d(ndf, ndf * 2, kernel_size=1, stride=1, padding=0, bias=use_bias), norm_layer(ndf * 2), nn.LeakyReLU(0.2, True), nn.Conv2d(ndf * 2, 1, kernel_size=1, stride=1, padding=0, bias=use_bias)] if use_sigmoid: self.net.append(nn.Sigmoid()) self.net = nn.Sequential(*self.net)
Example #17
Source File: models_resnet.py From DTN with MIT License | 6 votes |
def __init__(self, nFin, nFout): super(ResBlock, self).__init__() self.conv_block = nn.Sequential() self.conv_block.add_module('ConvL1', nn.Conv2d(nFin, nFout, kernel_size=3, padding=1, bias=False)) self.conv_block.add_module('BNorm1', nn.BatchNorm2d(nFout)) self.conv_block.add_module('LRelu1', nn.LeakyReLU(0.1, inplace=True)) self.conv_block.add_module('ConvL2', nn.Conv2d(nFout, nFout, kernel_size=3, padding=1, bias=False)) self.conv_block.add_module('BNorm2', nn.BatchNorm2d(nFout)) self.conv_block.add_module('LRelu2', nn.LeakyReLU(0.1, inplace=True)) self.conv_block.add_module('ConvL3', nn.Conv2d(nFout, nFout, kernel_size=3, padding=1, bias=False)) self.conv_block.add_module('BNorm3', nn.BatchNorm2d(nFout)) self.conv_block.add_module('LRelu3', nn.LeakyReLU(0.1, inplace=True)) self.skip_layer = nn.Conv2d(nFin, nFout, kernel_size=1, stride=1)
Example #18
Source File: newLayers3D.py From 3D-HourGlass-Network with MIT License | 6 votes |
def __init__(self, inChannels, outChannels, kernelSize = 1, stride = 1, padding = 0): super(NewConvBnRelu3D, self).__init__() self.inChannels = inChannels self.outChannels = outChannels self.kernelSize = kernelSize self.stride = stride self.padding = padding self.relu = nn.LeakyReLU() self.bn = nn.BatchNorm3d(self.inChannels) if (kernelSize == 1): self.conv = nn.Conv1d(self.inChannels, self.outChannels, self.kernelSize, self.stride, self.padding) elif (isinstance(kernelSize, int)): self.conv = nn.Conv3d(self.inChannels, self.outChannels, self.kernelSize, self.stride, self.padding) elif (kernelSize[0] == 1): self.conv = nn.Conv2d(self.inChannels, self.outChannels, self.kernelSize[1:], self.stride, self.padding) else : self.conv = nn.Conv3d(self.inChannels, self.outChannels, self.kernelSize, self.stride, self.padding)
Example #19
Source File: wideresnet.py From JEM with Apache License 2.0 | 6 votes |
def __init__(self, depth, widen_factor, num_classes=10, input_channels=3, sum_pool=False, norm=None, leak=.2, dropout_rate=0.0): super(Wide_ResNet, self).__init__() self.leak = leak self.in_planes = 16 self.sum_pool = sum_pool self.norm = norm self.lrelu = nn.LeakyReLU(leak) assert ((depth-4)%6 ==0), 'Wide-resnet depth should be 6n+4' n = (depth-4)//6 k = widen_factor print('| Wide-Resnet %dx%d' %(depth, k)) nStages = [16, 16*k, 32*k, 64*k] self.conv1 = conv3x3(input_channels, nStages[0]) self.layer1 = self._wide_layer(wide_basic, nStages[1], n, dropout_rate, stride=1) self.layer2 = self._wide_layer(wide_basic, nStages[2], n, dropout_rate, stride=2) self.layer3 = self._wide_layer(wide_basic, nStages[3], n, dropout_rate, stride=2) self.bn1 = get_norm(nStages[3], self.norm) self.last_dim = nStages[3] self.linear = nn.Linear(nStages[3], num_classes)
Example #20
Source File: networks.py From 2019-CCF-BDCI-OCR-MCZJ-OCR-IdentificationIDElement with MIT License | 6 votes |
def __init__(self, input_nc, ndf=64, norm_layer=nn.BatchNorm2d): """Construct a 1x1 PatchGAN discriminator Parameters: input_nc (int) -- the number of channels in input images ndf (int) -- the number of filters in the last conv layer norm_layer -- normalization layer """ super(PixelDiscriminator, self).__init__() if type(norm_layer) == functools.partial: # no need to use bias as BatchNorm2d has affine parameters use_bias = norm_layer.func == nn.InstanceNorm2d else: use_bias = norm_layer == nn.InstanceNorm2d self.net = [ nn.Conv2d(input_nc, ndf, kernel_size=1, stride=1, padding=0), nn.LeakyReLU(0.2, True), nn.Conv2d(ndf, ndf * 2, kernel_size=1, stride=1, padding=0, bias=use_bias), norm_layer(ndf * 2), nn.LeakyReLU(0.2, True), nn.Conv2d(ndf * 2, 1, kernel_size=1, stride=1, padding=0, bias=use_bias)] self.net = nn.Sequential(*self.net)
Example #21
Source File: gat_layers.py From DeepInf with MIT License | 6 votes |
def __init__(self, n_head, f_in, f_out, attn_dropout, bias=True): super(BatchMultiHeadGraphAttention, self).__init__() self.n_head = n_head self.w = Parameter(torch.Tensor(n_head, f_in, f_out)) self.a_src = Parameter(torch.Tensor(n_head, f_out, 1)) self.a_dst = Parameter(torch.Tensor(n_head, f_out, 1)) self.leaky_relu = nn.LeakyReLU(negative_slope=0.2) self.softmax = nn.Softmax(dim=-1) self.dropout = nn.Dropout(attn_dropout) if bias: self.bias = Parameter(torch.Tensor(f_out)) init.constant_(self.bias, 0) else: self.register_parameter('bias', None) init.xavier_uniform_(self.w) init.xavier_uniform_(self.a_src) init.xavier_uniform_(self.a_dst)
Example #22
Source File: darknet.py From ssds.pytorch with MIT License | 6 votes |
def __init__(self, inp, oup, stride, expand_ratio=0.5): super(_residual_block, self).__init__() self.use_res_connect = stride == 1 and inp == oup if self.use_res_connect: depth = int(oup*expand_ratio) self.conv = nn.Sequential( nn.Conv2d(inp, depth, 1, 1, bias=False), nn.BatchNorm2d(depth), nn.LeakyReLU(0.1, inplace=True), nn.Conv2d(depth, oup, 3, stride, 1, bias=False), nn.BatchNorm2d(oup), nn.LeakyReLU(0.1, inplace=True), ) else: self.conv = nn.Sequential( nn.Conv2d(inp, oup, 3, stride, 1, bias=False), nn.BatchNorm2d(oup), nn.LeakyReLU(0.1, inplace=True), ) self.depth = oup
Example #23
Source File: CustomLayers.py From BMSG-GAN with MIT License | 5 votes |
def __init__(self, in_channels, out_channels, use_eql=True): """ constructor of the class :param in_channels: number of input channels :param out_channels: number of output channels :param use_eql: whether to use equalized learning rate """ from torch.nn import AvgPool2d, LeakyReLU from torch.nn import Conv2d super().__init__() if use_eql: self.conv_1 = _equalized_conv2d(in_channels, in_channels, (3, 3), pad=1, bias=True) self.conv_2 = _equalized_conv2d(in_channels, out_channels, (3, 3), pad=1, bias=True) else: # convolutional modules self.conv_1 = Conv2d(in_channels, in_channels, (3, 3), padding=1, bias=True) self.conv_2 = Conv2d(in_channels, out_channels, (3, 3), padding=1, bias=True) self.downSampler = AvgPool2d(2) # downsampler # leaky_relu: self.lrelu = LeakyReLU(0.2)
Example #24
Source File: yolo.py From ssds.pytorch with MIT License | 5 votes |
def __init__(self, inp, oup, stride=1, expand_ratio=0.5): super(_conv_block, self).__init__() depth = int(oup*expand_ratio) self.conv = nn.Sequential( nn.Conv2d(inp, depth, 1, 1, bias=False), nn.BatchNorm2d(depth), nn.LeakyReLU(0.1, inplace=True), nn.Conv2d(depth, oup, 3, stride, 1, bias=False), nn.BatchNorm2d(oup), nn.LeakyReLU(0.1, inplace=True), )
Example #25
Source File: CustomLayers.py From BMSG-GAN with MIT License | 5 votes |
def __init__(self, in_channels, use_eql=True): """ constructor of the class :param in_channels: number of input channels :param use_eql: whether to use equalized learning rate """ from torch.nn import LeakyReLU from torch.nn import Conv2d super().__init__() # declare the required modules for forward pass self.batch_discriminator = MinibatchStdDev() if use_eql: self.conv_1 = _equalized_conv2d(in_channels + 1, in_channels, (3, 3), pad=1, bias=True) self.conv_2 = _equalized_conv2d(in_channels, in_channels, (4, 4), bias=True) # final layer emulates the fully connected layer self.conv_3 = _equalized_conv2d(in_channels, 1, (1, 1), bias=True) else: # modules required: self.conv_1 = Conv2d(in_channels + 1, in_channels, (3, 3), padding=1, bias=True) self.conv_2 = Conv2d(in_channels, in_channels, (4, 4), bias=True) # final conv layer emulates a fully connected layer self.conv_3 = Conv2d(in_channels, 1, (1, 1), bias=True) # leaky_relu: self.lrelu = LeakyReLU(0.2)
Example #26
Source File: yolo.py From ssds.pytorch with MIT License | 5 votes |
def __init__(self, inp, oup, stride=1, bilinear=True): super(_router_v3, self).__init__() self.conv = nn.Sequential( nn.Conv2d(inp, oup, 1, 1, bias=False), nn.BatchNorm2d(oup), nn.LeakyReLU(0.1, inplace=True), ) if bilinear: self.up = nn.Upsample(scale_factor=2, mode='bilinear') else: self.up = nn.ConvTranspose2d(oup, oup, 2, stride=2)
Example #27
Source File: CustomLayers.py From BMSG-GAN with MIT License | 5 votes |
def __init__(self, in_channels, use_eql=True): """ constructor for the inner class :param in_channels: number of input channels to the block :param use_eql: whether to use the equalized learning rate """ from torch.nn import LeakyReLU from torch.nn import Conv2d, ConvTranspose2d super().__init__() if use_eql: self.conv_1 = _equalized_deconv2d(in_channels, in_channels, (4, 4), bias=True) self.conv_2 = _equalized_conv2d(in_channels, in_channels, (3, 3), pad=1, bias=True) else: self.conv_1 = ConvTranspose2d(in_channels, in_channels, (4, 4), bias=True) self.conv_2 = Conv2d(in_channels, in_channels, (3, 3), padding=(1, 1), bias=True) # pixel normalization vector: self.pixNorm = PixelwiseNorm() # leaky_relu: self.lrelu = LeakyReLU(0.2)
Example #28
Source File: CustomLayers.py From BMSG-GAN with MIT License | 5 votes |
def __init__(self, in_channels, out_channels, use_eql=True): """ constructor for the class :param in_channels: number of input channels to the block :param out_channels: number of output channels required :param use_eql: whether to use the equalized learning rate """ from torch.nn import LeakyReLU super().__init__() from torch.nn import Conv2d if use_eql: self.conv_1 = _equalized_conv2d(in_channels, out_channels, (3, 3), pad=1, bias=True) self.conv_2 = _equalized_conv2d(out_channels, out_channels, (3, 3), pad=1, bias=True) else: self.conv_1 = Conv2d(in_channels, out_channels, (3, 3), padding=1, bias=True) self.conv_2 = Conv2d(out_channels, out_channels, (3, 3), padding=1, bias=True) # pixel_wise feature normalizer: self.pixNorm = PixelwiseNorm() # leaky_relu: self.lrelu = LeakyReLU(0.2)
Example #29
Source File: yolo.py From ssds.pytorch with MIT License | 5 votes |
def __init__(self, inp, oup, stride=1): super(_conv_bn, self).__init__() self.conv = nn.Sequential( nn.Conv2d(inp, oup, 3, stride, 1, bias=False), nn.BatchNorm2d(oup), nn.LeakyReLU(0.1, inplace=True), )
Example #30
Source File: layers.py From graph-cnn.pytorch with MIT License | 5 votes |
def __init__(self, in_features, out_features, dropout, alpha, concat=True): super(GraphAttention, self).__init__() self.dropout = dropout self.in_features = in_features self.out_features = out_features self.alpha = alpha self.concat = concat self.W = nn.Parameter(nn.init.xavier_normal_(torch.Tensor(in_features, out_features).type(torch.cuda.FloatTensor if torch.cuda.is_available() else torch.FloatTensor), gain=np.sqrt(2.0)), requires_grad=True) self.a1 = nn.Parameter(nn.init.xavier_normal_(torch.Tensor(out_features, 1).type(torch.cuda.FloatTensor if torch.cuda.is_available() else torch.FloatTensor), gain=np.sqrt(2.0)), requires_grad=True) self.a2 = nn.Parameter(nn.init.xavier_normal_(torch.Tensor(out_features, 1).type(torch.cuda.FloatTensor if torch.cuda.is_available() else torch.FloatTensor), gain=np.sqrt(2.0)), requires_grad=True) self.leakyrelu = nn.LeakyReLU(self.alpha)