PyTorch-实现对表格类型数据的一维卷积(CNN1D)

这篇具有很好参考价值的文章主要介绍了PyTorch-实现对表格类型数据的一维卷积(CNN1D)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

数据集:首先看一下我自己的表格类型的数据

看到大家都私信要代码,太多了发不过来,我把代码放到github上了:

github链接: https://github.com/JiaBinBin233/CNN1D
我的数据集是一个二分类的数据集,是一个12维的数据(第一列为标签列,其他的11列是属性列)
PyTorch-实现对表格类型数据的一维卷积(CNN1D)

神经网络架构

#两层卷积层,后面接一个全连接层
class Learn(nn.Module):
    def __init__(self):
        super(Tudui, self).__init__()
        self.model1 = nn.Sequential(
        	#输入通道一定为1,输出通道为卷积核的个数,2为卷积核的大小(实际为一个[1,2]大小的卷积核)
            nn.Conv1d(1, 16, 2),  
            nn.Sigmoid(),
            nn.MaxPool1d(2),  # 输出大小:torch.Size([128, 16, 5])
            nn.Conv1d(16, 32, 2),
            nn.Sigmoid(),
            nn.MaxPool1d(4),  # 输出大小:torch.Size([128, 32, 1])
            nn.Flatten(),  # 输出大小:torch.Size([128, 32])
        )
        self.model2 = nn.Sequential(
            nn.Linear(in_features=32, out_features=2, bias=True),
            nn.Sigmoid(),
        )
    def forward(self, input):
        x = self.model1(input)
        x = self.model2(x)
        return x

我个人认为输入的数据是什么格式的是一个难点

首先看一下没有经过处理过的数据

for data in train_loader:
    X_data, Y_data = data[0], data[1]
    print(X_data)
    print(X_data.shape)
输出结果如下

PyTorch-实现对表格类型数据的一维卷积(CNN1D)
原始数据是一个128行11列的数据,每一行数据代表一个样本,一共有128个样本(batch_size=128)

对数据进行处理,处理成可以输入到卷积网络的数据形式

X_data = X_data.reshape(-1,1,11) # -1表示让系统自己计算有多少个样本,这个操作的目的就是把数据转换为3维的
print(X_data)
print(X_data.shape)
输出结果如下

PyTorch-实现对表格类型数据的一维卷积(CNN1D)

运行

output = Learn(X_data)
loss = loss_function(output, Y_data)
optim.zero_grad()
loss.backward()
optim.step()

原理

一维卷积的流程是卷积核对每一条样本进行横向卷积(卷积核的个数为输出通道的大小),对每条样本卷积的次数为卷积核的个数。每条样本被卷积具体的卷积流程我在别人的博客截了个图方便大家理解

PyTorch-实现对表格类型数据的一维卷积(CNN1D)

这个图就是卷积核对一个样本进行卷积的具体操作文章来源地址https://www.toymoban.com/news/detail-506182.html

到了这里,关于PyTorch-实现对表格类型数据的一维卷积(CNN1D)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包