pytorchpytorch następca biblioteki torch initial release: październik 2016 preview release:...

28
PYTORCH Tomasz Supłat Tomasz Pecyna

Upload: others

Post on 03-Jan-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PYTORCHPytorch Następca biblioteki Torch initial release: październik 2016 preview release: październik 2018 stable release: luty 2019 Obecnie rozwijana i wspierana przez facebook`a

PYTORCH

Tomasz SupłatTomasz Pecyna

Page 2: PYTORCHPytorch Następca biblioteki Torch initial release: październik 2016 preview release: październik 2018 stable release: luty 2019 Obecnie rozwijana i wspierana przez facebook`a

Pytorch

● Następca biblioteki Torch ○ initial release: październik 2016○ preview release: październik 2018○ stable release: luty 2019

● Obecnie rozwijana i wspierana przez facebook`a● Początkowo przeznaczona głównie do NLP● Wsparcie dla CPU, GPU, TPU (alpha)● Wsparcie dla obliczeń rozproszonych● Integracja z Numpy

Page 3: PYTORCHPytorch Następca biblioteki Torch initial release: październik 2016 preview release: październik 2018 stable release: luty 2019 Obecnie rozwijana i wspierana przez facebook`a

Pip install pytorch

Page 4: PYTORCHPytorch Następca biblioteki Torch initial release: październik 2016 preview release: październik 2018 stable release: luty 2019 Obecnie rozwijana i wspierana przez facebook`a

Tensors in pytorch

Just like well-known and liked Numpy

Page 5: PYTORCHPytorch Następca biblioteki Torch initial release: październik 2016 preview release: październik 2018 stable release: luty 2019 Obecnie rozwijana i wspierana przez facebook`a

Tensors in pytorchMożemy konwertować z numpy do pytorcha

I na odwrót

Page 6: PYTORCHPytorch Następca biblioteki Torch initial release: październik 2016 preview release: październik 2018 stable release: luty 2019 Obecnie rozwijana i wspierana przez facebook`a

Tensors in pytorchLayout, czyli optymalizacja dostępów do pamięci.

Page 7: PYTORCHPytorch Następca biblioteki Torch initial release: październik 2016 preview release: październik 2018 stable release: luty 2019 Obecnie rozwijana i wspierana przez facebook`a

Tensors in pytorch

Możemy korzystać też z funkcji matematycznych.

Page 8: PYTORCHPytorch Następca biblioteki Torch initial release: październik 2016 preview release: październik 2018 stable release: luty 2019 Obecnie rozwijana i wspierana przez facebook`a

GPU Tensors

Page 9: PYTORCHPytorch Następca biblioteki Torch initial release: październik 2016 preview release: październik 2018 stable release: luty 2019 Obecnie rozwijana i wspierana przez facebook`a

Autograd

Source: http://www.cs.put.poznan.pl/kkrawiec/wiki/uploads/Zajecia/EIO.pdf

Page 10: PYTORCHPytorch Następca biblioteki Torch initial release: październik 2016 preview release: październik 2018 stable release: luty 2019 Obecnie rozwijana i wspierana przez facebook`a

Graf obliczeń

Page 11: PYTORCHPytorch Następca biblioteki Torch initial release: październik 2016 preview release: październik 2018 stable release: luty 2019 Obecnie rozwijana i wspierana przez facebook`a

Obliczenia równoległe

Obliczenia na wielu GPU:

Przykład:

Page 12: PYTORCHPytorch Następca biblioteki Torch initial release: październik 2016 preview release: październik 2018 stable release: luty 2019 Obecnie rozwijana i wspierana przez facebook`a

Obliczenia równoległe

Page 13: PYTORCHPytorch Następca biblioteki Torch initial release: październik 2016 preview release: październik 2018 stable release: luty 2019 Obecnie rozwijana i wspierana przez facebook`a

Obliczenia rozproszone

● Wsparcie dla wielu modeli komunikacji (TCP, GLOO, MPI, itd)● Wsparcie dla podstawowych operacji (map, reduce, scatter, gather)● Możliwość wysyłania wiadomości do innych procesów

Page 14: PYTORCHPytorch Następca biblioteki Torch initial release: październik 2016 preview release: październik 2018 stable release: luty 2019 Obecnie rozwijana i wspierana przez facebook`a

Wczytywanie danych

Page 15: PYTORCHPytorch Następca biblioteki Torch initial release: październik 2016 preview release: październik 2018 stable release: luty 2019 Obecnie rozwijana i wspierana przez facebook`a

Wczytywanie danych

Page 16: PYTORCHPytorch Następca biblioteki Torch initial release: październik 2016 preview release: październik 2018 stable release: luty 2019 Obecnie rozwijana i wspierana przez facebook`a

Model

Page 17: PYTORCHPytorch Następca biblioteki Torch initial release: październik 2016 preview release: październik 2018 stable release: luty 2019 Obecnie rozwijana i wspierana przez facebook`a

Wczytywanie i zapisywanie modeli

Page 18: PYTORCHPytorch Następca biblioteki Torch initial release: październik 2016 preview release: październik 2018 stable release: luty 2019 Obecnie rozwijana i wspierana przez facebook`a

Sieci neuronowe

Page 19: PYTORCHPytorch Następca biblioteki Torch initial release: październik 2016 preview release: październik 2018 stable release: luty 2019 Obecnie rozwijana i wspierana przez facebook`a
Page 20: PYTORCHPytorch Następca biblioteki Torch initial release: październik 2016 preview release: październik 2018 stable release: luty 2019 Obecnie rozwijana i wspierana przez facebook`a

Debugowanie

Page 21: PYTORCHPytorch Następca biblioteki Torch initial release: październik 2016 preview release: październik 2018 stable release: luty 2019 Obecnie rozwijana i wspierana przez facebook`a

Torchvision - proste, jasne, oczywiste.

● Wiele dostępnych zbiorów danych: mnist, cifar, flickr, …● Wcześniej nauczone sieci: alexnet, resnet, googlenet, NASAnet, UAMnet,

polibudaNET, dotNet ...● Transformacje: padding, scaling, adjusting colour, ...

Page 22: PYTORCHPytorch Następca biblioteki Torch initial release: październik 2016 preview release: październik 2018 stable release: luty 2019 Obecnie rozwijana i wspierana przez facebook`a

Torchvision - from mnist import mnist?

Page 23: PYTORCHPytorch Następca biblioteki Torch initial release: październik 2016 preview release: październik 2018 stable release: luty 2019 Obecnie rozwijana i wspierana przez facebook`a

Torchvision - a co jeśli chcemy żeby obrazki wyglądały inaczej?

Page 24: PYTORCHPytorch Następca biblioteki Torch initial release: październik 2016 preview release: październik 2018 stable release: luty 2019 Obecnie rozwijana i wspierana przez facebook`a

Torchvision - from resnet import resnet?

Mamo, co zrobić z tymi 20 teslami co się kurzą w szafie?

Fine-tuning the convnet

Convnet as fixed feature extractor

Page 25: PYTORCHPytorch Następca biblioteki Torch initial release: październik 2016 preview release: październik 2018 stable release: luty 2019 Obecnie rozwijana i wspierana przez facebook`a

TensorboardX

- Wymaga TF i tensorboard’a- pip install tensorboardX- pip remove pytorch

Page 26: PYTORCHPytorch Następca biblioteki Torch initial release: październik 2016 preview release: październik 2018 stable release: luty 2019 Obecnie rozwijana i wspierana przez facebook`a

What about cloud?

Page 27: PYTORCHPytorch Następca biblioteki Torch initial release: październik 2016 preview release: październik 2018 stable release: luty 2019 Obecnie rozwijana i wspierana przez facebook`a

TF vs Pytorch

Page 28: PYTORCHPytorch Następca biblioteki Torch initial release: październik 2016 preview release: październik 2018 stable release: luty 2019 Obecnie rozwijana i wspierana przez facebook`a

Pytania?