Python torch.nn.Hardtanh() Examples
The following are 30
code examples of torch.nn.Hardtanh().
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: attention.py From KOBE with MIT License | 6 votes |
def __init__(self, model_dim, head_count=8, dropout=0.1): """ initialization for variables and functions :param model_dim: hidden size :param head_count: head number, default 8 :param dropout: dropout probability """ super(Multihead_Attention, self).__init__() self.head_dim = model_dim // head_count self.model_dim = model_dim self.head_count = head_count self.linear_keys = nn.Linear(model_dim, head_count * self.head_dim) self.linear_values = nn.Linear(model_dim, head_count * self.head_dim) self.linear_query = nn.Linear(model_dim, head_count * self.head_dim) self.softmax = nn.Softmax(dim=-1) self.dropout = nn.Dropout(dropout) self.final_linear = nn.Linear(model_dim, model_dim) self.sigmoid = nn.Hardtanh(min_val=0)
Example #2
Source File: fc.py From Attention-on-Attention-for-VQA with MIT License | 6 votes |
def get_act(act): if act == 'ReLU': act_layer = nn.ReLU elif act == 'LeakyReLU': act_layer = nn.LeakyReLU elif act == 'PReLU': act_layer = nn.PReLU elif act == 'RReLU': act_layer = nn.RReLU elif act == 'ELU': act_layer = nn.ELU elif act == 'SELU': act_layer = nn.SELU elif act == 'Tanh': act_layer = nn.Tanh elif act == 'Hardtanh': act_layer = nn.Hardtanh elif act == 'Sigmoid': act_layer = nn.Sigmoid else: print("Invalid activation function") raise Exception("Invalid activation function") return act_layer
Example #3
Source File: DAENet_InstanceNorm.py From DeformingAutoencoders-pytorch with BSD 2-Clause "Simplified" License | 6 votes |
def __init__(self, opt): super(Dense_DecodersIntegralWarper2_Intrinsic, self).__init__() self.imagedimension = opt.imgSize self.ngpu = opt.ngpu self.idim = opt.idim self.sdim = opt.sdim self.tdim = opt.tdim self.wdim = opt.wdim # shading decoder self.decoderS = waspDenseDecoder(opt, ngpu=self.ngpu, nz=opt.sdim, nc=1, ngf=opt.ngf, lb=0, ub=1) # albedo decoder self.decoderT = waspDenseDecoder(opt, ngpu=self.ngpu, nz=opt.tdim, nc=opt.nc, ngf=opt.ngf, lb=0, ub=1) # deformation decoder self.decoderW = waspDenseDecoder(opt, ngpu=self.ngpu, nz=opt.wdim, nc=2, ngf=opt.ngf, lb=0, ub=1, activation=nn.Tanh, args=[], f_activation=nn.Sigmoid, f_args=[]) # shading*albedo=texture self.intrinsicComposer = waspIntrinsicComposer(opt) # deformation offset decoder self.warper = waspWarper(opt) # spatial intergrator for deformation field self.integrator = waspGridSpatialIntegral(opt) self.cutter = nn.Hardtanh(-1,1)
Example #4
Source File: ae.py From ddsp_pytorch with GNU General Public License v3.0 | 6 votes |
def __init__(self, ae_model, latent_dims, regression_dims, recons_loss, regressor = None, regressor_name = '', **kwargs): super(RegressionAE, self).__init__(**kwargs) self.ae_model = ae_model self.recons_loss = recons_loss self.latent_dims = latent_dims self.regression_dims = regression_dims if (regressor is None): self.regression_model = nn.Sequential( nn.Linear(latent_dims, latent_dims * 2), nn.ReLU(), nn.BatchNorm1d(latent_dims * 2), nn.Linear(latent_dims * 2, latent_dims * 2), nn.ReLU(), nn.BatchNorm1d(latent_dims * 2), nn.Linear(latent_dims * 2, regression_dims), nn.ReLU(), nn.Hardtanh(min_val=0, max_val=1.)) regressor_name = 'mlp' else: self.regression_model = regressor self.regressor = regressor_name
Example #5
Source File: Resnet_bin.py From Pytorch_Quantize_impls with MIT License | 6 votes |
def __init__(self, in_planes, planes, stride=1): super(BasicBlock, self).__init__() self.conv1 = BinConv2d(in_planes, planes, kernel_size=3, stride=stride, padding=1, bias=False) self.bn1 = nn.BatchNorm2d(planes) self.binarisation = BinaryConnect(stochastic=True) self.conv2 = BinConv2d(planes, planes, kernel_size=3, stride=1, padding=1, bias=False) self.bn2 = nn.BatchNorm2d(planes) self.shortcut = nn.Sequential() if stride != 1 or in_planes != self.expansion*planes: self.shortcut = nn.Sequential( BinConv2d(in_planes, self.expansion*planes, kernel_size=1, stride=stride, bias=False), nn.BatchNorm2d(self.expansion*planes), nn.Hardtanh(), BinaryConnect(stochastic=True) )
Example #6
Source File: Model.py From vae_vampprior with MIT License | 6 votes |
def add_pseudoinputs(self): nonlinearity = nn.Hardtanh(min_val=0.0, max_val=1.0) self.means = NonLinear(self.args.number_components, np.prod(self.args.input_size), bias=False, activation=nonlinearity) # init pseudo-inputs if self.args.use_training_data_init: self.means.linear.weight.data = self.args.pseudoinputs_mean else: normal_init(self.means.linear, self.args.pseudoinputs_mean, self.args.pseudoinputs_std) # create an idle input for calling pseudo-inputs self.idle_input = Variable(torch.eye(self.args.number_components, self.args.number_components), requires_grad=False) if self.args.cuda: self.idle_input = self.idle_input.cuda()
Example #7
Source File: deepspeech2.py From inference with Apache License 2.0 | 6 votes |
def _conv_layers(self): self.conv = nn.Sequential( nn.Conv2d(in_channels=1, out_channels=32, kernel_size=(41, 11), stride=(2, 2), padding=(0, 10)), nn.BatchNorm2d(32), nn.Hardtanh(0, self._relu_clip, inplace=True), nn.Conv2d(in_channels=32, out_channels=32, kernel_size=(21, 11), stride=(2, 1), padding=(0, 0)), nn.BatchNorm2d(32), nn.Hardtanh(0, self._relu_clip, inplace=True) )
Example #8
Source File: DAENet.py From DeformingAutoencoders-pytorch with BSD 2-Clause "Simplified" License | 6 votes |
def __init__(self, opt): super(Dense_DecodersIntegralWarper2_Intrinsic, self).__init__() self.imagedimension = opt.imgSize self.ngpu = opt.ngpu self.idim = opt.idim self.sdim = opt.sdim self.tdim = opt.tdim self.wdim = opt.wdim # shading decoder self.decoderS = waspDenseDecoder(opt, ngpu=self.ngpu, nz=opt.sdim, nc=1, ngf=opt.ngf, lb=0, ub=1) # albedo decoder self.decoderT = waspDenseDecoder(opt, ngpu=self.ngpu, nz=opt.tdim, nc=opt.nc, ngf=opt.ngf, lb=0, ub=1) # deformation decoder self.decoderW = waspDenseDecoder(opt, ngpu=self.ngpu, nz=opt.wdim, nc=2, ngf=opt.ngf, lb=0, ub=1, activation=nn.Tanh, args=[], f_activation=nn.Sigmoid, f_args=[]) # shading*albedo=texture self.intrinsicComposer = waspIntrinsicComposer(opt) # deformation offset decoder self.warper = waspWarper(opt) # spatial intergrator for deformation field self.integrator = waspGridSpatialIntegral(opt) self.cutter = nn.Hardtanh(-1,1)
Example #9
Source File: convolutional_models.py From Pytorch-Quaternion-Neural-Networks with GNU General Public License v3.0 | 6 votes |
def __init__(self): super(CAE, self).__init__() self.act = nn.Hardtanh() self.output_act = nn.Hardtanh() # ENCODER self.e1 = nn.Conv2d(3, 32, kernel_size=3, stride=2, padding=1) self.e2 = nn.Conv2d(32, 40, kernel_size=3, stride=2, padding=1) # DECODER self.d1 = nn.ConvTranspose2d(40, 32, kernel_size=3, stride=2, padding=1, output_padding=1) self.d2 = nn.ConvTranspose2d(32, 3, kernel_size=3, stride=2, padding=1, output_padding=1) torch.nn.init.xavier_uniform_(self.e1.weight) torch.nn.init.xavier_uniform_(self.e2.weight) torch.nn.init.xavier_uniform_(self.d1.weight) torch.nn.init.xavier_uniform_(self.d2.weight) self.e1.bias.data.fill_(0.0) self.e2.bias.data.fill_(0.0) self.d1.bias.data.fill_(0.0) self.d2.bias.data.fill_(0.0)
Example #10
Source File: r2h_models.py From Pytorch-Quaternion-Neural-Networks with GNU General Public License v3.0 | 6 votes |
def __init__(self, proj_dim, proj_act, proj_norm, input_dim, num_classes): super(R2HQDNN, self).__init__() # Reading options: self.proj_dim = proj_dim self.proj_act = proj_act self.proj_norm = proj_norm self.num_classes = num_classes self.input_dim = input_dim # Projection layer initialization: self.proj = nn.Linear(self.input_dim, self.proj_dim) if self.proj_act == "tanh": self.p_activation = nn.Tanh() elif self.proj_act == "hardtanh": self.p_activation = nn.Hardtanh() else: self.p_activation = nn.ReLU() # QDNN initialization self.fc1 = QuaternionLinearAutograd(self.proj_dim, 32) self.fc2 = QuaternionLinearAutograd(32, 32) self.fc3 = QuaternionLinearAutograd(32, 32) self.out = nn.Linear(32, self.num_classes)
Example #11
Source File: r2h_models.py From Pytorch-Quaternion-Neural-Networks with GNU General Public License v3.0 | 6 votes |
def __init__(self, proj_dim, proj_act, proj_norm, input_dim): super(R2H, self).__init__() # Reading options: self.proj_dim = proj_dim self.proj_act = proj_act self.proj_norm = proj_norm self.input_dim = input_dim # Projection layer initialization: self.proj = nn.Linear(self.input_dim, self.proj_dim) if self.proj_act == "tanh": self.p_activation = nn.Tanh() elif self.proj_act == "hardtanh": self.p_activation = nn.Hardtanh() else: self.p_activation = nn.ReLU() self.out_act = nn.Tanh() # Decoding layer initialization self.d = QuaternionLinearAutograd(self.proj_dim, self.input_dim)
Example #12
Source File: conv.py From KoSpeech with Apache License 2.0 | 5 votes |
def __init__(self, activation='hardtanh'): super(CNNExtractor, self).__init__() if activation.lower() == 'hardtanh': self.activation = nn.Hardtanh(0, 20, inplace=True) elif activation.lower() == 'relu': self.activation = nn.ReLU(inplace=True) elif activation.lower() == 'elu': self.activation = nn.ELU(inplace=True) elif activation.lower() == 'leacky_relu': self.activation = nn.LeakyReLU(inplace=True) elif activation.lower() == 'gelu': self.activation = nn.GELU() else: raise ValueError("Unsupported activation function : {0}".format(activation))
Example #13
Source File: DAENet.py From DeformingAutoencoders-pytorch with BSD 2-Clause "Simplified" License | 5 votes |
def __init__(self, opt, ngpu=1, nz=128, nc=1, ngf=32, lb=0, ub=1): super(waspDecoderTanh, self).__init__() self.ngpu = ngpu self.main = nn.Sequential( # input is Z, going into a convolution nn.ConvTranspose2d(nz, ngf * 8, 4, 1, 0, bias=False), nn.BatchNorm2d(ngf * 8), nn.Tanh(), # state size. (ngf*8) x 4 x 4 nn.ConvTranspose2d(ngf * 8, ngf * 4, 4, 2, 1, bias=False), nn.BatchNorm2d(ngf * 4), nn.Tanh(), # state size. (ngf*4) x 8 x 8 nn.ConvTranspose2d(ngf * 4, ngf * 2, 4, 2, 1, bias=False), nn.BatchNorm2d(ngf * 2), nn.Tanh(), # state size. (ngf*2) x 16 x 16 nn.ConvTranspose2d(ngf * 2,ngf, 4, 2, 1, bias=False), nn.BatchNorm2d(ngf), nn.Tanh(), # state size. (ngf) x 32 x 32 nn.ConvTranspose2d(ngf, ngf, 4, 2, 1, bias=False), nn.BatchNorm2d(ngf), nn.Tanh(), # state size. (nc) x 64 x 64 nn.ConvTranspose2d(ngf, nc, 3, 1, 1, bias=False), #nn.Hardtanh(lb,ub), nn.Sigmoid() )
Example #14
Source File: DAENet.py From DeformingAutoencoders-pytorch with BSD 2-Clause "Simplified" License | 5 votes |
def __init__(self, opt, ngpu=1, nz=128, nc=1, ngf=32, lb=0, ub=1): super(waspDecoder, self).__init__() self.ngpu = ngpu self.main = nn.Sequential( # input is Z, going into a convolution nn.ConvTranspose2d(nz, ngf * 8, 4, 1, 0, bias=False), nn.BatchNorm2d(ngf * 8), nn.ReLU(True), # state size. (ngf*8) x 4 x 4 nn.ConvTranspose2d(ngf * 8, ngf * 4, 4, 2, 1, bias=False), nn.BatchNorm2d(ngf * 4), nn.ReLU(True), # state size. (ngf*4) x 8 x 8 nn.ConvTranspose2d(ngf * 4, ngf * 2, 4, 2, 1, bias=False), nn.BatchNorm2d(ngf * 2), nn.ReLU(True), # state size. (ngf*2) x 16 x 16 nn.ConvTranspose2d(ngf * 2,ngf, 4, 2, 1, bias=False), nn.BatchNorm2d(ngf), nn.ReLU(True), # state size. (ngf) x 32 x 32 nn.ConvTranspose2d(ngf, ngf, 4, 2, 1, bias=False), nn.BatchNorm2d(ngf), nn.ReLU(True), # state size. (nc) x 64 x 64 nn.ConvTranspose2d(ngf, nc, 3, 1, 1, bias=False), nn.Hardtanh(lb,ub) )
Example #15
Source File: DAENet.py From DeformingAutoencoders-pytorch with BSD 2-Clause "Simplified" License | 5 votes |
def __init__(self, opt): super(DecodersIntegralWarper2_Intrinsic, self).__init__() self.imagedimension = opt.imgSize self.ngpu = opt.ngpu self.idim = opt.idim self.sdim = opt.sdim self.tdim = opt.tdim self.wdim = opt.wdim self.decoderS = waspDecoder(opt, ngpu=self.ngpu, nz=opt.sdim, nc=1, ngf=opt.ngf, lb=0, ub=1) self.decoderT = waspDecoder(opt, ngpu=self.ngpu, nz=opt.tdim, nc=opt.nc, ngf=opt.ngf, lb=0, ub=1) self.decoderW = waspDecoderTanh(opt, ngpu=self.ngpu, nz=opt.wdim, nc=2, ngf=opt.ngf, lb=0, ub=0.1) self.intrinsicComposer = waspIntrinsicComposer(opt) self.warper = waspWarper(opt) self.integrator = waspGridSpatialIntegral(opt) self.cutter = nn.Hardtanh(-1,1)
Example #16
Source File: jasper.py From NeMo with Apache License 2.0 | 5 votes |
def _get_act_dropout_layer(self, drop_prob=0.2, activation=None): if activation is None: activation = nn.Hardtanh(min_val=0.0, max_val=20.0) layers = [activation, nn.Dropout(p=drop_prob)] return layers
Example #17
Source File: VAE.py From ffjord with MIT License | 5 votes |
def create_encoder(self): """ Helper function to create the elemental blocks for the encoder. Creates a gated convnet encoder. the encoder expects data as input of shape (batch_size, num_channels, width, height). """ if self.input_type == 'binary': q_z_nn = nn.Sequential( GatedConv2d(self.input_size[0], 32, 5, 1, 2), GatedConv2d(32, 32, 5, 2, 2), GatedConv2d(32, 64, 5, 1, 2), GatedConv2d(64, 64, 5, 2, 2), GatedConv2d(64, 64, 5, 1, 2), GatedConv2d(64, 256, self.last_kernel_size, 1, 0), ) q_z_mean = nn.Linear(256, self.z_size) q_z_var = nn.Sequential( nn.Linear(256, self.z_size), nn.Softplus(), ) return q_z_nn, q_z_mean, q_z_var elif self.input_type == 'multinomial': act = None q_z_nn = nn.Sequential( GatedConv2d(self.input_size[0], 32, 5, 1, 2, activation=act), GatedConv2d(32, 32, 5, 2, 2, activation=act), GatedConv2d(32, 64, 5, 1, 2, activation=act), GatedConv2d(64, 64, 5, 2, 2, activation=act), GatedConv2d(64, 64, 5, 1, 2, activation=act), GatedConv2d(64, 256, self.last_kernel_size, 1, 0, activation=act) ) q_z_mean = nn.Linear(256, self.z_size) q_z_var = nn.Sequential(nn.Linear(256, self.z_size), nn.Softplus(), nn.Hardtanh(min_val=0.01, max_val=7.)) return q_z_nn, q_z_mean, q_z_var
Example #18
Source File: model.py From training with Apache License 2.0 | 5 votes |
def _get_act_dropout_layer(self, drop_prob=0.2, activation=None): if activation is None: activation = nn.Hardtanh(min_val=0.0, max_val=20.0) layers = [ activation, nn.Dropout(p=drop_prob) ] return layers
Example #19
Source File: DAENet.py From DeformingAutoencoders-pytorch with BSD 2-Clause "Simplified" License | 5 votes |
def __init__(self, opt, ngpu=1, nz=128, nc=1, ngf=32, lb=0, ub=1, activation=nn.ReLU, args=[False], f_activation=nn.Hardtanh, f_args=[0,1]): super(waspDenseDecoder, self).__init__() self.ngpu = ngpu self.main = nn.Sequential( # input is Z, going into convolution nn.BatchNorm2d(nz), activation(*args), nn.ConvTranspose2d(nz, ngf * 8, 4, 1, 0, bias=False), # state size. (ngf*8) x 4 x 4 DenseBlockDecoder(ngf*8, 16), DenseTransitionBlockDecoder(ngf*8, ngf*4), # state size. (ngf*4) x 8 x 8 DenseBlockDecoder(ngf*4, 24), DenseTransitionBlockDecoder(ngf*4, ngf*2), # state size. (ngf*2) x 16 x 16 DenseBlockDecoder(ngf*2, 12), DenseTransitionBlockDecoder(ngf*2, ngf), # state size. (ngf) x 32 x 32 DenseBlockDecoder(ngf, 6), DenseTransitionBlockDecoder(ngf, ngf), # state size (ngf) x 64 x 64 nn.BatchNorm2d(ngf), activation(*args), nn.ConvTranspose2d(ngf, nc, 3, stride=1, padding=1, bias=False), f_activation(*f_args), )
Example #20
Source File: DAENet.py From DeformingAutoencoders-pytorch with BSD 2-Clause "Simplified" License | 5 votes |
def __init__(self, opt): super(DecodersIntegralWarper2, self).__init__() self.imagedimension = opt.imgSize self.ngpu = opt.ngpu self.idim = opt.idim self.wdim = opt.wdim self.decoderI = waspDecoder(opt, ngpu=self.ngpu, nz=opt.idim, nc=opt.nc, ngf=opt.ngf, lb=0, ub=1) self.decoderW = waspDecoderTanh(opt, ngpu=self.ngpu, nz=opt.wdim, nc=2, ngf=opt.ngf, lb=0, ub=0.1) self.warper = waspWarper(opt) self.integrator = waspGridSpatialIntegral(opt) self.cutter = nn.Hardtanh(-1,1)
Example #21
Source File: modules.py From pytorch_workplace with MIT License | 5 votes |
def __init__(self): super(BinaryTanh, self).__init__() self.hardtanh = nn.Hardtanh()
Example #22
Source File: DAENet_InstanceNorm.py From DeformingAutoencoders-pytorch with BSD 2-Clause "Simplified" License | 5 votes |
def __init__(self, opt, ngpu=1, nz=128, nc=1, ngf=32, lb=0, ub=1): super(waspDecoder, self).__init__() self.ngpu = ngpu self.main = nn.Sequential( # input is Z, going into a convolution nn.ConvTranspose2d(nz, ngf * 8, 4, 1, 0, bias=False), nn.InstanceNorm2d(ngf * 8), nn.ReLU(True), # state size. (ngf*8) x 4 x 4 nn.ConvTranspose2d(ngf * 8, ngf * 4, 4, 2, 1, bias=False), nn.InstanceNorm2d(ngf * 4), nn.ReLU(True), # state size. (ngf*4) x 8 x 8 nn.ConvTranspose2d(ngf * 4, ngf * 2, 4, 2, 1, bias=False), nn.InstanceNorm2d(ngf * 2), nn.ReLU(True), # state size. (ngf*2) x 16 x 16 nn.ConvTranspose2d(ngf * 2,ngf, 4, 2, 1, bias=False), nn.InstanceNorm2d(ngf), nn.ReLU(True), # state size. (ngf) x 32 x 32 nn.ConvTranspose2d(ngf, ngf, 4, 2, 1, bias=False), nn.InstanceNorm2d(ngf), nn.ReLU(True), # state size. (nc) x 64 x 64 nn.ConvTranspose2d(ngf, nc, 3, 1, 1, bias=False), nn.Hardtanh(lb,ub) )
Example #23
Source File: DAENet_InstanceNorm.py From DeformingAutoencoders-pytorch with BSD 2-Clause "Simplified" License | 5 votes |
def __init__(self, opt, ngpu=1, nz=128, nc=1, ngf=32, lb=0, ub=1): super(waspDecoderTanh, self).__init__() self.ngpu = ngpu self.main = nn.Sequential( # input is Z, going into a convolution nn.ConvTranspose2d(nz, ngf * 8, 4, 1, 0, bias=False), nn.InstanceNorm2d(ngf * 8), nn.Tanh(), # state size. (ngf*8) x 4 x 4 nn.ConvTranspose2d(ngf * 8, ngf * 4, 4, 2, 1, bias=False), nn.InstanceNorm2d(ngf * 4), nn.Tanh(), # state size. (ngf*4) x 8 x 8 nn.ConvTranspose2d(ngf * 4, ngf * 2, 4, 2, 1, bias=False), nn.InstanceNorm2d(ngf * 2), nn.Tanh(), # state size. (ngf*2) x 16 x 16 nn.ConvTranspose2d(ngf * 2,ngf, 4, 2, 1, bias=False), nn.InstanceNorm2d(ngf), nn.Tanh(), # state size. (ngf) x 32 x 32 nn.ConvTranspose2d(ngf, ngf, 4, 2, 1, bias=False), nn.InstanceNorm2d(ngf), nn.Tanh(), # state size. (nc) x 64 x 64 nn.ConvTranspose2d(ngf, nc, 3, 1, 1, bias=False), #nn.Hardtanh(lb,ub), nn.Sigmoid() )
Example #24
Source File: DAENet_InstanceNorm.py From DeformingAutoencoders-pytorch with BSD 2-Clause "Simplified" License | 5 votes |
def __init__(self, opt, ngpu=1, nz=128, nc=1, ngf=32, lb=0, ub=1, activation=nn.ReLU, args=[False], f_activation=nn.Hardtanh, f_args=[0,1]): super(waspDenseDecoder, self).__init__() self.ngpu = ngpu self.main = nn.Sequential( # input is Z, going into convolution nn.ConvTranspose2d(nz, ngf * 8, 4, 1, 0, bias=False), # state size. (ngf*8) x 4 x 4 DenseBlockDecoder(ngf*8, 16), DenseTransitionBlockDecoder(ngf*8, ngf*4), # state size. (ngf*4) x 8 x 8 DenseBlockDecoder(ngf*4, 24), DenseTransitionBlockDecoder(ngf*4, ngf*2), # state size. (ngf*2) x 16 x 16 DenseBlockDecoder(ngf*2, 12), DenseTransitionBlockDecoder(ngf*2, ngf), # state size. (ngf) x 32 x 32 DenseBlockDecoder(ngf, 6), DenseTransitionBlockDecoder(ngf, ngf), # state size (ngf) x 64 x 64 nn.InstanceNorm2d(ngf), activation(*args), nn.ConvTranspose2d(ngf, nc, 3, stride=1, padding=1, bias=False), f_activation(*f_args), )
Example #25
Source File: DAENet_InstanceNorm.py From DeformingAutoencoders-pytorch with BSD 2-Clause "Simplified" License | 5 votes |
def __init__(self, opt): super(DecodersIntegralWarper2, self).__init__() self.imagedimension = opt.imgSize self.ngpu = opt.ngpu self.idim = opt.idim self.wdim = opt.wdim self.decoderI = waspDecoder(opt, ngpu=self.ngpu, nz=opt.idim, nc=opt.nc, ngf=opt.ngf, lb=0, ub=1) self.decoderW = waspDecoderTanh(opt, ngpu=self.ngpu, nz=opt.wdim, nc=2, ngf=opt.ngf, lb=0, ub=0.1) self.warper = waspWarper(opt) self.integrator = waspGridSpatialIntegral(opt) self.cutter = nn.Hardtanh(-1,1)
Example #26
Source File: DAENet_InstanceNorm.py From DeformingAutoencoders-pytorch with BSD 2-Clause "Simplified" License | 5 votes |
def __init__(self, opt): super(Dense_DecodersIntegralWarper2, self).__init__() self.imagedimension = opt.imgSize self.ngpu = opt.ngpu self.idim = opt.idim self.wdim = opt.wdim self.decoderI = waspDenseDecoder(opt, ngpu=self.ngpu, nz=opt.idim, nc=opt.nc, ngf=opt.ngf, lb=0, ub=1) self.decoderW = waspDenseDecoder(opt, ngpu=self.ngpu, nz=opt.wdim, nc=2, ngf=opt.ngf, lb=0, ub=1, activation=nn.Tanh, args=[], f_activation=nn.Sigmoid, f_args=[]) self.warper = waspWarper(opt) self.integrator = waspGridSpatialIntegral(opt) self.cutter = nn.Hardtanh(-1,1)
Example #27
Source File: VAE.py From UMNN with BSD 3-Clause "New" or "Revised" License | 5 votes |
def create_encoder(self): """ Helper function to create the elemental blocks for the encoder. Creates a gated convnet encoder. the encoder expects data as input of shape (batch_size, num_channels, width, height). """ if self.input_type == 'binary': q_z_nn = nn.Sequential( GatedConv2d(self.input_size[0], 32, 5, 1, 2), GatedConv2d(32, 32, 5, 2, 2), GatedConv2d(32, 64, 5, 1, 2), GatedConv2d(64, 64, 5, 2, 2), GatedConv2d(64, 64, 5, 1, 2), GatedConv2d(64, 256, self.last_kernel_size, 1, 0), ) q_z_mean = nn.Linear(256, self.z_size) q_z_var = nn.Sequential( nn.Linear(256, self.z_size), nn.Softplus(), ) return q_z_nn, q_z_mean, q_z_var elif self.input_type == 'multinomial': act = None q_z_nn = nn.Sequential( GatedConv2d(self.input_size[0], 32, 5, 1, 2, activation=act), GatedConv2d(32, 32, 5, 2, 2, activation=act), GatedConv2d(32, 64, 5, 1, 2, activation=act), GatedConv2d(64, 64, 5, 2, 2, activation=act), GatedConv2d(64, 64, 5, 1, 2, activation=act), GatedConv2d(64, 256, self.last_kernel_size, 1, 0, activation=act) ) q_z_mean = nn.Linear(256, self.z_size) q_z_var = nn.Sequential(nn.Linear(256, self.z_size), nn.Softplus(), nn.Hardtanh(min_val=0.01, max_val=7.)) return q_z_nn, q_z_mean, q_z_var
Example #28
Source File: densenetccnl.py From DewarpNet with MIT License | 5 votes |
def __init__(self, nz=128, nc=1, ngf=32, lb=0, ub=1, activation=nn.ReLU, args=[False], f_activation=nn.Hardtanh, f_args=[]): super(waspDenseDecoder128, self).__init__() self.main = nn.Sequential( # input is Z, going into convolution nn.BatchNorm2d(nz), activation(*args), nn.ConvTranspose2d(nz, ngf * 8, 4, 1, 0, bias=False), # state size. (ngf*8) x 4 x 4 DenseBlockDecoder(ngf*8, 16), DenseTransitionBlockDecoder(ngf*8, ngf*8), # state size. (ngf*4) x 8 x 8 DenseBlockDecoder(ngf*8, 16), DenseTransitionBlockDecoder(ngf*8, ngf*4), # state size. (ngf*2) x 16 x 16 DenseBlockDecoder(ngf*4, 12), DenseTransitionBlockDecoder(ngf*4, ngf*2), # state size. (ngf) x 32 x 32 DenseBlockDecoder(ngf*2, 6), DenseTransitionBlockDecoder(ngf*2, ngf), # state size. (ngf) x 64 x 64 DenseBlockDecoder(ngf, 6), DenseTransitionBlockDecoder(ngf, ngf), # state size (ngf) x 128 x 128 nn.BatchNorm2d(ngf), activation(*args), nn.ConvTranspose2d(ngf, nc, 3, stride=1, padding=1, bias=False), f_activation(*f_args), ) # self.smooth=nn.Sequential( # nn.Conv2d(nc, nc, 1, stride=1, padding=0, bias=False), # f_activation(*f_args), # )
Example #29
Source File: models.py From adversarial-object-removal with MIT License | 5 votes |
def __init__(self, conv_dim=64, c_dim=5, repeat_num=6, g_smooth_layers=0, binary_mask=0): super(GeneratorDiff, self).__init__() layers = [] layers.append(nn.Conv2d(3+c_dim, conv_dim, kernel_size=7, stride=1, padding=3, bias=False)) layers.append(nn.InstanceNorm2d(conv_dim, affine=True)) layers.append(nn.ReLU(inplace=True)) # Down-Sampling curr_dim = conv_dim for i in range(2): layers.append(nn.Conv2d(curr_dim, curr_dim*2, kernel_size=4, stride=2, padding=1, bias=False)) layers.append(nn.InstanceNorm2d(curr_dim*2, affine=True)) layers.append(nn.ReLU(inplace=True)) curr_dim = curr_dim * 2 # Bottleneck for i in range(repeat_num): layers.append(ResidualBlock(dim_in=curr_dim)) # Up-Sampling for i in range(2): layers.append(nn.ConvTranspose2d(curr_dim, curr_dim//2, kernel_size=4, stride=2, padding=1, bias=False)) layers.append(nn.InstanceNorm2d(curr_dim//2, affine=True)) layers.append(nn.ReLU(inplace=True)) curr_dim = curr_dim // 2 layers.append(nn.Conv2d(curr_dim, 3, kernel_size=7, stride=1, padding=3, bias=False)) # Remove this non-linearity or use 2.0*tanh ? layers.append(nn.Tanh()) self.hardtanh = nn.Hardtanh(min_val=-1, max_val=1) self.main = nn.Sequential(*layers)
Example #30
Source File: linear_nets.py From continual-learning with MIT License | 5 votes |
def __init__(self, in_size, out_size, nl_mean=nn.Sigmoid(), nl_logvar=nn.Hardtanh(min_val=-4.5, max_val=0.), drop=0., bias=True, excitability=False, excit_buffer=False, batch_norm=False, gated=False): super().__init__() self.mean = fc_layer(in_size, out_size, drop=drop, bias=bias, excitability=excitability, excit_buffer=excit_buffer, batch_norm=batch_norm, gated=gated, nl=nl_mean) self.logvar = fc_layer(in_size, out_size, drop=drop, bias=False, excitability=excitability, excit_buffer=excit_buffer, batch_norm=batch_norm, gated=gated, nl=nl_logvar)