5.4 KiB
PyTorch - szybkie wprowadzenie
1. Instalacja PyTorch
Przed zainstalowaniem PyTorch, musimy najpierw zainstalować środowisko programistyczne języka Python:
- Aby zainstalować Pythona wygodnie jest to zrobić przez platformę anaconda.com/distribution/ - instalatora zainstaluje Pythona, ale również inne ważne biblioteki, m.in. specyficzne dla głębokiego uczenia:
- Zainstaluj program przy użyciu pobranego instalatora: Wybierz opcję Add Anaconda to my PATH environment variable podczas instalacji, ponieważ ułatwi to wywoływanie Pythona, gdy wpiszemy python w wierszu poleceń/terminalu.
Następnie instalujemy środowisko _PyTorch, co jest równie proste:
Jeżeli nie posiadamy odpowiedniej dla CUDA karty graficznej instalujemy wersję na CPU
_conda install pytorch::pytorch
W przeciwnym przypadku instalujemy pytorch dla CUDA (pytorch 2.2, cuda 11.8, cuda-toolkit 12.1)
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
Aby sprawdzić, czy PyTorch jest rzeczywiście zainstalowany w środowisku Python wydajemy polecenie
_import torch
_print(torch.version)
Aby sprawdzić czy pytorch jest zainstalowany w wersji z CUDA w środowisku Python wydajemy polecenie
_import torch
_torch.cuda.is_available()
2. Colab
Wszystkie przykłady (notatniki Jupyter) w tym kursie można wykonać w w zdalnym środowisku Colab (https://colab.research.google.com/), udostępniającym automatycznie dostęp do GPU.
3. Podstawy programowania w PyTorch
3.1. Tensory
Tensory są podstawowymi typami danych PyTorch. Tensor jest wielowymiarową macierzą macierz podobna do tablic NumPy:
- _Skalar może być reprezentowany jako zerowymiarowy tensor.
- _Wektor może być reprezentowany jako jednowymiarowy tensor.
- _Dwuwymiarowa macierz może być reprezentowana jako dwuwymiarowy tensor.
- _Macierz wielowymiarowa może być reprezentowana jako wielowymiarowy tensor.
Obrazowo tensory wyglądają następująco:
Na przykład, możemy uznać kolorowy obraz RGB za trójwymiarowy tensor wartości pikseli, ponieważ kolorowy obraz składa się z _wysokości x szerokości x 3 pikseli - gdzie 'trzy' odpowiada kanałom RGB. Podobnie, obraz w skali szarości może być można uznać za dwuwymiarowy tensor, ponieważ składa się on z pikseli _wysokości x szerokości.
Pod koniec tej sekcji dowiemy się, dlaczego tensory są przydatne i jak je inicjować, a także jak wykonywać różne operacje na tensorach, a także wykonywać różne operacje na tensorach. Będzie to służyć jako jako podstawa, gdy będziemy badać wykorzystanie tensorów do budowy modelu sieci neuronowej w następnej sekcji.
3.1.1. Inicjalizacja tensora
Tensory są przydatne na wiele sposobów. Oprócz używania ich jako podstawowych struktur danych dla obrazów, jednym z bardziej znaczących zastosowań jest wykorzystanie tensorów do do inicjalizacji wag łączących różne warstwy sieci neuronowej.
W tej sekcji przećwiczymy różne sposoby inicjalizacji obiektu tensora. W tym celu uruchom notatnik