pip install foolboxFoolbox est testé avec Python 3.8 et plus récent - cependant, il fonctionnera très probablement avec la version 3.6 - 3.8. Pour l'utiliser avec Pytorch, TensorFlow ou Jax, le cadre respectif doit être installé séparément. Ces cadres ne sont pas déclarés comme des dépendances, car tout le monde ne veut pas utiliser et les installer donc tous et parce que certains de ces packages ont des versions différentes pour différentes architectures et versions CUDA. En plus de cela, toutes les dépendances essentielles sont automatiquement installées.
Vous pouvez voir les versions que nous utilisons actuellement pour tester dans la section de compatibilité ci-dessous, mais les versions plus récentes devraient en général fonctionner.
import foolbox as fb
model = ...
fmodel = fb . PyTorchModel ( model , bounds = ( 0 , 1 ))
attack = fb . attacks . LinfPGD ()
epsilons = [ 0.0 , 0.001 , 0.01 , 0.03 , 0.1 , 0.3 , 0.5 , 1.0 ]
_ , advs , success = attack ( fmodel , images , labels , epsilons = epsilons )Plus d'exemples peuvent être trouvés dans le dossier Exemples, par exemple un exemple complet RESNET-18.
Si vous utilisez Foolbox pour votre travail, veuillez citer notre journal Joss sur Foolbox Native (c'est-à-dire Foolbox 3.0) et notre papier d'atelier ICML sur Foolbox en utilisant les entrées Bibtex suivantes:
@article {rauber2017foolboxnative,
doi = {10.21105 / joss.02607},
url = {https://doi.org/10.21105/joss.02607},
année = {2020},
éditeur = {The Open Journal},
volume = {5},
nombre = {53},
pages = {2607},
auteur = {Jonas Rauber et Roland Zimmermann et Matthias Bethge et Wieland Brendel},
Titre = {Foolbox Native: Attaques adversaires rapides pour comparer la robustesse des modèles d'apprentissage automatique dans Pytorch, Tensorflow et Jax},
journal = {Journal of Open Source Software}
}
@inproceedings {rauber2017foolbox,
title = {Foolbox: une boîte à outils Python pour comparer la robustesse des modèles d'apprentissage automatique},
auteur = {Rauber, Jonas et Brendel, Wieland et Bethge, Matthias},
booktitle = {Reliable Machine Learning in the Wild Workshop, 34th International Conference on Machine Learning},
année = {2017},
url = {http://arxiv.org/abs/1707.04131},
}
Nous accueillons les contributions de toutes sortes, veuillez consulter nos directives de développement. En particulier, vous êtes invité à apporter de nouvelles attaques contradictoires. Si vous souhaitez aider, vous pouvez également consulter les problèmes qui sont marqués par les contributions.
Si vous avez une question ou avez besoin d'aide, n'hésitez pas à ouvrir un problème sur GitHub. Une fois que les discussions GitHub seront accessibles au public, nous passerons à cela.
Foolbox 3.0 est beaucoup plus rapide que les Foolbox 1 et 2. Une comparaison de performances de base peut être trouvée dans le dossier de performances.
Nous testons actuellement avec les versions suivantes: