foolbox.zoo
¶
Get Model¶
-
foolbox.zoo.
get_model
(url, module_name='foolbox_model', **kwargs)[source]¶ Provides utilities to download foolbox-compatible robust models to easily test attacks against them by simply providing a git-URL.
Examples
Instantiate a model:
>>> from foolbox import zoo >>> url = "https://github.com/bveliqi/foolbox-zoo-dummy.git" >>> model = zoo.get_model(url) # doctest: +SKIP
Only works with a foolbox-zoo compatible repository. I.e. models need to have a foolbox_model.py file with a create()-function, which returns a foolbox-wrapped model.
Using the kwargs parameter it is possible to input an arbitrary number of parameters to this methods call. These parameters are forwarded to the instantiated model.
Example repositories:
- https://github.com/bethgelab/AnalysisBySynthesis
- https://github.com/bethgelab/mnist_challenge
- https://github.com/bethgelab/cifar10_challenge
- https://github.com/bethgelab/convex_adversarial
- https://github.com/wielandbrendel/logit-pairing-foolbox.git
- https://github.com/bethgelab/defensive-distillation.git
Parameters: - url – URL to the git repository
- module_name – the name of the module to import
- kwargs – Optional set of parameters that will be used by the to be instantiated model.
Returns: a foolbox-wrapped model instance
Fetch Weights¶
-
foolbox.zoo.
fetch_weights
(weights_uri, unzip=False)[source]¶ Provides utilities to download and extract packages containing model weights when creating foolbox-zoo compatible repositories, if the weights are not part of the repository itself.
Examples
Download and unzip weights:
>>> from foolbox import zoo >>> url = 'https://github.com/MadryLab/mnist_challenge_models/raw/master/secret.zip' # noqa F501 >>> weights_path = zoo.fetch_weights(url, unzip=True)
Parameters: - weights_uri – the URI to fetch the weights from
- unzip – should be True if the file to be downloaded is a zipped package
Returns: local path where the weights have been downloaded and potentially unzipped to