Deprecate NNVM in favour of Relay

Now we see Relay does almost everything NNVM offers.

This thread is to discuss community opinion to address if any missing pieces from NNVM to Relay.
Also plan to deprecate NNVM in the interest of multiple implementations for compiler and frontends.

1 Like

I think one sensible step to do is to keep nnvm in “maintenance mode” for one release cycle. i.e. we only add bugfixes, but new features should always go to relay

I believe many orgs are still using NNVM internally. So I think we should not deprecate NNVM so quickly. I agree we add bugfixes for NNVM and new features for Relay. Maybe this status will keep one or two release cycles so that orgs has enough time to switch to Relay.

1 Like

Yes, definitely the bug fixes should go to NNVM.
We could also add a deprecation warning message at end of compiler build function to indicate.

How about will show a deprecation message with out a date now and revisit on this topic at next release to decide removal or publish a date then?

Yeah. I think we could do it so.

Can you please update the tutorial https://docs.tvm.ai/tutorials/autotvm/tune_nnvm_x86.html? Running python tune_nnvm_x86.py ~/ml/ctvm/lib/python3.7/site-packages/nnvm-0.8.0-py3.7.egg/nnvm/init.py:16: FutureWarning: NNVM is deprecated and will be removed in a future version. Use Relay instead. FutureWarning) So basically it’s not tuning at all? Or this tutorial is no longer needed with Relay? Also, how is best configuration is used for my hardware if I were to just run example tvm.nn operator e.g. conv_2d?