LeNet_1D_V 模型代码解析:Mish 激活函数与交叉熵损失

以下代码展示了 LeNet_1D_V 模型的定义,其中使用了 Mish 激活函数和交叉熵损失函数。

import torch.nn as nn

class LeNet_1D_V(nn.Module):
    def __init__(self):
        super(LeNet_1D_V, self).__init__()
        self.conv1 = nn.Sequential(
            nn.Conv1d(1, 5, kernel_size=3, stride=1, padding=1),
            nn.Mish()
        )
        self.conv2 = nn.Sequential(
            nn.Conv1d(5, 10, kernel_size=3, stride=1, padding=1),
            nn.Mish()
        )
        self.conv3 = nn.Sequential(
            nn.Conv1d(10, 15, kernel_size=3, stride=1, padding=1),
            nn.Mish()
        )
        self.conv4 = nn.Sequential(
            nn.Conv1d(15, 20, kernel_size=3, stride=1, padding=1),
            nn.Mish()
        )
        self.conv5 = nn.Sequential(
            nn.Conv1d(20, 25, kernel_size=3, stride=1, padding=1),
            nn.Mish()
        )
        self.conv6 = nn.Sequential(
            nn.Conv1d(25, 30, kernel_size=3, stride=1, padding=1),
            nn.Mish()
        )
        self.conv7 = nn.Sequential(
            nn.Conv1d(30, 35, kernel_size=3, stride=1, padding=1),
            nn.Mish()
        )
        self.conv8 = nn.Sequential(
            nn.Conv1d(35, 40, kernel_size=3, stride=1, padding=1),
            nn.Mish()
        )
        self.avgpool = nn.AvgPool1d(kernel_size=2, stride=1)
        self.global_avgpool = nn.AdaptiveAvgPool1d(1)
        self.fc = nn.Linear(40, 6)
        self.softmax = nn.Softmax(dim=1)

    def forward(self, x):
        x = self.conv1(x)
        x = self.avgpool(x)
        x = self.conv2(x)
        x = self.avgpool(x)
        x = self.conv3(x)
        x = self.avgpool(x)
        x = self.conv4(x)
        x = self.avgpool(x)
        x = self.conv5(x)
        x = self.avgpool(x)
        x = self.conv6(x)
        x = self.avgpool(x)
        x = self.conv7(x)
        x = self.avgpool(x)
        x = self.conv8(x)
        x = self.global_avgpool(x)
        x = x.view(x.size(0), -1)
        feature = x
        x = self.fc(x)
        output = self.softmax(x)
        return feature, output

model = LeNet_1D_V()
print(model)

代码解析:

  1. Mish 激活函数: 代码中使用了 nn.Mish() 作为每个卷积层的激活函数。Mish 激活函数是一种自正则化的非线性激活函数,可以提高模型的性能。

  2. 交叉熵损失函数: 代码中使用了 nn.CrossEntropyLoss() 来计算损失。交叉熵损失函数是一种常用的多分类损失函数,可以衡量模型预测的概率分布与真实标签之间的差异。

总结: 以上代码展示了 LeNet_1D_V 模型的定义,其中使用了 Mish 激活函数和交叉熵损失函数。Mish 激活函数可以提高模型的性能,而交叉熵损失函数则可以用于多分类任务的损失计算。

更多信息: 您可以访问 Mish 激活函数交叉熵损失函数 的官方文档,以了解更多信息。

LeNet_1D_V 模型代码解析:Mish 激活函数与交叉熵损失

原文地址: https://www.cveoy.top/t/topic/b4ID 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录