卷积神经网络 pytorch

本文介绍了一个使用PyTorch实现的卷积神经网络(CNN)模型,主要包含词向量嵌入、多尺寸卷积层、dropout正则化以及全连接层。模型用于处理文本分类任务,参数包括词汇量大小、词向量维度、类别数量、卷积核数量和尺寸等。
摘要由CSDN通过智能技术生成

在这里插入图片描述
class CNN_Text(nn.Module):
def init(self, args):
super(CNN_Text, self).init()
self.args = args
Vocab = args.vocab_size ## 已知词的数量
Dim = args.embed_dim ##每个词向量长度
Cla = args.class_num ##类别数
Ci = 1 ##输入的channel数
Knum = args.kernel_num ## 每种卷积核的数量
Ks = args.kernel_sizes ## 卷积核list,形如[2,3,4]
self.embed = nn.Embedding(Vocab, Dim) ## 词向量,这里直接随机
self.convs = nn.ModuleList([nn.Conv2d(Ci, Knum, (K, Dim)) for K in Ks]) ## 卷积层
self.dropout = nn.Dropout(args.dropout)
self.fc = nn.Linear(len(Ks) * Knum, Cla) ##全连接层

def forward(self, x):
    x = self.embed(x)  # (N,W,D) (batchsize,sentence_length,embedding_size)
    x = x.unsqueeze(1)  # (N,Ci,W,D)
    x = [F.relu(conv(x)).squeeze(3) for conv i
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值