LeNet-1D-V: A 1D Convolutional Neural Network Architecture for Multi-Class Classification
import torch.nn as nn import torch.nn.functional as F
class LeNet_1D_V(nn.Module): def init(self): super(LeNet_1D_V, self).init() self.conv1 = nn.Conv1d(1, 5, kernel_size=5) self.conv2 = nn.Conv1d(5, 10, kernel_size=5) self.conv3 = nn.Conv1d(10, 20, kernel_size=5) self.conv4 = nn.Conv1d(20, 40, kernel_size=5) self.conv5 = nn.Conv1d(40, 80, kernel_size=5) self.conv6 = nn.Conv1d(80, 160, kernel_size=5) self.conv7 = nn.Conv1d(160, 320, kernel_size=5) self.conv8 = nn.Conv1d(320, 640, kernel_size=5) self.avg_pool = nn.AdaptiveAvgPool1d(1) self.fc = nn.Linear(640, 6)
def forward(self, x):
x = F.mish(self.conv1(x))
x = F.avg_pool1d(x, kernel_size=2)
x = F.mish(self.conv2(x))
x = F.avg_pool1d(x, kernel_size=2)
x = F.mish(self.conv3(x))
x = F.avg_pool1d(x, kernel_size=2)
x = F.mish(self.conv4(x))
x = F.avg_pool1d(x, kernel_size=2)
x = F.mish(self.conv5(x))
x = F.avg_pool1d(x, kernel_size=2)
x = F.mish(self.conv6(x))
x = F.avg_pool1d(x, kernel_size=2)
x = F.mish(self.conv7(x))
x = F.avg_pool1d(x, kernel_size=2)
x = F.mish(self.conv8(x))
x = self.avg_pool(x)
x = x.view(x.size(0), -1)
x = self.fc(x)
return x
原文地址: https://www.cveoy.top/t/topic/b6we 著作权归作者所有。请勿转载和采集!