论文传送门:VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION
class VGG(nn.Module): # 定义VGG模型类
def __init__(self, features, num_classes=2, init_weights=False): # 定义初始化方法
super(VGG, self).__init__() # VGG类与父类共用初始化方法
self.features = features # VGG的特征提取网络
self.classifier = nn.Sequential( # VGG的线性分类网络
nn.Linear(512 * 7 * 7, 4096), # 线性层
nn.ReLU(inplace=True), # 激活函数
nn.Dropout(), # dropout,防止过拟合
nn.Linear(4096, 4096), # 线性层
nn.ReLU(inplace=True), # 激活函数
nn.Dropout(), # dropout,防止过拟合
nn.Linear(4096, num_classes) # 线性层,输出个数为类别数
)
if init_weights: # 是否进行网络权重初始化
self._initialize_weig