Computer_Vision/Chapter02/pytorch_review.ipynb

158 lines
5.4 KiB
Plaintext
Raw Permalink Normal View History

2024-02-13 03:34:51 +01:00
{
"cells": [
{
"cell_type": "markdown",
"id": "b8eca612",
"metadata": {},
"source": [
"## PyTorch - szybkie wprowadzenie"
]
},
{
"cell_type": "markdown",
"id": "cb893bc6",
"metadata": {},
"source": [
"### 1. Instalacja PyTorch\n",
"\n",
"Przed zainstalowaniem PyTorch, musimy najpierw zainstalować środowisko programistyczne języka Python:\n",
"\n",
"1. Aby zainstalować Pythona wygodnie jest to zrobić przez platformę <a href=\"anaconda.com/distribution/\">anaconda.com/distribution/</a> - instalatora zainstaluje Pythona, ale również inne ważne biblioteki, m.in. specyficzne dla głębokiego uczenia:\n",
"\n",
"<img width=600 src=\"images/im1.png\"/>\n",
"\n",
"2. 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.\n",
"\n",
"\n",
"<img src=\"images/im2.png\"/>\n",
"\n",
"Następnie instalujemy środowisko *PyTorch*, co jest równie proste:\n",
"\n",
"3. Jeżeli nie posiadamy odpowiedniej dla CUDA karty graficznej instalujemy wersję na CPU\n",
"\n",
" *conda install pytorch::pytorch*\n",
"\n",
" W przeciwnym przypadku instalujemy pytorch dla CUDA (pytorch 2.2, cuda 11.8, cuda-toolkit 12.1)\n",
"\n",
" conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia\n",
"\n",
"\n",
"4. Aby sprawdzić, czy PyTorch jest rzeczywiście zainstalowany w środowisku Python wydajemy polecenie\n",
"\n",
" *import torch*\n",
"\n",
" *print(torch.__version__)*\n",
"\n",
"\n",
"5. Aby sprawdzić czy pytorch jest zainstalowany w wersji z CUDA w środowisku Python wydajemy polecenie\n",
"\n",
" *import torch*\n",
" \n",
" *torch.cuda.is_available()*\n",
" "
]
},
{
"cell_type": "markdown",
"id": "c7d6b489",
"metadata": {},
"source": [
"### 2. Colab\n",
"\n",
"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.\n"
]
},
{
"cell_type": "markdown",
"id": "aa2f0d1e",
"metadata": {},
"source": [
"### 3. Podstawy programowania w PyTorch"
]
},
{
"cell_type": "markdown",
"id": "7b7d389f",
"metadata": {},
"source": [
"#### 3.1. Tensory\n",
"\n",
"Tensory są podstawowymi typami danych PyTorch. Tensor jest wielowymiarową macierzą\n",
"macierz podobna do tablic NumPy:\n",
"\n",
"- *Skalar* może być reprezentowany jako zerowymiarowy tensor.\n",
"- *Wektor* może być reprezentowany jako jednowymiarowy tensor.\n",
"- *Dwuwymiarowa macierz* może być reprezentowana jako dwuwymiarowy tensor.\n",
"- *Macierz wielowymiarowa* może być reprezentowana jako wielowymiarowy tensor.\n",
"\n",
"Obrazowo tensory wyglądają następująco:\n",
"\n",
"<img width=500 src=\"images/im4.png\"/>\n",
"\n",
"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ć\n",
"można uznać za dwuwymiarowy tensor, ponieważ składa się on z pikseli *wysokości x szerokości*.\n",
"\n",
"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\n",
"jako podstawa, gdy będziemy badać wykorzystanie tensorów do budowy modelu sieci neuronowej w następnej sekcji.\n",
"\n",
"##### 3.1.1. Inicjalizacja tensora\n",
"\n",
"Tensory są przydatne na wiele sposobów. Oprócz używania ich jako podstawowych struktur danych\n",
"dla obrazów, jednym z bardziej znaczących zastosowań jest wykorzystanie tensorów do\n",
"do inicjalizacji wag łączących różne warstwy sieci neuronowej.\n",
"\n",
"W tej sekcji przećwiczymy różne sposoby inicjalizacji obiektu tensora. W tym celu uruchom notatnik\n",
"\n",
"<a href=\"Initializing_a_tensor.ipynb\">Initializing_a_tensor.ipynb</a> \n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "d25a7541",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.13"
},
"latex_envs": {
"LaTeX_envs_menu_present": true,
"autoclose": false,
"autocomplete": true,
"bibliofile": "biblio.bib",
"cite_by": "apalike",
"current_citInitial": 1,
"eqLabelWithNumbers": true,
"eqNumInitial": 1,
"hotkeys": {
"equation": "Ctrl-E",
"itemize": "Ctrl-I"
},
"labels_anchors": false,
"latex_user_defs": false,
"report_style_numbering": false,
"user_envs_cfg": false
}
},
"nbformat": 4,
"nbformat_minor": 5
}