Deep Neural Networks are Easily Fooled:
High Confidence Prediction for Unrecognizable Images
Installation Guide
Updated 2015-01-13
INSTALLATION GUIDE
A. Overview
This guide shows how to run the code used to produce the images in our paper:
http://www.evolvingai.org/fooling
B. Requirements
Software:
This is an installation process that requires two main software packages (included in this package):
• Caffe: http://caffe.berkeleyvision.org
◦ Our libraries installed to work with Caffe
▪ Cuda 6.0
▪ Boost 1.52
• Sferes: https://github.com/jbmouret/sferes2
◦ Our libraries installed to work with Caffe
▪ OpenCV 2.4.10
▪ Boost 1.52
Computing Environment:
• An MNIST experiment (Fig. 4, 5 in the paper) can be run directly on a local machine (4-core)
within a reasonable amount of time (around 5 minutes or less for 200 generations)
• An ImageNet experiment needs to be run on a cluster environment. It took us 4 days x 128
cores to run 5000 generations and produce 1000 images (Fig. 8 in the paper).
C. Installation
1. Install Caffe and its required libraries.
◦ The specific version provided is different from the Caffe master branch and it has the
modification that enables feeding OpenCV data from memory to a Caffe model for
evaluation via ImageDataLayer.
◦ Caffe installation guide: http://caffe.berkeleyvision.org/installation.html
2. Find a model you want to “fool” or train one yourself. We used the BVLC CaffeNet model
provided by Caffe.
◦ See the list of models here.
◦ Make sure that it is running and gives you validation / test errors as expected.
3. Install Sferes and its required libraries:
◦ The specific Sferes version provided has all the modules needed to run the experiment
and is very similar to (but not the same as) the Sferes master branch.
◦ Sferes installation guide: https://github.com/jbmouret/sferes2/wiki/Compilation
4. Linking Caffe and Sferes:
◦ Our code already does the linking between Caffe and Sferes:
1