Python torch.nn.Conv1d() Examples
The following are 30
code examples of torch.nn.Conv1d().
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: _wavernn.py From audio with BSD 2-Clause "Simplified" License | 11 votes |
def __init__(self, n_res_block: int = 10, n_freq: int = 128, n_hidden: int = 128, n_output: int = 128, kernel_size: int = 5) -> None: super().__init__() ResBlocks = [_ResBlock(n_hidden) for _ in range(n_res_block)] self.melresnet_model = nn.Sequential( nn.Conv1d(in_channels=n_freq, out_channels=n_hidden, kernel_size=kernel_size, bias=False), nn.BatchNorm1d(n_hidden), nn.ReLU(inplace=True), *ResBlocks, nn.Conv1d(in_channels=n_hidden, out_channels=n_output, kernel_size=1) )
Example #2
Source File: cnn.py From TVQAplus with MIT License | 7 votes |
def __init__(self, in_ch, out_ch, k, dim=1, relu=True): """ :param in_ch: input hidden dimension size :param out_ch: output hidden dimension size :param k: kernel size :param dim: default 1. 1D conv or 2D conv """ super(DepthwiseSeparableConv, self).__init__() self.relu = relu if dim == 1: self.depthwise_conv = nn.Conv1d(in_channels=in_ch, out_channels=in_ch, kernel_size=k, groups=in_ch, padding=k//2) self.pointwise_conv = nn.Conv1d(in_channels=in_ch, out_channels=out_ch, kernel_size=1, padding=0) elif dim == 2: self.depthwise_conv = nn.Conv2d(in_channels=in_ch, out_channels=in_ch, kernel_size=k, groups=in_ch, padding=k//2) self.pointwise_conv = nn.Conv2d(in_channels=in_ch, out_channels=out_ch, kernel_size=1, padding=0) else: raise Exception("Incorrect dimension!")
Example #3
Source File: models.py From IGMC with MIT License | 7 votes |
def __init__(self, dataset, gconv=GCNConv, latent_dim=[32, 32, 32, 1], k=30, regression=False, adj_dropout=0.2, force_undirected=False): super(DGCNN, self).__init__( dataset, gconv, latent_dim, regression, adj_dropout, force_undirected ) if k < 1: # transform percentile to number node_nums = sorted([g.num_nodes for g in dataset]) k = node_nums[int(math.ceil(k * len(node_nums)))-1] k = max(10, k) # no smaller than 10 self.k = int(k) print('k used in sortpooling is:', self.k) conv1d_channels = [16, 32] conv1d_activation = nn.ReLU() self.total_latent_dim = sum(latent_dim) conv1d_kws = [self.total_latent_dim, 5] self.conv1d_params1 = Conv1d(1, conv1d_channels[0], conv1d_kws[0], conv1d_kws[0]) self.maxpool1d = nn.MaxPool1d(2, 2) self.conv1d_params2 = Conv1d(conv1d_channels[0], conv1d_channels[1], conv1d_kws[1], 1) dense_dim = int((k - 2) / 2 + 1) self.dense_dim = (dense_dim - conv1d_kws[1] + 1) * conv1d_channels[1] self.lin1 = Linear(self.dense_dim, 128)
Example #4
Source File: newLayers3D.py From 3D-HourGlass-Network with MIT License | 7 votes |
def __init__(self, inChannels, outChannels, kernelSize = 1, stride = 1, padding = 0): super(NewConvBnRelu3D, self).__init__() self.inChannels = inChannels self.outChannels = outChannels self.kernelSize = kernelSize self.stride = stride self.padding = padding self.relu = nn.LeakyReLU() self.bn = nn.BatchNorm3d(self.inChannels) if (kernelSize == 1): self.conv = nn.Conv1d(self.inChannels, self.outChannels, self.kernelSize, self.stride, self.padding) elif (isinstance(kernelSize, int)): self.conv = nn.Conv3d(self.inChannels, self.outChannels, self.kernelSize, self.stride, self.padding) elif (kernelSize[0] == 1): self.conv = nn.Conv2d(self.inChannels, self.outChannels, self.kernelSize[1:], self.stride, self.padding) else : self.conv = nn.Conv3d(self.inChannels, self.outChannels, self.kernelSize, self.stride, self.padding)
Example #5
Source File: layers_pytorch.py From timeception with GNU General Public License v3.0 | 6 votes |
def __init__(self, input_shape, kernel_size, dilation, name): super(DepthwiseConv1DLayer, self).__init__() assert len(input_shape) == 5 self.kernel_size = kernel_size self.dilation = dilation self._name = name n_channels = input_shape[1] n_timesteps = input_shape[2] # TODO: support using different dilation rates. padding = pytorch_utils.calc_padding_1d(n_timesteps, kernel_size) self.depthwise_conv1d = Conv1d(n_channels, n_channels, kernel_size, dilation=dilation, groups=n_channels, padding=padding) self.depthwise_conv1d._name = name
Example #6
Source File: modules.py From pase with MIT License | 6 votes |
def __init__(self, ninp, fmaps, din=0, dout=0, context=1, tie_context_weights=False, name='MLPBlock', ratio_fixed=None, range_fixed=None, dropin_mode='std', drop_channels=False, emb_size=100): super().__init__(name=name) self.ninp = ninp self.fmaps = fmaps self.tie_context_weights = tie_context_weights assert context % 2 != 0, context if tie_context_weights: self.W = nn.Conv1d(ninp, fmaps, 1) self.pool = nn.AvgPool1d(kernel_size=context, stride=1, padding=context//2, count_include_pad=False) else: self.W = nn.Conv1d(ninp, fmaps, context, padding=context//2) self.din = PatternedDropout(emb_size=emb_size, p=din, dropout_mode=dropin_mode, range_fixed=range_fixed, ratio_fixed=ratio_fixed, drop_whole_channels=drop_channels) self.act = nn.PReLU(fmaps) self.dout = nn.Dropout(dout)
Example #7
Source File: model.py From VSE-C with MIT License | 6 votes |
def __init__(self, vocab_size, word_dim, embed_size, use_abs=False, glove_path='data/glove.pkl'): super(EncoderTextDeepCNN, self).__init__() self.use_abs = use_abs self.embed_size = embed_size # word embedding self.embed = nn.Embedding(vocab_size, word_dim-300, padding_idx=0) _, embed_weight = pickle.load(open(glove_path, 'rb')) self.glove = Variable(torch.cuda.FloatTensor(embed_weight), requires_grad=False) channel_num = embed_size self.conv1 = nn.Conv1d(word_dim, embed_size, 2, stride=2) # [batch_size, dim, 30] self.conv2 = nn.Conv1d(embed_size, embed_size, 4, stride=2) # [batch_size, dim, 14] self.conv3 = nn.Conv1d(embed_size, embed_size, 5, stride=2) # [batch_size, dim, 5] self.conv4 = nn.Conv1d(embed_size, channel_num, 5) self.drop = nn.Dropout(p=0.5) self.relu = nn.ReLU() # self.mlp = nn.Linear(embed_size, embed_size) self.init_weights()
Example #8
Source File: modules.py From pase with MIT License | 6 votes |
def __init__(self, inplanes, planes, kwidth=3, dilation=1, norm_layer=None, name='ResBasicBlock1D'): super().__init__(name=name) if norm_layer is None: norm_layer = nn.BatchNorm1d # compute padding given dilation factor P = (kwidth // 2) * dilation self.conv1 = nn.Conv1d(inplanes, planes, kwidth, stride=1, padding=P, bias=False, dilation=dilation) self.bn1 = norm_layer(planes) self.relu = nn.ReLU(inplace=True) self.conv2 = nn.Conv1d(planes, planes, kwidth, padding=P, dilation=dilation, bias=False) self.bn2 = norm_layer(planes)
Example #9
Source File: cnn.py From TVQAplus with MIT License | 6 votes |
def __init__(self, in_channels, out_channels, kernel_size, dim=1, stride=1, padding=0, relu=True, dropout=0.1): """ :param in_channels: input hidden dimension size :param out_channels: output hidden dimension size :param kernel_size: kernel size :param dim: default 1. 1D conv or 2D conv """ super(ConvRelu, self).__init__() self.relu = relu self.dropout = dropout if dim == 1: self.conv = nn.Conv1d(in_channels=in_channels, out_channels=out_channels, kernel_size=kernel_size, stride=stride, padding=padding) elif dim == 2: self.conv = nn.Conv2d(in_channels=in_channels, out_channels=out_channels, kernel_size=kernel_size, stride=stride, padding=padding) else: raise Exception("Incorrect dimension!")
Example #10
Source File: cls_fe_dct_bases.py From signaltrain with GNU General Public License v3.0 | 6 votes |
def __init__(self, ft_size=1024, w_size=2048, hop_size=1024, shrink=False): super(Analysis, self).__init__() # Parameters self.batch_size = None self.time_domain_samples = None self.sz = ft_size self.wsz = w_size self.hop = hop_size # Analysis 1D CNN self.conv_analysis = nn.Conv1d(1, self.sz, self.wsz, padding=self.sz, stride=self.hop, bias=True) # Custom Initialization with Fourier matrix self.initialize()
Example #11
Source File: cls_fe_dft.py From signaltrain with GNU General Public License v3.0 | 6 votes |
def __init__(self, ft_size=1024, hop_size=384): super(Analysis, self).__init__() # Parameters self.batch_size = None self.time_domain_samples = None self.sz = ft_size self.hop = hop_size self.half_N = int(self.sz/2. + 1) # Analysis 1D CNN self.conv_analysis_real = nn.Conv1d(1, self.sz, self.sz, padding=self.sz, stride=self.hop, bias=False) self.conv_analysis_imag = nn.Conv1d(1, self.sz, self.sz, padding=self.sz, stride=self.hop, bias=False) # Custom Initialization with Fourier matrix self.initialize()
Example #12
Source File: networks.py From 2D-Motion-Retargeting with MIT License | 6 votes |
def __init__(self, channels, kernel_size=7): super(Decoder, self).__init__() model = [] pad = (kernel_size - 1) // 2 acti = nn.LeakyReLU(0.2) for i in range(len(channels) - 1): model.append(nn.Upsample(scale_factor=2, mode='nearest')) model.append(nn.ReflectionPad1d(pad)) model.append(nn.Conv1d(channels[i], channels[i + 1], kernel_size=kernel_size, stride=1)) if i == 0 or i == 1: model.append(nn.Dropout(p=0.2)) if not i == len(channels) - 2: model.append(acti) # whether to add tanh a last? #model.append(nn.Dropout(p=0.2)) self.model = nn.Sequential(*model)
Example #13
Source File: pointnet2_part_seg_msg.py From Pointnet_Pointnet2_pytorch with MIT License | 6 votes |
def __init__(self, num_classes, normal_channel=False): super(get_model, self).__init__() if normal_channel: additional_channel = 3 else: additional_channel = 0 self.normal_channel = normal_channel self.sa1 = PointNetSetAbstractionMsg(512, [0.1, 0.2, 0.4], [32, 64, 128], 3+additional_channel, [[32, 32, 64], [64, 64, 128], [64, 96, 128]]) self.sa2 = PointNetSetAbstractionMsg(128, [0.4,0.8], [64, 128], 128+128+64, [[128, 128, 256], [128, 196, 256]]) self.sa3 = PointNetSetAbstraction(npoint=None, radius=None, nsample=None, in_channel=512 + 3, mlp=[256, 512, 1024], group_all=True) self.fp3 = PointNetFeaturePropagation(in_channel=1536, mlp=[256, 256]) self.fp2 = PointNetFeaturePropagation(in_channel=576, mlp=[256, 128]) self.fp1 = PointNetFeaturePropagation(in_channel=150+additional_channel, mlp=[128, 128]) self.conv1 = nn.Conv1d(128, 128, 1) self.bn1 = nn.BatchNorm1d(128) self.drop1 = nn.Dropout(0.5) self.conv2 = nn.Conv1d(128, num_classes, 1)
Example #14
Source File: pointnet2_part_seg_ssg.py From Pointnet_Pointnet2_pytorch with MIT License | 6 votes |
def __init__(self, num_classes, normal_channel=False): super(get_model, self).__init__() if normal_channel: additional_channel = 3 else: additional_channel = 0 self.normal_channel = normal_channel self.sa1 = PointNetSetAbstraction(npoint=512, radius=0.2, nsample=32, in_channel=6+additional_channel, mlp=[64, 64, 128], group_all=False) self.sa2 = PointNetSetAbstraction(npoint=128, radius=0.4, nsample=64, in_channel=128 + 3, mlp=[128, 128, 256], group_all=False) self.sa3 = PointNetSetAbstraction(npoint=None, radius=None, nsample=None, in_channel=256 + 3, mlp=[256, 512, 1024], group_all=True) self.fp3 = PointNetFeaturePropagation(in_channel=1280, mlp=[256, 256]) self.fp2 = PointNetFeaturePropagation(in_channel=384, mlp=[256, 128]) self.fp1 = PointNetFeaturePropagation(in_channel=128+16+6+additional_channel, mlp=[128, 128, 128]) self.conv1 = nn.Conv1d(128, 128, 1) self.bn1 = nn.BatchNorm1d(128) self.drop1 = nn.Dropout(0.5) self.conv2 = nn.Conv1d(128, num_classes, 1)
Example #15
Source File: network.py From reconstructing_faces_from_voices with GNU General Public License v3.0 | 6 votes |
def __init__(self, input_channel, channels, output_channel): super(VoiceEmbedNet, self).__init__() self.model = nn.Sequential( nn.Conv1d(input_channel, channels[0], 3, 2, 1, bias=False), nn.BatchNorm1d(channels[0], affine=True), nn.ReLU(inplace=True), nn.Conv1d(channels[0], channels[1], 3, 2, 1, bias=False), nn.BatchNorm1d(channels[1], affine=True), nn.ReLU(inplace=True), nn.Conv1d(channels[1], channels[2], 3, 2, 1, bias=False), nn.BatchNorm1d(channels[2], affine=True), nn.ReLU(inplace=True), nn.Conv1d(channels[2], channels[3], 3, 2, 1, bias=False), nn.BatchNorm1d(channels[3], affine=True), nn.ReLU(inplace=True), nn.Conv1d(channels[3], output_channel, 3, 2, 1, bias=True), )
Example #16
Source File: util_conv.py From DSMnet with Apache License 2.0 | 6 votes |
def net_init(net): for m in net.modules(): if isinstance(m, nn.Linear): m.weight.data = fanin_init(m.weight.data.size()) elif isinstance(m, nn.Conv3d): n = m.kernel_size[0] * m.kernel_size[1] * m.kernel_size[2] * m.out_channels m.weight.data.normal_(0, np.sqrt(2.0 / n)) elif isinstance(m, nn.Conv2d): n = m.kernel_size[0] * m.kernel_size[1] * m.out_channels m.weight.data.normal_(0, np.sqrt(2.0 / n)) elif isinstance(m, nn.Conv1d): n = m.kernel_size[0] * m.out_channels m.weight.data.normal_(0, np.sqrt(2.0 / n)) elif isinstance(m, nn.BatchNorm3d): m.weight.data.fill_(1) m.bias.data.zero_() elif isinstance(m, nn.BatchNorm2d): m.weight.data.fill_(1) m.bias.data.zero_() elif isinstance(m, nn.BatchNorm1d): m.weight.data.fill_(1) m.bias.data.zero_() # corr1d
Example #17
Source File: newLayers3D.py From 3D-HourGlass-Network with MIT License | 6 votes |
def __init__(self, inChannels, outChannels, kernelSize = 1, stride = 1, padding = 0): super(NewConvBnRelu3D, self).__init__() self.inChannels = inChannels self.outChannels = outChannels self.kernelSize = kernelSize self.stride = stride self.padding = padding self.relu = nn.LeakyReLU() self.bn = nn.BatchNorm3d(self.inChannels) if (kernelSize == 1): self.conv = nn.Conv1d(self.inChannels, self.outChannels, self.kernelSize, self.stride, self.padding) elif (isinstance(kernelSize, int)): self.conv = nn.Conv3d(self.inChannels, self.outChannels, self.kernelSize, self.stride, self.padding) elif (kernelSize[0] == 1): self.conv = nn.Conv2d(self.inChannels, self.outChannels, self.kernelSize[1:], self.stride, self.padding) else : self.conv = nn.Conv3d(self.inChannels, self.outChannels, self.kernelSize, self.stride, self.padding)
Example #18
Source File: layers_pytorch.py From deep-smoke-machine with BSD 3-Clause "New" or "Revised" License | 6 votes |
def __init__(self, input_shape, kernel_size, dilation, name): super(DepthwiseConv1DLayer, self).__init__() assert len(input_shape) == 5 self.kernel_size = kernel_size self.dilation = dilation self._name = name n_channels = input_shape[1] n_timesteps = input_shape[2] # TODO: support using different dilation rates. padding = pytorch_utils.calc_padding_1d(n_timesteps, kernel_size) self.depthwise_conv1d = Conv1d(n_channels, n_channels, kernel_size, dilation=dilation, groups=n_channels, padding=padding) self.depthwise_conv1d._name = name
Example #19
Source File: BinaryTreeBasedModule.py From latent-treelstm with MIT License | 6 votes |
def __init__(self, input_dim, hidden_dim, leaf_transformation, trans_hidden_dim, dropout_prob): super().__init__() self.leaf_transformation = leaf_transformation if leaf_transformation == BinaryTreeBasedModule.no_transformation: self.linear = nn.Linear(in_features=input_dim, out_features=2 * hidden_dim) elif leaf_transformation == BinaryTreeBasedModule.lstm_transformation: self.lstm = LstmRnn(input_dim, trans_hidden_dim) self.linear = nn.Linear(in_features=trans_hidden_dim, out_features=2 * hidden_dim) elif leaf_transformation == BinaryTreeBasedModule.bi_lstm_transformation: self.lstm_f = LstmRnn(input_dim, trans_hidden_dim) self.lstm_b = LstmRnn(input_dim, trans_hidden_dim) self.linear = nn.Linear(in_features=2 * trans_hidden_dim, out_features=2 * hidden_dim) elif leaf_transformation == BinaryTreeBasedModule.conv_transformation: self.conv1 = nn.Conv1d(input_dim, trans_hidden_dim, kernel_size=5, padding=2) self.conv2 = nn.Conv1d(trans_hidden_dim, trans_hidden_dim, kernel_size=3, padding=1) self.linear = nn.Linear(in_features=trans_hidden_dim, out_features=2 * hidden_dim) else: raise ValueError(f'"{leaf_transformation}" is not in the list of possible transformations!') self.tree_lstm_cell = BinaryTreeLstmCell(hidden_dim, dropout_prob) # TODO(serhii): I am not sure whether this is necessary to keep this. # It is not `self` because there can be an issue when overriding reset_parameters method in inherited classes. # When the inherited class calls super().__init__ self is an instance of the inherited class and thus base # reset_parameters method is not going to be called. BinaryTreeBasedModule.reset_parameters(self)
Example #20
Source File: model.py From VSE-C with MIT License | 6 votes |
def __init__(self, vocab_size, word_dim, embed_size, use_abs=False, glove_path='data/glove.pkl'): super(EncoderTextCNN, self).__init__() self.use_abs = use_abs self.embed_size = embed_size # word embedding self.embed = nn.Embedding(vocab_size, word_dim-300, padding_idx=0) # 0 for <pad> _, embed_weight = pickle.load(open(glove_path, 'rb')) self.glove = Variable(torch.cuda.FloatTensor(embed_weight), requires_grad=False) channel_num = embed_size // 4 self.conv2 = nn.Conv1d(word_dim, channel_num, 2) self.conv3 = nn.Conv1d(word_dim, channel_num, 3) self.conv4 = nn.Conv1d(word_dim, channel_num, 4) self.conv5 = nn.Conv1d(word_dim, channel_num, 5) self.drop = nn.Dropout(p=0.5) self.relu = nn.ReLU() # self.mlp = nn.Linear(embed_size, embed_size) self.init_weights()
Example #21
Source File: frontend.py From pase with MIT License | 5 votes |
def __init__(self, sinc_out, hidden_dim, kernel_sizes=[11, 11, 11, 11], sinc_kernel=251,sinc_stride=1,strides=[10, 4, 2, 2], dilations=[1, 6, 12, 18], fmaps=48, name='aspp_encoder', pool2d=False, rnn_pool=False, rnn_add=False, concat=[False, False, False, True], dense=False): super().__init__(name=name) self.sinc = SincConv_fast(1, sinc_out, sinc_kernel, sample_rate=16000, padding='SAME', stride=sinc_stride, pad_mode='reflect' ) self.ASPP_blocks = nn.ModuleList() for i in range(len(kernel_sizes)): if i == 0: self.ASPP_blocks.append(aspp_resblock(sinc_out, hidden_dim, kernel_sizes[i], strides[i], dilations, fmaps[i], pool2d[i], dense)) else: self.ASPP_blocks.append(aspp_resblock(hidden_dim, hidden_dim, kernel_sizes[i], strides[i], dilations, fmaps[i], pool2d[i], dense)) self.rnn_pool = rnn_pool self.rnn_add = rnn_add self.concat = concat assert ((self.rnn_pool and self.rnn_add) or not self.rnn_pool) or self.rnn_pool if rnn_pool: self.rnn = build_rnn_block(hidden_dim, hidden_dim // 2, rnn_layers=1, rnn_type='qrnn', bidirectional=True, dropout=0) self.W = nn.Conv1d(hidden_dim, hidden_dim, 1) self.emb_dim = hidden_dim
Example #22
Source File: modules.py From pase with MIT License | 5 votes |
def __init__(self, ninp, fmaps, res_fmaps, kwidth, dilation, norm_type=None, act=None, causal=False, name='ResDilatedModule'): super().__init__(name=name) assert kwidth % 2 != 0 self.causal = causal self.dil_conv = nn.Conv1d(ninp, fmaps, kwidth, dilation=dilation) if act is not None: self.act = getattr(nn, act)() else: self.act = nn.PReLU(fmaps, init=0) self.dil_norm = build_norm_layer(norm_type, self.dil_conv, fmaps) self.kwidth = kwidth self.dilation = dilation # skip 1x1 convolution self.conv_1x1_skip = nn.Conv1d(fmaps, ninp, 1) self.conv_1x1_skip_norm = build_norm_layer(norm_type, self.conv_1x1_skip, ninp) # residual 1x1 convolution self.conv_1x1_res = nn.Conv1d(fmaps, res_fmaps, 1) self.conv_1x1_res_norm = build_norm_layer(norm_type, self.conv_1x1_res, res_fmaps)
Example #23
Source File: __init__.py From simple-effective-text-matching-pytorch with Apache License 2.0 | 5 votes |
def __init__(self, in_channels, out_channels, kernel_sizes: Collection[int]): super().__init__() assert all(k % 2 == 1 for k in kernel_sizes), 'only support odd kernel sizes' assert out_channels % len(kernel_sizes) == 0, 'out channels must be dividable by kernels' out_channels = out_channels // len(kernel_sizes) convs = [] for kernel_size in kernel_sizes: conv = nn.Conv1d(in_channels, out_channels, kernel_size, padding=(kernel_size - 1) // 2) nn.init.normal_(conv.weight, std=math.sqrt(2. / (in_channels * kernel_size))) nn.init.zeros_(conv.bias) convs.append(nn.Sequential(nn.utils.weight_norm(conv), GeLU())) self.model = nn.ModuleList(convs)
Example #24
Source File: sort_pool.py From pytorch_geometric with MIT License | 5 votes |
def __init__(self, dataset, num_layers, hidden): super(SortPool, self).__init__() self.k = 30 self.conv1 = SAGEConv(dataset.num_features, hidden) self.convs = torch.nn.ModuleList() for i in range(num_layers - 1): self.convs.append(SAGEConv(hidden, hidden)) self.conv1d = Conv1d(hidden, 32, 5) self.lin1 = Linear(32 * (self.k - 5 + 1), hidden) self.lin2 = Linear(hidden, dataset.num_classes)
Example #25
Source File: test_convtbc.py From crosentgec with GNU General Public License v3.0 | 5 votes |
def test_convtbc(self): # ksz, in_channels, out_channels conv_tbc = ConvTBC(4, 5, kernel_size=3, padding=1) # out_channels, in_channels, ksz conv1d = nn.Conv1d(4, 5, kernel_size=3, padding=1) conv_tbc.weight.data.copy_(conv1d.weight.data.transpose(0, 2)) conv_tbc.bias.data.copy_(conv1d.bias.data) input_tbc = Variable(torch.randn(7, 2, 4), requires_grad=True) input1d = Variable(input_tbc.data.transpose(0, 1).transpose(1, 2), requires_grad=True) output_tbc = conv_tbc(input_tbc) output1d = conv1d(input1d) self.assertAlmostEqual(output_tbc.data.transpose(0, 1).transpose(1, 2), output1d.data) grad_tbc = torch.randn(output_tbc.size()) grad1d = grad_tbc.transpose(0, 1).transpose(1, 2).contiguous() output_tbc.backward(grad_tbc) output1d.backward(grad1d) self.assertAlmostEqual(conv_tbc.weight.grad.data.transpose(0, 2), conv1d.weight.grad.data) self.assertAlmostEqual(conv_tbc.bias.grad.data, conv1d.bias.grad.data) self.assertAlmostEqual(input_tbc.grad.data.transpose(0, 1).transpose(1, 2), input1d.grad.data)
Example #26
Source File: model_utils.py From Extremely-Fine-Grained-Entity-Typing with MIT License | 5 votes |
def __init__(self): super(CNN, self).__init__() self.conv1d = nn.Conv1d(100, 50, 5) # input, output, filter_number self.char_W = nn.Embedding(115, 100)
Example #27
Source File: modules.py From pase with MIT License | 5 votes |
def __init__(self, res_blocks, in_dims, compute_dims, res_out_dims, pad): super().__init__() k_size = pad * 2 + 1 self.conv_in = nn.Conv1d(in_dims, compute_dims, kernel_size=k_size, bias=False) self.batch_norm = nn.BatchNorm1d(compute_dims) self.layers = nn.ModuleList() for i in range(res_blocks): self.layers.append(SimpleResBlock1D(compute_dims)) self.conv_out = nn.Conv1d(compute_dims, res_out_dims, kernel_size=1)
Example #28
Source File: skipgram_kvmemnet.py From tamil-lm2 with GNU General Public License v2.0 | 5 votes |
def __init__(self, config, name, input_size): super().__init__(config, name) self.input_size = input_size self.embed_dim = self.config.HPCONFIG.embed_dim self.hidden_dim = self.config.HPCONFIG.hidden_dim self.embed = nn.Embedding(self.input_size, self.embed_dim, padding_idx=0) self.convolve = nn.Conv1d(self.embed_dim, self.config.HPCONFIG.output_channels[0], self.config.HPCONFIG.kernel_size[0], padding = 1)
Example #29
Source File: pointnet2_sem_seg.py From Pointnet_Pointnet2_pytorch with MIT License | 5 votes |
def __init__(self, num_classes): super(get_model, self).__init__() self.sa1 = PointNetSetAbstraction(1024, 0.1, 32, 9 + 3, [32, 32, 64], False) self.sa2 = PointNetSetAbstraction(256, 0.2, 32, 64 + 3, [64, 64, 128], False) self.sa3 = PointNetSetAbstraction(64, 0.4, 32, 128 + 3, [128, 128, 256], False) self.sa4 = PointNetSetAbstraction(16, 0.8, 32, 256 + 3, [256, 256, 512], False) self.fp4 = PointNetFeaturePropagation(768, [256, 256]) self.fp3 = PointNetFeaturePropagation(384, [256, 256]) self.fp2 = PointNetFeaturePropagation(320, [256, 128]) self.fp1 = PointNetFeaturePropagation(128, [128, 128, 128]) self.conv1 = nn.Conv1d(128, 128, 1) self.bn1 = nn.BatchNorm1d(128) self.drop1 = nn.Dropout(0.5) self.conv2 = nn.Conv1d(128, num_classes, 1)
Example #30
Source File: frontend.py From pase with MIT License | 5 votes |
def __init__(self, num_inputs=1, sincnet=True, kwidth=641, stride=160, fmaps=128, norm_type='bnorm', pad_mode='reflect', sr=16000, emb_dim=256, activation=None, rnn_pool=False, rnn_layers=1, rnn_dropout=0, rnn_type='qrnn', name='TDNNFe'): super().__init__(name=name) # apply sincnet at first layer self.sincnet = sincnet self.emb_dim = emb_dim ninp = num_inputs if self.sincnet: self.feblock = FeBlock(ninp, fmaps, kwidth, stride, 1, act=activation, pad_mode=pad_mode, norm_type=norm_type, sincnet=True, sr=sr) ninp = fmaps # 2 is just a random number because it is not used # with unpooled method self.tdnn = TDNN(ninp, 2, method='unpooled') fmap = self.tdnn.emb_dim # last projection if rnn_pool: self.rnn = build_rnn_block(fmap, emb_dim // 2, rnn_layers=rnn_layers, rnn_type=rnn_type, bidirectional=True, dropout=rnn_dropout) self.W = nn.Conv1d(emb_dim, emb_dim, 1) else: self.W = nn.Conv1d(fmap, emb_dim, 1) self.rnn_pool = rnn_pool