首页 Paddle框架 帖子详情
AlexNet做猫狗分类时报错 has no attribute 'Pool2D'
收藏
快速回复
Paddle框架 问答深度学习模型训练 793 3
AlexNet做猫狗分类时报错 has no attribute 'Pool2D'
收藏
快速回复
Paddle框架 问答深度学习模型训练 793 3
import paddle
import paddle.nn.functional
#组网
class AlexNet(paddle.nn.Layer):
    def __init__(self, class_dim):
        super(AlexNet, self).__init__()

        self.conv1 = paddle.nn.Conv2D(3,96,11,stride=4,padding=2)
        self.pool1 = paddle.nn.layer.Pool2D(pool_size=3,pool_type='max', pool_stride=2, pool_padding=0)
        self.conv2 = paddle.nn.Conv2D(96,256,5,stride=1,padding=2)
        self.pool2 = paddle.nn.layer.Pool2D(pool_size=3,pool_type='max', pool_stride=2, pool_padding=0)
        self.conv3 = paddle.nn.Conv2D(256,384,3,stride=1,padding=1)
        self.conv4 = paddle.nn.Conv2D(384,384,3,stride=1,padding=1)
        self.conv5 = paddle.nn.Conv2D(384,256,3,stride=1,padding=1)
        self.pool3 = paddle.nn.layer.Pool2D(pool_size=3,pool_type='max', pool_stride=2, pool_padding=0)

        self.fc1 = paddle.nn.Linear(9216, 4096)
        self.fc2 = paddle.nn.Linear(4096, 4096)
        self.fc3 = paddle.nn.Linear(4096, class_dim)

        self.relu = paddle.nn.ReLU()
        self.softmax = paddle.nn.Softmax()

    def forward(self, x):
        x = self.conv1(x)
        x = self.relu(x)
        x = self.pool1(x)
        x = self.conv2(x)
        x = self.relu(x)
        x = self.pool2(x)
        x = self.conv3(x)
        x = self.relu(x)
        x = self.conv4(x)
        x = self.relu(x)
        x = self.conv5(x)
        x = self.relu(x)
        x = self.pool3(x)
        x = paddle.flatten(x, start_axis= 1, stop_axis= 3)
        x = self.fc1(x)
        x = self.relu(x)
        x = self.fc2(x)
        x = self.relu(x)
        x = self.fc3(x)
        x = self.softmax(x)
        return x

class_dim=train_parameters['class_dim']
model = paddle.Model(AlexNet(class_dim=class_dim))
model.summary((None,3, 224, 224))

0
收藏
回复
全部评论(3)
时间顺序
FutureSI
#2 回复于2021-12

2.0版本后不用Pool2D这个api了,现在用的是这两个

https://www.paddlepaddle.org.cn/documentation/docs/zh/api/paddle/nn/AvgPool2D_cn.html

https://www.paddlepaddle.org.cn/documentation/docs/zh/api/paddle/nn/MaxPool2D_cn.html

0
回复
FutureSI
#3 回复于2021-12

平均池化和最大池化分成两个api了

0
回复
DeepGeGe
#4 回复于2021-12

确实没有这个Pool2D层呀,只有MaxPool2D和AvgPool2D,可以去看一下API文档,链接:https://www.paddlepaddle.org.cn/documentation/docs/zh/api/paddle/nn/Overview_cn.html

这里面有所有内置的子层。

0
回复
需求/bug反馈?一键提issue告诉我们
发现bug?如果您知道修复办法,欢迎提pr直接参与建设飞桨~
在@后输入用户全名并按空格结束,可艾特全站任一用户