NGC and Deep Learning frameworks
The NVIDIA GPU Cloud
The NVIDIA GPU Cloud (NGC) provides researchers and data scientists with simple access to a comprehensive catalogue of GPU-optimised software tools for deep learning and high performance computing (HPC) that take full advantage of NVIDIA GPUs. The NGC container registry features NVIDIA tuned, tested, certified, and maintained containers for the top deep learning frameworks. It also offers third-party managed HPC application containers, NVIDIA HPC visualisation containers, and partner applications.
Performance-Engineered Deep Learning Containers
NGC empowers AI researchers with GPU-accelerated deep learning containers for TensorFlow, PyTorch, MXNet, TensorRT and more. The ready-to-run containers include the deep learning software, NVIDIA CUDA Toolkit, NVIDIA deep learning libraries, and an operating system, and NVIDIA optimizes the complete software stack to take maximum advantage of NVIDIA Volta or Pascal-powered GPUs. The containers are tuned, tested, and certified by NVIDIA to run on select NVIDIA TITAN and NVIDIA Quadro GPUs, NVIDIA DGX Systems, and supported NVIDIA GPUs on Amazon EC2, Google Cloud Platform, Microsoft Azure, and Oracle Cloud Infrastructure.
Access from Anywhere
The catalogue of NVIDIA optimized deep learning software containers is available to everyone—at no cost—for use across supported platforms, from the desktop, to the datacentre, to the cloud. Containerised software allows for portability of deep learning jobs across environments, reducing the overhead typically required to scale AI workloads. Developers and data scientists experimenting on an NVIDIA DGX Station or a PC with an NVIDIA Volta or NVIDIA Pascal-powered TITAN GPU, enterprises with NVIDIA DGX-1 in the datacentre, and organizations using NVIDIA GPUs in the cloud now have access to a consistent, optimized set of tools. This means users can spend less time on IT and more time experimenting, gaining insights, and driving results with deep learning.
Innovation for Every Industry
Data scientists and researchers can quickly tap into the power of NVIDIA AI with the world’s fastest GPU architecture and optimised deep learning software containers. It’s a powerful tool for tackling some of the most complex problems facing humankind. Providing early detection and finding cures for infectious diseases. Finding imperfections in critical infrastructure. Delivering deep business insights from large-scale data. Even reducing traffic fatalities. Every industry, from automotive and healthcare to fintech is being transformed by NVIDIA AI.Find out more
Deep Learning Frameworks
While it’s entirely possible to write / code your own Deep Learning training and deployment system from scratch, it’s worth considering some of the other options out there; one option is to use NVIDIA’s cuDNN library in your own code. cuDNN is freely available to registered developers, and is optimised to an extreme level to run as fast as possible on NVIDIA GPUs by the people who make those GPUs. Another option is to use one of a number of Deep Learning frameworks.
Deep Learning frameworks are systems for the designing, training and deployment of Deep Learning networks which provide the flexibility to design and adapt the network to your specific task, frameworks for Deep Learning allow you to hit the ground running, to prototype and test ideas and applications without the considerable overhead of writing significant amounts of your own code. Whether using a 3XS Developmnet box or NVIDIA DGX hardware frameworks are offered containerised either pre-installed on the hardware or available from the NVIDIA GPU Cloud (NGC).
|Deep Learning Frameworks|
|Caffe2||Caffe2 is a deep-learning framework designed to easily express all model types, for example, CNN, RNN, and more, in a friendly python-based API, and execute them using a highly efficiently C++ and CUDA back-end. Users have flexibility to assemble their model using combinations of high-level and expressive operations in python allowing for easy visualisation, or serialising the created model and directly using the underlying C++ implementation. Caffe2 supports single and multi-GPU execution, along with support for multi-node excetion.|
|Microsoft Cognitive Toolkit||The Microsoft Cognitive Toolkit, formerly known as CNTK, is a unified deep-learning toolkit that describes neural networks as a series of computational steps via a directed graph. In this directed graph, leaf nodes represent input values or network parameters, while other nodes represent matrix operations upon their inputs.|
|MATLAB||MATLAB makes deep learning easy for engineers, scientists and domain experts. With tools and functions for managing and labeling large data sets, MATLAB also offers specialised toolboxes for working with machine learning, neural networks, computer vision, and automated driving. With just a few lines of code, MATLAB lets you create and visualise models, and deploy models to servers and embedded devices without being an expert. MATLAB also enables users to generate high-performance CUDA code for deep learning and vision applications automatically from MATLAB code.|
|MXNet||MXNet is a deep learning framework designed for both effiency and flexibility. It allows you to mix the flavors of symbolic programming and imperative programming to maximise efficiency and productivity.
In its core is a dynamic dependency scheduler that automatically parallelises both symbolic and imperative operations on the fly. A graph optimisation layer on top of that makes symbolic execution fast and memory efficient. The library is portable and lightweight, and it scales to multiple GPUs and multiple machines.
|NVIDIA Caffe||Caffe is developed by the Berkeley Vision and Learning Center (BVLC) and by community contributors. NVIDIA Caffe, also known as NVCaffe, is a NVIDIA-Maintained fork of BVLC Caffe tuned for NVIDIA GPUs, particularly in multi-GPU configurations.|
|PyTorch||PyTorch is a Python package that provides two high-level features: Tensor computation (like numph) with strong GPU acceleration. Deep Neural Networks built on a tape-based autograd system. You can reuse your favorite Python packages such as numphy, scipy and Cython to extend PyTorch when needed.|
|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 arays (tensors) that flow between them. This flexible architecture lets you deploy computation to one or more CPUs or GPUs in a desktop, server, or mobile device without rewriting code. For visualising TensorFlow offers TensorBoard, suite of visualisation tools.|
|Chainer||Chainer is a Python-based deep learningframework aiming at flexibility. It provides automatic differentiation APIs based on the define-by-run approach, also known as dynamic computational graphs, as well as object-oriented high-level APIs to build a train neural netwoks. It supports CUDA and cuDNN using CuPy for high performance training and inference.|