Notes on how to get KNIME to run our Keras stuff (Sept. 2017)

Disclaimer: this is more a ‘note to self’ than anything else.

  1. Download KNIME (without all the stuff) from www.knime.com
  2. Add the nightly build update site to it: http://update.knime.org/analytics-platform/nightly
  3. Add our workflow (which uses a bunch of KNIP and Python nodes — this will cause KNIME to ask you to install a bunch of extensions.
  4. Unfortunately KNIME will not know that we also need this one thing that enables images to be sent back and forth between ImgLib2 and numpy.
    1. Therefore go to ‘Help – Install new Software’ and look for ‘KNIME Image Processing — Python Extensions’ and ‘KNIME Python Scripting Extension’ which comes on ‘KNIME Community Contributions (nightly)’

Here, a list of all extensions that where installed in order to use python and Keras from within KNIME:

  • KNIME Image Processing (1.5.5.x)
  • KNIME Python Integration (Labs…) (3.4.2v…)
  • KNIME Image Processing — Python Extension (1.0.4v…)   // this I found on Stable Community Contributions update site
  • KNIME Deep Learning — Keras Integration (3.5.0v…)

And there is a funny bug at the moment: after you installed everything, Python nodes will only work correctly after a new Python node is pulled into the workflow. It can immediately be deleted again, but all old (existing) nodes will only work correctly after a new one was instantiated once. Hard to find, good to know! 😉

 

Good bye and thanks for all the fish,

Florian

Trouble saving KNIME workflow after >3 days without saving?

Recently we ran a very intense training procedure from within a KNIME workflow. The whole thing ran for roughly 4 days.

Finally terminated we ran into troubles saving the workflow, getting some ‘File access problems: /var/folders… etc. etc’ error dialog.

Turns out that Java cleans up its temp folder after 3 days or so (on MacOS at least). In doing so KNIME ended up having the open workflow being corrupted.

Way out: before starting such a monstrous run you might want to configure KNIME to use another temp folder… one that Java does not wipe out every now and then.

  • In KNIME open via menu: KNIME – Preferences
  • Then choose ‘KNIME’ on the left side, and
  • enter a folder name of your choice in the text field with the label ‘Directory for temporary files’.
  • Restart KNIME – done!