Apache MXNet - Toolkit dan Ekosistem
Untuk mendukung penelitian dan pengembangan aplikasi Deep Learning di banyak bidang, Apache MXNet memberi kami ekosistem yang kaya akan toolkit, pustaka, dan banyak lagi. Mari kita jelajahi -
ToolKits
Berikut adalah beberapa toolkit yang paling banyak digunakan dan penting yang disediakan oleh MXNet -
GluonCV
Seperti namanya GluonCV adalah toolkit Gluon untuk computer vision yang didukung oleh MXNet. Ini menyediakan implementasi algoritma DL (Deep Learning) yang canggih dalam computer vision (CV). Dengan bantuan insinyur toolkit GluonCV, peneliti, dan siswa dapat memvalidasi ide-ide baru dan mempelajari CV dengan mudah.
Diberikan di bawah ini adalah beberapa features of GluonCV -
Ini melatih skrip untuk mereproduksi hasil mutakhir yang dilaporkan dalam penelitian terbaru.
Lebih dari 170+ model pretrained berkualitas tinggi.
Gunakan pola pengembangan yang fleksibel.
GluonCV mudah untuk dioptimalkan. Kami dapat menerapkannya tanpa mempertahankan kerangka kerja DL yang berat.
Ini memberikan API yang dirancang dengan cermat yang sangat mengurangi kerumitan implementasi.
Dukungan komunitas.
Penerapan yang mudah dipahami.
Berikut ini adalah supported applications oleh toolkit GluonCV:
Klasifikasi Gambar
Deteksi Objek
Segmentasi Semantik
Segmentasi Instance
Estimasi Pose
Pengakuan Tindakan Video
Kita dapat menginstal GluonCV dengan menggunakan pip sebagai berikut -
pip install --upgrade mxnet gluoncv
GluonNLP
Seperti namanya GluonNLP adalah toolkit Gluon untuk Pemrosesan Bahasa Alami (NLP) yang didukung oleh MXNet. Ini menyediakan implementasi model DL (Deep Learning) yang canggih di NLP.
Dengan bantuan teknisi toolkit GluonNLP, peneliti, dan siswa dapat membuat blok untuk pipeline dan model data teks. Berdasarkan model ini, mereka dapat dengan cepat membuat prototipe ide dan produk penelitian.
Diberikan di bawah ini adalah beberapa fitur GluonNLP:
Ini melatih skrip untuk mereproduksi hasil mutakhir yang dilaporkan dalam penelitian terbaru.
Kumpulan model yang dilatih sebelumnya untuk tugas NLP umum.
Ini memberikan API yang dirancang dengan cermat yang sangat mengurangi kerumitan implementasi.
Dukungan komunitas.
Ini juga menyediakan tutorial untuk membantu Anda memulai tugas NLP baru.
Berikut adalah tugas-tugas NLP yang dapat kita implementasikan dengan toolkit GluonNLP -
Penyematan Kata
Model Bahasa
Mesin penerjemah
Klasifikasi Teks
Analisis Sentimen
Inferensi Bahasa Alami
Pembuatan Teks
Penguraian Ketergantungan
Pengakuan Entitas Bernama
Klasifikasi Maksud dan Pelabelan Slot
Kita dapat menginstal GluonNLP dengan menggunakan pip sebagai berikut -
pip install --upgrade mxnet gluonnlp
GluonTS
Sesuai namanya, GluonTS adalah toolkit Gluon untuk Pemodelan Rangkaian Waktu Probabilistik yang didukung oleh MXNet.
Ini menyediakan fitur-fitur berikut -
Model deep learning yang canggih (SOTA) siap untuk dilatih.
Utilitas untuk memuat serta melakukan iterasi atas kumpulan data deret waktu.
Membangun blok untuk menentukan model Anda sendiri.
Dengan bantuan insinyur toolkit GluonTS, peneliti, dan siswa dapat melatih dan mengevaluasi model bawaan apa pun pada data mereka sendiri, bereksperimen dengan cepat dengan solusi yang berbeda, dan menghasilkan solusi untuk tugas deret waktu mereka.
Mereka juga dapat menggunakan abstraksi dan blok penyusun yang disediakan untuk membuat model deret waktu kustom, dan dengan cepat melakukan tolok ukur terhadap algoritme dasar.
Kami dapat menginstal GluonTS dengan menggunakan pip sebagai berikut -
pip install gluonts
GluonFR
Seperti namanya, ini adalah toolkit Gluon Apache MXNet untuk FR (Pengenalan Wajah). Ini menyediakan fitur-fitur berikut -
Model pembelajaran mendalam yang canggih (SOTA) dalam pengenalan wajah.
Implementasi SoftmaxCrossEntropyLoss, ArcLoss, TripletLoss, RingLoss, CosLoss / AMsoftmax, L2-Softmax, A-Softmax, CenterLoss, ContrastiveLoss, dan LGM Loss, dll.
Untuk menginstal Gluon Face, kita membutuhkan Python 3.5 atau yang lebih baru. Pertama-tama kita juga perlu menginstal GluonCV dan MXNet sebagai berikut -
pip install gluoncv --pre
pip install mxnet-mkl --pre --upgrade
pip install mxnet-cuXXmkl --pre –upgrade # if cuda XX is installed
Setelah Anda menginstal dependensi, Anda dapat menggunakan perintah berikut untuk menginstal GluonFR -
From Source
pip install git+https://github.com/THUFutureLab/gluon-face.git@master
Pip
pip install gluonfr
Ekosistem
Sekarang mari kita menjelajahi pustaka, paket, dan kerangka kerja MXNet yang kaya -
Pelatih RL
Coach, framework Python Reinforcement Learning (RL) yang dibuat oleh lab Intel AI. Ini memungkinkan eksperimen mudah dengan algoritme RL yang canggih. Coach RL mendukung Apache MXNet sebagai back end dan memungkinkan integrasi sederhana dari lingkungan baru untuk diselesaikan.
Untuk memperluas dan menggunakan kembali komponen yang ada dengan mudah, Coach RL dengan sangat baik memisahkan komponen pembelajaran penguatan dasar seperti algoritma, lingkungan, arsitektur NN, kebijakan eksplorasi.
Berikut adalah agen dan algoritma yang didukung untuk kerangka kerja Coach RL -
Agen Pengoptimalan Nilai
Deep Q Network (DQN)
Double Deep Q Network (DDQN)
Duel Jaringan Q.
Campuran Monte Carlo (MMC)
Persistent Advantage Learning (PAL)
Categorical Deep Q Network (C51)
Jaringan Q Dalam Regresi Kuantil (QR-DQN)
Pembelajaran N-Langkah Q
Neural Episodic Control (NEC)
Fungsi Keuntungan Normalisasi (NAF)
Rainbow
Agen Pengoptimalan Kebijakan
Gradien Kebijakan (PG)
Asynchronous Advantage Actor-Critic (A3C)
Gradien Kebijakan Deterministik Mendalam (DDPG)
Pengoptimalan Kebijakan Proksimal (PPO)
Pengoptimalan Kebijakan Proksimal Terpotong (CPPO)
Estimasi Keuntungan Umum (GAE)
Contoh Aktor-Kritikus Efisien dengan Experience Replay (ACER)
Soft Actor-Critic (SAC)
Gradien Kebijakan Deterministik Dalam Tertunda Kembar (TD3)
Agen Umum
Prediksi Masa Depan Langsung (DFP)
Agen Pembelajaran Imitasi
Kloning Perilaku (BC)
Pembelajaran Imitasi Bersyarat
Agen Pembelajaran Penguatan Hierarki
Kritikus Hierarki Aktor (HAC)
Perpustakaan Grafik Dalam
Deep Graph Library (DGL), yang dikembangkan oleh tim NYU dan AWS, Shanghai, adalah paket Python yang menyediakan implementasi yang mudah dari Graph Neural Networks (GNNs) di atas MXNet. Ini juga menyediakan implementasi GNN yang mudah di atas pustaka pembelajaran mendalam utama lainnya yang ada seperti PyTorch, Gluon, dll.
Deep Graph Library adalah perangkat lunak gratis. Ini tersedia di semua distribusi Linux setelah Ubuntu 16.04, macOS X, dan Windows 7 atau lebih baru. Ini juga membutuhkan versi Python 3.5 atau yang lebih baru.
Berikut adalah fitur-fitur DGL -
No Migration cost - Tidak ada biaya migrasi untuk menggunakan DGL karena dibangun di atas kerangka kerja DL yang populer.
Message Passing- DGL menyediakan penyampaian pesan dan memiliki kontrol serbaguna di atasnya. Pengalihan pesan berkisar dari operasi tingkat rendah seperti mengirim sepanjang tepi yang dipilih hingga kontrol tingkat tinggi seperti pembaruan fitur di seluruh grafik.
Smooth Learning Curve - Sangat mudah untuk mempelajari dan menggunakan DGL karena fungsi yang ditentukan pengguna bersifat fleksibel serta mudah digunakan.
Transparent Speed Optimization - DGL menyediakan pengoptimalan kecepatan transparan dengan melakukan batching otomatis dari komputasi dan perkalian matriks renggang.
High performance - Untuk mencapai efisiensi maksimum, DGL secara otomatis menggabungkan pelatihan DNN (jaringan neural dalam) pada satu atau banyak grafik secara bersamaan.
Easy & friendly interface - DGL memberi kami antarmuka yang mudah & ramah untuk akses fitur tepi serta manipulasi struktur grafik.
InsightFace
InsightFace, Alat Pembelajaran Mendalam untuk Analisis Wajah yang menyediakan implementasi algoritme analisis wajah SOTA (canggih) di computer vision yang diberdayakan oleh MXNet. Ini menyediakan -
Model terlatih dalam jumlah besar dan berkualitas tinggi.
Skrip pelatihan state-of-the-art (SOTA).
InsightFace mudah untuk dioptimalkan. Kami dapat menerapkannya tanpa mempertahankan kerangka kerja DL yang berat.
Ini memberikan API yang dirancang dengan cermat yang sangat mengurangi kerumitan implementasi.
Membangun blok untuk menentukan model Anda sendiri.
Kita dapat menginstal InsightFace dengan menggunakan pip sebagai berikut -
pip install --upgrade insightface
Harap dicatat bahwa sebelum menginstal InsightFace, harap instal paket MXNet yang benar sesuai dengan konfigurasi sistem Anda.
Keras-MXNet
Seperti yang kita ketahui bahwa Keras adalah API Jaringan Neural (NN) tingkat tinggi yang ditulis dengan Python, Keras-MXNet memberi kita dukungan backend untuk Keras. Ini dapat berjalan di atas kerangka kerja Apache MXNet DL berperforma tinggi dan dapat diskalakan.
Fitur Keras-MXNet disebutkan di bawah -
Memungkinkan pengguna untuk membuat prototipe yang mudah, lancar, dan cepat. Itu semua terjadi melalui keramahan pengguna, modularitas, dan ekstensibilitas.
Mendukung CNN (Convolutional Neural Networks) dan RNN (Recurrent Neural Networks) serta kombinasi keduanya juga.
Berjalan dengan sempurna di Central Processing Unit (CPU) dan Graphical Processing Unit (GPU).
Bisa berjalan di satu atau multi GPU.
Untuk bekerja dengan backend ini, Anda harus menginstal keras-mxnet sebagai berikut -
pip install keras-mxnet
Sekarang, jika Anda menggunakan GPU, instal MXNet dengan dukungan CUDA 9 sebagai berikut -
pip install mxnet-cu90
Tetapi jika Anda hanya menggunakan CPU, instal MXNet dasar sebagai berikut -
pip install mxnet
MXBoard
MXBoard adalah alat logging, ditulis dengan Python, yang digunakan untuk merekam frame data MXNet dan ditampilkan di TensorBoard. Dengan kata lain, MXBoard dimaksudkan untuk mengikuti API tensorboard-pytorch. Ini mendukung sebagian besar tipe data di TensorBoard.
Beberapa dari mereka disebutkan di bawah -
Graph
Scalar
Histogram
Embedding
Image
Text
Audio
Kurva Pemanggilan Presisi
MXFusion
MXFusion adalah pustaka pemrograman probabilistik modular dengan pembelajaran mendalam. MXFusion memungkinkan kita untuk sepenuhnya memanfaatkan modularitas, yang merupakan fitur utama pustaka pembelajaran mendalam, untuk pemrograman probabilistik. Ini mudah digunakan dan memberi pengguna antarmuka yang nyaman untuk merancang model probabilistik dan menerapkannya pada masalah dunia nyata.
MXFusion diverifikasi pada Python versi 3.4 dan lebih banyak di MacOS dan Linux OS. Untuk menginstal MXFusion, pertama-tama kita perlu menginstal dependensi berikut -
MXNet> = 1.3
Jaringanx> = 2.1
Dengan bantuan perintah pip berikut, Anda dapat menginstal MXFusion -
pip install mxfusion
TVM
Apache TVM, tumpukan kompiler pembelajaran mendalam end-to-end open-source untuk backend perangkat keras seperti CPU, GPU, dan akselerator khusus, bertujuan untuk mengisi celah antara kerangka kerja pembelajaran mendalam yang berfokus pada produktivitas dan backend perangkat keras yang berorientasi pada kinerja . Dengan rilis terbaru MXNet 1.6.0, pengguna dapat memanfaatkan Apache (inkubasi) TVM untuk mengimplementasikan kernel operator berperforma tinggi dalam bahasa pemrograman Python.
Apache TVM sebenarnya dimulai sebagai proyek penelitian di SAMPL group of Paul G. Allen School of Computer Science & Engineering, University of Washington dan sekarang merupakan upaya inkubasi di The Apache Software Foundation (ASF) yang digerakkan oleh OSC ( komunitas open source) yang melibatkan banyak industri serta institusi akademis di bawah cara Apache.
Berikut adalah fitur utama dari Apache (menginkubasi) TVM -
Menyederhanakan proses pengembangan berbasis C ++ sebelumnya.
Memungkinkan berbagi implementasi yang sama di beberapa backend perangkat keras seperti CPU, GPU, dll.
TVM menyediakan kompilasi model DL dalam berbagai kerangka kerja seperti Kears, MXNet, PyTorch, Tensorflow, CoreML, DarkNet menjadi modul minimum yang dapat diterapkan pada berbagai backend perangkat keras.
Ini juga memberi kami infrastruktur untuk secara otomatis menghasilkan dan mengoptimalkan operator tensor dengan kinerja yang lebih baik.
XFer
Xfer, kerangka pembelajaran transfer, ditulis dengan Python. Ini pada dasarnya mengambil model MXNet dan melatih model meta atau memodifikasi model untuk kumpulan data target baru juga.
Dengan kata sederhana, Xfer adalah pustaka Python yang memungkinkan pengguna mentransfer pengetahuan dengan cepat dan mudah yang disimpan di DNN (jaringan neural dalam).
Xfer dapat digunakan -
Untuk klasifikasi data format numerik arbitrer.
Untuk kasus umum gambar atau data teks.
Sebagai pipeline yang melakukan spam dari mengekstrak fitur hingga melatih repurposer (objek yang melakukan klasifikasi dalam tugas target).
Berikut adalah fitur-fitur Xfer:
Efisiensi sumber daya
Efisiensi data
Akses mudah ke jaringan saraf
Pemodelan ketidakpastian
Pembuatan prototipe cepat
Utilitas untuk ekstraksi fitur dari NN