Prise en main de l’accélération GPU pour ML dans WSL
Article
Le Machine Learning (ML) devient un élément clé de nombreux workflows de développement. Que vous soyez scientifique des données, ingénieur ML ou débutant votre parcours d’apprentissage avec ML, le Sous-système Windows pour Linux (WSL) offre un environnement idéal pour exécuter les outils DE ML accélérés par GPU les plus courants et les plus populaires.
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-docker-keyring.gpg] https://#g' | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
Installer les packages et les dépendances du runtime NVIDIA en exécutant les commandes :
Bash
sudo apt-get update
Bash
sudo apt-get install -y nvidia-docker2
Exécuter un conteneur et un exemple d’infrastructure Machine Learning.
Pour exécuter un conteneur d’infrastructure Machine Learning et commencer à utiliser votre GPU avec ce conteneur NVIDIA NGC TensorFlow, entrer la commande :
Bash
docker run --gpus all -it --shm-size=1g --ulimit memlock=-1 --ulimit stack=67108864 nvcr.io/nvidia/tensorflow:20.03-tf2-py3
Vous pouvez exécuter un exemple de modèle préentraîné intégré à ce conteneur en exécutant les commandes :
Configuration de TensorFlow-DirectML ou de PyTorch-DirectML
Téléchargez et installez le pilote le plus récent à partir du site web de vos fournisseurs GPU : AMD, Intel ou NVIDIA.
Configurer un environnement Python.
Nous vous recommandons de configurer un environnement Python virtuel. Il existe de nombreux outils que vous pouvez utiliser pour configurer un environnement Python virtuel. Dans le cadre de ces instructions, nous allons utiliser Miniconda d’Anaconda.
Installez l’infrastructure de Machine Learning soutenue par DirectML de votre choix.
TensorFlow-DirectML :
Bash
pip install tensorflow-directml
PyTorch-DirectML :
Bash
sudo apt install libblas3 libomp5 liblapack3
Bash
pip install pytorch-directml
Exécutez un exemple d’ajout rapide dans une session Python interactive pour TensorFlow-DirectML ou PyTorch-DirectML pour vous assurer que tout fonctionne.
Si vous avez plusieurs GPU sur votre ordinateur, vous pouvez également y accéder à l’intérieur de WSL. Toutefois, vous ne pourrez accéder qu’un par un. Pour choisir un GPU spécifique, définissez la variable d’environnement ci-dessous sur le nom de votre GPU tel qu’il apparaît dans le gestionnaire d’appareils :
Cela fera une correspondance de chaîne. Par conséquent, si vous la définissez sur « NVIDIA », elle correspondra au premier GPU qui commence par « NVIDIA ».
La source de ce contenu se trouve sur GitHub, où vous pouvez également créer et examiner les problèmes et les demandes de tirage. Pour plus d’informations, consultez notre guide du contributeur.
Commentaires sur Windows Subsystem for Linux
Windows Subsystem for Linux est un projet open source. Sélectionnez un lien pour fournir des commentaires :
Azure HPC est une fonctionnalité cloud conçue spécialement pour les charges de travail HPC et IA, qui utilise des processeurs de pointe et une interconnexion InfiniBand de classe HPC pour offrir les meilleures performances, scalabilité et valeur aux applications. Azure HPC permet aux utilisateurs de laisser libre cours à l’innovation, la productivité et l’agilité métier grâce à une gamme de technologies HPC et IA hautement disponibles qui peuvent être allouées dynamiquement à mesure que vos besoins technico
Gérer l’ingestion et la préparation des données, l’entraînement et le déploiement des modèles, ainsi que la surveillance des solutions d’apprentissage automatique avec Python, Azure Machine Learning et MLflow.