pip install foolboxPourtbox тестируется с Python 3.8 и новее - однако, он, скорее всего, также будет работать с версией 3.6 - 3,8. Чтобы использовать его с помощью Pytorch, Tensorflow или JAX, соответствующая структура должна быть установлена отдельно. Эти рамки не объявляются как зависимости, потому что не все хотят использовать и, таким образом, устанавливают их все, и потому что некоторые из этих пакетов имеют разные сборки для разных архитектур и версий CUDA. Кроме того, все важные зависимости автоматически устанавливаются.
Вы можете увидеть версии, которые мы в настоящее время используем для тестирования в разделе совместимости ниже, но в целом новые версии будут работать.
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 )Больше примеров можно найти в папке «Примеры», например, полный пример Resnet-18.
Если вы используете Pourtbox для своей работы, пожалуйста, процитируйте нашу газету Joss On Pourtbox Native (т. Е. Pourtbox 3.0) и нашу бумагу ICML Workshop на Pourtbox, используя следующие записи Bibtex:
@Article {rauber2017foolboxnative,
doi = {10.21105/joss.02607},
url = {https://doi.org/10.21105/joss.02607},
Год = {2020},
Publisher = {Open Journal},
том = {5},
number = {53},
pages = {2607},
Автор = {Jonas Rauber и Roland Zimmermann и Matthias Bethge и Wieland Brendel},
title = {Pountbox Native: Быстрые состязательные атаки, чтобы сравнить надежность моделей машинного обучения в Pytorch, Tensorflow и Jax},
Journal = {Журнал программного обеспечения с открытым исходным кодом}
}
@inproceedings {rauber2017foolbox,
title = {pountbox: набор инструментов Python, чтобы сравнить надежность моделей машинного обучения},
Автор = {Rauber, Jonas и Brendel, Wieland и Bethge, Matthias},
BookTitle = {надежное машинное обучение в дикой мастерской, 34 -я Международная конференция по машинному обучению},
Год = {2017},
url = {http://arxiv.org/abs/1707.04131},
}
Мы приветствуем взносы всех видов, пожалуйста, посмотрите на наши руководящие принципы по развитию. В частности, вам предлагается внести новые состязательные атаки. Если вы хотите помочь, вы также можете взглянуть на проблемы, отмеченные взносами.
Если у вас есть вопрос или нужна помощь, не стесняйтесь открывать проблему на GitHub. Как только дискуссии GitHub станут публичными, мы переключимся на это.
Pourtbox 3.0 намного быстрее, чем дурака 1 и 2. Основное сравнение производительности можно найти в папке производительности.
В настоящее время мы тестируем со следующими версиями: