DeepLearningExamples README

The project's README from github.com/NVIDIA/DeepLearningExamples. As one markdown file: README.md.

NVIDIA Deep Learning Examples for Tensor Cores

Introduction

This repository provides State-of-the-Art Deep Learning examples that are easy to train and deploy, achieving the best reproducible accuracy and performance with NVIDIA CUDA-X software stack running on NVIDIA Volta, Turing and Ampere GPUs.

NVIDIA GPU Cloud (NGC) Container Registry

These examples, along with our NVIDIA deep learning software stack, are provided in a monthly updated Docker container on the NGC container registry (https://ngc.nvidia.com). These containers include:

Computer Vision

Models Framework AMP Multi-GPU Multi-Node TensorRT ONNX Triton DLC NB
EfficientNet-B0 PyTorch Yes Yes - Supported - Supported Yes -
EfficientNet-B4 PyTorch Yes Yes - Supported - Supported Yes -
EfficientNet-WideSE-B0 PyTorch Yes Yes - Supported - Supported Yes -
EfficientNet-WideSE-B4 PyTorch Yes Yes - Supported - Supported Yes -
EfficientNet v1-B0 TensorFlow2 Yes Yes Yes Example - Supported Yes -
EfficientNet v1-B4 TensorFlow2 Yes Yes Yes Example - Supported Yes -
EfficientNet v2-S TensorFlow2 Yes Yes Yes Example - Supported Yes -
GPUNet PyTorch Yes Yes - Example Yes Example Yes -
Mask R-CNN PyTorch Yes Yes - Example - Supported - Yes
Mask R-CNN TensorFlow2 Yes Yes - Example - Supported Yes -
nnUNet PyTorch Yes Yes - Supported - Supported Yes -
ResNet-50 MXNet Yes Yes - Supported - Supported - -
ResNet-50 PaddlePaddle Yes Yes - Example - Supported - -
ResNet-50 PyTorch Yes Yes - Example - Example Yes -
ResNet-50 TensorFlow Yes Yes - Supported - Supported Yes -
ResNeXt-101 PyTorch Yes Yes - Example - Example Yes -
ResNeXt-101 TensorFlow Yes Yes - Supported - Supported Yes -
SE-ResNeXt-101 PyTorch Yes Yes - Example - Example Yes -
SE-ResNeXt-101 TensorFlow Yes Yes - Supported - Supported Yes -
SSD PyTorch Yes Yes - Supported - Supported - Yes
SSD TensorFlow Yes Yes - Supported - Supported Yes Yes
U-Net Med TensorFlow2 Yes Yes - Example - Supported Yes -

Natural Language Processing

Models Framework AMP Multi-GPU Multi-Node TensorRT ONNX Triton DLC NB
BERT PyTorch Yes Yes Yes Example - Example Yes -
GNMT PyTorch Yes Yes - Supported - Supported - -
ELECTRA TensorFlow2 Yes Yes Yes Supported - Supported Yes -
BERT TensorFlow Yes Yes Yes Example - Example Yes Yes
BERT TensorFlow2 Yes Yes Yes Supported - Supported Yes -
GNMT TensorFlow Yes Yes - Supported - Supported - -
Faster Transformer Tensorflow - - - Example - Supported - -

Recommender Systems

Models Framework AMP Multi-GPU Multi-Node ONNX Triton DLC NB
DLRM PyTorch Yes Yes - Yes Example Yes Yes
DLRM TensorFlow2 Yes Yes Yes - Supported Yes -
NCF PyTorch Yes Yes - - Supported - -
Wide&Deep TensorFlow Yes Yes - - Supported Yes -
Wide&Deep TensorFlow2 Yes Yes - - Supported Yes -
NCF TensorFlow Yes Yes - - Supported Yes -
VAE-CF TensorFlow Yes Yes - - Supported - -
SIM TensorFlow2 Yes Yes - - Supported Yes -

Speech to Text

Models Framework AMP Multi-GPU Multi-Node TensorRT ONNX Triton DLC NB
Jasper PyTorch Yes Yes - Example Yes Example Yes Yes
QuartzNet PyTorch Yes Yes - Supported - Supported Yes -

Text to Speech

Models Framework AMP Multi-GPU Multi-Node TensorRT ONNX Triton DLC NB
FastPitch PyTorch Yes Yes - Example - Example Yes Yes
FastSpeech PyTorch Yes Yes - Example - Supported - -
Tacotron 2 and WaveGlow PyTorch Yes Yes - Example Yes Example Yes -
HiFi-GAN PyTorch Yes Yes - Supported - Supported Yes -

Graph Neural Networks

Models Framework AMP Multi-GPU Multi-Node ONNX Triton DLC NB
SE(3)-Transformer PyTorch Yes Yes - - Supported - -
MoFlow PyTorch Yes Yes - - Supported - -

Time-Series Forecasting

Models Framework AMP Multi-GPU Multi-Node TensorRT ONNX Triton DLC NB
Temporal Fusion Transformer PyTorch Yes Yes - Example Yes Example Yes -

NVIDIA support

In each of the network READMEs, we indicate the level of support that will be provided. The range is from ongoing updates and improvements to a point-in-time release for thought leadership.

Glossary

Multinode Training Supported on a pyxis/enroot Slurm cluster.

Deep Learning Compiler (DLC) TensorFlow XLA and PyTorch JIT and/or TorchScript

Accelerated Linear Algebra (XLA) XLA is a domain-specific compiler for linear algebra that can accelerate TensorFlow models with potentially no source code changes. The results are improvements in speed and memory usage.

PyTorch JIT and/or TorchScript TorchScript is a way to create serializable and optimizable models from PyTorch code. TorchScript, an intermediate representation of a PyTorch model (subclass of nn.Module) that can then be run in a high-performance environment such as C++.

Automatic Mixed Precision (AMP) Automatic Mixed Precision (AMP) enables mixed precision training on Volta, Turing, and NVIDIA Ampere GPU architectures automatically.

TensorFloat-32 (TF32) TensorFloat-32 (TF32) is the new math mode in NVIDIA A100 GPUs for handling the matrix math also called tensor operations. TF32 running on Tensor Cores in A100 GPUs can provide up to 10x speedups compared to single-precision floating-point math (FP32) on Volta GPUs. TF32 is supported in the NVIDIA Ampere GPU architecture and is enabled by default.

Jupyter Notebooks (NB) The Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations and narrative text.

Feedback / Contributions

We're posting these examples on GitHub to better support the community, facilitate feedback, as well as collect and implement contributions using GitHub Issues and pull requests. We welcome all contributions!

Known issues

In each of the network READMEs, we indicate any known issues and encourage the community to provide feedback.

DeepLearningExamples (NVIDIA/DeepLearningExamples)

Searching Database…

Что это такое?Коллекция эталонных реализаций глубокого обучения от NVIDIA, соответствующих современному уровню, для компьютерного зрения, NLP, рекомендательных систем, распознавания и синтеза речи и других задач. Они настроены на воспроизводимую точность и производительность на видеокартах NVIDIA с Tensor Core.
Это одна библиотека или набор отдельных проектов с моделями?Это каталог множества независимых реализаций моделей (ResNet, BERT, DLRM, Tacotron 2 и др.). Каждая из них находится в своей папке со своим README. Реализации охватывают PyTorch, TensorFlow, TensorFlow2, MXNet и PaddlePaddle.
Как мне на самом деле запустить один из этих примеров?Откройте README нужной модели и следуйте его инструкциям или загрузите ежемесячно обновляемый Docker-контейнер из реестра NGC. В нём примеры поставляются вместе с полным набором оптимизированного программного обеспечения.
Нужна ли мне конкретная видеокарта NVIDIA, чтобы ими пользоваться?Да, примеры собраны и настроены под видеокарты NVIDIA архитектур Volta, Turing и Ampere, чтобы использовать Tensor Core, AMP и TF32.
Все ли модели одинаково готовы к продакшену и поддерживаются?Нет, уровень поддержки различается для каждой модели и функции. У одних есть полный статус «Supported» для TensorRT/Triton, а другие имеют только статус «Example». Обучение на нескольких узлах доступно лишь для нескольких моделей. Уровень поддержки каждой модели указан в её README.
Что такое контейнер NGC, упомянутый в README?Это ежемесячно обновляемый Docker-образ из NVIDIA GPU Cloud. Он включает эти примеры вместе с вкладом NVIDIA в основные фреймворки и оптимизированными библиотеками, такими как cuDNN, NCCL и cuBLAS. Все они проверены на производительность.
Что означают AMP и TF32 для этих моделей?AMP (Automatic Mixed Precision) и TF32 — это режимы точности на видеокартах Volta, Turing и Ampere, которые ускоряют обучение. TF32 может дать до 10-кратного прироста по сравнению с FP32 на Volta. Изменения в коде почти не требуются, а эти режимы включены в большинстве перечисленных моделей.
Какие задачи охватывают эти примеры?Компьютерное зрение (классификация, обнаружение, сегментация), NLP (BERT, GNMT, ELECTRA), рекомендательные системы (DLRM, NCF, Wide&Deep), распознавание речи (Jasper, QuartzNet), синтез речи (Tacotron 2, HiFi-GAN), графовые нейронные сети и прогнозирование временных рядов (Temporal Fusion Transformer).
Все ли модели в репозитории регулярно обновляются?Не обязательно. В README каждой модели указан свой уровень поддержки: от постоянных обновлений и улучшений до разового релиза «point-in-time», который в основном предназначен для демонстрации идей и экспертизы.
Creator
NVIDIA
Size
106.2 MB
Stars
14.9K
Updated
CommitApr 04
Age
8y
Commits · 90 Days