Bei TensorFlow handelt es sich um eine nach dem Open Source-Prinzip funktionierende End-to-End-Plattform für maschinelles Lernen. TensorFlow verfügt über ein umfassendes, flexibles Ökosystem aus Tools, Bibliotheken und Community-Ressourcen, mit denen Wissenschaftler modernste Technik im Bereich ML anwenden und Entwickler problemlos ML-gestützte Anwendungen erstellen und einsetzen können.

TensorFlow kann für zahlreiche Aufgaben eingesetzt werden, wird jedoch schwerpunktmäßig zum Trainieren und Erstellen tiefer neuronaler Netzwerke verwendet. Die Plattform ist eine symbolische mathematische Bibliothek, die auf Datenflüssen und differenzierbarer Programmierung basiert.

Installieren von TensorFlow

Bei TensorFlow handelt es sich um das mit vSphere Bitfusionverwendete Framework für Machine Learning.

Installieren Sie TensorFlow mithilfe von pip3, dem Paketinstallationsprogramm für Python 3. 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.

Prozedur

  1. Wenn Sie TensorFlow auf Ubuntu 20.04 installieren, installieren Sie zusätzliche Python-Ressourcen.
    sudo apt-get -y install python3-testresources
  2. Installieren Sie pip3, indem Sie die Befehlsfolge für Ihre Linux-Distribution und -Version ausführen.
    • Ubuntu 20.04
      sudo apt-get install -y python3-pip
    • CentOS 8 und Red Hat Linux 8
      sudo yum install -y python36-devel
      sudo pip3 install -U pip setuptools
  3. Installieren Sie TensorFlow mithilfe des Befehls pip3 install.
    sudo pip3 install tensorflow-gpu==2.4

Installieren von TensorFlow-Benchmarks

Bei den TensorFlow-Benchmarks handelt es sich um Open Source-ML-Anwendungen, die zum Testen der Leistung des TensorFlow-Frameworks entworfen wurden.

Sie können die TensorFlow-Benchmarks in Ihre lokale Umgebung herunterladen und dort verzweigen. In Git stellt ein Zweig einen eigenständigen Entwicklungsstrang dar.

Voraussetzungen

Stellen Sie sicher, dass Sie TensorFlow installiert haben.

Prozedur

  1. Installieren Sie git.
    • Ubuntu 20.04
      sudo apt install -y git
    • CentOS 8 und Red Hat Linux 8
      sudo yum -y update
      sudo yum install git
  2. Erstellen Sie ~/bitfusion und verwenden Sie es als Ihr Arbeitsverzeichnis.
    mkdir -p bitfusion
    cd ~/bitfusion
  3. Klonen Sie das Git-Repository der Tensorflow-Benchmarks in Ihre lokale Umgebung.
    git clone https://github.com/tensorflow/benchmarks.git
  4. Navigieren Sie zum Benchmark-Verzeichnis und listen Sie die Verzweigungen des Repositorys auf.
    cd benchmarks
    git branch -a
    master
    remotes/origin/HEAD -> origin/master 
    ...
    remotes/origin/cnn_tf_v1.13_compatible
    ...
    remotes/origin/cnn_tf_v2.1_compatible
    ...
  5. Checken Sie bei Git aus und listen Sie das Repository der TensorFlow-Benchmarks auf.
    git checkout cnn_tf_v2.1_compatible
    Branch cnn_tf_v2.1_compatible set up to track remote branch cnn_tf_v2.1_compatible
    from origin.
    Switched to a new branch ‘cnn_tf_v2.1_compatible’
    git branch
    cnn_tf_tf_v2.1_compatible
    master

Durchführen von Benchmarks für TensorFlow

Sie können die Benchmarks für TensorFlow ausführen, um die Leistung Ihrer vSphere Bitfusion- und TensorFlow-Bereitstellung zu testen.

Durch das Ausführen von Benchmarks für TensorFlow mithilfe von verschiedenen Konfigurationen können Sie nachvollziehen, wie ML-Arbeitslasten in Ihrer vSphere Bitfusion-Umgebung reagieren.

Prozedur

  1. Um zum Verzeichnis ~/bitfusion/ zu navigieren, führen Sie cd ~/bitfusion/ aus.
  2. Um das tf_cnn_benchmarks.py-Benchmarkskript zu verwenden, führen Sie den Befehl bitfusion run aus.
    Durch Ausführen der Befehle im Beispiel verwenden Sie den gesamten Arbeitsspeicher einer einzelnen GPU und vorinstallierte ML-Daten im Verzeichnis /data.
    bitfusion run -n 1 -- python3 \
    ./benchmarks/scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py \
    --data_format=NCHW \
    --batch_size=64 \
    --model=resnet50 \
    --variable_update=replicated \
    --local_parameter_device=gpu \
    --nodistortions \
    --num_gpus=1 \
    --num_batches=100 \
    --data_dir=/data \
    --data_name=imagenet \
    --use_fp16=False
  3. Um das tf_cnn_benchmarks.pyBenchmarkskript zu verwenden, führen Sie den Befehl bitfusion run mit dem Parameter -p 0.67 aus.
    Durch Ausführen der Befehle im Beispiel verwenden Sie 67 % des Arbeitsspeichers einer einzelnen GPU und vorinstallierte ML-Daten im Verzeichnis /data. Mit dem -p 0.67-Parameter können Sie einen anderen Auftrag in den verbleibenden 33 % der Arbeitsspeicherpartition der GPU durchführen.
    bitfusion run -n 1 -p 0.67 -- python3 \
    ./benchmarks/scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py \
    --data_format=NCHW \
    --batch_size=64 \
    --model=resnet50 \
    --variable_update=replicated \
    --local_parameter_device=gpu \
    --nodistortions \
    --num_gpus=1 \
    --num_batches=100 \
    --data_dir=/data \
    --data_name=imagenet \
    --use_fp16=False
  4. Um das tf_cnn_benchmarks.py-Benchmarkskript zu verwenden, führen Sie den Befehl bitfusion run mit den synthetisierten Daten aus.
    Durch Ausführen der Befehle im Beispiel verwenden Sie den gesamten Arbeitsspeicher einer einzelnen GPU und keine vorinstallierten ML-Daten. TensorFlow kann mit einem vorgegebenen Set von Bildern synthetisierte Daten erstellen.
    bitfusion run -n 1 -- python3 \
    ./benchmarks/scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py \
    --data_format=NCHW \
    --batch_size=64 \
    --model=resnet50 \
    --variable_update=replicated \
    --local_parameter_device=gpu \
    --nodistortions \
    --num_gpus=1 \
    --num_batches=100 \
    --use_fp16=False

Ergebnisse

Sie können jetzt TensorFlow-Benchmarks mit vSphere Bitfusion mit gemeinsam genutzten GPUs von einem Remoteserver ausführen. Die Benchmarks unterstützen zahlreiche Modelle und Parameter, die Ihnen dabei helfen, einen großen Bereich in der Disziplin Machine Learning zu erkunden. Weitere Informationen finden Sie unter VMware vSphere Bitfusion-Benutzerhandbuch.