Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uczenie maszynowe staje się kluczową częścią wielu przepływów pracy programistycznych. Niezależnie od tego, czy jesteś naukowcem danych, inżynierem ML, czy dopiero zaczynasz swoją podróż z uczeniem maszynowym, Podsystem Windows dla systemu Linux (WSL) oferuje doskonałe środowisko do uruchamiania najczęściej stosowanych i cieszących się popularnością narzędzi uczenia maszynowego przyspieszonych przez GPU.
Istnieje wiele różnych sposobów konfigurowania tych narzędzi. Na przykład NVIDIA CUDA w WSL, TensorFlow-DirectML i PyTorch-DirectML oferują różne sposoby używania GPU do uczenia maszynowego w WSL. Aby dowiedzieć się więcej na temat powodów wyboru jednej z nich, zobacz Przyspieszone trenowanie uczenia maszynowego z procesorem GPU.
W tym przewodniku pokazano, jak skonfigurować:
- NVIDIA CUDA, jeśli masz kartę graficzną NVIDIA i uruchamiasz przykładowy kontener platformy ML
- TensorFlow-DirectML i PyTorch-DirectML na karcie grafiki AMD, Intel lub NVIDIA
Wymagania wstępne
- Upewnij się, że korzystasz z systemu Windows 11 lub Windows 10 w wersji 21H2 lub nowszej .
- Zainstaluj program WSL i skonfiguruj nazwę użytkownika i hasło dla dystrybucji systemu Linux.
Konfigurowanie funkcji NVIDIA CUDA przy użyciu platformy Docker
Pobierz i zainstaluj najnowszy sterownik dla procesora GPU FIRMY NVIDIA
Zainstaluj Docker Desktop lub zainstaluj silnik Docker bezpośrednio w WSL, uruchamiając następujące polecenie
curl https://get.docker.com | sh
sudo service docker start
Jeśli silnik Docker został zainstalowany bezpośrednio, zainstaluj zestaw narzędzi NVIDIA Container Toolkit, postępując zgodnie z poniższymi krokami.
Skonfiguruj stabilne repozytorium dla zestawu narzędzi NVIDIA Container Toolkit, uruchamiając następujące polecenia:
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-docker-keyring.gpg
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
Zainstaluj pakiety i zależności środowiska uruchomieniowego FIRMY NVIDIA, uruchamiając polecenia:
sudo apt-get update
sudo apt-get install -y nvidia-docker2
Uruchamianie kontenera i przykładu platformy uczenia maszynowego.
Aby uruchomić kontener platformy uczenia maszynowego i rozpocząć korzystanie z procesora GPU za pomocą tego kontenera NVIDIA NGC TensorFlow, wprowadź polecenie:
docker run --gpus all -it --shm-size=1g --ulimit memlock=-1 --ulimit stack=67108864 nvcr.io/nvidia/tensorflow:20.03-tf2-py3
Możesz uruchomić wstępnie wytrenowany przykład modelu wbudowany w ten kontener, uruchamiając polecenia:
cd nvidia-examples/cnn/
python resnet.py --batch_size=64
Dodatkowe sposoby konfigurowania i korzystania z funkcji NVIDIA CUDA można znaleźć w podręczniku użytkownika narzędzia NVIDIA CUDA w systemie WSL.
Konfigurowanie TensorFlow-DirectML lub PyTorch-DirectML
Pobierz i zainstaluj najnowszy sterownik ze strony internetowej dostawców procesorów GPU: AMD, Intel lub NVIDIA.
Konfigurowanie środowiska języka Python.
Zalecamy skonfigurowanie wirtualnego środowiska języka Python. Istnieje wiele narzędzi, których można użyć do skonfigurowania wirtualnego środowiska języka Python — na potrzeby tych instrukcji użyjemy Miniconda od Anaconda.
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
conda create --name directml python=3.7 -y
conda activate directml
Zainstaluj strukturę uczenia maszynowego wspieraną przez wybrany język DirectML.
TensorFlow-DirectML:
pip install tensorflow-directml
PyTorch-DirectML:
sudo apt install libblas3 libomp5 liblapack3
pip install torch-directml
Uruchom szybki przykład dodawania w interaktywnej sesji w języku Python dla biblioteki TensorFlow-DirectML lub PyTorch-DirectML, aby upewnić się, że wszystko prawidłowo działa.
Jeśli masz pytania lub napotkasz problemy, odwiedź repozytorium DirectML w witrynie GitHub.
Wiele procesorów GPU
Jeśli masz wiele procesorów GPU na maszynie, możesz również uzyskać do nich dostęp w programie WSL. Jednak dostęp do nich będzie można uzyskiwać tylko pojedynczo. Aby wybrać określoną GPU, ustaw poniższą zmienną środowiskową na nazwę GPU, jak jest wyświetlana w menedżerze urządzeń.
export MESA_D3D12_DEFAULT_ADAPTER_NAME="<NameFromDeviceManager>"
Spowoduje to dopasowanie ciągu znaków, więc jeśli ustawisz go na "NVIDIA", dopasuje pierwszą GPU rozpoczynającą się od "NVIDIA".
Dodatkowe zasoby
- Wskazówki dotyczące konfigurowania funkcji NVIDIA CUDA w programie WSL
- Wskazówki dotyczące konfigurowania biblioteki TensorFlow za pomocą języka DirectML w programie WSL
- TensorFlow z przykładami języka DirectML
- Wskazówki dotyczące konfigurowania biblioteki PyTorch z językiem DirectML w programie WSL
- PyTorch z przykładami języka DirectML
Windows Subsystem for Linux