Home

Awesome

CNN Model for System Identification of Neural Types

This is a code repository to the paper (cite as):

Klindt, D., Ecker, A., Euler, T. & Bethge, M. (2017). Neural system identification for large populations separating “what” and “where”. In Advances in Neural Information Processing Systems.

[Arxiv]

Requirements:

Instructions

To reproduce the figures from the paper (see above) open the corresponding notebooks:

For Figure 3 and 4 go to

fig{3,4}.ipynb

and execute the cells with further instructions provided in the comments.

For Figure 5b-d execute

fig5/fig5.ipynb

as well as

fig5/CNN_{Batty,McInt}.ipynb

where 'Batty' is the CNN model with fixed location mask and 'McInt' the CNN model with fully connected readout.

For Figure 5e execute

fig5/more_types/{fig5,Batty,Mcint}_more_types.ipynb

For Table 1 see

Folder v1data

The results of the grid search are stored in a database using the data management toolkit DataJoint. If you intend to actually run the code yourself there will be additional work needed setting up a MySQL server and installing DataJoint. We're happy to help with that.

If your goal is to just use the code to fit a model to your own data, consult standalone.py for a working example.

If you want to check the code we used: convnet.py defines the neural networks and does the heavy lifting; database.py contains the database classes and exact parameter settings that we used (Fit._make_tuples() is a good starting point).