Public code for a paper "Lipschitz-Margin Training: Scalable Certification of Perturbation Invariance for Deep Neural Networks."
Switch branches/tags
Nothing to show
Clone or download
Latest commit 926c5e3 May 22, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
config update for version 2 May 22, 2018
doc update for version 2 May 22, 2018
src doc May 22, 2018
.gitignore init Feb 12, 2018
LICENSE init Feb 12, 2018
README.md highlight change May 22, 2018
__init__.py update for version 2 May 22, 2018
evaluate.py update for version 2 May 22, 2018
lmt_bibtex.txt add paper links Feb 20, 2018
requirements.txt update for version 2 May 22, 2018
train.py update for version 2 May 22, 2018

README.md

LMT

Public code for a paper "Lipschitz-Margin Training: Scalable Certification of Perturbation Invariance for Deep Neural Networks."

update: Pre-print and code were updated to version 2 (2018/5/23).

How to train:

python3 train.py (configuration-file-name).py

what is the configuration file?

example:

python3 train.py config/parseval_svhn/default.py --gpu 0

How to evaluate with attacks:

python3 evaluate.py (result-dir-of-trained-network) (attack-configuration).py

This script calculates each value in inequality (5) in Sec.6 and create inequality-(attack_name).npy under a specified result directory.

what is the result directory?

example:

python3 evaluate.py result/config/parseval_svhn/default-00 config/attack/cw_100_1.py

Reference

Y. Tsuzuku, I. Sato, M. Sugiyama: Lipschitz-Margin Training: Scalable Certification of Perturbation Invariance for Deep Neural Networks, (2018), url, bibtex