PyTorch est une bibliothèque d'apprentissage automatique open source reposant sur la bibliothèque Torch, utilisée pour des applications telles que la vision par ordinateur et le traitement du langage naturel. Il s'agit d'un logiciel open source et gratuit distribué sous la licence BSD modifiée.

Vous pouvez utiliser PyTorch pour implémenter un détecteur d'objets basé sur You Only Look Once (YOLO) v3. YOLO est un algorithme de détection d'objets qui utilise des fonctionnalités apprises par un réseau neuronal convolutif.

Installer YOLO

YOLO est une implémentation minimale de PyTorch, avec une prise en charge de la formation, de l'inférence et de l'évaluation. PyTorch est une bibliothèque d'apprentissage automatique (ML) que vous pouvez utiliser avec vSphere Bitfusion. Les tests YOLO sont des applications d'apprentissage automatique open source conçues pour tester les performances de votre déploiement vSphere Bitfusion.

La procédure s'applique à Ubuntu 20.04, CentOS 8 et Red Hat Linux 8.

Conditions préalables

  • Vérifiez que vous avez installé un client vSphere Bitfusion.
  • Vérifiez que vous avez installé NVIDIA CUDA et NVIDIA cuDNN sur votre système d'exploitation Linux.
  • Vérifiez que votre machine virtuelle dispose d'au moins 150 Go d'espace libre.

Procédure

  1. Créez un dossier bitfusion et accédez-y.
    mkdir -p ~/bitfusion
    cd ~/bitfusion
  2. Installez des ressources supplémentaires pour un système d'exploitation Ubuntu Linux.
    1. Téléchargez les informations de module à partir de toutes vos sources configurées.
      sudo apt update
    2. Installez zip.
      sudo apt install -y zip
    3. Installez les ressources de test Python.
      sudo apt install -y python3-testresources
    4. Installez le module libgl1-mesa-glx.
      sudo apt install -y libgl1-mesa-glx
  3. Installez git.
    • Ubuntu 20.04
      sudo apt install -y git
    • CentOS 8 et Red Hat Linux 8
      sudo yum install -y git
  4. Installez pip3 en exécutant la séquence de commandes pour votre distribution et votre version Linux.
    • Ubuntu 20.04
      sudo apt install -y python3-pip
    • CentOS 8 et Red Hat Linux 8
      sudo yum install -y python36-devel
      sudo pip3 install -U pip setuptools
  5. Installez YOLO et les tests YOLO.
    1. Téléchargez le référentiel YOLO à l'aide de la commande git clone.
      git clone https://github.com/eriklindernoren/PyTorch-YOLOv3
    2. Accédez au dossier weights.
      cd PyTorch-YOLOv3/weights
    3. Exécutez le script du programme d'installation download_weights.sh.
      bash download_weights.sh
    4. Accédez au dossier de données.
      cd ../data
    5. Exécutez le script du programme d'installation get_coco_dataset.sh.
      bash get_coco_dataset.sh
    6. Accédez au dossier principal en exécutant la commande cd ...
    7. Installez et utilisez Poetry pour terminer le processus d'installation de YOLO.
      Poetry est un outil de gestion des dépendances et de création de packages dans Python.
      pip3 install poetry --user
      export PATH=~/.local/bin:$PATH
      poetry install

Exécuter des tests YOLO

En exécutant les tests YOLO, vous pouvez vérifier les performances des charges de travail ML dans votre environnement vSphere Bitfusion.

Conditions préalables

  • Vérifiez que vous avez installé un client vSphere Bitfusion.
  • Vérifiez que vous avez installé CUDA et cuDNN sur votre distribution Linux.
  • Vérifiez que vous avez installé YOLO et les scripts de test YOLO.

Procédure

  1. Accédez au dossier cd PyTorch-YOLOv3.
  2. (Facultatif) Vérifiez que vous avez correctement installé YOLO.
    1. Exécutez un test YOLO à l'aide des CPU de la machine virtuelle de votre client vSphere Bitfusion.
      poetry run yolo-test --weights weights/yolov3.weights
    2. Une fois que YOLO a démarré, appuyez sur Contrôle + C sur votre clavier pour annuler le processus de test.
      Les tests YOLO qui utilisent la puissance de calcul du CPU prennent beaucoup de temps.
  3. Pour exécuter le script de test yolov3.weights à l'aide de GPU, utilisez la commande bitfusion run.
    En exécutant la commande suivante, vous utilisez toute la mémoire d'un seul GPU.
    bitfusion run -n 1 -- poetry run yolo-test --weights weights/yolov3.weights

Résultats

Vous pouvez désormais exécuter des tests YOLO dans vSphere Bitfusion avec des GPU partagés à partir d'un serveur distant. Les tests vous aident à comprendre comment utiliser YOLO dans le cadre de l'apprentissage automatique.