This document is an attempt to categorize scattered RFCs and documents around the web for creating a comprehensive guide for MXNet developers. Contributions are welcomed!
Architecture
Extending MXNet
- A Beginner's Guide to Implementing Operators in MXNet Backend
- How to Implement a NumPy-Compatible Operator in MXNet
- A Guide to Implementing Sparse Operators in MXNet Backend
MXNet internals
- Dependency engine
- Execution engine (explained in the backend)
- General overview of optimizing memory consumption
- Bindings
- Higher Order Gradient Calculation
Runtime
IO
- Designing Efficient Data Loaders for Deep Learning
- Create a Dataset Using RecordIO
- Image Transforms and RecordIO file Creation
- MXNet end to end models
- Extending MXNet Model save/load APIs
Exception handling
- Exception handling
- Improved Exception Handling in MXNet
- Improved Exception Handling in MXNet - Phase 2
Gluon
- Gluon API
- Sparse Gluon API
- Gluon Audio
- Gluon Fit API - Tech Design
- Gluon API for Scala/ Clojure/ Java packages
Debugging
Profiling
Subgraph
- Subgraph API
- Unified integration with external backend libraries
- Enable Operator Level Parallelism under Subgraph
Distributed MXNet
NNVM
TVM
FFI
Inference
Quantization and mixed precision training
MKL-DNN
- The design of MKLDNN integration
- MXNet Graph Optimization and Quantization based on subgraph and MKL-DNN
Benchmarking
- Some Tips for Improving MXNet Performance
- MXNet Operator Benchmarks
- Benchmarking MXNet with different OpenMP implementations
- MXNet with Intel MKL-DNN - Performance Benchmarking