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)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM