Obsah

PyTorch

PyTorch je open-source knihovna pro strojové učení (Machine Learning), založená na knihovně Torch. Primárně je vyvíjena týmem pro výzkum AI společnosti Meta (dříve Facebook). PyTorch je oceňován zejména pro svou intuitivnost, rychlost a dynamický výpočetní graf, což z něj činí standard pro vědecký výzkum i moderní produkční nasazení (např. v Tesle nebo OpenAI).

Klíčové pilíře PyTorch

PyTorch stojí na třech základních konceptech:

1. Tenzory (Tensors)

Tenzor je základní datová struktura v PyTorch. Je velmi podobný polím v knihovně NumPy (ndarray), ale s jedním zásadním rozdílem: tenzory mohou být akcelerovány pomocí GPU (grafických karet) s využitím CUDA nebo ROCm, což dramaticky zrychluje výpočty.

2. Autograd (Automatické derivování)

Pro trénování neuronových sítí je klíčový algoritmus Backpropagation. Modul autograd v PyTorch automaticky zaznamenává všechny operace nad tenzory a vypočítává gradienty (derivace), které jsou nezbytné pro aktualizaci vah sítě.

3. Dynamický výpočetní graf (Eager Execution)

Na rozdíl od starších verzí TensorFlow, které používaly statické grafy, PyTorch buduje graf výpočtů za běhu (dynamicky). To umožňuje používat standardní Python konstrukce jako if podmínky nebo for cykly přímo v architektuře sítě, což usnadňuje ladění (debugging).

Hlavní moduly

Proč zvolit PyTorch?

Srovnání: PyTorch vs. TensorFlow

Vlastnost PyTorch TensorFlow
Výpočetní graf Dynamický (vždy) Statický (původně), nyní i dynamický
Ladění (Debug) Snadné (standardní Python debuggery) Složitější (vyžaduje speciální nástroje)
Nasazení (Prod) Velmi dobré (TorchScript, ONNX) Vynikající (TF Serving, TF Lite)
Popularita Dominantní ve výzkumu Silný v komerční sféře a mobilních aplikacích

Hardwarová akcelerace

PyTorch je navržen tak, aby maximálně využíval hardware:

Související termíny: Neuronové sítě, CUDA, Python, TensorFlow, GPU.