Exemplo n.º 1
0
    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()
Exemplo n.º 2
0
 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()
Exemplo n.º 3
0
 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()
Exemplo n.º 4
0
    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()
Exemplo n.º 6
0
 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()
Exemplo n.º 7
0
 def __init__(self, *args, **kwargs):
     super(BasicBlock, self).__init__(*args, **kwargs)
     self.quant1 = QuantLayer()
     self.quant2 = QuantLayer()
     self.quant3 = QuantLayer()
     self.quant_shortcut = QuantLayer()