pytorch 中conv1d操作

参考:https://blog.csdn.net/liujh845633242/article/details/102668515
这里我重点说一下1D卷积,2D卷积很好理解,但是1D卷积就不是那么好理解了,以textcnn为例,在对句子长度进行卷积之后,再将词向量的维度SUM成1维,总而言之,大家需要注意卷积核的深度这一概念。
大家也可以通过代码来验证:

    conv1 = nn.Conv1d(in_channels=4, out_channels=2, kernel_size=2)
    nn.init.constant(conv1.weight, 1)
    nn.init.constant(conv1.bias, 0)
    input = torch.arange(24).reshape(2, 3, 4).float()
    print(input)
    # batch_size x max_sent_len x embedding_size -> batch_size x embedding_size x max_sent_len
    input = input.permute(0, 2, 1)
    print("input:", input.size())
    output = conv1(input)
    print("output:", output.size())
    print(output)

posted @ 2019-12-03 11:07  哦摩西罗伊  阅读(4878)  评论(0编辑  收藏  举报