pip install foolboxFoolbox wird mit Python 3.8 und neuer getestet - es wird jedoch höchstwahrscheinlich auch mit Version 3.6 - 3.8 funktionieren. Um es mit Pytorch, Tensorflow oder JAX zu verwenden, muss das jeweilige Framework separat installiert werden. Diese Frameworks werden nicht als Abhängigkeiten deklariert, da nicht jeder sie verwenden und so alle von ihnen installieren möchte und weil einige dieser Pakete unterschiedliche Builds für verschiedene Architekturen und CUDA -Versionen haben. Außerdem werden alle wesentlichen Abhängigkeiten automatisch installiert.
Sie können die Versionen sehen, die wir derzeit für das Testen im Abschnitt Kompatibilität verwenden, aber neuere Versionen werden im Allgemeinen erwartet.
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 )Weitere Beispiele finden Sie im Beispieleordner, z. B. ein volles Resnet-18-Beispiel.
Wenn Sie Foolbox für Ihre Arbeit verwenden, zitieren Sie bitte unser Joss -Papier auf Narrbox Native (dh Foolbox 3.0) und unser ICML -Workshop -Papier auf Foolbox mit den folgenden Bibtex -Einträgen:
@Article {RBUBER2017FOOLBOXNATIV,
doi = {10.21105/joss.02607},
url = {https://doi.org/10.21105/joss.02607},
Jahr = {2020},
publisher = {das offene Journal},
Volumen = {5},
Nummer = {53},
Seiten = {2607},
Autor = {Jonas Rauber und Roland Zimmermann und Matthias Bethge und Wieland Brendel},
Titel = {Foolbox Native: schnelle kontroverse Angriffe, um die Robustheit von maschinellen Lernmodellen in Pytorch, Tensorflow und Jax} zu bewerten,.
Journal = {Journal of Open Source Software}
}
@InProceedings {RBUBER2017FOOLBOX,
title = {Foolbox: Eine Python -Toolbox, um die Robustheit von maschinellen Lernmodellen zu bewerten},
Autor = {Rauber, Jonas und Brendel, Wieland und Bethge, Matthias},
boottitle = {zuverlässiges maschinelles Lernen im Wild Workshop, 34. Internationale Konferenz über maschinelles Lernen},
Jahr = {2017},
url = {http://arxiv.org/abs/1707.04131},
}
Wir begrüßen Beiträge aller Art und schauen Sie sich bitte unsere Entwicklungsrichtlinien an. Insbesondere sind Sie eingeladen, neue kontroverse Angriffe beizutragen. Wenn Sie helfen möchten, können Sie sich auch die Probleme ansehen, die mit Beiträgen geheißen sind.
Wenn Sie eine Frage haben oder Hilfe benötigen, können Sie ein Problem auf GitHub eröffnen. Sobald GitHub -Diskussionen öffentlich verfügbar sind, werden wir dazu wechseln.
Foolbox 3.0 ist viel schneller als Foolbox 1 und 2.. Ein grundlegender Leistungsvergleich finden Sie im Leistungsordner.
Wir testen derzeit mit den folgenden Versionen: