{ "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ę anaconda.com/distribution/ - instalatora zainstaluje Pythona, ale również inne ważne biblioteki, m.in. specyficzne dla głębokiego uczenia:\n", "\n", "\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", "\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", "\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", "Initializing_a_tensor.ipynb \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 }