What's the equivalent of nnvm.symbol().debug_str() in Relay?


#1

I find nnvm.symbol().debug_str() extremely useful during debugging. Is there an equivalent in Relay?


#2

I don’t know what nnvm.symbol().debug_str() does, but for relay I found it helpful to add

func.astext(show_meta_data=False)

after this line. This shows the structure of the graph (or function in relay lingo) after operator fusion.


#3

I have a doubt, @masahi @hlu1 , say I have an already trained model(not created by me), since I have the weights and symbols, I want to recreate that network in TVM, just to make sure that I apply my own scheduling algorithm for optimization while calculating the inference. The output of nnvm.symbol().debug_str(), doesn’t help for recreating the graph as it is not clear which not is connected to which one. Could you tell me any way by which I can generate the graph using my own tensors?

thanks,


#4

If the trained model is in a common framework you can simply import as an NNVM or Relay program, you can also convert your NNVM programs to Relay using nnvm.to_relay.to_relay which is part of the NNVM package.