---
title: Jazyk Python
published: true
taxonomy:
    category: [info]
    tag: [python]
    author: Daniel Hladek
---
# Práca s jazykom Python v prostredí Anaconda

Vhodný na spracovanie prirodzeného jazyka


Podobné prostredie si viete vytvoriť na Vašom počítači, na školskom servri alebo na Google Colab.


## Ako začať s Pythonom

Prečítajte si 

https://diveintopython3.net/

http://diveintopython3.py.cz/index.html

https://jakevdp.github.io/PythonDataScienceHandbook/

## Vývojové prostredie Anaconda

Nainštalujte si prostedie [anaconda](https://www.anaconda.com/). 

Stiahnite si [inštalátor](https://docs.conda.io/en/latest/miniconda.html).

Na systéme Linux si Anacondu stiahnete aj nainštalujete jedným príkazom:

```
curl -s    https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh | bash
```

[Anaconda manuál](https://docs.conda.io/projects/conda/en/latest/user-guide/getting-started.html)


Vytvorenie nového virtuálneho prostredia anaconda:

```
conda create --name mojeprostredie
```

Aktiácia virtuálneho prostredia Anaconda:

```
conda activate mojeprostredie
```

[Ťahák Anaconda](https://docs.conda.io/projects/conda/en/4.6.0/_downloads/52a95608c49671267e40c689e0bc00ca/conda-cheatsheet.pdf)

## Inštalácia Pytorch s podporou CUDA do prostredia Anaconda

Na inštaláciu ľubovoľnej verzie CUDA a Pytorch nepotrebujete admin práva. 
Verzia Python, CUDA a Pytorch musí spolu sedieť.
Najnovšiu verziu všetkého potrebného stiahnete zo stránky [Pytorch](https://pytorch.org/)

Napríklad takto:

```
conda install python=3.10
conda install pytorch  pytorch-cuda=11.8 -c pytorch -c nvidia
```

Inštalácia bude chvíľu trvať.

Overte si že CUDA funguje správne:

```
python
>>> import torch
>>> torch.cuda.is_available()
```


## Spustenie dlhších procesov na GPU

Na servri QUADRO sú k dispozícii 4 karty NVIDIA 1080, 12 GB RAM.

Overte si, ktoré karty sú voľné:

```
nvidia-smi
```

Pri trénovaní si zvoľte na ktorej karte budete trénovať pomocou premennej prostredia `CUDA_VISIBLE_DEVICES`.

Napr. 

```
CUDA_VISIBLE_DEVICES=2,3 python train.py
```

spustí trénovanie na 3. a na 4. karte. Prosím vždy si vyberte toľko koľko potrebujete a zbytočne nebolujte karty pre druhých.


Dlhšie procesy môžete manažovať cez príkaz `tmux`.

Najprv si spustíte nové sedenie:

```
tmux
```

```
CTRL+B C si viete urobiť nové okno. 
CTRL+B B prepnete okno. 
CTRL+B N prepnete okno. 
CTRL+B D vypnete tmux, ale procesy budú stále bežať aj keď sa odhlásite. 
```

```
tmux a -t 0
```

obnovíte posledné sedenie

## Virtualenv


Práca s virtuálnymi prostrediami Python


Virtuálne prostredie je vhodné keď pre určitý porjket potrebujete inštalovať balíčky tak a by nevytvárali konflikty
a zároveň nepotrebujete prostredie Anaconda.


Vytvorí nové virtuálne prostredie:

```
python -m virtualenv ./venv
```

Aktivuje virtuálne prostredie:

```
source ./venv/bin/activate
```

Inštaluje balíčky do virtuálneho prostredia:
```
pip install ...
```

Vypne virtuálne prostredie:

```
deactivate
```

Vymazanie virtuálneho prostredia

```
rm -r venv
```