Beispiel #1
0
def ResNetTiny_FewCombo(
    c, **kargs
):  # resnetWide also used by mixtrain and scaling provable adversarial defenses
    def wb(c, bias=True, **kargs):
        return n.WideBlock(c,
                           False,
                           bias=bias,
                           ibp_init=True,
                           batch_norm=False,
                           **kargs)

    dl = n.DeepLoss
    cmk = n.CorrMaxK
    cm2d = n.CorrMaxPool2D
    cm3d = n.CorrMaxPool3D
    dec = lambda x: n.DecorrMin(x, num_to_keep=True)
    return n.Seq(
        cmk(32), n.Conv(16, 3, padding=1, bias=True, ibp_init=True), dec(8),
        wb(16), dec(4), wb(32), n.Concretize(), wb(32), wb(32), wb(32),
        cmk(10),
        n.FFNN([500, c],
               bias=True,
               last_lin=True,
               ibp_init=True,
               last_zono=True,
               **kargs))
Beispiel #2
0
def ResNetTiny(c, **kargs): # resnetWide also used by mixtrain and scaling provable adversarial defenses
    def wb(c, bias = True, **kargs):
        return n.WideBlock(c, False, bias=bias, ibp_init=True, batch_norm = False, **kargs)
    return n.Seq(n.Conv(16, 3, padding=1, bias=True, ibp_init = True),
                 wb(16),
                 wb(32),
                 wb(32),
                 wb(32),
                 wb(32),
                 n.FFNN([500, c], bias=True, last_lin=True, ibp_init = True, last_zono = True, **kargs))
Beispiel #3
0
def ResNetWong(c, **kargs):
    return n.Seq(
        n.Conv(16, 3, padding=1, bias=False), n.WideBlock(16), n.WideBlock(16),
        n.WideBlock(32, True), n.WideBlock(64, True),
        n.FFNN([1000, c],
               ibp_init=True,
               bias=True,
               last_lin=True,
               last_zono=True,
               **kargs))
Beispiel #4
0
def ResNetLarge_LargeCombo(c, **kargs): # resnetWide also used by mixtrain and scaling provable adversarial defenses
    def wb(c, bias = True, **kargs):
        return n.WideBlock(c, False, bias=bias, ibp_init=True, batch_norm = False, **kargs)
    dl = n.DeepLoss
    cmk = n.CorrMaxK
    cm2d = n.CorrMaxPool2D
    cm3d = n.CorrMaxPool3D
    dec = lambda x: n.DecorrMin(x, num_to_keep = True)
    return n.Seq(n.Conv(16, 3, padding=1, bias=True, ibp_init = True), cmk(4),
                 wb(16), cmk(4), dec(4),
                 wb(32), cmk(4), dec(4),
                 wb(32), dl(S.Until(1, 0, S.Lin(0.5, 0, 50, 3))),
                 wb(32), cmk(4), dec(4),
                 wb(64), cmk(4), dec(2),
                 wb(64), dl(S.Until(24, S.Lin(0, 0.1, 20, 4), S.Lin(0.1, 0, 50))),
                 wb(64),
                 n.FFNN([1000, c], bias=True, last_lin=True, ibp_init = True, **kargs))
Beispiel #5
0
def CharLevelAGSub(c, **kargs):
    return n.Seq(n.EmbeddingWithSub(64, 64, 3), n.Conv(64, 10, bias=True), n.AvgPool2D(10), n.ReduceToZono(), n.FFNN([64, 64, c], last_lin=True, last_zono=True, **kargs)) #
Beispiel #6
0
def WordLevelSST2(c, **kargs):
    return n.Seq(n.Embedding(1, 300), n.Conv(100, 5, bias=True), n.AvgPool2D(5), n.ReduceToZono(), n.FFNN([c], last_lin=True, last_zono=True, **kargs))