Now a 3rd option for Keras - CNTK

I see that now Microsoft CNTK supports Keras! So we have yet a 3rd option under the Keras framework. It will be interesting to find out the advantages/disadvantages of each of the 3 backends under Keras.

Now the obvious question - channels first or channels last? :wink: It looks like CNTK uses channels last!

Here is the link: https://docs.microsoft.com/en-us/cognitive-toolkit/Using-CNTK-with-Keras

4 Likes

MXNet and R also have interfaces with Keras now:

MXNet: https://github.com/dmlc/keras

R: https://rstudio.github.io/keras/

Happy to see Keras being so widely adopted :slight_smile:

4 Likes

Some more links on R and keras:

Sources on Github

Tutorial

Blog post on Medium

Another tutorial on AnalyticsVidhya

Funny - not having good options for Deep Learning in R was the motivation for me to learn python.
I now like this development, because depending on the domain you are working in you might find other packages or libraries in each respective language to readily support your project.

Did anyone get this to work yet?
I can import keras with cntk backend in the python shell, but not from a jupyter notebook. I get
ModuleNotFoundError: No module named ‘cntk’

I got CNTK 2.2 to work without issue on my Ubuntu 16.04 machine, but could not get it to work with Windows 7. In fact, Microsoft says they do not recommend usage with Win7 and they did not test it on that platform.

For Ubuntu, I followed the instructions for a PIP install with an environment (GPU version): https://docs.microsoft.com/en-us/cognitive-toolkit/setup-linux-python?tabs=cntkpy22

It works great with Jupyter notebooks too, but I have not tried it with Keras yet. There is a new MOOC that introduces CNTK with Jupyter notebooks, and I was surprised at how similar some of the CNTK API is to Keras - right down to the functional and sequential models.

If you want to see for yourself, here is the MOOC: https://www.edx.org/course/deep-learning-explained-microsoft-dat236x-0 - You can audit it for free.

Once you’ve taken Jeremy’s MOOC, you will breeze right through this one - it is very basic and Jeremy has already covered it all and in much greater depth. But the Jupyter notebooks are a good, basic introduction to CNTK.

Thanks! I’ll check that out. For the record, I was trying to get it to work on Windows 10, but it is becoming increasingly clear that I need to build a new Linux deep learning box :slight_smile:

1 Like