Beispiel #1
0
class DefenseTorch(Defense):
    def __init__(self):
        import torch
        self.convnet = AllConvModelTorch(num_classes=10,
                                         num_filters=64,
                                         input_shape=[3, 32, 32])
        self.convnet.load_state_dict(
            torch.load(get_checkpoint_abs_path(MODEL_PATH) + ".torchmodel"))
Beispiel #2
0
class DefenseTorch(Defense):
    def __init__(self):
        import torch
        self.convnet = AllConvModelTorch(num_classes=10,
                                         num_filters=64,
                                         input_shape=[3, 32, 32])
        self.convnet.load_state_dict(
            torch.load(get_checkpoint_abs_path(MODEL_PATH) + ".torchmodel"))

    def augment(self, x):
        return data.augment_strong_np(x.transpose((0, 2, 3, 1))).transpose(
            (0, 3, 1, 2))
class DefenseTorch(Defense):

    def __init__(self):
        import torch
        self.convnet = AllConvModelTorch(num_classes=128,
                                         num_filters=64,
                                         input_shape=[3, 32, 32])
        self.convnet.load_state_dict(
            torch.load(get_checkpoint_abs_path(MODEL_PATH) + ".torchmodel"))
        self.convnet.layers = self.convnet.layers[:-1]
        self.features = np.load(get_checkpoint_abs_path(FEATURE_PATH)) # 50000 x 128
        self.labels = np.load(get_checkpoint_abs_path(LABEL_PATH)) # 50000 x 1
        self.NEAREST = 8
Beispiel #4
0
class DefenseTorch(Defense):
    def __init__(self):
        import torch
        self.convnet = AllConvModelTorch(num_classes=10,
                                         num_filters=64,
                                         input_shape=[3, 32, 32])
        self.convnet.load_state_dict(
            torch.load(get_checkpoint_abs_path(MODEL_PATH) + ".torchmodel"))

        self.signature = np.load(get_checkpoint_abs_path(SIGNATURE_PATH))
        self.backdoor = np.load(get_checkpoint_abs_path(BACKDOOR_PATH))
        self.backdoor = self.backdoor.transpose((0, 3, 1, 2))
        self.hidden = get_hidden_layer(self.convnet, 3, (2, 3))
        self.to_tensor = torch.tensor
Beispiel #5
0
class DefenseTorch(Defense):
    def __init__(self):
        import torch
        self.convnet = AllConvModelTorch(num_classes=10,
                                         num_filters=64,
                                         input_shape=[3, 32, 32])
        self.convnet.load_state_dict(
            torch.load(get_checkpoint_abs_path(MODEL_PATH) + ".torchmodel"))

    def blur(self, x):
        x_pad = np.pad(x, [(0, 0), (0, 0), (1, 1), (1, 1)])
        x_pad = (x_pad[:, :, :1] + x_pad[:, :, :-1]) / 2
        x_pad = (x_pad[:, :, :, :1] + x_pad[:, :, :, :-1]) / 2
        return x_pad
Beispiel #6
0
class DefenseTorch(Defense):
    def __init__(self):
        import torch

        class Jump(torch.nn.Module):
            def forward(self, x):
                activation = torch.nn.LeakyReLU(0.2)
                x = activation(x)
                x += (x > 0).float() * 5
                return x

        self.convnet = AllConvModelTorch(num_classes=10,
                                         num_filters=64,
                                         input_shape=[3, 32, 32],
                                         activation=Jump())
        self.convnet.load_state_dict(torch.load(MODEL_PATH + ".torchmodel"))
Beispiel #7
0
class DefenseTorch(Defense):
    def __init__(self):
        import torch
        self.convnet = AllConvModelTorch(num_classes=10,
                                         num_filters=64,
                                         input_shape=[3 * 20, 32, 32])
        self.convnet.load_state_dict(
            torch.load(get_checkpoint_abs_path(MODEL_PATH) + ".torchmodel"))

    def encode(self, xs):
        thresholds = np.arange(0, 1, .05) + .05
        shape = xs.shape
        less_than_threshold = xs[:, :, None, :, :] < thresholds[None, None, :,
                                                                None, None]
        xs = np.array(less_than_threshold, dtype=np.float32)
        xs = np.reshape(xs,
                        [-1, shape[1] * len(thresholds), shape[2], shape[3]])
        return xs