Exemplo n.º 1
0
from realsafe.benchmark.iteration_benchmark import IterationBenchmarkBuilder
from realsafe.cifar10.wideresnet_trades import WideResNet_TRADES
import tensorflow as tf
import numpy as np

from realsafe.benchmark.utils import iteartion_benchmark_parser, new_session

SESSION = new_session()

args = iteartion_benchmark_parser()

MODEL = WideResNet_TRADES()
ITERATION = 100
MAGNITUDE_L_INF = 8.0 / 255.0
ALPHA_L_INF = 0.003
SPSA_LR_L_INF = ALPHA_L_INF
MAGNITUDE_L_2 = 1.0
ALPHA_L_2 = 0.15
SPSA_LR_L_2 = 0.005

MODEL.load(session=SESSION)

builder = IterationBenchmarkBuilder()

builder.config_init_l_inf('bim', {})
builder.config_l_inf('bim', {
    'magnitude': MAGNITUDE_L_INF,
    'alpha': ALPHA_L_INF,
    'session': SESSION,
})
from realsafe.cifar10.ResNet56 import ResNet56
from realsafe.benchmark.distortion_benchmark import DistortionBenchmarkBuilder
from realsafe.benchmark.utils import distortion_benchmark_parser, new_session
from realsafe.defense.jpeg import jpeg_classifier_differentiable
import tensorflow as tf
import numpy as np

SESSION = tf.Session()


args = distortion_benchmark_parser()

JPEG_SESSION = new_session()
paras = (0.0, 1.0, (32, 32, 3), tf.float32, tf.int32, 10, 75, JPEG_SESSION)
ResNet56_Jpeg = jpeg_classifier_differentiable(*paras)(ResNet56)
MODEL = ResNet56_Jpeg()

MODEL.load(session=SESSION)
ITERATION = 20

builder = DistortionBenchmarkBuilder()
builder.init_distortion_l_2(32.0 * (MODEL.x_max - MODEL.x_min))
builder.init_distortion_l_inf(1.0 * (MODEL.x_max - MODEL.x_min))
builder.search_steps(0)
builder.binsearch_steps(14)
builder.batch_size(100)

builder.config_init_l_2('bim', {})
builder.config_l_2('bim', {
    'iteration': ITERATION,
    'session': SESSION