Derin Öğrenme için PyTorch'u Seçme Nedenleri

Nov 26 2020
PyTorch'un Derin Öğrenme programcılarına sunacağı çok şey var
Derin Öğrenme ve Makine Öğrenimi, son birkaç yıldır herkes arasında en çok konuşulan kelimeler oldu ve bunun için mükemmel bir açıklama var. Makine Öğrenimi, sistemlerin deneyimlerden öğrenmesini sağlarken Derin Öğrenme, geniş veri kümelerinin kullanımıyla Makine Öğrenimini daha da büyük bir ölçeğe taşıdı.

Derin Öğrenme ve Makine Öğrenimi , son birkaç yıldır herkes arasında en çok konuşulan kelimeler oldu ve bunun için mükemmel bir açıklama var.

Makine Öğrenimi, sistemlerin deneyimlerden öğrenmesini sağlarken Derin Öğrenme, geniş veri kümelerinin kullanımıyla Makine Öğrenimini daha da büyük bir ölçeğe taşıdı. ML ve DL bu artış meydana getirmiştir çeşitli programlama dili ler ve kütüphaneler geldi ve etkin programcılar , araştırmacılar ve veri bilimciler düşünülemez elde etmek. En iyi Derin Eğilme kitaplığı için en güçlü yarışmacılardan bazıları TensorFlow ve PyTorch'tur . Şimdilik, PyTorch'a daha fazla odaklanacağız .

PyTorch

Facebook, Lua'nın Torch kütüphanesine dayananprogramlama sahnesi için 2016'da PyTorch'u yayınladı .

PyTorch ücretsiz ve açık kaynaklı bir makine öğrenimi kitaplığıdır ve şu anda v1.4 sürümündedir . PyTorch neredeyse üç yıldır piyasada ve daha iyi bir konumda olmak için pek çok iyileştirme yaptı. PyTorch, rekabetin geri kalanından daha hızlı ve daha Pythonic hissetmek için yaratıldı. Ayrıca C, C ++ ve Tensor hesaplama desteği içerir .

Google Trendler - Zaman İçinde PyTorch İlgisi

Google Trendler (kaynak)

Derin Öğrenme için PyTorch'u Seçme Nedenleri

PyTorch'u neden denememeniz gerektiğine dair nedenlere geçmeden önce, aşağıda PyTorch'un doğmasına yardımcı olduğu benzersiz ve heyecan verici Derin Öğrenme projeleri ve kütüphanelerinden bazıları verilmiştir:

CheXNet: Derin öğrenme ile göğüs röntgeni üzerinde radyolog düzeyinde pnömoni tespiti.

Horizon: Uygulamalı pekiştirmeli öğrenim için bir platform (Uygulamalı RL)

PYRO : Pyro, Python'da yazılmış ve arka uçta PyTorch tarafından desteklenen evrensel bir olasılıklı programlama dilidir (PPL).

Kaolin tarafından NVIDIA 3D Derin Öğrenme hızlandırılması için bir PyTorch kütüphanesi olarak

Projelerinize bilgisayar vizyonu uygulamak için TorchCV

● Derin öğrenme için bir dizi araç olarak PyDLT

fastai kitaplığı sinir ağı eğitim sürecinizi optimize eder

ve çok daha fazlası.

Bunlar, TensorFlow ve PyTorch üzerine inşa edilen birkaç çerçeve ve projedir. Daha fazlasını Github'da ve TF ve PyTorch'un resmi web sitelerinde bulabilirsiniz.

TensorFlow bir dünyada , PyTorch güçlü noktaları ile kendi başına tutma kapasitesine sahiptir. Aşağıda, PyTorch'un Derin Öğrenme Projeleriniz için neden uygun olduğunu açıklayan bazı önemli noktalar yer almaktadır :

1. PyTorch Daha Pythonic

PyTorch , kodu daha pitonik bir şekilde yazmamıza olanak tanıyan bir geçiş çerçevesidir . Ayrıca, naif piton kodunu kullanarak desteklediğini dinamizm tür olan olağanüstü.

PyTorch, başka herhangi bir kitaplıkla karşılaştırıldığında Python'a daha fazla yönelme eğilimindedir. Bunun nedeni, PyTorch'un anlaşılması nispeten kolay olması ve daha doğal , doğal ve Python koduyla uyumlu olmasıdır .
Python ile çalışan herkes için, kayıp fonksiyonları, optimize ediciler, dönüşümler, veri yükleyiciler ve daha birçok sınıf gibi PyTorch ile her şeyle kendilerini evlerinde hissedecekler.

Her PyTorch örneğinin kodu (Vision ve NLP) ortak bir yapıyı paylaşır:

PyTorch örneği (kaynak)
PyTorch örneği (kaynak)

2. Kullanımı Kolay

PyTorch ile karşılaştırıldığında, TensorFlow nispeten daha dik bir öğrenme eğrisine sahiptir. Python programcıları, PyTorch'a uyum sağlamak için daha az zamana ihtiyaç duyacaklar, büyük olasılıkla Python çerçevesinin bir uzantısı gibi hissedecekler. Kolay hata ayıklama ve harika bir dizi basit API , PyTorch'u programcıların algılamasını kolaylaştırmada çok önemli bir rol oynar.

3. Yararlı Kitaplıklar

Büyük topluluk desteği, topluluğa büyük bir coşku ve katkı sağlar. PyTorch'u kullanarak, programcılar devam etti ve bir göz atmak isteyen herkes için mevcut olan bazı projeler yarattı. Computer Vision , Natural Language Processing ve Generative Libraries gibi çeşitli alanlardaki bu projelerden birkaçının birleşik bir listesi aşağıdadır:

● pro_gan_pytorch, ProGAN özelliklerinden yararlanmak için

● Bayesian Optimizasyonları kullanmak için BoTorch

● Diyalog modellerini paylaşmak, eğitmek ve test etmek için ParlAI

● Nöral makine çeviri sistemini uygulamak için OpenNMT-py

● Çok dilli kelime düğünleri için MUSE

● scikit-learn kodunu PyTorch ile birleştirmek için skorch

4. Zahmetsiz Veri Paralelliği

PyTorch'daki Veri Paralelliği etkilidir ve verileri toplu işlere ayırmanıza olanak tanır , bunlar daha sonra işlenmek üzere birden çok GPU'ya gönderilir. Bu tekniği kullanarak PyTorch, iş yükünün önemli bir bölümünü CPU'dan GPU'ya kaydırabilir. İçin veri paralelliği , bu torch.nn.DataParallel sınıfını kullanır.

Dağıtılmış Veri Paralel , PyTorch'un, büyük veri kümeleri gerektiren kullanım durumlarını ve tek bir GPU için yeterince büyük olan modelleri ele almak için Veri Paralel ile birleştirebileceğiniz bir özelliğidir. GPU havuzu üzerindeki tüm görevler tamamlandığında, sonuç toplanır, birleştirilir ve Veri Paralel tarafından size geri gönderilir.

Pytorch Veri Paralel (kaynak)

5. Araştırmacılar için Mükemmel

PyTorch, çerçeveler üzerinde çalışan araştırmacıların en az% 70'i tarafından kullanıldığı kanıtlandığı için Araştırmacılar için bir tanrıdır . TensorFlow, uygulama geliştirmek için sektör lideri seçim olmasına rağmen, bu açıdan PyTorch'u henüz yakalayamadı. Bunun arkasındaki nedenlerden biri , PyTorch'un daha iyi performansla sunduğu basitlik ve kullanım kolaylığı olabilir .

6. Mobil Cihazlara Hazır

V1.3'ten itibaren PyTorch, Android ve iOS cihazlarda dağıtım için destek ekledi. Bu özellik, daha düşük gecikme süresi gerektiren uygulamalara hitap etmek için PyTorch'un tüm avantajlarını uç cihazlara getirir. PyTorch mobil'in arkasındaki amaç, mobil platformlar için temel API'leri destekleyerek geliştirme döngüsünü azaltmak ve Caffe2 gibi mobil çerçevelere dışa aktarma ihtiyacını ortadan kaldırmaktır. Bu, cihaz üzerindeki ayak izinde önemli bir azalma sağlar. Daha fazla kontrol için derleme komut dosyalarının hassas ince ayarı için destek de eklenmiştir.

PyTorch Mobile'ı Kullanmaya Başlayın:

Android'i kullanmaya başlayın

Başlayın iOS

7. Kolay Hata Ayıklama

Her satıra ve her satırdan sonra olağan yazdırma yöntemine erişme seçeneğiniz olduğunda PyTorch'un hata ayıklaması aptalca kolaydır. Pasta üzerindeki krema, PyTorch'taki nesnelerin ve işlemin sembolik referansları değil gerçek verileri içermesi ve programcılar için hayatı kolaylaştırmasıdır. PyTorch için standart hata ayıklayıcılardan bazıları şunlardır:

● ipdb

● pdb

● PyCharm

Örneğin, hatanın köküne inmek için kodunuza kesme noktaları yerleştirmek için pdb'nin "pdb.set_trace ()" işlevini kullanabilirsiniz. Ayrıca PyTorch'un dinamik hesaplama grafikleri, kodunuz yürütülürken dinamik modifikasyona ve hızlı hata ayıklamaya izin verir .

Pdb ile PyTorch Hata Ayıklama (kaynak)

8. ONNX desteği

Açık Sinir Ağı Değişimi , AI programcılarının çeşitli çerçeveler, araçlar ve kitaplıklar üzerinde birbirinin yerine geçebilecek şekilde çalışması için ortak bir zemin sağlayarak Yapay Zeka için açık kaynaklı bir ekosistem görevi görür. ONNX bunu, birden çok çerçeve ve donanımda çalışan standart bir dosya formatı sağlayarak yapar.

PyTorch söz konusu olduğunda, ONNX, PyTorch için yerleşik destek ve Caffe2, MXNet, TensorFlow ve daha fazlası gibi çok çeşitli diğer çerçevelerle birlikte gelir. ONNX, AI programcılarının PyTorch modellerini diğer çerçevelerin entegre edebileceği açık bir formata aktarmasını ve taşımasını kolaylaştırır .

PyTorch yerel ONNX desteği (kaynak)

9. Dinamik Hesaplamalı Grafikler Desteği

Her modeli Yönlendirilmiş Asiklik Grafik olarak görüntüleyen PyTorch, hesaplama grafiklerini tanımlamak için dinamik bir yaklaşım sunar. Diğer çerçeveler statik bir grafik tanımına izin verirken, PyTorch hareket halindeyken özgürce değiştirebileceğiniz dinamik bir hesaplama grafiğinin oluşturulmasını destekler . PyTorch'un bu dinamik yönünden en çok yararlanan böyle bir unsur, diğerleri arasında Yinelenen Sinir Ağlarıdır.

10. Güçlü Topluluk Desteği

PyTorch ayrıca mükemmel topluluk desteği sunar . PyTorch ev etti belgelere ayrıntılı özellikleri her biri hakkında. Kütüphaneye yapılan tüm son güncellemeler iyi bir şekilde açıklanmıştır. Her yeni eklemeyle birlikte, bu değerli uygulamalı hissi elde etmek için destekleyici öğreticiler ve ilgili kaynaklar da bulunabilir.

PyTorch Forum , yeni başlayanlar için sorularını göndermeleri ve gazilerin fikirlerini diğer programcılarla paylaşmaları için mükemmel ve şiddetle tavsiye edilen bir yerdir. Günde yüzden fazla gönderi ile topluluk oldukça aktif ve insanları PyTorch ile birlikte çalışmaya teşvik ediyor.

İşte katkıda bulunmak, öğrenmek ve sorularınıza yanıt almak için PyTorch geliştirici topluluğu , kaynaklar ve öğreticilerden bazıları -

● PyTorch Tartışma formu

● PyTorch Slack Topluluğu

● PyTorch Örnekleri

● PyTorch Belgeleri

● Github Pytorch Eğiticileri

● PyTorch Acemi Hile Sayfası

● PyTorch Sürüm Notları

● Pytorch ile Derin Öğrenme: 60 Dakikalık Blitz

● Colab'da Google Drive'daki Eğitici verilerini kullanma

● Çince Dokümanlar ve Eğiticiler

● Korece Eğiticiler

Sonuç

Derin Öğrenme programcıları için çok sayıda sezgisel özelliğe sahip PyTorch, çok çeşitli beceri seviyelerinde insanlara sunacak çok şey var. Kolay bir giriş noktası sağlamasına rağmen, PyTorch, yalnızca belirli yönlerden daha iyi performans sunmakla kalmayıp aynı zamanda ek benzersiz özellikler sunan özellikler sunduğu için hafife alınmamalıdır. Şüpheci olduğunuz PyTorch'a o sıçramayı yapmanıza yardımcı olmak için PyTorch'un en çok konuşulan özelliklerinden bazılarını tartıştık.

Daha İlginç Okumalar -

Umarım bu makaleyi faydalı bulmuşsunuzdur! Aşağıda bazı ilginç okumalar sizin de beğeneceğinizi umuyor -

yazar hakkında

Claire D . Digitalogy'de bir İçerik Oluşturucu ve Pazarlamacıdır - insanları önceden taranmış ve birinci sınıf geliştiricilerle ve tasarımcılarla dünya çapındaki özel ihtiyaçlarına göre bir araya getiren bir teknoloji tedarik ve özel eşleştirme pazarı. İle iletişime Digitalogy üzerinde Linkedin , Twitter , Instagram .