albermax / innvestigate

A toolbox to iNNvestigate neural networks' predictions!
Other
1.27k stars 233 forks source link

Notebooks #18

Closed albermax closed 5 years ago

albermax commented 6 years ago

We use (ipy)notebooks as main way to introduce people to the api. "Learning by doing".

The following notebooks and contents should be part of the first release:

I think if there exists first a working python-script it is easy to create the notebook. The advantage would be one can run the examples easily via ssh. The drawback is the code is doubled and when changed one needs to change two places.

albermax commented 6 years ago

I have updated the example all_methods.py. The code to choose networks and load patterns is simplified. Currently it only works vgg16. On the weekend I will upload fake patterns and it should work with all networks.

albermax commented 6 years ago

Please drop A for now.

albermax commented 6 years ago

I just saw the notebooks. Looks good!

Did you run the code on a cpu or on gpu?

MiriamHaegele commented 6 years ago

On a cpu.

postskript commented 6 years ago

Should we move the notebooks to separate folder (inside experiments) in which the jupyter server can be run? I think it would look clearer and more structured. Or do you want to get rid of the scripts that have an ipynb counterpart anyway?

albermax commented 6 years ago

I think it's a good a idea to separate them! And no, I would like to keep the py files for the reason, when one works with ssh on a cluster one cannot always run jupyter.

postskript commented 6 years ago

Done, see #49

albermax commented 6 years ago

Thanks I will have a look!

MiriamHaegele commented 6 years ago

Hi Max,

should the plotting for nets vs methods for single images also be transformed into a notebook. It's currently only available as python script.

albermax commented 6 years ago

If it wouldn't be too much effort for now that would be great! Though other things are more important.

Cheers

albermax commented 6 years ago

Please use for MNIST a input-range different from [0, 1]. That one is missleading. Thanks!

MiriamHaegele commented 6 years ago

Why is that? I also tried [-0.5, 0.5] but almost all explanations look worse then.

albermax commented 6 years ago

Because input x gradient (or relevance etc) is 0 whenever the input is 0 :-) Thus basically they don't explain much. It looks not so well because the network is not "well" trained, I guess the features extraction is not the best. Sebastian has some networks that are trained in a better way. But ok, lets keep it like it is for the eye's sake and when we have more time we can improve it.

sebastian-lapuschkin commented 6 years ago

define "worse" ?

can you maybe add a network class selector similar as in mnist_lrp.py?