Overview
Torch is an open source machine learning library and a scientific computing framework based on the Lua programming language. It provides a development environment for numerics, machine learning, and computer vision, with a particular emphasis on deep learning and convolutional nets. It is one of the fastest and most flexible frameworks for Machine and Deep Learning and is used by companies such as Facebook, Google, Twitter, NVIDIA, AMD, Intel, and many others.
In this instructor-led, live training, we cover the principles of Torch, its unique features, and how it can be applied in real-world applications. We step through numerous hands-on exercises all throughout, demonstrating and practicing the concepts learned.
By the end of the course, participants will have a thorough understanding of Torch’s underlying features and capabilities as well as its role and contribution within the AI space compared to other frameworks and libraries. Participants will have also received the necessary practice to implement Torch in their own projects.
Format of the Course
- Overview of Machine and Deep Learning
- In-class coding and integration exercises
- Test questions sprinkled along the way to check understanding
Requirements
- Programming experience in any language.
- A general familiarity with C/C++ helps.
- An interest in Artificial Intelligence (AI).
Audience
- Software developers and programmers wishing to enable Machine and Deep Learning within their applications
Course Outline
Introduction to Torch
- Like NumPy but with CPU and GPU implementation
- Torch’s usage in machine learning, computer vision, signal processing, parallel processing, image, video, audio and networking
Installing Torch
- Linux, Windows, Mac
- Bitmapi and Docker
Installing Torch Packages
- Using the LuaRocks package manager
Choosing an IDE for Torch
- ZeroBrane Studio
- Eclipse plugin for Lua
Working with the Lua Scripting Language and LuaJIT
- Lua’s integration with C/C++
- Lua syntax: datatypes, loops and conditionals, functions, functions, tables, and file i/o.
- Object orientation and serialization in Torch
- Coding exercise
Loading a Dataset in Torch
- MNIST
- CIFAR-10, CIFAR-100
- Imagenet
Machine Learning in Torch
- Deep Learning
- Manual feature extraction vs convolutional networks
- Supervised and Unsupervised Learning
- Building a neural network with Torch
- N-dimensional arrays
Image Analysis with Torch
- Image package
- The Tensor library
Working with the REPL Interpreter
Working with Databases
Networking and Torch
GPU Support in Torch
Integrating Torch
- C, Python, and others
Embedding Torch
- iOS and Android
Other Frameworks and Libraries
- Facebook’s optimized deep-learning modules and containers
Creating Your Own Package
Testing and Debugging
Releasing Your Application
The Future of AI and Torch
Summary and Conclusion