Alasan Memilih PyTorch untuk Pembelajaran Mendalam

Nov 26 2020
PyTorch menawarkan banyak hal kepada programmer Deep Learning
Pembelajaran Mendalam dan Pembelajaran Mesin telah menjadi kata-kata terpanas di antara semua orang selama beberapa tahun terakhir, dan ada penjelasan yang sempurna untuk itu. Pembelajaran Mesin telah memungkinkan sistem untuk belajar dari pengalaman sementara Pembelajaran Mendalam membawa Pembelajaran Mesin ke skala yang bahkan sangat besar dengan penggunaan kumpulan data yang luas.

Pembelajaran Mendalam dan Pembelajaran Mesin telah menjadi kata-kata terpanas di antara semua orang selama beberapa tahun terakhir, dan ada penjelasan yang sempurna untuk itu.

Pembelajaran Mesin telah memungkinkan sistem untuk belajar dari pengalaman sementara Pembelajaran Mendalam membawa Pembelajaran Mesin ke skala yang bahkan sangat besar dengan penggunaan kumpulan data yang luas. Dorongan dalam ML dan DL ini menimbulkan berbagai bahasa pemrograman s dan perpustakaan yang muncul dan memungkinkan programmer , peneliti dan ilmuwan data yang untuk mencapai yang tak terpikirkan. Beberapa pesaing terkuat untuk library Deep Leaning terbaik adalah TensorFlow dan PyTorch . Untuk saat ini, kami akan lebih fokus pada PyTorch.

PyTorch

Facebook merilis PyTorch untuk adegan pemrograman pada 2016 , yang didasarkan pada perpustakaan Torch Lua .

PyTorch adalah perpustakaan pembelajaran mesin sumber terbuka dan gratis dan saat ini ada di v1.4 . PyTorch telah keluar selama hampir tiga tahun sekarang dan telah melalui banyak perbaikan untuk berada di posisi yang lebih baik. PyTorch dibuat agar terasa cepat dan lebih Pythonic dibandingkan kompetitor lainnya. Ini juga mencakup dukungan untuk komputasi C, C ++ dan Tensor .

Google Trends - Bunga PyTorch Seiring Waktu

Google Trends (sumber)

Alasan Memilih PyTorch untuk Pembelajaran Mendalam

Sebelum membahas alasan mengapa tidak boleh mencoba PyTorch, berikut adalah beberapa proyek dan perpustakaan Deep Learning yang unik dan menarik yang telah dibantu PyTorch untuk melahirkan:

CheXNet: Deteksi pneumonia tingkat ahli radiologi pada rontgen dada dengan pembelajaran mendalam.

Horizon: Sebuah platform untuk pembelajaran penguatan terapan (RL Terapan)

PYRO : Pyro adalah bahasa pemrograman probabilistik universal (PPL) yang ditulis dengan Python dan didukung oleh PyTorch di backend.

Kaolin oleh NVIDIA sebagai perpustakaan PyTorch untuk mempercepat Pembelajaran Mendalam 3D

TorchCV untuk mengimplementasikan computer vision untuk proyek Anda

PyDLT sebagai seperangkat alat untuk pembelajaran mendalam

● pustaka fastai mengoptimalkan proses pelatihan jaringan saraf Anda

dan banyak lagi.

Ini adalah beberapa framework dan project yang dibuat di atas TensorFlow dan PyTorch. Anda dapat menemukan lebih banyak di Github dan situs resmi TF dan PyTorch.

Dalam dunia TensorFlow , PyTorch mampu bertahan dengan kekuatannya sendiri. Di bawah ini adalah beberapa sorotan yang menjelaskan mengapa PyTorch cocok untuk Proyek Pembelajaran Mendalam Anda :

1. PyTorch Lebih Pythonic

PyTorch adalah kerangka kerja yang memungkinkan kita menulis kode dengan cara yang lebih pythonic . Selain itu, jenis dinamisme yang didukungnya menggunakan kode python naif sangat luar biasa.

PyTorch cenderung lebih condong ke arah Python jika dibandingkan dengan pustaka lainnya. Itu karena PyTorch relatif mudah dipahami dan terasa lebih alami , asli , dan sejalan dengan kode Python .
Bagi siapa pun yang telah bekerja dengan Python, mereka akan merasa nyaman dengan segala sesuatu dengan PyTorch, seperti fungsi kerugian, pengoptimal, transformasi, pemuat data, dan banyak lagi kelas lainnya.

Kode untuk setiap contoh PyTorch (Vision dan NLP) memiliki struktur yang sama:

Contoh PyTorch (sumber)
Contoh PyTorch (sumber)

2. Mudah Digunakan

Jika dibandingkan dengan PyTorch, TensorFlow memiliki kurva pembelajaran yang relatif lebih curam. Pemrogram Python akan membutuhkan lebih sedikit waktu untuk menyesuaikan diri dengan PyTorch karena mereka kemungkinan besar akan merasa seperti perpanjangan dari kerangka kerja Python. Proses debug yang mudah dan serangkaian API sederhana yang hebat memainkan peran penting dalam membuat PyTorch lebih mudah diambil oleh pemrogram.

3. Perpustakaan Berguna

Dengan dukungan komunitas yang besar, muncullah antusiasme dan kontribusi yang besar terhadap komunitas. Menggunakan PyTorch, programmer telah maju dan membuat beberapa proyek yang tersedia bagi siapa saja yang tertarik untuk mengintip. Daftar gabungan dari beberapa proyek ini di berbagai domain seperti Computer Vision , Natural Language Processing, dan Generative Libraries ada di bawah ini:

● pro_gan_pytorch untuk memanfaatkan fitur ProGAN

● BoTorch untuk menggunakan Pengoptimalan Bayesian

● ParlAI untuk berbagi, melatih dan menguji model dialog

● OpenNMT-py untuk mengimplementasikan sistem terjemahan mesin neural

● MUSE untuk embeddings kata multibahasa

● skorch untuk menggabungkan kode scikit-learn dengan PyTorch

4. Paralelisme Data yang Mudah

Paralelisme Data di PyTorch efisien dan memungkinkan Anda membagi data menjadi beberapa kelompok , yang kemudian dikirim ke beberapa GPU untuk diproses. Dengan menggunakan teknik ini, PyTorch dapat mengalihkan sebagian besar beban kerja dari CPU ke GPU. Untuk paralelisme data , ini menggunakan kelas torch.nn.DataParallel.

Data-Paralel Terdistribusi adalah fitur dari PyTorch yang dapat Anda gabungkan dengan Data-Paralel untuk menangani kasus penggunaan yang menuntut kumpulan data besar dan model yang cukup besar untuk satu GPU. Ketika semua tugas di atas kumpulan GPU selesai, hasilnya dikumpulkan, digabungkan, dan dikirim kembali kepada Anda oleh Data-Parallel.

Pytorch Data Parallel (sumber)

5. Unggul bagi Peneliti

PyTorch adalah anugerah bagi Peneliti karena terbukti digunakan oleh setidaknya 70% peneliti yang mengerjakan kerangka kerja. Meskipun menjadi pilihan terdepan di industri untuk mengembangkan aplikasi, TensorFlow belum bisa mengejar PyTorch dalam aspek ini. Salah satu alasan di balik ini mungkin karena kesederhanaan dan kemudahan penggunaan yang ditawarkan PyTorch dengan kinerja yang lebih baik.

6. Siap Seluler

Mulai v1.3 , PyTorch telah menambahkan dukungan untuk penyebaran di perangkat Android dan iOS . Fitur ini menghadirkan semua manfaat PyTorch ke perangkat edge untuk memenuhi aplikasi yang menuntut latensi lebih rendah. Tujuan di balik PyTorch seluler adalah untuk mengurangi siklus pengembangan dengan mendukung API dasar untuk platform seluler, menghilangkan kebutuhan untuk mengekspor ke kerangka kerja seluler seperti Caffe2. Hal ini memungkinkan pengurangan yang signifikan pada footprint pada perangkat. Dukungan untuk penyempurnaan yang tepat pada skrip build juga telah ditambahkan untuk kontrol yang lebih baik.

Mulailah dengan PyTorch Mobile:

Mulailah di Android

Mulailah di iOS

7. Debugging Mudah

PyTorch sangat mudah untuk di-debug ketika Anda memiliki opsi untuk mengakses setiap baris dan cara pencetakan biasa setelah setiap baris. Lapisan gula pada kue adalah bahwa objek dan operasi di PyTorch berisi data aktual dan bukan referensi simbolik, membuat hidup lebih mudah bagi pemrogram. Beberapa debugger standar untuk PyTorch adalah:

● ipdb

● pdb

● PyCharm

Katakanlah, misalnya, Anda dapat menggunakan fungsi "pdb.set_trace ()" pdb untuk menempatkan breakpoint dalam kode Anda untuk menelusuri ke akar kesalahan. Selain itu, grafik komputasi dinamis PyTorch memungkinkan modifikasi dinamis dan debugging cepat saat kode Anda dijalankan.

PyTorch Debugging dengan pdb (sumber)

8. Dukungan untuk ONNX

Open Neural Network Exchange bertindak sebagai ekosistem sumber terbuka untuk Artificial Intelligence dengan menyediakan landasan bersama bagi pemrogram AI untuk bekerja secara bergantian pada berbagai kerangka kerja, alat, dan pustaka. ONNX melakukan ini dengan menyediakan format file standar yang berfungsi di berbagai kerangka kerja dan perangkat keras.

Terkait PyTorch, ONNX hadir dengan dukungan bawaan untuk PyTorch dan berbagai kerangka kerja lain seperti Caffe2, MXNet, TensorFlow, dan lainnya. ONNX mempermudah pemrogram AI untuk mengekspor dan memigrasi model PyTorch mereka ke format terbuka yang dapat diintegrasikan oleh kerangka kerja lain.

Dukungan ONNX asli PyTorch (sumber)

9. Dukungan untuk Grafik Komputasi Dinamis

Dengan melihat setiap model sebagai Grafik Asiklik Terarah, PyTorch menawarkan pendekatan dinamis untuk menentukan grafik komputasi. Sementara kerangka kerja lain mengizinkan definisi grafik statis, PyTorch mendukung pembuatan grafik komputasi dinamis di mana Anda bebas untuk memanipulasinya saat dalam perjalanan. Salah satu elemen yang paling diuntungkan dari aspek dinamis PyTorch ini adalah Jaringan Neural Berulang di antara banyak lainnya.

10. Dukungan Komunitas yang Kuat

PyTorch juga menawarkan dukungan komunitas yang sangat baik . The rumah PyTorch telah rinci dokumentasi tentang masing-masing fitur-fiturnya. Semua pembaruan terbaru untuk perpustakaan dijelaskan dengan baik. Dengan setiap tambahan baru, tutorial yang mendukung dan sumber daya terkait juga dapat ditemukan untuk mendapatkan nuansa langsung yang berharga itu.

PyTorch Forum adalah tempat yang sangat baik dan sangat direkomendasikan bagi para pemula untuk mengajukan pertanyaan dan para veteran untuk berbagi ide dengan sesama programmer. Dengan lebih dari seratus pos setiap hari, komunitasnya cukup aktif dan mendorong orang untuk bergabung dengan PyTorch.

Berikut adalah beberapa komunitas pengembang PyTorch , sumber daya dan tutorial untuk berkontribusi, belajar, dan menjawab pertanyaan Anda -

● Formulir Diskusi PyTorch

● Komunitas PyTorch Slack

● Contoh PyTorch

● Dokumen PyTorch

● Tutorial Github Pytorch

● Lembar Cheat Pemula PyTorch

● Catatan Rilis PyTorch

● Pembelajaran Mendalam Dengan Pytorch: Blitz 60 Menit

● Menggunakan data Tutorial dari Google Drive di Colab

● Dokumen dan Tutorial dalam bahasa China

● Tutorial dalam bahasa Korea

Kesimpulan

Dengan sejumlah besar fitur intuitif untuk programmer Deep Learning, PyTorch memiliki banyak hal untuk ditawarkan kepada orang-orang di berbagai tingkat keahlian. Meskipun menyediakan titik masuk yang mudah, PyTorch tidak bisa dianggap enteng karena menawarkan fitur yang tidak hanya menawarkan kinerja yang lebih baik dalam aspek tertentu tetapi juga menawarkan fitur unik tambahan. Kami membahas beberapa fitur PyTorch yang paling sering dibicarakan untuk membantu Anda melakukan lompatan ke PyTorch yang membuat Anda skeptis.

Bacaan Lebih Menarik -

Saya harap artikel ini bermanfaat bagi Anda! Di bawah ini adalah beberapa bacaan menarik, semoga Anda juga menyukainya -

Tentang Penulis

Claire D . adalah Pembuat Konten dan Pemasar di Digitalogi - pasar pencarian sumber teknologi dan perjodohan khusus yang menghubungkan orang-orang dengan pengembang dan desainer yang sudah tersaring & terkemuka berdasarkan kebutuhan spesifik mereka di seluruh dunia. Terhubung dengan Digitalogi di Linkedin , Twitter , Instagram .