Get Started With Deep Learning In Four Steps

Researchers and data scientists use deep learning to solve some of the world's most complex challenges. Whether it's vehicle, landmark, and pedestrian identification in autonomous cars, speech recognition and natural language processing in any number of applications, image recognition for health care and other industries, or any of hundreds of other use cases, deep learning is powering AI innovation.
iStock


It's clear that deep learning is a burgeoning field. And if this sort of data driven problem solving is interesting to you, it might be worth considering as a career or hobby that helps change the world for the better. But how do you get started? There are four steps to get yourself on the path to becoming a proficient user of deep learning tools and techniques:
  1. Take a deep learning course
Because of the recent growth of deep learning, there are now hundreds of online courses, videos, blogs, podcasts, and much more to help you get started.
Here are a few beginner level courses to consider (the MIT course and many of the NVIDIA Deep Learning Institute courses are free!):
  1. Decide which deep learning frameworks you want to learn and use
Once you have a good understanding of how deep learning works, you’ll need to choose a deep learning framework to learn. You can think of the deep learning framework as the toolset or application you use to solve a deep learning problem. There are many frameworks to choose from (TensorFlow, PyTorch, Theano, MXNet, etc.), each with their own strengths, so you’ll want to do some research and determine which one is best for the problem you’re trying to solve. You might even try a few different ones to determine which works best for you.
TensorFlow is currently the most popular deep learning framework, mainly because of its well documented APIs and computational graph visualizations in TensorBoard. TensorFlow is flexible in that it goes from research to production fairly well.
Other choices include:
Apache MXNet – Has many contributors, most notably Amazon. It is a flexibly programmable framework for deep learning at scale. MXNet Supports many languages, and imperative and declarative programming. It also supports Open Neural Network Exchange Format (ONNX), an open ecosystem for interchangeable AI models.
Caffe 2 –  Modular and extensible, Caffe 2 was created by Facebook as a follow-on to the popular BVLC Caffe framework. Caffe 2 delivers cross-platform capability and high performance for product use cases and supports ONNX.
Chainer – Created by Preferred Networks, Chainer is known for being the first framework to support dynamic computation graphs. It has made great milestones in distributed learning benchmarks and is popular for robotics.
Microsoft Cognitive Toolkit (CNTK) – Built for speech recognition, supports ONNX.
PyTorch – Developed by Facebook Research, PyTorch is gaining popularity in the research community and is known for its dynamic neural networks and imperative programming. It also supports ONNX.
  1. Decide where you want to run the frameworks
If you have a Linux PC and a modern GPU, that is a good place to get started. You don’t necessarily need a top of the line GPU to experiment with deep learning, many of the frameworks can utilize consumer graphics cards intended for gaming for their GPU acceleration. But as you progress in your understanding of deep learning, and as the scale of your projects and the data you are processing increases, you’ll likely want to move on to more powerful systems with GPUs designed specifically for AI. Another option is to look at GPU-enabled cloud instances on Amazon EC2 or other cloud providers. With these services you pay by the hour, but it’s a great way to get going immediately if you don’t have the right hardware available.
  1. Download the frameworks and get them running
This can be a little more difficult than it might seem since the frameworks have dependencies on hardware, drivers, and operating system versions. You’ll need to find the versions of the frameworks that work with the hardware or cloud service you’re using, do any operating system installations or updates that might be needed, and install the required drivers. And, unfortunately, many of the frameworks’ requirements conflict with one another, so it becomes challenging if you want to use more than one framework on the same system.
A way to make this all much easier is to use deep learning frameworks that have been deployed into Docker containers. This way, each framework has everything it needs to run in its own isolated environment, and the containers won’t conflict with anything else on your system. You can create these containers yourself, but it is quite a bit of work and you’ll need to update the containers each time a framework is updated (which happens frequently).
Another way to use containerized frameworks is to download them from a service that pre-integrates all of the required components, tests them, and keeps them up to date. NVIDIA GPU Cloud (NGC) has a library of the popular deep learning frameworks in ready-to-run containers that you can download at no charge and use on your own PC with an NVIDIA GPU such as an NVIDIA TITAN V, or on cloud compute platforms such as Amazon EC2 P3 instances with NVIDIA Volta. It’s a great way to get started with deep learning without spending days or weeks finding the right software components and installing everything yourself from scratch.
Getting started with deep learning can be a lot of work, but it can be easier if you know the right tricks. The above information should help you along the way. Good luck!

No comments:

Powered by Blogger.