Python torch.nn.ParameterList() Examples
The following are 30
code examples of torch.nn.ParameterList().
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: BiLSTM.py From DocRED with MIT License | 6 votes |
def __init__(self, input_size, num_units, nlayers, concat, bidir, dropout, return_last): super().__init__() self.rnns = [] for i in range(nlayers): if i == 0: input_size_ = input_size output_size_ = num_units else: input_size_ = num_units if not bidir else num_units * 2 output_size_ = num_units self.rnns.append(nn.LSTM(input_size_, output_size_, 1, bidirectional=bidir, batch_first=True)) self.rnns = nn.ModuleList(self.rnns) self.init_hidden = nn.ParameterList([nn.Parameter(torch.Tensor(2 if bidir else 1, 1, num_units).zero_()) for _ in range(nlayers)]) self.init_c = nn.ParameterList([nn.Parameter(torch.Tensor(2 if bidir else 1, 1, num_units).zero_()) for _ in range(nlayers)]) self.dropout = LockedDropout(dropout) self.concat = concat self.nlayers = nlayers self.return_last = return_last # self.reset_parameters()
Example #2
Source File: 35_lstm_raw.py From deep-learning-note with MIT License | 6 votes |
def get_params(): def _one(shape): ts = torch.tensor(np.random.normal(0, 0.01, size=shape), device=device, dtype=torch.float32) return torch.nn.Parameter(ts, requires_grad=True) def _three(): return (_one((num_inputs, num_hiddens)), _one((num_hiddens, num_hiddens)), torch.nn.Parameter(torch.zeros(num_hiddens, device=device, dtype=torch.float32), requires_grad=True)) W_xi, W_hi, b_i = _three() # 输入门 W_xf, W_hf, b_f = _three() # 遗忘门 W_xo, W_ho, b_o = _three() # 输出门 W_xc, W_hc, b_c = _three() # 候选记忆细胞 # 输出层参数 W_hq = _one((num_hiddens, num_outputs)) b_q = torch.nn.Parameter(torch.zeros(num_outputs, device=device, dtype=torch.float32), requires_grad=True) return nn.ParameterList([W_xi, W_hi, b_i, W_xf, W_hf, b_f, W_xo, W_ho, b_o, W_xc, W_hc, b_c, W_hq, b_q])
Example #3
Source File: model.py From hotpot with Apache License 2.0 | 6 votes |
def __init__(self, input_size, num_units, nlayers, concat, bidir, dropout, return_last): super().__init__() self.rnns = [] for i in range(nlayers): if i == 0: input_size_ = input_size output_size_ = num_units else: input_size_ = num_units if not bidir else num_units * 2 output_size_ = num_units self.rnns.append(nn.GRU(input_size_, output_size_, 1, bidirectional=bidir, batch_first=True)) self.rnns = nn.ModuleList(self.rnns) self.init_hidden = nn.ParameterList([nn.Parameter(torch.Tensor(2 if bidir else 1, 1, num_units).zero_()) for _ in range(nlayers)]) self.dropout = LockedDropout(dropout) self.concat = concat self.nlayers = nlayers self.return_last = return_last # self.reset_parameters()
Example #4
Source File: 33_gru_raw.py From deep-learning-note with MIT License | 6 votes |
def get_params(): def _one(shape): ts = torch.tensor(np.random.normal(0, 0.01, size=shape), device=device, dtype=torch.float32) return torch.nn.Parameter(ts, requires_grad=True) def _three(): return (_one((num_inputs, num_hiddens)), _one((num_hiddens, num_hiddens)), torch.nn.Parameter(torch.zeros(num_hiddens, device=device, dtype=torch.float32), requires_grad=True)) W_xz, W_hz, b_z = _three() # 更新门参数 W_xr, W_hr, b_r = _three() # 重置门参数 W_xh, W_hh, b_h = _three() # 候选隐藏层参数 # 输出层参数 W_hq = _one((num_hiddens, num_outputs)) b_q = torch.nn.Parameter(torch.zeros(num_outputs, device=device, dtype=torch.float32), requires_grad=True) return nn.ParameterList([W_xz, W_hz, b_z, W_xr, W_hr, b_r, W_xh, W_hh, b_h, W_hq, b_q])
Example #5
Source File: layers.py From GraphSAINT with MIT License | 6 votes |
def __init__(self, dim_in, dim_out, dropout=0., act='relu', \ order=1, aggr='mean', bias='norm-nn', **kwargs): super(HighOrderAggregator,self).__init__() assert bias in ['bias', 'norm', 'norm-nn'] self.order,self.aggr = order,aggr self.act, self.bias = F_ACT[act], bias self.dropout = dropout self.f_lin, self.f_bias = [], [] self.offset, self.scale = [], [] for o in range(self.order+1): self.f_lin.append(nn.Linear(dim_in,dim_out,bias=False)) nn.init.xavier_uniform_(self.f_lin[-1].weight) self.f_bias.append(nn.Parameter(torch.zeros(dim_out))) self.offset.append(nn.Parameter(torch.zeros(dim_out))) self.scale.append(nn.Parameter(torch.ones(dim_out))) self.f_lin = nn.ModuleList(self.f_lin) self.f_dropout = nn.Dropout(p=self.dropout) self.params = nn.ParameterList(self.f_bias+self.offset+self.scale) self.f_bias = self.params[:self.order+1] if self.bias == 'norm': self.offset = self.params[self.order+1:2*self.order+2] self.scale = self.params[2*self.order+2:] elif self.bias == 'norm-nn': final_dim_out = dim_out*((aggr=='concat')*(order+1)+(aggr=='mean')) self.f_norm = nn.BatchNorm1d(final_dim_out,eps=1e-9,track_running_stats=True)
Example #6
Source File: UpdateFunction.py From nmp_qc with MIT License | 6 votes |
def init_duvenaud(self, params): learn_args = [] learn_modules = [] args = {} # Filter degree 0 (the message will be 0 and therefore there is no update args['deg'] = [i for i in params['deg'] if i!=0] args['in'] = params['in'] args['out'] = params['out'] # Define a parameter matrix H for each degree. learn_args.append(torch.nn.Parameter(torch.randn(len(args['deg']), args['in'], args['out']))) return nn.ParameterList(learn_args), nn.ModuleList(learn_modules), args # GG-NN, Li et al.
Example #7
Source File: ReadoutFunction.py From nmp_qc with MIT License | 6 votes |
def __set_readout(self, readout_def, args): self.r_definition = readout_def.lower() self.r_function = { 'duvenaud': self.r_duvenaud, 'ggnn': self.r_ggnn, 'intnet': self.r_intnet, 'mpnn': self.r_mpnn }.get(self.r_definition, None) if self.r_function is None: print('WARNING!: Readout Function has not been set correctly\n\tIncorrect definition ' + readout_def) quit() init_parameters = { 'duvenaud': self.init_duvenaud, 'ggnn': self.init_ggnn, 'intnet': self.init_intnet, 'mpnn': self.init_mpnn }.get(self.r_definition, lambda x: (nn.ParameterList([]), nn.ModuleList([]), {})) self.learn_args, self.learn_modules, self.args = init_parameters(args) # Get the name of the used readout function
Example #8
Source File: ReadoutFunction.py From nmp_qc with MIT License | 6 votes |
def init_ggnn(self, params): learn_args = [] learn_modules = [] args = {} # i learn_modules.append(NNet(n_in=2*params['in'], n_out=params['target'])) # j learn_modules.append(NNet(n_in=params['in'], n_out=params['target'])) args['out'] = params['target'] return nn.ParameterList(learn_args), nn.ModuleList(learn_modules), args # Battaglia et al. (2016), Interaction Networks
Example #9
Source File: ReadoutFunction.py From nmp_qc with MIT License | 6 votes |
def init_duvenaud(self, params): learn_args = [] learn_modules = [] args = {} args['out'] = params['out'] # Define a parameter matrix W for each layer. for l in range(params['layers']): learn_args.append(nn.Parameter(torch.randn(params['in'][l], params['out']))) # learn_modules.append(nn.Linear(params['out'], params['target'])) learn_modules.append(NNet(n_in=params['out'], n_out=params['target'])) return nn.ParameterList(learn_args), nn.ModuleList(learn_modules), args # GG-NN, Li et al.
Example #10
Source File: dee_model.py From Doc2EDAG with MIT License | 6 votes |
def __init__(self, event_type, field_types, hidden_size): super(EventTable, self).__init__() self.event_type = event_type self.field_types = field_types self.num_fields = len(field_types) self.hidden_size = hidden_size self.event_cls = nn.Linear(hidden_size, 2) # 0: NA, 1: trigger this event self.field_cls_list = nn.ModuleList( # 0: NA, 1: trigger this field [nn.Linear(hidden_size, 2) for _ in range(self.num_fields)] ) # used to aggregate sentence and span embedding self.event_query = nn.Parameter(torch.Tensor(1, self.hidden_size)) # used for fields that do not contain any valid span # self.none_span_emb = nn.Parameter(torch.Tensor(1, self.hidden_size)) # used for aggregating history filled span info self.field_queries = nn.ParameterList( [nn.Parameter(torch.Tensor(1, self.hidden_size)) for _ in range(self.num_fields)] ) self.reset_parameters()
Example #11
Source File: sp_model.py From hotpot with Apache License 2.0 | 6 votes |
def __init__(self, input_size, num_units, nlayers, concat, bidir, dropout, return_last): super().__init__() self.rnns = [] for i in range(nlayers): if i == 0: input_size_ = input_size output_size_ = num_units else: input_size_ = num_units if not bidir else num_units * 2 output_size_ = num_units self.rnns.append(nn.GRU(input_size_, output_size_, 1, bidirectional=bidir, batch_first=True)) self.rnns = nn.ModuleList(self.rnns) self.init_hidden = nn.ParameterList([nn.Parameter(torch.Tensor(2 if bidir else 1, 1, num_units).zero_()) for _ in range(nlayers)]) self.dropout = LockedDropout(dropout) self.concat = concat self.nlayers = nlayers self.return_last = return_last # self.reset_parameters()
Example #12
Source File: model.py From pytorch-fast-elmo with MIT License | 6 votes |
def __init__( self, mixture_size: int, do_layer_norm: bool = False, initial_scalar_parameters: Optional[List[float]] = None, trainable: bool = True, ) -> None: super().__init__() self.mixture_size = mixture_size self.do_layer_norm = do_layer_norm if initial_scalar_parameters is None: initial_scalar_parameters = [1.0 / mixture_size] * mixture_size elif len(initial_scalar_parameters) != mixture_size: raise ValueError("initial_scalar_parameters & mixture_size not match.") self.scalar_parameters = ParameterList([ Parameter( torch.FloatTensor([val]), requires_grad=trainable, ) for val in initial_scalar_parameters ]) self.gamma = Parameter(torch.FloatTensor([1.0]), requires_grad=trainable)
Example #13
Source File: resnet_fixup.py From pipeline with MIT License | 6 votes |
def __init__(self, inplanes, planes, stride=1, downsample=None, fixup_l=1): super(Bottleneck, self).__init__() self.conv1 = nn.Conv2d(inplanes, planes, kernel_size=1, bias=False) self.conv2 = nn.Conv2d(planes, planes, kernel_size=3, stride=stride, padding=1, bias=False) self.conv3 = nn.Conv2d(planes, planes * 4, kernel_size=1, bias=False) self.relu = nn.ReLU(inplace=True) self.downsample = downsample self.stride = stride self.scale = nn.Parameter(torch.ones(1)) self.biases = nn.ParameterList([nn.Parameter(torch.zeros(1)) for _ in range(6)]) k = self.conv1.kernel_size[0] * self.conv1.kernel_size[1] * self.conv1.out_channels self.conv1.weight.data.normal_(0, fixup_l ** (-1 / (2 * self.m - 2)) * math.sqrt(2. / k)) k = self.conv2.kernel_size[0] * self.conv2.kernel_size[1] * self.conv2.out_channels self.conv2.weight.data.normal_(0, fixup_l ** (-1 / (2 * self.m - 2)) * math.sqrt(2. / k)) self.conv3.weight.data.zero_() if downsample is not None: k = self.downsample.kernel_size[0] * self.downsample.kernel_size[1] * self.downsample.out_channels self.downsample.weight.data.normal_(0, math.sqrt(2. / k))
Example #14
Source File: resnet_cifar.py From pipeline with MIT License | 6 votes |
def __init__(self, in_planes, planes, stride=1, use_fixup=False, fixup_l=1, fixup_coeff=1): super(BasicBlock, self).__init__() self._use_fixup = use_fixup self._fixup_l = fixup_l self._fixup_coeff = fixup_coeff self.conv1 = nn.Conv2d(in_planes, planes, kernel_size=3, stride=stride, padding=1, bias=False) self.bn1 = nn.BatchNorm2d(planes) self.conv2 = nn.Conv2d(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 != planes: self.shortcut = LambdaLayer(lambda x: F.pad(x[:, :, ::2, ::2], (0, 0, 0, 0, planes//4, planes//4), "constant", 0)) if use_fixup: self.scale = nn.Parameter(torch.ones(1)) self.biases = nn.ParameterList([nn.Parameter(torch.zeros(1)) for _ in range(4)]) k = self.conv1.kernel_size[0] * self.conv1.kernel_size[1] * self.conv1.out_channels self.conv1.weight.data.normal_(0, fixup_coeff * fixup_l ** (-1 / (2 * self.m - 2)) * math.sqrt(2. / k)) self.conv2.weight.data.zero_()
Example #15
Source File: model.py From soft-decision-tree with BSD 3-Clause "New" or "Revised" License | 6 votes |
def collect_parameters(self): nodes = [self.root] self.module_list = nn.ModuleList() self.param_list = nn.ParameterList() while nodes: node = nodes.pop(0) if node.leaf: param = node.param self.param_list.append(param) else: fc = node.fc beta = node.beta nodes.append(node.right) nodes.append(node.left) self.param_list.append(beta) self.module_list.append(fc)
Example #16
Source File: polynomial.py From torchsupport with MIT License | 6 votes |
def __init__(self, in_size, out_size, hidden_size=128, depth=2, input_kwargs=None, internal_kwargs=None): super().__init__() self.depth = depth self.input_blocks = nn.ModuleList([ self.make_block(in_size, hidden_size, **input_kwargs) for idx in range(depth) ]) self.internal_blocks = nn.ModuleList([ nn.Identity() ] + [ self.make_block(hidden_size, hidden_size, **internal_kwargs) for idx in range(depth - 1) ]) self.internal_constants = nn.ParameterList([ self.make_constant(hidden_size) for idx in range(depth) ]) self.output_block = self.make_block(hidden_size, out_size, **internal_kwargs) self.output_constant = self.make_constant(out_size)
Example #17
Source File: residual.py From torchsupport with MIT License | 6 votes |
def __init__(self, in_size, out_size, N=1, index=0, activation=func.relu, eps=0, normalization=None, **kwargs): super(FixUpBlockNd, self).__init__() conv = getattr(nn, f"Conv{N}d") self.normalization = normalization or (lambda x: x) self.convs = nn.ModuleList([ normalization(conv(in_size, out_size, 3, bias=False, **kwargs)), normalization(conv(out_size, out_size, 3, bias=False, **kwargs)), ]) self.project = (lambda x: x) if in_size == out_size else normalization(conv(in_size, out_size, 1, bias=False)) self.scale = nn.Parameter(torch.tensor(1.0, dtype=torch.float)) self.biases = nn.ParameterList([ nn.Parameter(torch.tensor(0.0, dtype=torch.float)) for _ in range(4) ]) with torch.no_grad(): self.convs[0].weight.data = self.convs[0].weight.data * (index + 1) ** (-0.5) self.convs[1].weight.data.normal_() self.convs[1].weight.data = self.convs[1].weight.data * eps self.activation = activation
Example #18
Source File: ContextAware.py From DocRED with MIT License | 6 votes |
def __init__(self, input_size, num_units, nlayers, concat, bidir, dropout, return_last): super().__init__() self.rnns = [] for i in range(nlayers): if i == 0: input_size_ = input_size output_size_ = num_units else: input_size_ = num_units if not bidir else num_units * 2 output_size_ = num_units self.rnns.append(nn.LSTM(input_size_, output_size_, 1, bidirectional=bidir, batch_first=True)) self.rnns = nn.ModuleList(self.rnns) self.init_hidden = nn.ParameterList([nn.Parameter(torch.Tensor(2 if bidir else 1, 1, num_units).zero_()) for _ in range(nlayers)]) self.init_c = nn.ParameterList([nn.Parameter(torch.Tensor(2 if bidir else 1, 1, num_units).zero_()) for _ in range(nlayers)]) self.dropout = LockedDropout(dropout) self.concat = concat self.nlayers = nlayers self.return_last = return_last # self.reset_parameters()
Example #19
Source File: operations.py From NAO_pytorch with GNU General Public License v3.0 | 6 votes |
def __init__(self, num_possible_inputs, num_features, eps=1e-5, momentum=0.1, affine=True): super(WSBN, self).__init__() self.num_possible_inputs = num_possible_inputs self.num_features = num_features self.eps = eps self.momentum = momentum self.affine = affine if self.affine: self.weight = nn.ParameterList([nn.Parameter(torch.Tensor(num_features)) for _ in range(num_possible_inputs)]) self.bias = nn.ParameterList([nn.Parameter(torch.Tensor(num_features)) for _ in range(num_possible_inputs)]) else: self.register_parameter('weight', None) self.register_parameter('bias', None) self.register_buffer('running_mean', torch.zeros(num_features)) self.register_buffer('running_var', torch.ones(num_features)) self.reset_parameters()
Example #20
Source File: operations.py From NAO_pytorch with GNU General Public License v3.0 | 6 votes |
def __init__(self, num_possible_inputs, C_in, C_out, kernel_size, padding, affine=True): super(WSSepConv, self).__init__() self.num_possible_inputs = num_possible_inputs self.C_out = C_out self.C_in = C_in self.padding = padding self.relu1 = nn.ReLU(inplace=INPLACE) self.W1_depthwise = nn.ParameterList([nn.Parameter(torch.Tensor(C_in, 1, kernel_size, kernel_size)) for i in range(num_possible_inputs)]) self.W1_pointwise = nn.ParameterList([nn.Parameter(torch.Tensor(C_out, C_in, 1, 1)) for i in range(num_possible_inputs)]) self.bn1 = WSBN(num_possible_inputs, C_in, affine=affine) self.relu2 = nn.ReLU(inplace=INPLACE) self.W2_depthwise = nn.ParameterList([nn.Parameter(torch.Tensor(C_in, 1, kernel_size, kernel_size)) for i in range(num_possible_inputs)]) self.W2_pointwise = nn.ParameterList([nn.Parameter(torch.Tensor(C_out, C_in, 1, 1)) for i in range(num_possible_inputs)]) self.bn2 = WSBN(num_possible_inputs, C_in, affine=affine)
Example #21
Source File: ContextAware.py From DocRED with MIT License | 6 votes |
def __init__(self, input_size, num_units, nlayers, concat, bidir, dropout, return_last): super().__init__() self.rnns = [] for i in range(nlayers): if i == 0: input_size_ = input_size output_size_ = num_units else: input_size_ = num_units if not bidir else num_units * 2 output_size_ = num_units self.rnns.append(nn.GRU(input_size_, output_size_, 1, bidirectional=bidir, batch_first=True)) self.rnns = nn.ModuleList(self.rnns) self.init_hidden = nn.ParameterList([nn.Parameter(torch.Tensor(2 if bidir else 1, 1, num_units).zero_()) for _ in range(nlayers)]) self.dropout = LockedDropout(dropout) self.concat = concat self.nlayers = nlayers self.return_last = return_last # self.reset_parameters()
Example #22
Source File: LSTM_SP.py From DocRED with MIT License | 6 votes |
def __init__(self, input_size, num_units, nlayers, concat, bidir, dropout, return_last): super().__init__() self.rnns = [] for i in range(nlayers): if i == 0: input_size_ = input_size output_size_ = num_units else: input_size_ = num_units if not bidir else num_units * 2 output_size_ = num_units self.rnns.append(nn.GRU(input_size_, output_size_, 1, bidirectional=bidir, batch_first=True)) self.rnns = nn.ModuleList(self.rnns) self.init_hidden = nn.ParameterList([nn.Parameter(torch.Tensor(2 if bidir else 1, 1, num_units).zero_()) for _ in range(nlayers)]) self.dropout = LockedDropout(dropout) self.concat = concat self.nlayers = nlayers self.return_last = return_last # self.reset_parameters()
Example #23
Source File: operations.py From NAO_pytorch with GNU General Public License v3.0 | 6 votes |
def __init__(self, num_possible_inputs, C_in, C_out, kernel_size, stride, padding, affine=True): super(WSSepConv, self).__init__() self.num_possible_inputs = num_possible_inputs self.C_out = C_out self.C_in = C_in self.padding = padding self.relu1 = nn.ReLU(inplace=INPLACE) self.W1_depthwise = nn.ParameterList([nn.Parameter(torch.Tensor(C_in, 1, kernel_size, kernel_size)) for i in range(num_possible_inputs)]) self.W1_pointwise = nn.ParameterList([nn.Parameter(torch.Tensor(C_out, C_in, 1, 1)) for i in range(num_possible_inputs)]) self.bn1 = WSBN(num_possible_inputs, C_in, affine=affine) self.relu2 = nn.ReLU(inplace=INPLACE) self.W2_depthwise = nn.ParameterList([nn.Parameter(torch.Tensor(C_in, 1, kernel_size, kernel_size)) for i in range(num_possible_inputs)]) self.W2_pointwise = nn.ParameterList([nn.Parameter(torch.Tensor(C_out, C_in, 1, 1)) for i in range(num_possible_inputs)]) self.bn2 = WSBN(num_possible_inputs, C_in, affine=affine)
Example #24
Source File: LSTM.py From DocRED with MIT License | 6 votes |
def __init__(self, input_size, num_units, nlayers, concat, bidir, dropout, return_last): super().__init__() self.rnns = [] for i in range(nlayers): if i == 0: input_size_ = input_size output_size_ = num_units else: input_size_ = num_units if not bidir else num_units * 2 output_size_ = num_units self.rnns.append(nn.GRU(input_size_, output_size_, 1, bidirectional=bidir, batch_first=True)) self.rnns = nn.ModuleList(self.rnns) self.init_hidden = nn.ParameterList([nn.Parameter(torch.Tensor(2 if bidir else 1, 1, num_units).zero_()) for _ in range(nlayers)]) self.dropout = LockedDropout(dropout) self.concat = concat self.nlayers = nlayers self.return_last = return_last # self.reset_parameters()
Example #25
Source File: LSTM.py From DocRED with MIT License | 6 votes |
def __init__(self, input_size, num_units, nlayers, concat, bidir, dropout, return_last): super().__init__() self.rnns = [] for i in range(nlayers): if i == 0: input_size_ = input_size output_size_ = num_units else: input_size_ = num_units if not bidir else num_units * 2 output_size_ = num_units self.rnns.append(nn.LSTM(input_size_, output_size_, 1, bidirectional=bidir, batch_first=True)) self.rnns = nn.ModuleList(self.rnns) self.init_hidden = nn.ParameterList([nn.Parameter(torch.Tensor(2 if bidir else 1, 1, num_units).zero_()) for _ in range(nlayers)]) self.init_c = nn.ParameterList([nn.Parameter(torch.Tensor(2 if bidir else 1, 1, num_units).zero_()) for _ in range(nlayers)]) self.dropout = LockedDropout(dropout) self.concat = concat self.nlayers = nlayers self.return_last = return_last # self.reset_parameters()
Example #26
Source File: BiLSTM.py From DocRED with MIT License | 6 votes |
def __init__(self, input_size, num_units, nlayers, concat, bidir, dropout, return_last): super().__init__() self.rnns = [] for i in range(nlayers): if i == 0: input_size_ = input_size output_size_ = num_units else: input_size_ = num_units if not bidir else num_units * 2 output_size_ = num_units self.rnns.append(nn.GRU(input_size_, output_size_, 1, bidirectional=bidir, batch_first=True)) self.rnns = nn.ModuleList(self.rnns) self.init_hidden = nn.ParameterList([nn.Parameter(torch.Tensor(2 if bidir else 1, 1, num_units).zero_()) for _ in range(nlayers)]) self.dropout = LockedDropout(dropout) self.concat = concat self.nlayers = nlayers self.return_last = return_last # self.reset_parameters()
Example #27
Source File: wide_resnet_fixup.py From pipeline with MIT License | 6 votes |
def __init__(self, in_planes, out_planes, stride, dropout, fixup_l, fixup_coeff): super(BasicBlock, self).__init__() self._dropout = dropout self.relu = nn.ReLU(inplace=True) self.conv1 = nn.Conv2d(in_planes, out_planes, kernel_size=3, stride=stride, padding=1, bias=False) self.conv2 = nn.Conv2d(out_planes, out_planes, kernel_size=3, stride=1, padding=1, bias=False) self.equalInOut = in_planes == out_planes self.conv_res = nn.Conv2d(in_planes, out_planes, kernel_size=1, stride=stride, padding=0, bias=False) self.conv_res = not self.equalInOut and self.conv_res or None self.scale = nn.Parameter(torch.ones(1)) self.biases = nn.ParameterList([nn.Parameter(torch.zeros(1)) for _ in range(4)]) k = self.conv1.kernel_size[0] * self.conv1.kernel_size[1] * self.conv1.out_channels self.conv1.weight.data.normal_(0, fixup_coeff * fixup_l ** (-1 / (2 * self.m - 2)) * math.sqrt(2. / k)) self.conv2.weight.data.zero_() if self.conv_res is not None: k = self.conv_res.kernel_size[0] * self.conv_res.kernel_size[1] * self.conv_res.out_channels self.conv_res.weight.data.normal_(0, math.sqrt(2. / k))
Example #28
Source File: analysis.py From ddsp_pytorch with GNU General Public License v3.0 | 5 votes |
def __init__(self, scales, overlap=0.75, reshape=True): super(MultiscaleFFT, self).__init__() self.apply(self.init_parameters) self.scales = scales self.overlap = overlap self.reshape = reshape self.windows = nn.ParameterList( nn.Parameter(torch.from_numpy(np.hanning(scale)).float(), requires_grad=False)\ for scale in self.scales)
Example #29
Source File: pytorch_util.py From GPF with MIT License | 5 votes |
def weights_init(m): for p in m.modules(): if isinstance(p, nn.ParameterList): for pp in p: _param_init(pp) else: _param_init(p) for name, p in m.named_parameters(): if not '.' in name: # top-level parameters _param_init(p)
Example #30
Source File: modeling_transfo_xl.py From bert_on_stilts with Apache License 2.0 | 5 votes |
def __init__(self, n_token, d_embed, d_proj, cutoffs, div_val=1, sample_softmax=False): super(AdaptiveEmbedding, self).__init__() self.n_token = n_token self.d_embed = d_embed self.cutoffs = cutoffs + [n_token] self.div_val = div_val self.d_proj = d_proj self.emb_scale = d_proj ** 0.5 self.cutoff_ends = [0] + self.cutoffs self.emb_layers = nn.ModuleList() self.emb_projs = nn.ParameterList() if div_val == 1: self.emb_layers.append( nn.Embedding(n_token, d_embed, sparse=sample_softmax>0) ) if d_proj != d_embed: self.emb_projs.append(nn.Parameter(torch.Tensor(d_proj, d_embed))) else: for i in range(len(self.cutoffs)): l_idx, r_idx = self.cutoff_ends[i], self.cutoff_ends[i+1] d_emb_i = d_embed // (div_val ** i) self.emb_layers.append(nn.Embedding(r_idx-l_idx, d_emb_i)) self.emb_projs.append(nn.Parameter(torch.Tensor(d_proj, d_emb_i)))