paddle-如何设计模型并构建

这篇博客介绍了如何利用Paddle进行机器学习作业,具体展示了如何设计一个包含卷积层、池化层和全连接层的LeNet模型。模型输入为1*32*32,经过两个卷积层和池化层后,接三个全连接层,激活函数选用ReLU。代码中定义了网络结构并展示了前向传播过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因为最近机器学习的课上使用的都是paddle来进行作业,因此我介绍一下如何根据已知的结果在  padlle中构建模型。 

比如说这个图怎么设计网络模型呢?

首先我们看到有一个输入层1*32*32,接下来是一个卷积层输入为6,加一个池化层,随后优势一个卷积输入为16,加一个池化层,最后是三个全连接层。另外在卷积和连接层后要加一个激活函数,这边比较推荐用relu因为比较稳定有效。
 

根据输入图片的还要对具体参数进行调试。

class LeNet(paddle.nn.Layer):
    def __init__(self):
        super(LeNet, self).__init__()
        self.conv1 = Conv2D(in_channels=1, out_channels=6, kernel_size=5)
        self.max_pool1 = MaxPool2D(kernel_size=2, stride=2)
        self.conv2 = Conv2D(in_channels=6, out_channels=16, kernel_size=5)
        self.max_pool2 = MaxPool2D(kernel_size=2, stride=2)
        self.fc1 = Linear(in_features=400, out_features=120)
        self.fc2 = Linear(in_features=120, out_features=84)
        self.fc3 = Linear(in_features=84, out_features=10)

    def forward(self, x):
        x = self.conv1(x)
        x = F.relu(x)
        x = self.max_pool1(x)
        x = self.conv2(x)
        x = F.relu(x)
        x = self.max_pool2(x)
        x = paddle.reshape(x, [x.shape[0], -1])
        x = self.fc1(x)
        x = F.relu(x)
        x = self.fc2(x)
        x = F.relu(x)
        x = self.fc3(x)
        return x 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值