Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A gépi tanulás (ML) számos fejlesztési munkafolyamat kulcsfontosságú részévé válik. Akár adattudós, gépi tanulási mérnök, akár az ML-vel kezdi a tanulást, a Windows Alrendszer for Linux (WSL) nagyszerű környezetet kínál a gpu által gyorsított, leggyakrabban használt ml-eszközök futtatásához.
Az eszközök beállításának számos különböző módja van. Például az NVIDIA CUDA, a TensorFlow-DirectML és a PyTorch-DirectML mind különböző módokat kínál arra, hogyan használhatod a GPU-dat gépi tanuláshoz a WSL-ben. Ha többet szeretne megtudni az egyik és a másik közötti választás okairól, tekintse meg a GPU gyorsított ml-betanítását.
Ez az útmutató bemutatja a beállítás módját:
- NVIDIA CUDA, ha NVIDIA grafikus kártyával rendelkezik, és futtat egy ml-keretrendszer-mintatárolót
- TensorFlow-DirectML és PyTorch-DirectML amd, Intel vagy NVIDIA grafikus kártyán
Előfeltételek
- Győződjön meg arról, hogy a Windows 11 vagy a Windows 10 21H2-es vagy újabb verzióját futtatja.
- Telepítse a WSL-t, és állítson be egy felhasználónevet és jelszót a Linux-disztribúcióhoz.
AZ NVIDIA CUDA beállítása a Dockerrel
Az NVIDIA GPU legújabb illesztőprogramjának letöltése és telepítése
Telepítse a Docker Desktopot , vagy telepítse a Docker motort közvetlenül a WSL-ben az alábbi parancs futtatásával:
curl https://get.docker.com | sh sudo service docker startHa közvetlenül telepítette a Docker-motort, telepítse az NVIDIA tárolóeszközkészletet az alábbi lépéseket követve.
Állítsa be a stabil adattárat az NVIDIA Container Toolkithez az alábbi parancsok futtatásával:
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.listTelepítse az NVIDIA futtatókörnyezeti csomagjait és függőségeit a parancsok futtatásával:
sudo apt-get update sudo apt-get install -y nvidia-docker2Futtasson egy gépi tanulási keretrendszer konténert és mintát.
Gépi tanulási keretrendszer tárolójának futtatásához és a GPU ezzel az NVIDIA NGC TensorFlow-tárolóval való használatához írja be a következő parancsot:
docker run --gpus all -it --shm-size=1g --ulimit memlock=-1 --ulimit stack=67108864 nvcr.io/nvidia/tensorflow:20.03-tf2-py3
A parancsok futtatásával futtathat egy előre betanított modellmintát, amely a tárolóba van beépítve:
cd nvidia-examples/cnn/ python resnet.py --batch_size=64
Az NVIDIA CUDA beállításának és felhasználásának további módjai a WSL-alapú NVIDIA CUDA felhasználói útmutatójában találhatók.
TensorFlow-DirectML vagy PyTorch-DirectML beállítása
Töltse le és telepítse a legújabb illesztőprogramot a GPU-gyártók webhelyéről: AMD, Intel vagy NVIDIA.
Python-környezet beállítása.
Javasoljuk, hogy állítson be egy virtuális Python-környezetet. A virtuális Python-környezetek beállításához számos eszköz használható – ezekhez az utasításokhoz az Anaconda Minicondát fogjuk használni.
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 directmlTelepítse az Ön által választott DirectML által támogatott gépi tanulási keretrendszert.
TensorFlow-DirectML:
pip install tensorflow-directmlPyTorch-DirectML:
sudo apt install libblas3 libomp5 liblapack3 pip install torch-directmlFuttasson le egy gyors összeadási mintát interaktív Python-munkamenetben a TensorFlow-DirectML vagy a PyTorch-DirectML segítségével, hogy biztosan minden rendben működjön.
Ha kérdése van, vagy problémákba ütközik, látogasson el a DirectML-adattárba a GitHubon.
Több GPU
Ha több GPU-val rendelkezik a gépen, a WSL-ben is elérheti őket. Azonban egyszerre csak egyet fog tudni elérni. Egy adott GPU kiválasztásához állítsa az alábbi környezeti változót a GPU nevére az eszközkezelőben megjelenő módon:
export MESA_D3D12_DEFAULT_ADAPTER_NAME="<NameFromDeviceManager>"
Ez egy sztringegyezést fog végrehajtani, így ha az "NVIDIA" értékre állítja, az megegyezik az "NVIDIA"-val kezdődő első GPU-val.
További források
Windows Subsystem for Linux