DL4J Regression question


I'm trying to learn how to use DL4J on simple regressions. I'm very new to this so please bear with me. I'm using the 04_Analytics \ 14_Deep_learning \ 11_Housing_value_prediction_using_regression example.

My question is:

1) how do I find the weights for each feature?

- Is there something similar to Linear Regression Learner node's "Coefficients and statistics of the linear regression model." output?

2) how do I get the best predicted results?

- It seems at "loop end" there's five results that were scored. How do I get the individual results from the model that received the best score results.

3) how do I know CUDA is being used?

- I seem to be hitting high CPU use when running the sample; I have CUDA 8.0 installed with a compatible GPU. How do I know CUDA is used? (I've followed the instructions on https://tech.knime.org/forum/knime-labs-general/dl4j-how-do-you-verify-the-gpu-is-being-used and I still get high CPU usage.


Found a way to check the GPU usage by downloading GPU-Z and switching to the "Sensors" tab.

Hi seoseokho83,

1) Unfortunately, there are no statistics about the learned model.

2) In the example workflow 5-fold cross validation is used. This means that the training data is split into five parts of equal size. Then the model is learned on 4/5 of the data, the rest is then used for testing. This is done five times always using a different part for testing. Often, this technique is used to get a better assessment of the model quality which does not depend on a luckily chosen sample for training.

Regarding the workflow, you will see the results of the five training runs at the output of the 'Loop End' node. In this case only the scores of the model are saved. The actual predictions are discarded. If you want the predictions you can just connect the 'Prediction' Meta Node with the 'Loop End' node an run the workflow again. However, then you need to split up the training runs again in order to find out about the scores (this can be easily done as the loop will append an iteration number to each row).

3) There will be a Log message saying which backend (CPU or GPU) will be used when you start KNIME. This will be visible in your KNIME console if you configured the Log level of the KNIME GUI to be INFO (this can be done in the KNIME preference page). It will be also written to the KNIME log file. If you click on View -> Open KNIME log you can search for 'DL4JPluginActivator' and a message like 'CPU backend will be used' or similar for GPU. Furthermore, you should see some GPU usage in the sensors tab of the GPU-Z tool. When using GPU, moderate CPU usage is still expected as this handles the communication between CPU and GPU.

If you have further questions I'm happy to help.



Hi David,


Thank you so much for your answer! This really helps.

I'm sorry but I'm gonna bug the forum one last time:

1) Unfortunately, there are no statistics about the learned model.

--> Is this the general case for DL4J or is it just KNIME?