PaddlePaddle复现VGG16,如何应用于识别?

摘要:import paddle.nn as nn class VGG16(nn.Layer): def __init__(self, num_classes=1000): super(VGG16, self).__init__() self.l
import paddle.nn as nn class VGG16(nn.Layer): def __init__(self, num_classes=1000): super(VGG16, self).__init__() self.layer1 = nn.Sequential( nn.Conv2D(3, 64, kernel_size=3, stride=1, padding=1), nn.BatchNorm2D(64), nn.ReLU(), ) self.layer2 = nn.Sequential( nn.Conv2D(64, 64, kernel_size=3, stride=1, padding=1), nn.BatchNorm2D(64), nn.ReLU(), nn.MaxPool2D(kernel_size=2, stride=2) ) self.layer3 = nn.Sequential( nn.Conv2D(64, 128, kernel_size=3, stride=1, padding=1), nn.BatchNorm2D(128), nn.ReLU(), ) self.layer4 = nn.Sequential( nn.Conv2D(128, 128, kernel_size=3, stride=1, padding=1), nn.BatchNorm2D(128), nn.ReLU(), nn.MaxPool2D(kernel_size=2, stride=2) ) self.layer5 = nn.Sequential( nn.Conv2D(128, 256, kernel_size=3, stride=1, padding=1), nn.BatchNorm2D(256), nn.ReLU(), ) self.layer6 = nn.Sequential( nn.Conv2D(256, 256, kernel_size=3, stride=1, padding=1), nn.BatchNorm2D(256), nn.ReLU(), nn.MaxPool2D(kernel_size=2, stride=2) ) self.layer7 = nn.Sequential( nn.Conv2D(256, 512, kernel_size=3, stride=1, padding=1), nn.BatchNorm2D(512), nn.ReLU(), ) self.layer8 = nn.Sequential( nn.Conv2D(512, 512, kernel_size=3, stride=1, padding=1), nn.BatchNorm2D(512), nn.ReLU(), nn.MaxPool2D(kernel_size=2, stride=2) ) self.layer9 = nn.Sequential( nn.Conv2D(512, 512, kernel_size=3, stride=1, padding=1), nn.BatchNorm2D(512), nn.ReLU(), ) self.layer10 = nn.Sequential( nn.Conv2D(512, 512, kernel_size=3, stride=1, padding=1), nn.BatchNorm
阅读全文