in scripts/imagenet/utils.py [0:0]
def _get_norm_act(network_config):
if network_config["bn_mode"] == "standard":
assert network_config["activation"] in (
"relu",
"leaky_relu",
"elu",
"identity",
), "Standard batch normalization is only compatible with relu, leaky_relu, elu and identity"
activation_fn = partial(
ABN,
activation=network_config["activation"],
activation_param=network_config["activation_param"],
)
elif network_config["bn_mode"] == "inplace":
assert network_config["activation"] in (
"leaky_relu",
"elu",
"identity",
), "Inplace batch normalization is only compatible with leaky_relu, elu and identity"
activation_fn = partial(
InPlaceABN,
activation=network_config["activation"],
activation_param=network_config["activation_param"],
)
elif network_config["bn_mode"] == "sync":
assert network_config["activation"] in (
"leaky_relu",
"elu",
"identity",
), "Sync batch normalization is only compatible with leaky_relu, elu and identity"
activation_fn = partial(
InPlaceABNSync,
activation=network_config["activation"],
activation_param=network_config["activation_param"],
)
else:
print("Unrecognized batch normalization mode", network_config["bn_mode"])
exit(1)
return activation_fn