Recent Releases of Foolbox Native
Foolbox Native - Version 3.3.4
New Features and Improvements
Scientific Software - Peer-reviewed
- Python
Published by zimmerrol almost 2 years ago
Foolbox Native - Version 3.3.3
New Features and Improvements
- Fixed a bug that AdamPGD attacks actually didn't use the Adam optimizer
- Attacks now verify that the input to them lies within the bounds of the model
Scientific Software - Peer-reviewed
- Python
Published by zimmerrol over 3 years ago
Foolbox Native - Version 3.3.2
New Features and Improvements
- Added AdamPGD attack
- Added pointwise attack
- Hop-skip-jump attack bug fix (thanks @zhuangzi926)
- other improvements and bug fixes
Scientific Software - Peer-reviewed
- Python
Published by zimmerrol almost 4 years ago
Foolbox Native - Version 3.3.1
Serious bug fix for SaltAndPepperAttack (thanks @maurapintor @zangobot)
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber almost 5 years ago
Foolbox Native - Version 3.3.0
New Features and Improvements
- PGD now supports targeted attacks (thanks @zimmerrol)
- DDN attack bug fixes (thanks @maurapintor)
- Brendel Bethge attack bug fixes (thanks @wielandbrendel)
- other improvements and bug fixes
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber almost 5 years ago
Foolbox Native - Version 3.2.1
Foolbox release for Zenodo
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber over 5 years ago
Foolbox Native - Version 3.2.0
- added our JOSS paper
- added a performance comparison between Foolbox 1, 2, and 3
- improved tests
- fixed the TensorFlow example code
- improved examples
- improved tutorial
- updated dependencies
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber over 5 years ago
Foolbox Native - Version 3.1.1
Bug fix
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber over 5 years ago
Foolbox Native - Version 3.1.0
New Features
- ported
HopSkipJumpattack to v3 - added clipping-aware noise attacks
- model wrappers now support
data_format JAXModelnow supportsdata_format- improved documentation
Bug Fixes
EADAttackbug fixesGenAttackbug fixes- Other bug fixes and improvements
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber over 5 years ago
Foolbox Native - Version 3.0.4
Fixed the version number
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber over 5 years ago
Foolbox Native - Version 3.0.3
Fixes a bug in the BrendelBethgeAttack and updated Numba to silence warnings.
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber over 5 years ago
Foolbox Native - Version 3.0.2
Fixes a bug in the BrendelBethgeAttack (thanks @AidanKelley)
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber over 5 years ago
Foolbox Native - Version 3.0.1
Bug fixes
- type annotations are now correctly exposed using
py.typed(file was missing in MANIFEST) - TransformBoundsWrapper now correctly handles
data_format(thanks @zimmerrol)
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber over 5 years ago
Foolbox Native - Version 3.0.0
New Features
Foolbox 3 aka Foolbox Native has been rewritten from scratch with performance in mind. All code is running natively in PyTorch, TensorFlow and JAX, and all attacks have been rewritten with real batch support.
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber almost 6 years ago
Foolbox Native - Version 3.0.0b1
New Features
- added
foolbox.gradient_estimators - improved attack hyperparameter documentation
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber almost 6 years ago
Foolbox Native - Version 3.0.0b0
Foolbox 3 aka Foolbox Native has been rewritten from scratch with performance in mind. All code is running natively in PyTorch, TensorFlow and JAX, and all attacks have been rewritten with real batch support.
Warning: This is a pre-release beta version. Expect breaking changes.
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber almost 6 years ago
Foolbox Native - Version 2.4.0
New Features
- fixed PyTorch model gradients (fixes DeepFool with batch size > 1)
- added support for TensorFlow 2.0 and newer (Graph and Eager mode)
- refactored the tests
- support for the latest
randomgenversion
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber almost 6 years ago
Foolbox Native - Version 2.3.0
New Features
- new
EnsembleAveragedModel(thanks to @zimmerrol) - new
foolbox.utils.flatten - new
foolbox.utils.atleast_kd - new
foolbox.utils.accuracy PyTorchModelnow always warns if model is in train mode, not just once- batch support for
ModelWithEstimatedGradients
Bug fixes
- fixed dtype when using Adam PGD with a PyTorch model
- fixed CW attack hyperparameters
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber about 6 years ago
Foolbox Native - Version 2.2.0
New Features
- support for Foolbox extensions using the
foolbox.extnamespace
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber about 6 years ago
Foolbox Native - Version 2.1.0
New Features
- New
foolbox.models.JAXModelclass to support JAX models (https://github.com/google/jax) - The
preprocessingargument of models now supports aflip_axiskey to support common preprocessing operations like RGB to BGR in a nice way. This builds on the ability to pass dicts topreprocessingintroduced in Foolbox 2.0.
Bug fixes and improvements
- Fixed a serious bug in the
LocalSearchAttack(thanks to @duoergun0729) foolbox.utils.samplesnow warns if samples are repeatedfoolbox.utils.sampelsnow uses PNGs instead of JPGs (except for ImageNet)- Other bug fixes
- Improved docstrings
- Improved docs
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber about 6 years ago
Foolbox Native - Version 2.0.0 with batch support, model and defense zoo, threshold support and more
- batch support: check out the new example in the README
- model and defense zoo: https://foolbox.readthedocs.io/en/latest/user/zoo.html
- attacks take an optional
thresholdargument to stop attacks once that threshold is reached
foolbox.attacks now refers to the attacks with batch support. The old attacks can still be accessed under foolbox.v1.attacks. Batch support has been added to almost all attacks and new attacks will only be implemented with batch support. If you need batch support for an old attack that has not yet been adapted, please open an issue.
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber about 6 years ago
Foolbox Native - Version 2.0.0rc0
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber about 6 years ago
Foolbox Native - Version 2.0.0b0
Batch-support is finally here!
See #316 for details until we have updated the documentation. Right now it's still limited to a few attacks, but feel free to open an issue for any attack that you need. It's easy to extend to new attacks, we just haven't done it yet and will prioritize based on requests.
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber over 6 years ago
Foolbox Native - Version 1.8.0
Foolbox Model Zoo
Foolbox now has an easy way to load models or defenses from Git repos: https://foolbox.readthedocs.io/en/latest/user/zoo.html
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber about 7 years ago
Foolbox Native - Version 1.7.0
New Features
- Foolbox now has support for the Spatial Attack (https://arxiv.org/abs/1712.02779)
Bug Fixes
- Foolbox now uses its own random number generators to be independent of seeds set inside models.
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber about 7 years ago
Foolbox Native - Version 1.6.2
added missing backward() support to the CompositeModel model wrapper
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber about 7 years ago
Foolbox Native - Version 1.6.1
The foolbox.models.TensorFlowModel.from_keras constructor now automatically uses the session used by tf.keras instead of TensorFlow's default session.
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber about 7 years ago
Foolbox Native - Version 1.6.0
New features
- support for TensorFlow Eager: TensorFlowEagerModel
- improved support for
tensorflow.kerasmodels: TensorFlowModel.from_keras(...) - Foolbox-native implementation of the Carlini Wagner L2 attack: CarliniWagnerL2Attack
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber about 7 years ago
Foolbox Native - Version 1.5.0
New features
- all Foolbox attacks now support early stopping when reaching a certain perturbation size
- just pass a
thresholdto the attack orAdversarialinstance during initialization
- just pass a
- the distance metric can now be passed to the attack during initialization (no need to manually create a
Adversarialinstance anymore)
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber about 7 years ago
Foolbox Native - Version 1.4.0
- The Adversarial class now remembers the model output for the best adversarial so far. For deterministic models this is the same as
fmodel.predictions(adversarial.image), but it can be useful for non-deterministic models. Note that very close to the decision boundary even otherwise deterministic models can become stochastic because of non-deterministic floating point operations such asreduce_sum. In addtion to the newoutputattribute, there is also a newadversarial_classattribute for convience; it just takes the argmax of the output. - new ADefAttack thanks to @EvgeniaAR
- new NewtonFoolAttack thanks to @bveliqi
- new FAQ section in the docs: https://foolbox.readthedocs.io/en/latest/user/faq.html
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber over 7 years ago
Foolbox Native - Version 1.3.2
Fixed assertions that prevented custom preprocessing functions from changing the shape of the input (see #187).
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber over 7 years ago
Foolbox Native - Version 1.3.1
New Features
- added the
EvoluationaryStrategiesGradientEstimatoras an alternative to theCoordinateWiseGradientEstimatorintroduced in 1.3.0 (thanks to @lukas-schott)
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber over 7 years ago
Foolbox Native - Version 1.3.0
Highlights
- added support for arbitrary preprocessing functions with custom gradients (e.g. input binarization with a straight-through approximation in the backward pass)
- added the
ModelWithEstimatedGradientsmodel wrapper to replace a model's gradients with gradients estimated by an arbitrary gradient estimator - added the
CoordinateWiseGradientEstimatorand an easy template to implement custom gradient estimators - added the
BinarizationRefinementAttackthat uses information about a model's input binarization to refine adversarials found by other attacks - added the
ConfidentMisclassificationcriterion
Other improvements
- added a
binarizefunction in in utils to provide a consistent way to specify input binarization as part of the preprocessing - added
batch_crossentropyin utils - added preprocessing support to LasagneModel
- renamed the
GradientLessmodel wrapper toModelWithoutGradients - bug fixes
- improved documentation and fixed typos
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber over 7 years ago
Foolbox Native - Version 1.2.0
Highlights
- Basic Iterative Method reimplemented (Linfinity, L1, L2)
- recommended instead of IterativeGradientAttack and IterativeGradientSignAttack
- Projected Gradient Descent attack (with and without random start)
- Momentum Iterative Method
- full PyTorch 0.4.0 support (thanks @cjsg)
- new MXNetGluonModel wrapper for Gluon models (thanks @meissnereric)
Other improvements
- official PyTorch example in the docs
- bug fixes
- updated tests to use newer versions of the different frameworks
- improved documentation and fixed typos
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber over 7 years ago
Foolbox Native - Version 1.1.0
- added the PointwiseAttack (supersedes the ResetAttack)
- attacks now provide the full function signature of their
__call__method as well as parameter documentation - added additional checks for correctness of the returned adversarials even when attacks misbehave
- replaced the randomstate package with the randomgen package
- bug fixes and improvements
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber almost 8 years ago
Foolbox Native - Version 1.0.0
Improved the documentation and the availability of useful function signatures. Attack parameters are now be fully documented, like everything else, and this documentation is directly accessible within Jupyter / IPython and IDEs.
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber almost 8 years ago
Foolbox Native - Version 0.15.0
- fixed
CompositeModeland added it to docs - added
L0andLinfinity(Linf) distance measures - added
DeepFoolLinfinityAttack - renamed
DeepFoolAttacktoDeepFoolL2Attack - new
DeepFoolAttacknow chooses norm to optimize based on the employed distance measure (alternative,p=2orp=np.infcan be passed) - fixed integer overflows caused by numpy
- improved tests
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber almost 8 years ago
Foolbox Native - Version 0.14.0
Fixed a numeric issue when attacking Keras models that provide probability outputs (instead of logits) using a gradient-based attack.
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber almost 8 years ago
Foolbox Native - Version 0.13.0
Fixed package dependency issues.
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber almost 8 years ago
Foolbox Native - Version 0.12.4
- Improved GradientAttack and GradientSignAttack (FGSM) to handle smaller epsilons
- fixed Pillow imports
- improved README rendering on PyPI
- other minor changes
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber almost 8 years ago
Foolbox Native - Version 0.11.1
BoundaryAttack less verbose
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber about 8 years ago
Foolbox Native - Version 0.11.0
BoundaryAttack added: a new, powerful decision-based attack that does not rely on gradients or probabilities
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber about 8 years ago
Foolbox Native - Version 0.10.0
Performance improvements and minor changes. Easier to write fast attacks.
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber about 8 years ago
Foolbox Native - Version 0.9.6
several bugfixes
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber over 8 years ago
Foolbox Native - Version 0.9.5
Fixes a bug in ContrastAttack when the lower bound is non-zero (thanks to @whg1g15)
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber over 8 years ago
Foolbox Native - Version 0.9.3
MXNet model bugfixes improved support for other Keras backends (in particular Theano; in addition to TensorFlow)
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber over 8 years ago
Foolbox Native - Version 0.9.2
Keras model improvements
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber over 8 years ago
Foolbox Native - Version 0.9.1
MXNet model improvements
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber over 8 years ago
Foolbox Native - Version 0.9.0
Preprocessing has been changed and fixed.
- Preprocessing can now be specified in all models
- Preprocessing must now be specified as subtraction and division only
- Gradients are now correctly backpropagated through the preprocessing
- Gradients are now tested numerically
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber over 8 years ago
Foolbox Native - Version 0.8.1
fix for the Readme on PyPI
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber over 8 years ago
Foolbox Native - Version 0.8.0
Our technical report is now available on arXiv: https://arxiv.org/abs/1707.04131
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber over 8 years ago
Foolbox Native - Version 0.7.3
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber over 8 years ago
Foolbox Native - Version 0.7.2
added support for a preprocessing callback to the PyTorch model
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber over 8 years ago
Foolbox Native - Version 0.7.1
Bugfix for the PyTorch interface when using GPUs, contributed by @ducha-aiki.
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber over 8 years ago
Foolbox Native - Version 0.7
Support for older versions of setuptools.
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber over 8 years ago
Foolbox Native - Version 0.6
- MXNet support
- CompositeModel for blackbox transfer attack
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber over 8 years ago
Foolbox Native - Version 0.5
added support for Python 2.7
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber over 8 years ago
Foolbox Native - Version 0.4
Improved Distances
- value and gradient can now be accessed using properties rather than methods
- the distances are now relative to the bounds (and therefore always between 0 and 1) and much more interpretable
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber over 8 years ago
Foolbox Native - Official Release
Models
- TensorFlow
- PyTorch
- Keras
- Theano
- Lasagne
- and more
Attacks
- GradientSignAttack (FGSM)
- IterativeGradientSignAttack
- GradientAttack
- IterativeGradientAttack
- LBFGSAttack
- DeepFoolAttack
- SaliencyMapAttack
- GaussianBlurAttack
- ContrastReductionAttack
- SinglePixelAttack
- LocalSearchAttack
- SLSQPAttack
- AdditiveUniformNoiseAttack
- AdditiveGaussianNoiseAttack
- SaltAndPepperNoiseAttack
- and more
Criteria
- Misclassification
- TopKMisclassification
- OriginalClassProbability
- TargetClass
- TargetClassProbability
Distances
- MeanSquaredDistance (MSE)
- MeanAbsoluteDistance
Scientific Software - Peer-reviewed
- Python
Published by jonasrauber over 8 years ago