I’m trying to implement sentiment analysis through Deep learning on knime for my school project. I’m getting the following error regarding keras dataset:
ERROR Python Source 3:12:0:1 Execute failed: Traceback (most recent call last):
File “/Applications/KNIME 3.7.1.app/Contents/Eclipse/plugins/org.knime.python2_3.7.1.v201901281201/py/PythonKernelBase.py”, line 278, in execute
exec(source_code, self._exec_env, self._exec_env)
File “”, line 5, in
File “/anaconda3/lib/python3.7/site-packages/keras/datasets/imdb.py”, line 57, in load_data
File “/anaconda3/lib/python3.7/site-packages/keras/utils/data_utils.py”, line 182, in get_file
File “/anaconda3/lib/python3.7/os.py”, line 221, in makedirs
FileExistsError: [Errno 17] File exists: ‘/Users/akashysawant/.keras/datasets’
Please help rectify the error and suggest a link that would help me understand all the processes in the workflow.
I guess that you were using this Sentiment analysis workflow from the examples.
If so, could you try to rerun the workflow and if you get the same error, then go inside the
Read Data wrapped metanode and execute the
Python Source nodes one after another.
The problem could be a race condition of the
~/.keras/datasets creation, which is checked in the keras code, but the workflow executes two similar operations simultaneously and the code is not robust against it.
A side node, KNIME officially recommends to use
tensorflow 1.12 and
python 3.6 (see python installation guide and Deep learning installation guide), whereas it seems that you are using
python 3.7. The problem there is that this version of python was not supported up until the recent release
tensonflow 1.13.0rc1 see this comment on TF github. In order not to step into uncharted teritory and thus not to bump into new features, I would recommend to create a new python virtual environment that would be aligned with the KNIME guidelines.
@nemad could have more insights
Thank you Misha! That did resolve my problem. Additionally, can you suggest changes in parameters to improve accuracy or would I need to build another workflow with additional nodes?
I have not tried to improve accuracy in this example, so i can make only general suggestions.
The most common advise, when it comes to neural networks is “Get more data” . The second most popular advice is to increase network complexity or train longer. For this you can reuse the same workflow and just adjust the code in
DL Python Network creator or
Keras Network Learner, respectively. If you do not feel confident with python, there is a variant of the workflow, that uses KNIME nodes to define the network. In this case you can keep interacting with GUI
Optimisation of neural network performance is a very broad topic and each case needs some investigation around to understand what will work best.
I’m also trying to run the workflow and encounter the follwing error from the “Keras Network learner”
Cannot run program “C:\Users.condarc”:CreateProcess error=193, %1 ist keine zulässige Win32-Anwendung
does anybody have an idea what might be the problem?
many thanks in advance
could you check if python scripts in general in knime work, for example, you can try to run this workflow:
In addition, which KNIME version do you use and how do you configure python in KNIME?
i tested it on another python node i’ve got and this one is working.
the knime version is 3.7.2. I configured python in knime with a bat file (https://www.knime.com/blog/setting-up-the-knime-python-extension-revisited-for-python-30-and-20)
the origin of the problem seems to be different from the original question asked in the thread. To ease discovery of the problem and solution in the future, could you please create a new topic?
In addition to the original question, could you please also comment in the following topics in the new ticket:
- is it an option to update to KNIME 4.0? Then you could use the easier python configuration procedure that directly deals with conda environments instead of
- how does your python configuration
bat script looks like?
- what environments do you have in conda? (a screenshot from anaconda navigator or a dump of
conda env list would be useful)
- could you share a screenshot of your python preference page?
- I did not fully understand, did the provided example work as-is or not? There are python2 and python3 environments in KNIME and this script was configured to use python 3, same as Keras integration. Whereas if you tried another workflow that might have used python 2 and thus did not probe if the relevant python environment is configured correctly.
All that information will be very useful for us to debug further and understand how to help you.