PyTorch ist eine Open Source-Bibliothek für maschinelles Lernen, die auf der Torch-Bibliothek basiert und für Anwendungen wie maschinelles Sehen und die Verarbeitung natürlicher Sprache verwendet wird. Es handelt sich um kostenlose Open Source-Software, die unter der geänderten BSD-Lizenz veröffentlicht wird.

Mithilfe von PyTorch können Sie einen Objektdetektor basierend auf YOLO (You Only Look Once) v3 implementieren. YOLO ist ein Objektdetektor, der von einem faltenden neuronalen Netzwerk (Convolutional Neural Network, CNN) zum Erkennen eines Objekts verwendet wird.

Installieren von YOLO

Bei YOLO handelt es sich um eine minimale PyTorch-Implementierung mit Unterstützung für Training, Inferenz und Evaluierung. PyTorch ist eine ML-Bibliothek (Maschinelles Lernen), die Sie mit vSphere Bitfusion verwenden können. Bei den YOLO-Tests handelt es sich um Open Source-ML-Anwendungen, die zum Testen der Leistung Ihrer vSphere Bitfusion-Bereitstellung entworfen wurden.

Das Verfahren gilt für Ubuntu 20.04, CentOS 8 und Red Hat Linux 8.

Voraussetzungen

  • Stellen Sie sicher, dass ein vSphere Bitfusion-Client installiert ist.
  • Stellen Sie sicher, dass NVIDIA CUDA und NVIDIA cuDNN auf Ihrem Linux-Betriebssystem installiert sind.
  • Stellen Sie sicher, dass Ihre virtuelle Maschine über mindestens 150 GB freien Speicherplatz verfügt.

Prozedur

  1. Erstellen Sie einen Ordner mit dem Namen bitfusion und navigieren Sie zum Ordner.
    mkdir -p ~/bitfusion
    cd ~/bitfusion
  2. Installieren Sie zusätzliche Ressourcen für ein Ubuntu Linux-Betriebssystem.
    1. Laden Sie Paketinformationen aus allen konfigurierten Quellen herunter.
      sudo apt update
    2. Installieren Sie zip.
      sudo apt install -y zip
    3. Installieren Sie Python-Testressourcen.
      sudo apt install -y python3-testresources
    4. Installieren Sie das Paket libgl1-mesa-glx.
      sudo apt install -y libgl1-mesa-glx
  3. Installieren Sie git.
    • Ubuntu 20.04
      sudo apt install -y git
    • CentOS 8 und Red Hat Linux 8
      sudo yum install -y git
  4. Installieren Sie pip3, indem Sie die Befehlsfolge für Ihre Linux-Distribution und -Version ausführen.
    • Ubuntu 20.04
      sudo apt install -y python3-pip
    • CentOS 8 und Red Hat Linux 8
      sudo yum install -y python36-devel
      sudo pip3 install -U pip setuptools
  5. Installieren Sie YOLO und YOLO-Tests.
    1. Laden Sie das YOLO-Repository mit dem Befehl git clone herunter.
      git clone https://github.com/eriklindernoren/PyTorch-YOLOv3
    2. Navigieren Sie zum Ordner weights.
      cd PyTorch-YOLOv3/weights
    3. Führen Sie das Installationsskript download_weights.sh aus.
      bash download_weights.sh
    4. Navigieren Sie zum Datenordner.
      cd ../data
    5. Führen Sie das Installationsskript get_coco_dataset.sh aus.
      bash get_coco_dataset.sh
    6. Navigieren Sie zum Hauptordner, indem Sie den Befehl cd .. ausführen.
    7. Installieren und verwenden Sie Poetry, um die YOLO-Installation abzuschließen.
      Poetry ist ein Tool für die Verwaltung von Abhängigkeiten und die Erstellung von Paketen in Python.
      pip3 install poetry --user
      export PATH=~/.local/bin:$PATH
      poetry install

Ausführen von YOLO-Tests

Indem Sie die YOLO-Tests ausführen, können Sie die Leistung von ML-Arbeitslasten in Ihrer vSphere Bitfusion-Umgebung überprüfen.

Voraussetzungen

  • Stellen Sie sicher, dass ein vSphere Bitfusion-Client installiert ist.
  • Stellen Sie sicher, dass CUDA und cuDNN auf Ihrer Linux-Distribution installiert sind.
  • Stellen Sie sicher, dass YOLO und YOLO-Testskripts installiert sind.

Prozedur

  1. Navigieren Sie zum Ordner cd PyTorch-YOLOv3.
  2. (Optional) Stellen Sie sicher, dass YOLO erfolgreich installiert wurde.
    1. Führen Sie einen YOLO-Test mithilfe der CPUs der virtuellen Maschine Ihres vSphere Bitfusion-Clients aus.
      poetry run yolo-test --weights weights/yolov3.weights
    2. Drücken Sie nach dem Start von YOLO die Tastenkombination Strg + C, um den Testvorgang abzubrechen.
      YOLO-Tests, die CPU-Rechenleistung verwenden, dauern sehr lange.
  3. Zur Ausführung des Testskripts yolov3.weights mithilfe von GPUs verwenden Sie den Befehl bitfusion run.
    Durch Ausführen des folgenden Befehls verwenden Sie den gesamten Arbeitsspeicher einer einzelnen GPU.
    bitfusion run -n 1 -- poetry run yolo-test --weights weights/yolov3.weights

Ergebnisse

Sie können YOLO-Tests jetzt mit vSphere Bitfusion und gemeinsam genutzten GPUs über einen Remoteserver ausführen. Mithilfe der Tests machen Sie sich mit der Nutzung von YOLO auf dem Gebiet des maschinellen Lernens vertraut.