NNVM is a reusable graph Intermediate Representation stack for deep learning systems. It provides useful API to construct, represent and transform computation graphs to get most high-level optimization needed in deep learning. NNVM is a part of TVM stack for deep learning and provides a shared compiler for deep learning frameworks to optimize, compile and deploy into different hardware backends through TVM.
The key elements of NNVM are:
- Operator registry system to register and add new operators
- Operator attribute system provide property of operator in decentralized fashion
- A reusable IR data structure for optimization passes
Read the article to take a look at a sample NNVM IR for ResNet18 model
This is a companion discussion topic for the original entry at http://iq.opengenus.org/nnvm-intermediate-representation/