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.
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.
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?
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.
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:
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?
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.
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.
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.