Python torch.nn.init.kaiming_normal_() Examples
The following are 30
code examples of torch.nn.init.kaiming_normal_().
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.init
, or try the search function
.
Example #1
Source File: P_model.py From IKC with Apache License 2.0 | 6 votes |
def init_model(self, scale=0.1): # Common practise for initialization. for layer in self.netG.modules(): if isinstance(layer, nn.Conv2d): init.kaiming_normal_(layer.weight, a=0, mode='fan_in') layer.weight.data *= scale # for residual block if layer.bias is not None: layer.bias.data.zero_() elif isinstance(layer, nn.Linear): init.kaiming_normal_(layer.weight, a=0, mode='fan_in') layer.weight.data *= scale if layer.bias is not None: layer.bias.data.zero_() elif isinstance(layer, nn.BatchNorm2d): init.constant_(layer.weight, 1) init.constant_(layer.bias.data, 0.0)
Example #2
Source File: networks.py From Shift-Net_pytorch with MIT License | 6 votes |
def init_weights(net, init_type='normal', gain=0.02): def init_func(m): classname = m.__class__.__name__ if hasattr(m, 'weight') and (classname.find('Conv') != -1 or classname.find('Linear') != -1): if init_type == 'normal': init.normal_(m.weight.data, 0.0, gain) elif init_type == 'xavier': init.xavier_normal_(m.weight.data, gain=gain) elif init_type == 'kaiming': init.kaiming_normal_(m.weight.data, a=0, mode='fan_in') elif init_type == 'orthogonal': init.orthogonal_(m.weight.data, gain=gain) else: raise NotImplementedError('initialization method [%s] is not implemented' % init_type) if hasattr(m, 'bias') and m.bias is not None: init.constant_(m.bias.data, 0.0) elif classname.find('BatchNorm2d') != -1: init.normal_(m.weight.data, 1.0, gain) init.constant_(m.bias.data, 0.0) print('initialize network with %s' % init_type) net.apply(init_func)
Example #3
Source File: arch_util.py From EDVR with Apache License 2.0 | 6 votes |
def initialize_weights(net_l, scale=1): if not isinstance(net_l, list): net_l = [net_l] for net in net_l: for m in net.modules(): if isinstance(m, nn.Conv2d): init.kaiming_normal_(m.weight, a=0, mode='fan_in') m.weight.data *= scale # for residual block if m.bias is not None: m.bias.data.zero_() elif isinstance(m, nn.Linear): init.kaiming_normal_(m.weight, a=0, mode='fan_in') m.weight.data *= scale if m.bias is not None: m.bias.data.zero_() elif isinstance(m, nn.BatchNorm2d): init.constant_(m.weight, 1) init.constant_(m.bias.data, 0.0)
Example #4
Source File: __init__.py From srntt-pytorch with Apache License 2.0 | 6 votes |
def init_weights(net, init_type='normal', init_gain=0.02): def init_func(m): name = m.__class__.__name__ if hasattr(m, 'weight') and ('Conv' in name or 'Linear' in name): if init_type == 'normal': init.normal_(m.weight.data, 0.0, init_gain) elif init_type == 'xavier': init.xavier_normal_(m.weight.data, gain=init_gain) elif init_type == 'kaiming': init.kaiming_normal_(m.weight.data, a=0, mode='fan_in') elif init_type == 'orthogonal': init.orthogonal_(m.weight.data, gain=init_gain) else: raise NotImplementedError( f'initialization method [{init_type}] is not implemented') if hasattr(m, 'bias') and m.bias is not None: init.constant_(m.bias.data, 0.0) elif 'BatchNorm2d' in name: init.normal_(m.weight.data, 1.0, init_gain) init.constant_(m.bias.data, 0.0) net.apply(init_func)
Example #5
Source File: layers.py From SRN-DeblurNet with MIT License | 6 votes |
def get_weight_init_fn( activation_fn ): """get weight_initialization function according to activation_fn Notes ------------------------------------- if activation_fn requires arguments, use partial() to wrap activation_fn """ fn = activation_fn if hasattr( activation_fn , 'func' ): fn = activation_fn.func if fn == nn.LeakyReLU: negative_slope = 0 if hasattr( activation_fn , 'keywords'): if activation_fn.keywords.get('negative_slope') is not None: negative_slope = activation_fn.keywords['negative_slope'] if hasattr( activation_fn , 'args'): if len( activation_fn.args) > 0 : negative_slope = activation_fn.args[0] return partial( kaiming_normal_ , a = negative_slope ) elif fn == nn.ReLU or fn == nn.PReLU : return partial( kaiming_normal_ , a = 0 ) else: return xavier_normal_ return
Example #6
Source File: networks.py From MeshCNN with MIT License | 6 votes |
def init_weights(net, init_type, init_gain): def init_func(m): classname = m.__class__.__name__ if hasattr(m, 'weight') and (classname.find('Conv') != -1 or classname.find('Linear') != -1): if init_type == 'normal': init.normal_(m.weight.data, 0.0, init_gain) elif init_type == 'xavier': init.xavier_normal_(m.weight.data, gain=init_gain) elif init_type == 'kaiming': init.kaiming_normal_(m.weight.data, a=0, mode='fan_in') elif init_type == 'orthogonal': init.orthogonal_(m.weight.data, gain=init_gain) else: raise NotImplementedError('initialization method [%s] is not implemented' % init_type) elif classname.find('BatchNorm2d') != -1: init.normal_(m.weight.data, 1.0, init_gain) init.constant_(m.bias.data, 0.0) net.apply(init_func)
Example #7
Source File: network_msrresnet.py From KAIR with MIT License | 6 votes |
def initialize_weights(net_l, scale=1): if not isinstance(net_l, list): net_l = [net_l] for net in net_l: for m in net.modules(): if isinstance(m, nn.Conv2d): init.kaiming_normal_(m.weight, a=0, mode='fan_in') m.weight.data *= scale # for residual block if m.bias is not None: m.bias.data.zero_() elif isinstance(m, nn.Linear): init.kaiming_normal_(m.weight, a=0, mode='fan_in') m.weight.data *= scale if m.bias is not None: m.bias.data.zero_() elif isinstance(m, nn.BatchNorm2d): init.constant_(m.weight, 1) init.constant_(m.bias.data, 0.0)
Example #8
Source File: Model.py From Efficient-Segmentation-Networks with MIT License | 6 votes |
def init_params(self): ''' Function to initialze the parameters ''' for m in self.modules(): if isinstance(m, nn.Conv2d): init.kaiming_normal_(m.weight, mode='fan_out') if m.bias is not None: init.constant_(m.bias, 0) elif isinstance(m, nn.BatchNorm2d): init.constant_(m.weight, 1) init.constant_(m.bias, 0) elif isinstance(m, nn.Linear): init.normal_(m.weight, std=0.001) if m.bias is not None: init.constant_(m.bias, 0)
Example #9
Source File: networks.py From MADAN with MIT License | 6 votes |
def init_weights(net, init_type='normal', gain=0.02): def init_func(m): classname = m.__class__.__name__ if hasattr(m, 'weight') and (classname.find('Conv') != -1 or classname.find('Linear') != -1): if init_type == 'normal': init.normal_(m.weight.data, 0.0, gain) elif init_type == 'xavier': init.xavier_normal_(m.weight.data, gain=gain) elif init_type == 'kaiming': init.kaiming_normal_(m.weight.data, a=0, mode='fan_in') elif init_type == 'orthogonal': init.orthogonal_(m.weight.data, gain=gain) else: raise NotImplementedError('initialization method [%s] is not implemented' % init_type) if hasattr(m, 'bias') and m.bias is not None: init.constant_(m.bias.data, 0.0) elif classname.find('BatchNorm2d') != -1: init.normal_(m.weight.data, 1.0, gain) init.constant_(m.bias.data, 0.0) print('initialize network with %s' % init_type) net.apply(init_func)
Example #10
Source File: module_util.py From BasicSR with Apache License 2.0 | 6 votes |
def initialize_weights(net_l, scale=1): if not isinstance(net_l, list): net_l = [net_l] for net in net_l: for m in net.modules(): if isinstance(m, nn.Conv2d): init.kaiming_normal_(m.weight, a=0, mode='fan_in') m.weight.data *= scale # for residual block if m.bias is not None: m.bias.data.zero_() elif isinstance(m, nn.Linear): init.kaiming_normal_(m.weight, a=0, mode='fan_in') m.weight.data *= scale if m.bias is not None: m.bias.data.zero_() elif isinstance(m, nn.BatchNorm2d): init.constant_(m.weight, 1) init.constant_(m.bias.data, 0.0)
Example #11
Source File: module_util.py From real-world-sr with MIT License | 6 votes |
def initialize_weights(net_l, scale=1): if not isinstance(net_l, list): net_l = [net_l] for net in net_l: for m in net.modules(): if isinstance(m, nn.Conv2d): init.kaiming_normal_(m.weight, a=0, mode='fan_in') m.weight.data *= scale # for residual block if m.bias is not None: m.bias.data.zero_() elif isinstance(m, nn.Linear): init.kaiming_normal_(m.weight, a=0, mode='fan_in') m.weight.data *= scale if m.bias is not None: m.bias.data.zero_() elif isinstance(m, nn.BatchNorm2d): init.constant_(m.weight, 1) init.constant_(m.bias.data, 0.0)
Example #12
Source File: train_siamrpn.py From Siamese-RPN-pytorch with MIT License | 6 votes |
def init_weights(net, init_type='normal', gain=0.02): def init_func(m): # this will apply to each layer classname = m.__class__.__name__ if hasattr(m, 'weight') and (classname.find('conv')!=-1 or classname.find('Linear')!=-1): if init_type=='normal': init.normal_(m.weight.data, 0.0, gain) elif init_type == 'xavier': init.xavier_normal_(m.weight.data, gain=gain) elif init_type == 'kaiming': init.kaiming_normal_(m.weight.data, a=0, mode='fan_in')#good for relu elif init_type == 'orthogonal': init.orthogonal_(m.weight.data, gain=gain) else: raise NotImplementedError('initialization method [%s] is not implemented' % init_type) if hasattr(m, 'bias') and m.bias is not None: init.constant_(m.bias.data, 0.0) elif classname.find('BatchNorm2d') != -1: init.normal_(m.weight.data, 1.0, gain) init.constant_(m.bias.data, 0.0) #print('initialize network with %s' % init_type) net.apply(init_func)
Example #13
Source File: test_siamrpn.py From Siamese-RPN-pytorch with MIT License | 6 votes |
def init_weights(net, init_type='normal', gain=0.02): def init_func(m): # this will apply to each layer classname = m.__class__.__name__ if hasattr(m, 'weight') and (classname.find('conv')!=-1 or classname.find('Linear')!=-1): if init_type=='normal': init.normal_(m.weight.data, 0.0, gain) elif init_type == 'xavier': init.xavier_normal_(m.weight.data, gain=gain) elif init_type == 'kaiming': init.kaiming_normal_(m.weight.data, a=0, mode='fan_in')#good for relu elif init_type == 'orthogonal': init.orthogonal_(m.weight.data, gain=gain) else: raise NotImplementedError('initialization method [%s] is not implemented' % init_type) if hasattr(m, 'bias') and m.bias is not None: init.constant_(m.bias.data, 0.0) elif classname.find('BatchNorm2d') != -1: init.normal_(m.weight.data, 1.0, gain) init.constant_(m.bias.data, 0.0) #print('initialize network with %s' % init_type) net.apply(init_func)
Example #14
Source File: train_siamrpn.py From Siamese-RPN-pytorch with MIT License | 6 votes |
def init_weights(net, init_type='normal', gain=0.02): def init_func(m): # this will apply to each layer classname = m.__class__.__name__ if hasattr(m, 'weight') and (classname.find('conv')!=-1 or classname.find('Linear')!=-1): if init_type=='normal': init.normal_(m.weight.data, 0.0, gain) elif init_type == 'xavier': init.xavier_normal_(m.weight.data, gain=gain) elif init_type == 'kaiming': init.kaiming_normal_(m.weight.data, a=0, mode='fan_in')#good for relu elif init_type == 'orthogonal': init.orthogonal_(m.weight.data, gain=gain) else: raise NotImplementedError('initialization method [%s] is not implemented' % init_type) if hasattr(m, 'bias') and m.bias is not None: init.constant_(m.bias.data, 0.0) elif classname.find('BatchNorm2d') != -1: init.normal_(m.weight.data, 1.0, gain) init.constant_(m.bias.data, 0.0) #print('initialize network with %s' % init_type) net.apply(init_func)
Example #15
Source File: __init__.py From SRFBN_CVPR19 with MIT License | 6 votes |
def weights_init_kaiming(m, scale=1): classname = m.__class__.__name__ if isinstance(m, (nn.Conv2d, nn.ConvTranspose2d)): if classname != "MeanShift": print('initializing [%s] ...' % classname) init.kaiming_normal_(m.weight.data, a=0, mode='fan_in') m.weight.data *= scale if m.bias is not None: m.bias.data.zero_() elif isinstance(m, (nn.Linear)): init.kaiming_normal_(m.weight.data, a=0, mode='fan_in') m.weight.data *= scale if m.bias is not None: m.bias.data.zero_() elif isinstance(m, (nn.BatchNorm2d)): init.constant_(m.weight.data, 1.0) m.weight.data *= scale init.constant_(m.bias.data, 0.0)
Example #16
Source File: networks.py From densebody_pytorch with GNU General Public License v3.0 | 6 votes |
def init_weights(net, init_type='normal', gain=0.02): def init_func(m): classname = m.__class__.__name__ if hasattr(m, 'weight') and (classname.find('Conv') != -1 or classname.find('Linear') != -1): if init_type == 'normal': init.normal_(m.weight.data, 0.0, gain) elif init_type == 'xavier': init.xavier_normal_(m.weight.data, gain=gain) elif init_type == 'kaiming': init.kaiming_normal_(m.weight.data, a=0, mode='fan_in') elif init_type == 'orthogonal': init.orthogonal_(m.weight.data, gain=gain) else: raise NotImplementedError('initialization method [%s] is not implemented' % init_type) if hasattr(m, 'bias') and m.bias is not None: init.constant_(m.bias.data, 0.0) elif classname.find('BatchNorm2d') != -1: init.normal_(m.weight.data, 1.0, gain) init.constant_(m.bias.data, 0.0) print('initialize network with %s' % init_type) net.apply(init_func)
Example #17
Source File: C_model.py From IKC with Apache License 2.0 | 6 votes |
def init_model(self, scale=0.1): # Common practise for initialization. for layer in self.netG.modules(): if isinstance(layer, nn.Conv2d): init.kaiming_normal_(layer.weight, a=0, mode='fan_in') layer.weight.data *= scale # for residual block if layer.bias is not None: layer.bias.data.zero_() elif isinstance(layer, nn.Linear): init.kaiming_normal_(layer.weight, a=0, mode='fan_in') layer.weight.data *= scale if layer.bias is not None: layer.bias.data.zero_() elif isinstance(layer, nn.BatchNorm2d): init.constant_(layer.weight, 1) init.constant_(layer.bias.data, 0.0)
Example #18
Source File: F_model.py From IKC with Apache License 2.0 | 6 votes |
def init_model(self, scale=0.1): # Common practise for initialization. for layer in self.netG.modules(): if isinstance(layer, nn.Conv2d): init.kaiming_normal_(layer.weight, a=0, mode='fan_in') layer.weight.data *= scale # for residual block if layer.bias is not None: layer.bias.data.zero_() elif isinstance(layer, nn.Linear): init.kaiming_normal_(layer.weight, a=0, mode='fan_in') layer.weight.data *= scale if layer.bias is not None: layer.bias.data.zero_() elif isinstance(layer, nn.BatchNorm2d): init.constant_(layer.weight, 1) init.constant_(layer.bias.data, 0.0)
Example #19
Source File: module_util.py From IKC with Apache License 2.0 | 6 votes |
def initialize_weights(net_l, scale=1): if not isinstance(net_l, list): net_l = [net_l] for net in net_l: for m in net.modules(): if isinstance(m, nn.Conv2d): init.kaiming_normal_(m.weight, a=0, mode='fan_in') m.weight.data *= scale # for residual block if m.bias is not None: m.bias.data.zero_() elif isinstance(m, nn.Linear): init.kaiming_normal_(m.weight, a=0, mode='fan_in') m.weight.data *= scale if m.bias is not None: m.bias.data.zero_() elif isinstance(m, nn.BatchNorm2d): init.constant_(m.weight, 1) init.constant_(m.bias.data, 0.0)
Example #20
Source File: model_utils.py From ganimation_replicate with MIT License | 6 votes |
def init_weights(net, init_type='normal', gain=0.02): def init_func(m): classname = m.__class__.__name__ if hasattr(m, 'weight') and (classname.find('Conv') != -1 or classname.find('Linear') != -1): if init_type == 'normal': init.normal_(m.weight.data, 0.0, gain) elif init_type == 'xavier': init.xavier_normal_(m.weight.data, gain=gain) elif init_type == 'kaiming': init.kaiming_normal_(m.weight.data, a=0, mode='fan_in') elif init_type == 'orthogonal': init.orthogonal_(m.weight.data, gain=gain) else: raise NotImplementedError('initialization method [%s] is not implemented' % init_type) if hasattr(m, 'bias') and m.bias is not None: init.constant_(m.bias.data, 0.0) elif classname.find('BatchNorm2d') != -1: init.normal_(m.weight.data, 1.0, gain) init.constant_(m.bias.data, 0.0) print('initialize network with %s' % init_type) net.apply(init_func)
Example #21
Source File: loss.py From TENet with MIT License | 6 votes |
def weights_init_He_normal(m): classname = m.__class__.__name__ # print classname if classname.find('Transpose') != -1: m.weight.data.normal_(0.0, 0.001) if not m.bias is None: m.bias.data.zero_() elif classname.find('Conv') != -1: # std = np.sqrt(2. / (m.kernel_size[0] * m.kernel_size[1] * m.out_channels)) # m.weight.data.normal_(0.0, std) init.kaiming_normal_(m.weight.data, a=0, mode='fan_out') if not m.bias is None: m.bias.data.zero_() elif classname.find('BatchNorm') != -1: m.weight.data.fill_(1.) if not m.bias is None: m.bias.data.zero_() elif classname.find('Linear') != -1: m.weight.data.normal_(0.0, 0.001) if not m.bias is None: m.bias.data.zero_()
Example #22
Source File: networks.py From CAG_UDA with MIT License | 5 votes |
def init_weights(net, init_type='normal', init_gain=0.02): """Initialize network weights. Parameters: net (network) -- network to be initialized init_type (str) -- the name of an initialization method: normal | xavier | kaiming | orthogonal init_gain (float) -- scaling factor for normal, xavier and orthogonal. We use 'normal' in the original pix2pix and CycleGAN paper. But xavier and kaiming might work better for some applications. Feel free to try yourself. """ def init_func(m): # define the initialization function classname = m.__class__.__name__ if hasattr(m, 'weight') and (classname.find('Conv') != -1 or classname.find('Linear') != -1): if init_type == 'normal': init.normal_(m.weight.data, 0.0, init_gain) elif init_type == 'xavier': init.xavier_normal_(m.weight.data, gain=init_gain) elif init_type == 'kaiming': init.kaiming_normal_(m.weight.data, a=0, mode='fan_in') elif init_type == 'orthogonal': init.orthogonal_(m.weight.data, gain=init_gain) else: raise NotImplementedError('initialization method [%s] is not implemented' % init_type) if hasattr(m, 'bias') and m.bias is not None: init.constant_(m.bias.data, 0.0) elif classname.find('BatchNorm2d') != -1: # BatchNorm Layer's weight is not a matrix; only normal distribution applies. init.normal_(m.weight.data, 1.0, init_gain) init.constant_(m.bias.data, 0.0) print('initialize network with %s' % init_type) net.apply(init_func) # apply the initialization function <init_func>
Example #23
Source File: resnet_cifar.py From BBN with MIT License | 5 votes |
def _weights_init(m): classname = m.__class__.__name__ if isinstance(m, nn.Linear) or isinstance(m, nn.Conv2d): init.kaiming_normal_(m.weight)
Example #24
Source File: nets.py From FET-GAN with MIT License | 5 votes |
def init_weights(net, init_type='normal', init_gain=0.02): """Initialize network weights. Parameters: net (network) -- network to be initialized init_type (str) -- the name of an initialization method: normal | xavier | kaiming | orthogonal init_gain (float) -- scaling factor for normal, xavier and orthogonal. """ def init_func(m): # define the initialization function classname = m.__class__.__name__ if hasattr(m, 'weight') and (classname.find('Conv') != -1 or classname.find('Linear') != -1): if init_type == 'normal': init.normal_(m.weight.data, 0.0, init_gain) elif init_type == 'xavier': init.xavier_normal_(m.weight.data, gain=init_gain) elif init_type == 'kaiming': init.kaiming_normal_(m.weight.data, a=0, mode='fan_in') elif init_type == 'orthogonal': init.orthogonal_(m.weight.data, gain=init_gain) else: raise NotImplementedError('initialization method [%s] is not implemented' % init_type) if hasattr(m, 'bias') and m.bias is not None: init.constant_(m.bias.data, 0.0) elif classname.find('BatchNorm2d') != -1: # BatchNorm Layer's weight is not a matrix; only normal distribution applies. init.normal_(m.weight.data, 1.0, init_gain) init.constant_(m.bias.data, 0.0) print('initialize network with %s' % init_type) net.apply(init_func) # apply the initialization function <init_func>
Example #25
Source File: end2end.py From One-Example-Person-ReID with MIT License | 5 votes |
def __init__(self, input_feature_size, num_classes, is_output_feature, embeding_fea_size=1024, dropout=0.5, classifier="CrossEntropyLoss"): super(self.__class__, self).__init__() self.is_output_feature = is_output_feature # embeding self.embeding_fea_size = embeding_fea_size IDE_fea_size = 1024 Ex_fea_size = 2048 self.IDE_embeding = nn.Linear(input_feature_size, IDE_fea_size) self.IDE_embeding_bn = nn.BatchNorm1d(IDE_fea_size) self.Ex_embeding = nn.Linear(input_feature_size, Ex_fea_size) self.Ex_embeding_bn = nn.BatchNorm1d(Ex_fea_size) init.kaiming_normal_(self.IDE_embeding.weight, mode='fan_out') init.constant_(self.IDE_embeding.bias, 0) init.constant_(self.IDE_embeding_bn.weight, 1) init.constant_(self.IDE_embeding_bn.bias, 0) init.kaiming_normal_(self.Ex_embeding.weight, mode='fan_out') init.constant_(self.Ex_embeding.bias, 0) init.constant_(self.Ex_embeding_bn.weight, 1) init.constant_(self.Ex_embeding_bn.bias, 0) self.drop = nn.Dropout(dropout) self.classify_fc = nn.Linear(IDE_fea_size, num_classes, bias=True) init.normal_(self.classify_fc.weight, std = 0.001) init.constant_(self.classify_fc.bias, 0) self.cls = classifier
Example #26
Source File: wideresnet_utils.py From LaSO with BSD 3-Clause "New" or "Revised" License | 5 votes |
def conv_params(ni, no, k=1): return kaiming_normal_(torch.Tensor(no, ni, k, k))
Example #27
Source File: pix2pix_model.py From DeepMosaics with GNU General Public License v3.0 | 5 votes |
def init_weights(net, init_type='normal', init_gain=0.02): """Initialize network weights. Parameters: net (network) -- network to be initialized init_type (str) -- the name of an initialization method: normal | xavier | kaiming | orthogonal init_gain (float) -- scaling factor for normal, xavier and orthogonal. We use 'normal' in the original pix2pix and CycleGAN paper. But xavier and kaiming might work better for some applications. Feel free to try yourself. """ def init_func(m): # define the initialization function classname = m.__class__.__name__ if hasattr(m, 'weight') and (classname.find('Conv') != -1 or classname.find('Linear') != -1): if init_type == 'normal': init.normal_(m.weight.data, 0.0, init_gain) elif init_type == 'xavier': init.xavier_normal_(m.weight.data, gain=init_gain) elif init_type == 'kaiming': init.kaiming_normal_(m.weight.data, a=0, mode='fan_in') elif init_type == 'orthogonal': init.orthogonal_(m.weight.data, gain=init_gain) else: raise NotImplementedError('initialization method [%s] is not implemented' % init_type) if hasattr(m, 'bias') and m.bias is not None: init.constant_(m.bias.data, 0.0) elif classname.find('BatchNorm2d') != -1: # BatchNorm Layer's weight is not a matrix; only normal distribution applies. init.normal_(m.weight.data, 1.0, init_gain) init.constant_(m.bias.data, 0.0) #print('initialize network with %s' % init_type) net.apply(init_func) # apply the initialization function <init_func>
Example #28
Source File: main.py From loss-landscape with MIT License | 5 votes |
def init_params(net): for m in net.modules(): if isinstance(m, nn.Conv2d) or isinstance(m, nn.ConvTranspose2d): init.kaiming_normal_(m.weight, mode='fan_in') if m.bias is not None: init.constant_(m.bias, 0) elif isinstance(m, nn.BatchNorm2d): init.constant_(m.weight, 1) init.constant_(m.bias, 0) elif isinstance(m, nn.Linear): init.normal_(m.weight, std=1e-3) if m.bias is not None: init.constant_(m.bias, 0) # Training
Example #29
Source File: model.py From University1652-Baseline with MIT License | 5 votes |
def weights_init_kaiming(m): classname = m.__class__.__name__ # print(classname) if classname.find('Conv') != -1: init.kaiming_normal_(m.weight.data, a=0, mode='fan_in') # For old pytorch, you may use kaiming_normal. elif classname.find('Linear') != -1: init.kaiming_normal_(m.weight.data, a=0, mode='fan_out') init.constant_(m.bias.data, 0.0) elif classname.find('BatchNorm1d') != -1: init.normal_(m.weight.data, 1.0, 0.02) init.constant_(m.bias.data, 0.0)
Example #30
Source File: model.py From FactorVAE with MIT License | 5 votes |
def kaiming_init(m): if isinstance(m, (nn.Linear, nn.Conv2d)): init.kaiming_normal_(m.weight) if m.bias is not None: m.bias.data.fill_(0) elif isinstance(m, (nn.BatchNorm1d, nn.BatchNorm2d)): m.weight.data.fill_(1) if m.bias is not None: m.bias.data.fill_(0)