Nn interface v2
Hi @kirsebom, @xuhui_liu, and @bpadovese,
This merge adds a few more commits related to the neural networks modules in Ketos (in addition to what is already in the development branch).
I've tried to be consistent with all these changes that are going into Ketos 2.0, but it's quite a bit a content spread across many modules, so I'd appreciate your review.
Here's is a list of things I have added:
Neural Networks
(found in ketos/neural_networks)
- nn_interface.py
- losses.py
- metrics.py
- cnn.py
- resnet.py
Tutorials
(found in docs/source/tutorials. Each tutorial folder has a .zip file containing the jupyter notebook, data, config files, etc)
- create_database
- create_database_simpler
- train_a_narw_classifier
As Oliver mentioned, It would be helpful if you:
- Cloned this branch, built and installed ketos in a new virtual environment
- Run the 3 tutorials
- Looked into the modules within Neural networks
Feel free to commit any minor changes directly in this branch (for example, if you find a typo in the tutorial or a commented line of code that was clearly used for debugging).
One thing I'm thinking about is the overall organization of the neural networks module. I anticipate that most users will only ever interact with the CNNInterface and ResNetInterface classes (in the cnn.py and resnet.py modules, respectively). So I've been thinking about naming classes, functions, methods, etc to indicate internal use and perhaps moving some modules to a 'utils' submodule as we have in 'audio'.
Your input on this point and any other suggestions (including names for methods, etc) are all welcome.
Thanks!
p.s.: sorry if I spammed your mailboxes when trying to select the assignee. I was getting an error but you might have gotten an e-mail every time I tried to change it...