PyTorch - Wprowadzenie
PyTorch jest zdefiniowany jako biblioteka uczenia maszynowego typu open source dla języka Python. Jest używany do zastosowań, takich jak przetwarzanie języka naturalnego. Jest początkowo opracowany przez grupę badawczą zajmującą się sztuczną inteligencją Facebooka i oprogramowanie Pyro firmy Uber do programowania probabilistycznego, które jest na nim zbudowane.
Pierwotnie PyTorch został opracowany przez Hugh Perkinsa jako opakowanie Pythona dla LusJIT opartego na frameworku Torch. Istnieją dwa warianty PyTorch.
PyTorch przeprojektowuje i implementuje Torch w Pythonie, współdzieląc te same podstawowe biblioteki C dla kodu zaplecza. Programiści PyTorch dostroili ten kod zaplecza, aby wydajnie uruchamiać Pythona. Zachowali także akcelerację sprzętową opartą na GPU, a także funkcje rozszerzalności, które stworzyły Torch oparty na Lua.
funkcje
Poniżej wymieniono główne cechy PyTorch -
Easy Interface- PyTorch oferuje łatwe w użyciu API; dlatego jest uważany za bardzo prosty w obsłudze i działa w Pythonie. Wykonanie kodu w tym frameworku jest dość łatwe.
Python usage- Ta biblioteka jest uważana za Pythonic, która płynnie integruje się ze stosem nauki o danych Python. W ten sposób może wykorzystać wszystkie usługi i funkcje oferowane przez środowisko Python.
Computational graphs- PyTorch zapewnia doskonałą platformę, która oferuje dynamiczne wykresy obliczeniowe. W ten sposób użytkownik może je zmieniać w trakcie działania. Jest to bardzo przydatne, gdy programista nie ma pojęcia, ile pamięci jest potrzebne do utworzenia modelu sieci neuronowej.
PyTorch jest znany z trzech poziomów abstrakcji, jak podano poniżej -
Tensor - imperatywna tablica n-wymiarowa działająca na GPU.
Zmienna - węzeł w grafie obliczeniowym. To przechowuje dane i gradient.
Moduł - warstwa sieci neuronowej, która będzie przechowywać wagi stanu lub możliwe do nauczenia się.
Zalety PyTorch
Oto zalety PyTorch -
Łatwo jest debugować i zrozumieć kod.
Zawiera wiele warstw, takich jak Torch.
Zawiera wiele funkcji utraty.
Można to uznać za rozszerzenie NumPy na GPU.
Umożliwia budowanie sieci, których struktura zależy od samych obliczeń.
TensorFlow kontra PyTorch
Poniżej przyjrzymy się głównym różnicom między TensorFlow i PyTorch -
PyTorch | TensorFlow |
---|---|
PyTorch jest ściśle powiązany z platformą Torch opartą na lua, która jest aktywnie wykorzystywana na Facebooku. |
TensorFlow jest rozwijany przez Google Brain i aktywnie używany w Google. |
PyTorch jest stosunkowo nowy w porównaniu do innych konkurencyjnych technologii. |
TensorFlow nie jest nowy i wielu badaczy i profesjonalistów z branży uważa go za gotowe do użycia. |
PyTorch zawiera wszystko w sposób imperatywny i dynamiczny. |
TensorFlow zawiera statyczne i dynamiczne wykresy jako kombinację. |
Wykres obliczeniowy w PyTorch jest definiowany w czasie wykonywania. |
TensorFlow nie zawiera żadnych opcji wykonawczych. |
PyTorch obejmuje wdrożenia przeznaczone dla platform mobilnych i wbudowanych. |
TensorFlow działa lepiej w przypadku struktur osadzonych. |