Computer_Vision/Chapter02/pytorch_review.ipynb
2024-02-13 03:34:51 +01:00

5.4 KiB

PyTorch - szybkie wprowadzenie

1. Instalacja PyTorch

Przed zainstalowaniem PyTorch, musimy najpierw zainstalować środowisko programistyczne języka Python:

  1. 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:
  1. 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:

  1. 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

  1. Aby sprawdzić, czy PyTorch jest rzeczywiście zainstalowany w środowisku Python wydajemy polecenie

    _import torch

    _print(torch.version)

  1. 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

Initializing_a_tensor.ipynb