Keras vs PyTorch vs scikit-learn

Keras

714
687
+ 1
12
PyTorch

630
668
+ 1
18
scikit-learn

684
673
+ 1
29
Advice on Keras, PyTorch, and scikit-learn
Adithya Shetty
Student at PES UNIVERSITY · | 5 upvotes · 39.8K views
Needs advice
on
TensorFlow
PyTorch
and
Keras

I have just started learning some basic machine learning concepts. So which of the following frameworks is better to use: Keras / TensorFlow/PyTorch. I have prior knowledge in python(and even pandas), java, js and C. It would be nice if something could point out the advantages of one over the other especially in terms of resources, documentation and flexibility. Also, could someone tell me where to find the right resources or tutorials for the above frameworks? Thanks in advance, hope you are doing well!!

See more
Pros of Keras
Pros of PyTorch
Pros of scikit-learn

Sign up to add or upvote prosMake informed product decisions

Cons of Keras
Cons of PyTorch
Cons of scikit-learn

Sign up to add or upvote consMake informed product decisions

What is Keras?

Deep Learning library for Python. Convnets, recurrent neural networks, and more. Runs on TensorFlow or Theano. https://keras.io/

What is PyTorch?

PyTorch is not a Python binding into a monolothic C++ framework. It is built to be deeply integrated into Python. You can use it naturally like you would use numpy / scipy / scikit-learn etc.

What is scikit-learn?

scikit-learn is a Python module for machine learning built on top of SciPy and distributed under the 3-Clause BSD license.
What companies use Keras?
What companies use PyTorch?
What companies use scikit-learn?

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with Keras?
What tools integrate with PyTorch?
What tools integrate with scikit-learn?

Sign up to get full access to all the tool integrationsMake informed product decisions

Blog Posts

What are some alternatives to Keras, PyTorch, and scikit-learn?
TensorFlow
TensorFlow is an open source software library for numerical computation using data flow graphs. Nodes in the graph represent mathematical operations, while the graph edges represent the multidimensional data arrays (tensors) communicated between them. The flexible architecture allows you to deploy computation to one or more CPUs or GPUs in a desktop, server, or mobile device with a single API.
MXNet
A deep learning framework designed for both efficiency and flexibility. It allows you to mix symbolic and imperative programming to maximize efficiency and productivity. At its core, it contains a dynamic dependency scheduler that automatically parallelizes both symbolic and imperative operations on the fly.
CUDA
A parallel computing platform and application programming interface model,it enables developers to speed up compute-intensive applications by harnessing the power of GPUs for the parallelizable part of the computation.
ML Kit
ML Kit brings Google’s machine learning expertise to mobile developers in a powerful and easy-to-use package.
TensorFlow.js
Use flexible and intuitive APIs to build and train models from scratch using the low-level JavaScript linear algebra library or the high-level layers API
See all alternatives
Interest over time
News about Keras
More news
News about PyTorch
More news