Blue screen of Death when I try to set up python installation

Hi,

I have created a conda environment including a python and keras-gpu installation using the instructions on this blog post. However, when I try to set up that in KNIME->Preferences->Python and once I browse the .bat file it says “testing python installation…” and after a few moments my system goes on the Blue Screen of Death and restarts.
I tried multiple different conda environments with different versions of python and keras, but it happens every time.
I used to use KNIME 3.7.1 on Windows 10, but then I downgraded my KNIME installation to 3.6.2 to see if it has to do with the KNIME version, yet it happened again.
My system has four NVIDIA TITAN GPUs and an Intel Core i9 CPU with 64GB of RAM. Any advice would be appreciated.

Thanks

Hi Behrooz,

Did you follow the instructions on this post?

Best,
Armin

There was a discussion about phyton here. One idea could be to try not using the bat file.

Can you use the Python environment at all? Have you tried running a few commands there?

Hi Armin,

Yes, I use those instructions for creating the conda environment with the following code:

conda create -y -n py35_knime python=3.5 pandas jedi keras-gpu=2.1.6

I also tried python 3.6 and some other versions of keras-gpu.

Actually I tried to use python installation directly as well. KNIME detects the python installation in that case; but the problem was that I couldn’t find the right combination of versions of CUDA, cuDNN, tensorflow, and Keras that work compatibly.
None of the combinations I tried was able to successfully run the python code in the Simple CNN example workflow (for cats and dogs classification) in KNIME. It runs for the most of the code, but fails in the “training” step due to incompatible cuDNN version.
With conda environment however the problem is that Knime cannot detect the python installation and it crashes.

Hi @behrooz12,

This sounds like the conda environment itself can’t really be activated. Could you try to activate your py35_knime environment in conda prompt outside KNIME and also just run the bash script you created outside KNIME? Same effect?

Sorry for the trouble, we’ll figure it out :slight_smile:

Christian

1 Like

Hi Christian,

I just tested the conda environment outside KNIME (both in conda prompt and by executing the bash script) and it was activated successfully. But when I set it in KNIME again I see the blue screen of death.

Your help would be appreciated.

Behrooz

Hi @behrooz12,

oh, this is really new for me as well. Any chance you can provide the knime.log file in your workspace? Maybe we find something useful in there.

Sorry for the trouble,

Christian

There you go.

knime.log (1.1 MB)

As another effort, I just set the base Anaconda python installation in KNIME preferences and it detected the python installation. However, when I try to run a python code using one of the KNIME examples it shows me the following error:

ModuleNotFoundError: No module named ‘pandas.tslib’

This is shown while I had installed and tested the pandas package using:

conda install pandas

Have you checked if you are not using Pandas 0.24 since it is not supported yet

Will have a look at the log

2 Likes

Thank you, that was it. I downgraded pandas to 0.23 and tested a simple python code. It worked!

Yet I have issues running deep learning python codes with a tensorflow backend in Keras. It gives me an error stating that:
“Loaded runtime CuDNN library: 7.0.5 but source was compiled with 7.1.4”
Based on what I searched online, it should have to do with the installed version of Tensorflow. Currently I have Tensorflow-gpu 1.9.0 installed. Do you know which version should I replace it with?

1 Like

I do not know which package to use specifically. My experience is that if possible you should let Anaconda handle the version and compatibility since there are a lot of variants.

If possible I try to use anaconda. After I installed something new it might make sense to update your Anaconda environment. Sometimes anaconda might even suggest a downgrade of a package in oder to ensure compatibility. Also you can have several environments to keep track with the necessary versions.

conda update conda
condo update anaconda

are my goto commands along with:

conda info
conda list

We had a lengthy discussion about Python versions maybe you finde some ideas or hints. I have not (yet) wrote down everything I collected about KNIME and Python installation alongside each other.

1 Like

The problem is that cuDNN is not handled by conda.

Here you can read which versions of tensorflow are compatible. It seems you should just upgrade cuDNN to be able to run it. Otherwise try to downgrade one version one by one to see which version is compatible.

3 Likes

There seems to be an Anaconda variant that might be worth a try, tough my experience with GPU is limited.

https://anaconda.org/anaconda/cudnn

Thanks everyone for your helps. The issue is now resolved.
Here is what I did:
1- instead of creating a conda environment (which led to blue screen crash), I set the base anaconda python installation (version 3.6.6) in the KNIME python integration preferences.
2- After installing python via Anaconda 3.5.1, I used the following commands to update packages:

conda update conda

conda update anaconda

3- Following the updates I installed keras-gpu version 2.1.6 which automatically installs Tensorflow-gpu 1.12.0, CUDA 9.0.1, and cuDNN 7.3.1 using the following command:

conda install keras-gpu=2.1.6

4- Apparently cuDNN 7.3.1 is not compatible with the installed versions of CUDA and Tensorflow-gpu however. So the last thing you need to do is to downgrade the cuDNN version to 7.1.4 using the following command:

conda install cudnn=7.1.4

That’s it. I successfully ran the KNIME deep learning example “Generate_Fairy_Tales” after that on GPU.

6 Likes

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.