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 HopSkipJump attack to v3
  • added clipping-aware noise attacks
  • model wrappers now support data_format
  • JAXModel now supports data_format
  • improved documentation

Bug Fixes

  • EADAttack bug fixes
  • GenAttack bug 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 randomgen version

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
  • PyTorchModel now 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.ext namespace

Scientific Software - Peer-reviewed - Python
Published by jonasrauber about 6 years ago

Foolbox Native - Version 2.1.0

New Features

  • New foolbox.models.JAXModel class to support JAX models (https://github.com/google/jax)
  • The preprocessing argument of models now supports a flip_axis key to support common preprocessing operations like RGB to BGR in a nice way. This builds on the ability to pass dicts to preprocessing introduced in Foolbox 2.0.

Bug fixes and improvements

  • Fixed a serious bug in the LocalSearchAttack (thanks to @duoergun0729)
  • foolbox.utils.samples now warns if samples are repeated
  • foolbox.utils.sampels now 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 threshold argument 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

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 threshold to the attack or Adversarial instance during initialization
  • the distance metric can now be passed to the attack during initialization (no need to manually create a Adversarial instance 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 as reduce_sum. In addtion to the new output attribute, there is also a new adversarial_class attribute 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 EvoluationaryStrategiesGradientEstimator as an alternative to the CoordinateWiseGradientEstimator introduced 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 ModelWithEstimatedGradients model wrapper to replace a model's gradients with gradients estimated by an arbitrary gradient estimator
  • added the CoordinateWiseGradientEstimator and an easy template to implement custom gradient estimators
  • added the BinarizationRefinementAttack that uses information about a model's input binarization to refine adversarials found by other attacks
  • added the ConfidentMisclassification criterion

Other improvements

  • added a binarize function in in utils to provide a consistent way to specify input binarization as part of the preprocessing
  • added batch_crossentropy in utils
  • added preprocessing support to LasagneModel
  • renamed the GradientLess model wrapper to ModelWithoutGradients
  • 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

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 CompositeModel and added it to docs
  • added L0 and Linfinity (Linf) distance measures
  • added DeepFoolLinfinityAttack
  • renamed DeepFoolAttack to DeepFoolL2Attack
  • new DeepFoolAttack now chooses norm to optimize based on the employed distance measure (alternative, p=2 or p=np.inf can 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