0 votes
In Dataiku v4.2.1, I'm trying to build a multiple (2 or 3) hidden layer neural network model. How do I specify the size of the different layers in the Design interface? With the MLPRegressor class, I can pass a tuple of layers, eg. '(100,50)' , but this or just having comma-separated values, eg. '100,50', gets rejected when I try to launch the training with the error message 'Layer sizes must be positive' (as if not taken into account). When entering different values separated by a CR, a one hidden layer model is trained for each of the values provided, which is expected, but not what I'm looking for.

1 Answer

–1 vote


To specify the size of the different layers in the Design interface, just type integers followed by a space.

The result should look like in the image below:


This is what I initially thought based on the UI indication, but what it actually does is perform a grid search on 3 ANN with the 3 different layer sizes, which is confirmed when you export the produced model to a Python notebook : the best scoring layer size is the one selected, but this is with a single hidden layer model.
I can indeed do the computation in the Python notebook, but I would have thought there was a way to do this through the Design UI, as it itself suggests?!
Thanks for reporting this, we will investigate this behavior further.
Any update on this? Ran into the same issue on Dataiku 4.2.3. and 4.2.0
Hello, We confirmed there is a bug in the current version: layers are grid-searched instead of added as multiple layers. Our R&D team is aware of this and will work on a fix. We'll keep you updated. In the meantime, you can workaround around it by using a "Custom Python Model" (https://www.dataiku.com/learn/guide/visual/machine-learning/custom-model.html) and write something like this:
import sklearn.neural_network
clf =  sklearn.neural_network.MLPClassifier(hidden_layer_sizes=(100, 100, 100))
1,302 questions
1,329 answers
11,868 users

©Dataiku 2012-2018 - Privacy Policy