Weeks 14-15: Deep neural network builder
This two weeks I designed and coded a deep neural network designer.
The purpose of this little project is to make booking of DNN more user friendly. Currently we use the BookMethod for booking a DNN classifier, and we pass a very long option string. In the options string we set global options, and the network layout, and the training strategy for every layer. These settings has specific names, and they are hard to remember exactly. So in my opinion users just copy from somewhere else that settings (like me). So I was thinking it would be nice, to add a graphical interface, where we can do booking in a nice, easy way. The new booking function is called BookDNN, and you have to pass the DataLoader object, and optionally a classifier name (by default it is ‘DNN’): factory.BookDNN(loader, 'DNN')
The graphical interface can be tested here (click on ‘Network designer’ button, and the interface will show up).
Usage of graphical interface
You start with an input and output layer. By clicking on “Options” in output layer you can choose the activation function (default is “LINEAR”) and you can specify the training strategy. You can add new layers by using “Add layer” menu entry. In new layers the “Options” button will provide a form to set the number of neurons (default value is 0), and another form to set the training strategy. You must build the structure of network: starting from input layer you have to connect all the layers. The last layer must be the output layer. To connect two layer you have to double click on first layer, grab the triangle and move inside the other layer (if you double click on triangle it will disappear). The “Scale colors” button will change the color of the layers: layer with the least neuron will be steel blue, layer with the most neuron will be red, other layers color will be scaled between this two color (by default: layer with 0 neuron is steel blue, layer with 100 neuron is red). By clicking on “Save Network” button, the network will be booked.