def __init__(self, num_classes=10, depth=16, init_weights=True, cfg=None): super(vgg, self).__init__() if cfg is None: cfg = defaultcfg[depth] self.layers = self.make_layers(cfg, True) self.avgpool_1 = nn.AvgPool2d(2, stride=2) self.avgpool_2 = nn.AvgPool2d((4, 4)) self.quant_avg1 = QuantLayer() self.quant_avg2 = QuantLayer() self.quant_fc1 = QuantLayer() self.quant_fc2 = QuantLayer() self.quant_fc3 = QuantLayer() self.classifier = nn.Sequential( nn.Dropout(), nn.Linear(512, 512), nn.ReLU(True), self.quant_fc1, nn.Dropout(), nn.Linear(512, 512), nn.ReLU(True), self.quant_fc2, nn.Linear(512, num_classes), self.quant_fc3, ) if init_weights: self._initialize_weights()
def __init__(self, *args, **kwargs): super(Bottleneck, self).__init__(*args, **kwargs) self.quant1 = QuantLayer() self.quant2 = QuantLayer() self.quant3 = QuantLayer() self.quant4 = QuantLayer() self.quant_shortcut = QuantLayer()
def __init__(self, *args, **kwargs): super(ResNet, self).__init__(*args, **kwargs) self.conv1 = nn.Conv2d(3, 64, kernel_size=7, stride=3, padding=2, bias=False) self.quant1 = QuantLayer() self.quant_avg = QuantLayer() self.quant_fc = QuantLayer()
def __init__(self): super(vgg, self).__init__() self.conv1 = nn.Conv2d(3, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) self.quant1 = QuantLayer(alpha=10.0) self.quant2 = QuantLayer(alpha=10.0) self.quant3 = QuantLayer(alpha=10.0) self.dropout1 = nn.Dropout() self.dropout2 = nn.Dropout()
def __init__(self): super(vgg, self).__init__() self.conv1 = nn.Conv2d(3, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) self.bn1 = nn.BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) self.conv2 = nn.Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) self.bn2 = nn.BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) self.quant1 = QuantLayer(alpha=10.0) self.quant2 = QuantLayer(alpha=10.0) self.quant3 = QuantLayer(alpha=10.0) self.dropout1 = nn.Dropout() self.dropout2 = nn.Dropout()
def __init__(self, in_channels, v, batch_norm=False, stride=1): super(BasicBlock, self).__init__() self.conv = nn.Conv2d(in_channels, v, kernel_size=3, stride=stride, padding=1, bias=False) self.bn = nn.BatchNorm2d(v) self.relu = nn.ReLU(inplace=True) self.quant = QuantLayer()
def __init__(self, *args, **kwargs): super(BasicBlock, self).__init__(*args, **kwargs) self.quant1 = QuantLayer() self.quant2 = QuantLayer() self.quant3 = QuantLayer() self.quant_shortcut = QuantLayer()