Python torch.nn.init.xavier_normal_() Examples
The following are 30
code examples of torch.nn.init.xavier_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: recurrent_attention.py From Attentive-Filtering-Network with MIT License | 7 votes |
def __init__(self, batch=32, bidirectional=True): super(BLSTM, self).__init__() self.bidirectional = bidirectional self.hidden = self.init_hidden(batch) self.lstm = nn.LSTM(257, 50, num_layers=2, bidirectional=True) self.fc = nn.Linear(50*2,1) ## Weights initialization def _weights_init(m): if isinstance(m, nn.Conv2d or nn.Linear or nn.GRU or nn.LSTM): init.xavier_normal_(m.weight) m.bias.data.zero_() elif isinstance(m, nn.BatchNorm2d or nn.BatchNorm1d): m.weight.data.fill_(1) m.bias.data.zero_() self.apply(_weights_init)
Example #2
Source File: dgm.py From Deep-SAD-PyTorch with MIT License | 6 votes |
def __init__(self, dims, classifier_net=None): [x_dim, self.y_dim, z_dim, h_dim] = dims super(DeepGenerativeModel, self).__init__([x_dim, z_dim, h_dim]) self.encoder = Encoder([x_dim + self.y_dim, h_dim, z_dim]) self.decoder = Decoder([z_dim + self.y_dim, list(reversed(h_dim)), x_dim]) if classifier_net is None: self.classifier = Classifier(net=None, dims=[x_dim, h_dim[0], self.y_dim]) else: self.classifier = Classifier(classifier_net) # Init linear layers for m in self.modules(): if isinstance(m, nn.Linear): init.xavier_normal_(m.weight.data) if m.bias is not None: m.bias.data.zero_()
Example #3
Source File: utils.py From dgl with Apache License 2.0 | 6 votes |
def weights_init(m): ''' Code from https://gist.github.com/jeasinema/ed9236ce743c8efaf30fa2ff732749f5 Usage: model = Model() model.apply(weight_init) ''' if isinstance(m, nn.Linear): init.xavier_normal_(m.weight.data) init.normal_(m.bias.data) elif isinstance(m, nn.GRUCell): for param in m.parameters(): if len(param.shape) >= 2: init.orthogonal_(param.data) else: init.normal_(param.data)
Example #4
Source File: modules.py From One-shot-Relational-Learning with Apache License 2.0 | 6 votes |
def __init__(self, n_head, d_model, d_k, d_v, dropout=0.1): super(MultiHeadAttention, self).__init__() self.n_head = n_head self.d_k = d_k self.d_v = d_v self.w_qs = nn.Parameter(torch.FloatTensor(n_head, d_model, d_k)) self.w_ks = nn.Parameter(torch.FloatTensor(n_head, d_model, d_k)) self.w_vs = nn.Parameter(torch.FloatTensor(n_head, d_model, d_v)) self.attention = ScaledDotProductAttention(d_model) self.layer_norm = LayerNormalization(d_model) self.proj = nn.Linear(n_head*d_v, d_model) init.xavier_normal_(self.proj.weight) self.dropout = nn.Dropout(dropout) init.xavier_normal_(self.w_qs) init.xavier_normal_(self.w_ks) init.xavier_normal_(self.w_vs)
Example #5
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 #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: 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 #8
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 #9
Source File: model.py From metric-learning-divide-and-conquer with GNU Lesser General Public License v3.0 | 6 votes |
def init_splitted(layer, nb_clusters, sz_embedding): # initialize splitted embedding parts separately from math import ceil for c in range(nb_clusters): i = torch.arange( c * ceil(sz_embedding / nb_clusters), # cut off remaining indices, e.g. if > embedding size min( (c + 1) * ceil( sz_embedding / nb_clusters ), sz_embedding ) ).long() _layer = torch.nn.Linear(layer.weight.shape[1], len(i)) layer.weight.data[i] = xavier_normal_(_layer.weight.data, gain = 1) layer.bias.data[i] = _layer.bias.data
Example #10
Source File: vae.py From Deep-SAD-PyTorch with MIT License | 6 votes |
def __init__(self, dims): super(VariationalAutoencoder, self).__init__() [x_dim, z_dim, h_dim] = dims self.z_dim = z_dim self.flow = None self.encoder = Encoder([x_dim, h_dim, z_dim]) self.decoder = Decoder([z_dim, list(reversed(h_dim)), x_dim]) self.kl_divergence = 0 # Init linear layers for m in self.modules(): if isinstance(m, nn.Linear): init.xavier_normal_(m.weight.data) if m.bias is not None: m.bias.data.zero_()
Example #11
Source File: transformer.py From GraphIE with GNU General Public License v3.0 | 6 votes |
def __init__(self, n_head, d_model, d_k, d_v, dropout=0.1, use_residual=True): super(MultiHeadAttention, self).__init__() self.n_head = n_head self.d_k = d_k self.d_v = d_v self.w_qs = nn.Parameter(torch.FloatTensor(n_head, d_model, d_k)) self.w_ks = nn.Parameter(torch.FloatTensor(n_head, d_model, d_k)) self.w_vs = nn.Parameter(torch.FloatTensor(n_head, d_model, d_v)) self.attention = ScaledDotProductAttention(d_model) self.layer_norm = LayerNormalization(d_model) self.proj = BottleLinear(n_head * d_v, d_model) self.dropout = nn.Dropout(dropout) self.use_residual = use_residual init.xavier_normal_(self.w_qs) init.xavier_normal_(self.w_ks) init.xavier_normal_(self.w_vs)
Example #12
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 #13
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 #14
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 #15
Source File: WSeq_RA.py From MultiTurnDialogZoo with MIT License | 5 votes |
def init_weight(self): init.xavier_normal_(self.gru.weight_hh_l0) init.xavier_normal_(self.gru.weight_ih_l0) self.gru.bias_ih_l0.data.fill_(0.0) self.gru.bias_hh_l0.data.fill_(0.0)
Example #16
Source File: WSeq_RA.py From MultiTurnDialogZoo with MIT License | 5 votes |
def init_weight(self): init.xavier_normal_(self.gru.weight_hh_l0) init.xavier_normal_(self.gru.weight_ih_l0) self.gru.bias_ih_l0.data.fill_(0.0) self.gru.bias_hh_l0.data.fill_(0.0)
Example #17
Source File: matcher.py From One-shot-Relational-Learning with Apache License 2.0 | 5 votes |
def __init__(self, embed_dim, num_symbols, use_pretrain=True, embed=None, dropout=0.2, batch_size=64, process_steps=4, finetune=False, aggregate='max'): super(EmbedMatcher, self).__init__() self.embed_dim = embed_dim self.pad_idx = num_symbols self.symbol_emb = nn.Embedding(num_symbols + 1, embed_dim, padding_idx=num_symbols) self.aggregate = aggregate self.num_symbols = num_symbols self.gcn_w = nn.Linear(2*self.embed_dim, self.embed_dim) self.gcn_b = nn.Parameter(torch.FloatTensor(self.embed_dim)) self.dropout = nn.Dropout(0.5) init.xavier_normal_(self.gcn_w.weight) init.constant_(self.gcn_b, 0) if use_pretrain: logging.info('LOADING KB EMBEDDINGS') # emb_np = np.loadtxt(embed_path) self.symbol_emb.weight.data.copy_(torch.from_numpy(embed)) if not finetune: logging.info('FIX KB EMBEDDING') self.symbol_emb.weight.requires_grad = False d_model = self.embed_dim * 2 self.support_encoder = SupportEncoder(d_model, 2*d_model, dropout) self.query_encoder = QueryEncoder(d_model, process_steps)
Example #18
Source File: MReCoSa_RA.py From MultiTurnDialogZoo with MIT License | 5 votes |
def init_weight(self): # orthogonal init init.xavier_normal_(self.rnn.weight_hh_l0) init.xavier_normal_(self.rnn.weight_ih_l0) self.rnn.bias_ih_l0.data.fill_(0.0) self.rnn.bias_hh_l0.data.fill_(0.0)
Example #19
Source File: GatedGCN.py From MultiTurnDialogZoo with MIT License | 5 votes |
def init_weight(self): init.xavier_normal_(self.gru.weight_hh_l0) init.xavier_normal_(self.gru.weight_ih_l0) self.gru.bias_ih_l0.data.fill_(0.0) self.gru.bias_hh_l0.data.fill_(0.0)
Example #20
Source File: MReCoSa_RA.py From MultiTurnDialogZoo with MIT License | 5 votes |
def init_weight(self): init.xavier_normal_(self.rnn.weight_hh_l0) init.xavier_normal_(self.rnn.weight_ih_l0) self.rnn.bias_ih_l0.data.fill_(0.0) self.rnn.bias_hh_l0.data.fill_(0.0)
Example #21
Source File: GatedGCN.py From MultiTurnDialogZoo with MIT License | 5 votes |
def init_weight(self): init.xavier_normal_(self.kernel_rnn1.weight_hh) init.xavier_normal_(self.kernel_rnn1.weight_ih) self.kernel_rnn1.bias_ih.data.fill_(0.0) self.kernel_rnn1.bias_hh.data.fill_(0.0) init.xavier_normal_(self.kernel_rnn2.weight_hh) init.xavier_normal_(self.kernel_rnn2.weight_ih) self.kernel_rnn2.bias_ih.data.fill_(0.0) self.kernel_rnn2.bias_hh.data.fill_(0.0) init.xavier_normal_(self.rnn.weight_hh_l0) init.xavier_normal_(self.rnn.weight_ih_l0) self.rnn.bias_ih_l0.data.fill_(0.0) self.rnn.bias_hh_l0.data.fill_(0.0)
Example #22
Source File: HRAN_ablation.py From MultiTurnDialogZoo with MIT License | 5 votes |
def init_weight(self): init.xavier_normal_(self.gru.weight_hh_l0) init.xavier_normal_(self.gru.weight_ih_l0) self.gru.bias_ih_l0.data.fill_(0.0) self.gru.bias_hh_l0.data.fill_(0.0)
Example #23
Source File: model.py From SCALE with MIT License | 5 votes |
def reset_parameters(self): """ Initialize weights """ for m in self.modules(): if isinstance(m, nn.Linear): init.xavier_normal_(m.weight.data) if m.bias is not None: m.bias.data.zero_()
Example #24
Source File: util.py From MADAN with MIT License | 5 votes |
def init_weights(obj): for m in obj.modules(): if isinstance(m, nn.Conv2d) or isinstance(m, nn.Linear): init.xavier_normal_(m.weight) m.bias.data.zero_() elif isinstance(m, nn.BatchNorm2d) or isinstance(m, nn.BatchNorm1d): m.reset_parameters()
Example #25
Source File: modules.py From One-shot-Relational-Learning with Apache License 2.0 | 5 votes |
def __init__(self, d_model, d_inner, dropout=0.1): super(SupportEncoder, self).__init__() self.proj1 = nn.Linear(d_model, d_inner) self.proj2 = nn.Linear(d_inner, d_model) self.layer_norm = LayerNormalization(d_model) init.xavier_normal_(self.proj1.weight) init.xavier_normal_(self.proj2.weight) self.dropout = nn.Dropout(dropout) self.relu = nn.ReLU()
Example #26
Source File: DSHRED.py From MultiTurnDialogZoo with MIT License | 5 votes |
def init_weight(self): init.xavier_normal_(self.gru.weight_hh_l0) init.xavier_normal_(self.gru.weight_ih_l0) self.gru.bias_ih_l0.data.fill_(0.0) self.gru.bias_hh_l0.data.fill_(0.0)
Example #27
Source File: nn_utils.py From tranX with Apache License 2.0 | 5 votes |
def glorot_init(params): for p in params: if len(p.data.size()) > 1: init.xavier_normal_(p.data)
Example #28
Source File: initialization.py From landmark-detection with MIT License | 5 votes |
def weights_init_xavier(m): classname = m.__class__.__name__ # print(classname) if classname.find('Conv') != -1: init.xavier_normal_(m.weight.data, gain=1) elif classname.find('Linear') != -1: init.xavier_normal_(m.weight.data, gain=1) elif classname.find('BatchNorm2d') != -1: init.uniform(m.weight.data, 1.0, 0.02) init.constant(m.bias.data, 0.0)
Example #29
Source File: autoregressive.py From deep-generative-lm with MIT License | 5 votes |
def reset_parameters(self): """Initializes the bias with zero, the weights with xavier/glorot normal.""" self.weight = xavier_normal_(self.weight) if self.bias is not None: self.bias.data.zero_()
Example #30
Source File: base_net.py From One_Shot_Face_Reenactment with MIT License | 5 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) if init_type == 'no': print('not init') else: print('initialize network with %s' % init_type) net.apply(init_func)