Ce référentiel fournit des exemples de Deep Learning de pointe, faciles à former et à déployer, permettant d'obtenir la meilleure précision et performances reproductibles avec la pile logicielle NVIDIA CUDA-X fonctionnant sur les GPU NVIDIA Volta, Turing et Ampere.
Ces exemples, ainsi que notre pile logicielle d'apprentissage en profondeur NVIDIA, sont fournis dans un conteneur Docker mis à jour mensuellement sur le registre de conteneurs NGC (https://ngc.nvidia.com). Ces conteneurs comprennent :
Modèles | Cadre | AMP | Multi-GPU | Multi-nœuds | TensorRT | ONNX | Triton | Contenu téléchargeable | N.-B. |
---|---|---|---|---|---|---|---|---|---|
EfficaceNet-B0 | PyTorch | Oui | Oui | - | Soutenu | - | Soutenu | Oui | - |
EfficaceNet-B4 | PyTorch | Oui | Oui | - | Soutenu | - | Soutenu | Oui | - |
EfficientNet-WideSE-B0 | PyTorch | Oui | Oui | - | Soutenu | - | Soutenu | Oui | - |
EfficientNet-WideSE-B4 | PyTorch | Oui | Oui | - | Soutenu | - | Soutenu | Oui | - |
EfficaceNet v1-B0 | TensorFlow2 | Oui | Oui | Oui | Exemple | - | Soutenu | Oui | - |
EfficaceNet v1-B4 | TensorFlow2 | Oui | Oui | Oui | Exemple | - | Soutenu | Oui | - |
EfficientNet v2-S | TensorFlow2 | Oui | Oui | Oui | Exemple | - | Soutenu | Oui | - |
GPUNet | PyTorch | Oui | Oui | - | Exemple | Oui | Exemple | Oui | - |
Masque R-CNN | PyTorch | Oui | Oui | - | Exemple | - | Soutenu | - | Oui |
Masque R-CNN | TensorFlow2 | Oui | Oui | - | Exemple | - | Soutenu | Oui | - |
nnUNet | PyTorch | Oui | Oui | - | Soutenu | - | Soutenu | Oui | - |
ResNet-50 | MXNet | Oui | Oui | - | Soutenu | - | Soutenu | - | - |
ResNet-50 | PagaiePagaie | Oui | Oui | - | Exemple | - | Soutenu | - | - |
ResNet-50 | PyTorch | Oui | Oui | - | Exemple | - | Exemple | Oui | - |
ResNet-50 | TensorFlow | Oui | Oui | - | Soutenu | - | Soutenu | Oui | - |
ResNeXt-101 | PyTorch | Oui | Oui | - | Exemple | - | Exemple | Oui | - |
ResNeXt-101 | TensorFlow | Oui | Oui | - | Soutenu | - | Soutenu | Oui | - |
SE-ResNeXt-101 | PyTorch | Oui | Oui | - | Exemple | - | Exemple | Oui | - |
SE-ResNeXt-101 | TensorFlow | Oui | Oui | - | Soutenu | - | Soutenu | Oui | - |
SSD | PyTorch | Oui | Oui | - | Soutenu | - | Soutenu | - | Oui |
SSD | TensorFlow | Oui | Oui | - | Soutenu | - | Soutenu | Oui | Oui |
U-Net Med | TensorFlow2 | Oui | Oui | - | Exemple | - | Soutenu | Oui | - |
Modèles | Cadre | AMP | Multi-GPU | Multi-nœuds | TensorRT | ONNX | Triton | Contenu téléchargeable | N.-B. |
---|---|---|---|---|---|---|---|---|---|
BERTE | PyTorch | Oui | Oui | Oui | Exemple | - | Exemple | Oui | - |
GNMT | PyTorch | Oui | Oui | - | Soutenu | - | Soutenu | - | - |
ÉLECTRE | TensorFlow2 | Oui | Oui | Oui | Soutenu | - | Soutenu | Oui | - |
BERTE | TensorFlow | Oui | Oui | Oui | Exemple | - | Exemple | Oui | Oui |
BERTE | TensorFlow2 | Oui | Oui | Oui | Soutenu | - | Soutenu | Oui | - |
GNMT | TensorFlow | Oui | Oui | - | Soutenu | - | Soutenu | - | - |
Transformateur plus rapide | Flux tensoriel | - | - | - | Exemple | - | Soutenu | - | - |
Modèles | Cadre | AMP | Multi-GPU | Multi-nœuds | ONNX | Triton | Contenu téléchargeable | N.-B. |
---|---|---|---|---|---|---|---|---|
DLRM | PyTorch | Oui | Oui | - | Oui | Exemple | Oui | Oui |
DLRM | TensorFlow2 | Oui | Oui | Oui | - | Soutenu | Oui | - |
FCN | PyTorch | Oui | Oui | - | - | Soutenu | - | - |
Large et profond | TensorFlow | Oui | Oui | - | - | Soutenu | Oui | - |
Large et profond | TensorFlow2 | Oui | Oui | - | - | Soutenu | Oui | - |
FCN | TensorFlow | Oui | Oui | - | - | Soutenu | Oui | - |
VAE-CF | TensorFlow | Oui | Oui | - | - | Soutenu | - | - |
Carte SIM | TensorFlow2 | Oui | Oui | - | - | Soutenu | Oui | - |
Modèles | Cadre | AMP | Multi-GPU | Multi-nœuds | TensorRT | ONNX | Triton | Contenu téléchargeable | N.-B. |
---|---|---|---|---|---|---|---|---|---|
Jaspe | PyTorch | Oui | Oui | - | Exemple | Oui | Exemple | Oui | Oui |
QuartzNet | PyTorch | Oui | Oui | - | Soutenu | - | Soutenu | Oui | - |
Modèles | Cadre | AMP | Multi-GPU | Multi-nœuds | TensorRT | ONNX | Triton | Contenu téléchargeable | N.-B. |
---|---|---|---|---|---|---|---|---|---|
Lancement rapide | PyTorch | Oui | Oui | - | Exemple | - | Exemple | Oui | Oui |
Discours rapide | PyTorch | Oui | Oui | - | Exemple | - | Soutenu | - | - |
Tacotron 2 et WaveGlow | PyTorch | Oui | Oui | - | Exemple | Oui | Exemple | Oui | - |
HiFi-GAN | PyTorch | Oui | Oui | - | Soutenu | - | Soutenu | Oui | - |
Modèles | Cadre | AMP | Multi-GPU | Multi-nœuds | ONNX | Triton | Contenu téléchargeable | N.-B. |
---|---|---|---|---|---|---|---|---|
SE(3)-Transformateur | PyTorch | Oui | Oui | - | - | Soutenu | - | - |
MoFlow | PyTorch | Oui | Oui | - | - | Soutenu | - | - |
Modèles | Cadre | AMP | Multi-GPU | Multi-nœuds | TensorRT | ONNX | Triton | Contenu téléchargeable | N.-B. |
---|---|---|---|---|---|---|---|---|---|
Transformateur de fusion temporelle | PyTorch | Oui | Oui | - | Exemple | Oui | Exemple | Oui | - |
Dans chacun des README du réseau, nous indiquons le niveau de support qui sera fourni. La gamme va des mises à jour et améliorations continues à une publication ponctuelle pour le leadership éclairé.
Formation multi-nœuds prise en charge sur un cluster Slurm pyxis/enroot.
Compilateur de Deep Learning (DLC) TensorFlow XLA et PyTorch JIT et/ou TorchScript
Algèbre linéaire accélérée (XLA) XLA est un compilateur spécifique à un domaine pour l'algèbre linéaire qui peut accélérer les modèles TensorFlow sans potentiellement aucune modification du code source. Les résultats sont des améliorations de la vitesse et de l’utilisation de la mémoire.
PyTorch JIT et/ou TorchScript TorchScript est un moyen de créer des modèles sérialisables et optimisables à partir du code PyTorch. TorchScript, une représentation intermédiaire d'un modèle PyTorch (sous-classe de nn.Module) qui peut ensuite être exécuté dans un environnement hautes performances tel que C++.
Précision mixte automatique (AMP) La précision mixte automatique (AMP) permet automatiquement un entraînement de précision mixte sur les architectures GPU Volta, Turing et NVIDIA Ampere.
TensorFloat-32 (TF32) TensorFloat-32 (TF32) est le nouveau mode mathématique des GPU NVIDIA A100 pour gérer les mathématiques matricielles également appelées opérations tensorielles. TF32 fonctionnant sur des cœurs Tensor dans les GPU A100 peut fournir des accélérations jusqu'à 10 fois par rapport aux mathématiques à virgule flottante simple précision (FP32) sur les GPU Volta. TF32 est pris en charge dans l'architecture GPU NVIDIA Ampere et est activé par défaut.
Jupyter Notebooks (NB) Jupyter Notebook est une application Web open source qui vous permet de créer et de partager des documents contenant du code en direct, des équations, des visualisations et du texte narratif.
Nous publions ces exemples sur GitHub pour mieux soutenir la communauté, faciliter les commentaires, ainsi que collecter et mettre en œuvre des contributions à l'aide des problèmes GitHub et des demandes d'extraction. Nous apprécions toutes les contributions !
Dans chacun des README du réseau, nous indiquons tous les problèmes connus et encourageons la communauté à nous faire part de ses commentaires.