pip install foolboxFoolbox diuji dengan Python 3.8 dan lebih baru - namun, kemungkinan besar juga akan bekerja dengan versi 3.6 - 3.8. Untuk menggunakannya dengan Pytorch, TensorFlow, atau Jax, kerangka kerja masing -masing perlu dipasang secara terpisah. Kerangka kerja ini tidak dinyatakan sebagai dependensi karena tidak semua orang ingin menggunakan dan dengan demikian menginstal semuanya dan karena beberapa paket ini memiliki build yang berbeda untuk arsitektur dan versi CUDA yang berbeda. Selain itu, semua dependensi penting dipasang secara otomatis.
Anda dapat melihat versi yang kami gunakan saat ini untuk pengujian di bagian kompatibilitas di bawah ini, tetapi versi yang lebih baru secara umum diharapkan berfungsi.
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 )Lebih banyak contoh dapat ditemukan di folder contoh, misalnya contoh resnet-18 penuh.
Jika Anda menggunakan Foolbox untuk pekerjaan Anda, silakan kutip kertas joss kami di Foolbox Native (yaitu, Foolbox 3.0) dan kertas lokakarya ICML kami di Foolbox menggunakan entri Bibtex berikut:
@Article {rauber2017foolboxnative,
doi = {10.21105/joss.02607},
url = {https://doi.org/10.21105/joss.02607},
tahun = {2020},
Publisher = {The Open Journal},
volume = {5},
angka = {53},
halaman = {2607},
penulis = {Jonas Rauber dan Roland Zimmermann dan Matthias Bethge dan Wieland Brendel},
title = {foolbox asli: serangan permusuhan cepat untuk membandingkan ketahanan model pembelajaran mesin di pytorch, tensorflow, dan jax},
Journal = {Journal of Open Source Software}
}
@Inproeding {rauber2017foolbox,
title = {foolbox: kotak alat python untuk membandingkan kekokohan model pembelajaran mesin},
penulis = {Rauber, Jonas dan Brendel, Wieland dan Bethge, Matthias},
booktitle = {Pembelajaran mesin yang andal di Liar Lokakarya Liar, Konferensi Internasional ke -34 tentang Pembelajaran Mesin},
tahun = {2017},
url = {http://arxiv.org/abs/1707.04131},
}
Kami menyambut kontribusi dari segala jenis, harap lihat pedoman pengembangan kami. Secara khusus, Anda diundang untuk menyumbangkan serangan permusuhan baru. Jika Anda ingin membantu, Anda juga dapat melihat masalah yang ditandai dengan kontribusi selamat datang.
Jika Anda memiliki pertanyaan atau membutuhkan bantuan, jangan ragu untuk membuka masalah di GitHub. Setelah diskusi GitHub tersedia untuk umum, kami akan beralih ke sana.
Foolbox 3.0 jauh lebih cepat daripada Foolbox 1 dan 2. Perbandingan kinerja dasar dapat ditemukan di folder kinerja.
Kami saat ini menguji dengan versi berikut: