Deep Learning Frameworks

From HPCWIKI
Jump to navigation Jump to search

There have been many Deep Learning (DL) frameworks, like Theano, CNTK, Caffe2, and MXNet. Nowadays, some of them appear to be dead or dying, as just two frameworks heavily dominate the DL scene: Google TensorFlow (TF) and PyTorch from Meta aka FaceBook.

However, there is no reason to believe such a duopoly will persist forever. Cause new DL frameworks are proposed here and there. So it is hard to say which DL framework will be popular in ten years later..., for example, Google has at least two (perhaps more) competing AI teams: Google Brain and DeepMind. Even in the TensorFlow era, DeepMind used their own layer API called Sonnet (instead of the usual Keras)


As of March'23, someone[1] said that TensorFlow and PyTorch like a wooden bear and teddy bear. There is so much love in teddy bears. PyTorch has logical components that perfectly fit together to form a product.

Popular Deep Learning Framework

Framework Issue HPCMATE custom build[2] Developer Status as of 2023 Language GPU Support Distributed Computing Auto-differentiation Pre-trained models Visualization Deployment
TensorFlow Yes Google Python Yes Yes Yes Yes Yes Yes
PyTorch PyTorch issue list[3] Yes Facebook
  • Pytorch version 2.0[4] released as of 12/2/22
  • Facebook use PyTorch to train the model and Caffe2 to deploy it[5]
  • Caffe2 has been merged into PyTorch as of Apr'2018 [6]
Python Yes Yes Yes Yes Yes Yes
Keras NA Google Merged into TensorFlow Python Yes Yes Yes Yes Yes Yes
MXNet NA Apache Since late 2022 the code development has mostly halted and community engagement slowed[7] Multiple Yes Yes Yes Yes Yes Yes
Caffe NA Berkeley AI Research Caffe2 is built on Caffe and is merged into Meta’s PyTorch

Yahoo has also integrated Caffe with Apache Spark to create CaffeOnSpark, which brings deep learning to Hadoop and Spark clusters

C++ Yes No Yes Yes No Yes
Theano NA Université de Montréal Theano is dead now but the other open-source deep libraries which are built on top of Theano are still functioning; these include Keras, Lasagne, and Blocks Python Yes No Yes Yes No No
CNTK NA CNTK is no longer actively developed, latest version is 2.7 which works with Python 3.6[8]

Reference

<references/>