CUDA Toolkit 12.8 – TensorFlow 2.20.0 GPU – PyTorch 2.10.0+cu126 – JupyterLab
Instalacja CUDA, Miniconda i środowiska Python
Test działania GPU NVIDIA GeForce RTX 3070 8 GB w TensorFlow i PyTorch
Konfiguracja środowiska Machine Learning z obsługą GPU często wydaje się skomplikowana – zwłaszcza gdy zaczynasz pracę z TensorFlow, PyTorch i CUDA w WSL2. A jednak wielu developerów potwierdza, że kiedy wszystkie elementy zostaną poprawnie ustawione, praca z modelami AI zaczyna być płynna, nawet w środowisku Windows.
W praktyce stabilne środowisko ML na Windows 11 + WSL2 + Ubuntu 24.04 opiera się na kilku kluczowych filarach: izolowanym środowisku conda, zgodnej wersji np. Python 3.12, lokalnym CUDA Toolkit 12.8 oraz bibliotekach GPU dla TensorFlow i PyTorch. Uruchomienie komendy nvidia-smi w WSL potwierdza że Twój system ma potencjał, aby wykonywać obliczenia na GPU.
Wielu początkujących nie zdaje sobie sprawy, że drobne detale – jak dodanie nvcc do PATH czy akceptacja Conda Terms of Service – decydują o tym, czy środowisko zadziała bez problemów. Gdy wszystko jest skonfigurowane poprawnie, TensorFlow potrafi automatycznie wykryć kartę GPU i wykonać testowe operacje macierzowe bezpośrednio na /device:GPU:0, co znacząco przyspiesza trening modeli.
Dobrze przygotowana infrastruktura ML., to stabilne środowisko do prototypowania MVP dla potencjalnych klientów bez ponoszenia kosztów dostępności mocy obliczeniowych kart graficznych na serwerach. Odpowiednio przygotowana infrastruktura oznacza mniej błędów, szybsze eksperymenty i większą swobodę rozwijania projektów AI.
Jeśli chcesz samodzielnie odtworzyć takie środowisko ML krok po kroku – zapraszamy poniżej prezentujemy pełną instrukcję instalacji i rozpocznij pracę z GPU już dziś.
| Cel dokumentu: Praktyczna instrukcja przygotowania środowiska dla ML/AI | |
| Element | Info |
| System hosta | Windows 11 + WSL2 |
| Dystrybucja Linux | Ubuntu 24.04 LTS (noble) |
| GPU | NVIDIA GeForce RTX 3070 Laptop GPU |
| Charakter dokumentu | Instrukcja dla poczatkujacych |
| Wynik końcowy Potwierdzono działające wykrywanie GPU przez TensorFlow oraz przez PyTorch. Test mnożenia macierzy w TensorFlow wykonał się na /device:GPU:0. | |
1. Architektura koncowa i stan docelowy
Po zakonczeniu wszystkich krokow srodowisko pracowalo w nastepujacej konfiguracji:
| Element | Stan po instalacji |
| Miniconda | Miniconda3 py313_26.1.1-1, conda 26.1.1 |
| Srodowisko robocze | conda env: ml |
| Python w env ml | Python 3.12.12 (uwaga domyślnie 3.13 bez conda install python=3.12 pip -y) |
| Sterownik / nvidia-smi | Driver 591.74, NVIDIA-SMI 590.52.01, CUDA Version 13.1 |
| Toolkit CUDA w Ubuntu | CUDA Toolkit 12.8, nvcc 12.8.93 |
| TensorFlow | tensorflow 2.20.0, GPU wykrywane |
| PyTorch | torch 2.10.0+cu126, CUDA available = True |
| Notebooki | JupyterLab 4.5.3, Jupyter Server 2.17.0, kernel Python (ml) |
| Wazna interpretacja numerow CUDA nvidia-smi pokazywal CUDA Version 13.1, ale w Ubuntu zainstalowano lokalny toolkit 12.8. To nie jest sprzecznosc. Sterownik po stronie Windows obsluguje nowszy poziom zgodnosci, a w Linuxie dziala konkretny toolkit 12.8 do nvcc. | |
2. Co bylo potrzebne przed instalacja
- Windows 11 z poprawnie dzialajacym WSL2 oraz zainstalowana dystrybucja Ubuntu.
- Laptop z karta NVIDIA. W logach: NVIDIA GeForce RTX 3070 Laptop GPU.
- Dzialajacy sterownik NVIDIA po stronie Windows. Potwierdzenie: polecenie nvidia-smi w Ubuntu zwracalo poprawne dane o GPU.
- Wolne miejsce na dysku. Sama instalacja CUDA Toolkit 12.8 zajela po instalacji okolo 8.5 GB.
3. Krok po kroku: wykonane dzialania
Krok 1. Aktualizacja pakietow Ubuntu
- Zaktualizowano system Ubuntu, aby ograniczyc ryzyko konfliktow wersji pakietow.
| sudo apt update -y sudo apt upgrade -y |
Krok 2. Pobranie i instalacja Minicondy
- Pobrano Miniconde z repozytorium Anaconda.
- Wlaczono automatyczna inicjalizacje conda w ~/.bashrc.
- Po instalacji sprawdzono conda –version = 26.1.1.
| wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh bash ~/Miniconda3-latest-Linux-x86_64.sh source ~/.bashrc conda –version |
Krok 3. Akceptacja Terms of Service
- Pierwsza proba instalacji pakietow conda zakonczyla sie bledem CondaToSNonInteractiveError.
- Rozwiazaniem bylo zaakceptowanie Terms of Service dla kanalow pkgs/main i pkgs/r.
| conda tos accept –override-channels –channel https://repo.anaconda.com/pkgs/main conda tos accept –override-channels –channel https://repo.anaconda.com/pkgs/r |
Krok 4. Utworzenie srodowiska ml
- Najpierw pojawil sie blad skladni: conda create -name ml -y.
- Poprawna skladnia to conda create -n ml -y.
- Po aktywacji srodowiska zainstalowano Python 3.12.12 i pip.
| conda create -n ml -y conda activate ml conda install python=3.12 pip -y python –version which python |
Krok 5. Narzedzia kompilacyjne
- Zainstalowano gcc, g++ i build-essential.
| sudo apt install gcc g++ build-essential |
Krok 6. Weryfikacja GPU
- Sprawdzono, czy Ubuntu w WSL2 widzi karte przez nvidia-smi.
| nvidia-smi |
Krok 7. Repozytorium NVIDIA dla WSL
- Dodano repozytorium NVIDIA dla WSL Ubuntu przy pomocy cuda-keyring.
| wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-keyring_1.1-1_all.deb sudo dpkg -i cuda-keyring_1.1-1_all.deb sudo apt update |
Krok 8. Instalacja CUDA Toolkit 12.8
- Wybrano pakiet cuda-toolkit-12-8.
- Po instalacji plik nvcc istnial, ale nie byl jeszcze w PATH.
| sudo apt install cuda-toolkit-12-8 -y ls /usr/local/cuda-12.8/bin/nvcc ls -l /usr/local/cuda |
Krok 9. Dodanie CUDA do PATH
- Do ~/.bashrc dopisano /usr/local/cuda/bin oraz /usr/local/cuda/lib64.
- Po source ~/.bashrc i hash -r polecenie nvcc zaczelo dzialac poprawnie.
| echo 'export PATH=/usr/local/cuda/bin:$PATH’ >> ~/.bashrc echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH’ >> ~/.bashrc source ~/.bashrc hash -r nvcc –version |
Krok 10. Jupyter w env ml
- Po skonfigurowaniu srodowiska ml zainstalowano w nim jupyter i ipykernel.
| conda activate ml conda install jupyter ipykernel -y |
Krok 11. Instalacja TensorFlow GPU
- W srodowisku ml zaktualizowano pip i zainstalowano tensorflow[and-cuda].
- Ten wariant doinstalowal rowniez pakiety NVIDIA po stronie Pythona.
| python -m pip install –upgrade pip python -m pip install „tensorflow[and-cuda]” |
Krok 12. Test TensorFlow
- TensorFlow 2.20.0 poprawnie wykryl GPU.
- Dodatkowy test mnozenia macierzy wykonal sie na /device:GPU:0.
| python -c „import tensorflow as tf; print(tf.__version__); print(tf.config.list_physical_devices(’GPU’))” python – <<’PY’ import tensorflow as tf print(’TensorFlow:’, tf.__version__) print(’GPU devices:’, tf.config.list_physical_devices(’GPU’)) a = tf.random.normal([3000, 3000]) b = tf.random.normal([3000, 3000]) c = tf.matmul(a, b) print(’Wynik shape:’, c.shape) print(’Device for result:’, c.device) PY |
Krok 13. Rejestracja kernela Jupyter
- Dodano kernel Python (ml) do JupyterLab.
| python -m ipykernel install –user –name ml –display-name „Python (ml)” |
Krok 14. Uruchomienie JupyterLab
- JupyterLab uruchomil sie poprawnie na localhost:8888.
- Ostrzezenie o nodejs nie blokowalo pracy.
| jupyter lab |
Krok 15. Instalacja PyTorch GPU
- Zainstalowano torch, torchvision i torchaudio z repozytorium cu126.
- Test torch.cuda.is_available() zwrocil True.
| python -m pip install torch torchvision torchaudio –index-url https://download.pytorch.org/whl/cu126 python – <<’PY’ import torch print(’Torch:’, torch.__version__) print(’CUDA available:’, torch.cuda.is_available()) print(’CUDA version in torch:’, torch.version.cuda) if torch.cuda.is_available(): print(’GPU:’, torch.cuda.get_device_name(0)) PY |
4. Ewentualne problemy i sposoby ich rozwiązania
| Sytuacja | Interpretacja i rozwiazanie |
| Blad ToS w conda | Objaw: CondaToSNonInteractiveError. Rozwiazanie: zaakceptowac Terms of Service dla kanalow pkgs/main i pkgs/r. |
| Blad w skladni tworzenia env | Objaw: conda create -name ml -y zakonczylo sie PackagesNotFoundError dla pakietu ml. Rozwiazanie: uzyc conda create -n ml -y. |
| Brak polecenia nvcc po instalacji CUDA | Objaw: nvcc not found mimo obecnosci pliku /usr/local/cuda-12.8/bin/nvcc. Rozwiazanie: dopisac /usr/local/cuda/bin do PATH oraz /usr/local/cuda/lib64 do LD_LIBRARY_PATH. |
| Pomylka miedzy base i ml | Objaw: po source ~/.bashrc prompt wracal do (base). Rozwiazanie: po zmianach jawnie wydac conda activate ml. |
| Ostrzezenie JupyterLab o nodejs | Objaw: Could not determine jupyterlab build status without nodejs. Rozwiazanie: mozna zignorowac, jesli JupyterLab dziala poprawnie. |
5. Weryfikacja koncowa
| Checklista koncowa Po ponownym uruchomieniu terminala lub przy powrocie do tematu w przyszlosci warto wykonac ponizsze testy w dokladnie tej kolejnosci. |
- Sprawdz aktywne srodowisko: conda activate ml
- Zweryfikuj wersje Pythona: python –version
- Sprawdz toolkit CUDA: nvcc –version
- Sprawdz widocznosc GPU w WSL: nvidia-smi
- Sprawdz TensorFlow GPU: python -c „import tensorflow as tf; print(tf.config.list_physical_devices(’GPU’))”
- Sprawdz PyTorch GPU: python -c „import torch; print(torch.cuda.is_available())”
- Uruchom notebooki: jupyter lab
6. Rekomendacje praktyczne na przyszlosc
- Nie instaluj wszystkiego w srodowisku base.
- Do codziennej pracy uzywaj srodowiska ml albo osobnych env projektowych.
- Jezeli bedziesz rozwijac projekt tylko w TensorFlow lub tylko w PyTorch, rozwaz osobne srodowiska. W logach obie biblioteki dzialaly, ale PyTorch podczas instalacji zastepowal czesc pakietow nvidia-cu12 wczesniej pobranych przez TensorFlow.
- Po wiekszych aktualizacjach sterownika NVIDIA lub WSL powtorz testy nvidia-smi, nvcc, TensorFlow i PyTorch.
7. Skrocona sekwencja polecen do odtworzenia srodowiska
| sudo apt update -y sudo apt upgrade -y wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh bash ~/Miniconda3-latest-Linux-x86_64.sh source ~/.bashrc conda tos accept –override-channels –channel https://repo.anaconda.com/pkgs/main conda tos accept –override-channels –channel https://repo.anaconda.com/pkgs/r conda create -n ml -y conda activate ml conda install python=3.12 pip -y sudo apt install gcc g++ build-essential wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-keyring_1.1-1_all.deb sudo dpkg -i cuda-keyring_1.1-1_all.deb sudo apt update sudo apt install cuda-toolkit-12-8 -y echo 'export PATH=/usr/local/cuda/bin:$PATH’ >> ~/.bashrc echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH’ >> ~/.bashrc source ~/.bashrc conda activate ml conda install jupyter ipykernel -y python -m pip install –upgrade pip python -m pip install „tensorflow[and-cuda]” python -m ipykernel install –user –name ml –display-name „Python (ml)” python -m pip install torch torchvision torchaudio –index-url https://download.pytorch.org/whl/cu126 jupyter lab |
Gdy chcesz szybko zrobić kopię środowiska na tym samym laptopie:
conda create -n ml02 --clone ml
Najbezpieczniejszy zestaw backupu
conda activate ml
conda env export > ~/ml_environment.yml
pip freeze > ~/ml_requirements.txt
Jak wrócić do środowiska ml
conda activate ml
conda deactivate
conda activate ml02

