Skip to main content
  • »
  • NOWATORSKA TECHNOLOGIA »
  • Instalacja TensorFlow na platformie Docker działającej na maszynie wirtualnej NSIS vGPU

Instalacja TensorFlow na platformie Docker działającej na maszynie wirtualnej NSIS vGPU

TensorFlow to jedna z najpopularniejszych bibliotek do uczenia maszynowego. W połączeniu z maszynami wirtualnymi opartymi na vGPU znacznie przyspiesza proces uczenia maszynowego. W tym artykule opiszemy, jak użyć Dockera, aby zainstalować TensorFlow na chmurze NSIS z włączoną obsługą vGPU.

Aby zapoznać się ze sposobem instalacji TensorFlow, który nie wymaga użycia Dockera, postępuj zgodnie z tym artykułem:

Instrukcje instalacji są oparte na następujących źródłach:

Przewodnik instalacji NVIDIA

Przewodnik instalacji TensorFlow

Wymagania wstępne

Nr 1. Konto

Jest wymagane konto hostingowe NSIS z dostępem do interfejsu Horizon: https://horizon.cloudferro.com.

Nr 2. Maszyna wirtualna z GPU NVIDIA

Instalacja TensorFlow, jak wyjaśniono poniżej, została przetestowana na maszynie wirtualnej Ubuntu 20.04 z GPU NVIDIA, która została utworzona przy użyciu domyślnej konfiguracji hostingu NSIS. Aby uzyskać dostęp do tej maszyny wirtualnej przez SSH, należy użyć konta eouser.

Ta maszyna wirtualna musi mieć

  • Floating IP

  • Musi być możliwe połączenie się z nią za pomocą klucza SSH przechowywanego na komputerze.

Poniższy artykuł opisuje, jak utworzyć taką maszynę: Jak utworzyć nową maszynę wirtualną Linux z NVIDIA Virtual GPU w Dashboardzie OpenStack Horizon na NSIS Cloud.

Jeśli podczas tego procesu nie dodano floating IP, można to zrobić w następujący sposób: Jak dodać lub usunąć Floating IP maszyny wirtualnej w NSIS.

Co zostanie omówione?

  • Aktualizacja oprogramowanie na maszynie wirtualnej i sprawdzenie, czy karta graficzna NVIDIA działa.

  • Instalacja platformy Docker

  • Instalacja oraz weryfikacja NVIDIA Container Toolkit

  • Instalacja TensorFlow

Krok 1: Aktualizacja oprogramowania na maszynie wirtualnej i sprawdzenie, czy karta graficzna NVIDIA działa.

Połącz się z maszyną wirtualną za pomocą SSH, wykonując następujące polecenie (zastąp 64.225.129.70 Floating IP maszyny wirtualnej).

Zaktualizuj całe oprogramowanie na maszynie wirtualnej:

sudo apt update && sudo apt upgrade

Uruchom ponownie maszynę wirtualną:

sudo reboot

Po ponownym uruchomieniu maszyny wirtualnej połącz się z nią za pomocą SSH, jak poprzednio.

Sprawdź, czy karta graficzna NVIDIA działa:

nvidia-smi

Wynik polecenia powinien wyglądać następująco:

../_images/tensorflow-install-01_creodias1.png

Krok 2: Instalacja platformy Docker

Zainstaluj platformę Docker za pomocą oficjalnego skryptu i włącz jej usługę:

curl https://get.docker.com | sh && sudo systemctl --now enable docker

Krok 3: Instalacja i weryfikacja NVIDIA Container Toolkit (ndivia-docker2)

NVIDIA Container Toolkit to narzędzie do tworzenia i uruchamiania kontenerów Docker z akceleracją przez GPU. Dodatkowe informacje można znaleźć tutaj: https://catalog.ngc.nvidia.com/orgs/nvidia/teams/k8s/containers/container-toolkit

Jest ono wymagane, ponieważ w kontenerze będziemy uruchamiać przepływ pracy z akceleracją GPU.

Dodaj odpowiednie repozytorium i klucz GPG:

distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
      && curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
      && curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \
            sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
            sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

Teraz zainstaluj pakiet nvidia-docker2:

sudo apt update && sudo apt install -y nvidia-docker2

Uruchom ponownie środowisko Docker:

sudo systemctl restart docker

Sprawdź, czy NVIDIA Container Toolkit działa:

sudo docker run --rm --gpus all nvidia/cuda:12.2.0-base-ubuntu22.04 nvidia-smi

Powinien zostać wyświetlony wynik polecenia nvidia-smi (tym razem jest ono jednak uruchamiane wewnątrz kontenera):

../_images/tensorflow-install-02_creodias1.png

Krok 4 Zainstaluj TensorFlow z obsługą vGPU

Pobierz obraz TensorFlow:

sudo docker pull tensorflow/tensorflow:2.11.0-gpu

Uruchom w nim test:

sudo docker run --gpus all -it --rm tensorflow/tensorflow:2.11.0-gpu python -c "import tensorflow as tf; print(tf.reduce_sum(tf.random.normal([1000, 1000])))"

Po wykonaniu poprzedniego polecenia wyświetlany jest wynik dla operacji TensorFlow na losowej próbce.

Dane wyjściowe powinny zawierać informacje podobne do tych:

../_images/tensorflow-install-03_creodias1.png

Co można zrobić dalej?

Teraz, po pomyślnym zainstalowaniu TensorFlow na maszynie wirtualnej NSIS z włączonym vGPU, możesz spróbować użyć go do celów praktycznych. Jeden ze sposobów jego przetestowania został opisany w artykule

Zobaczysz tam, jak szybka może być operacja deep learning, gdy obecny jest vGPU.