Thanks for the great proposal. @hcho3, I followed your [script in
github](https://github.com/hcho3/relayviz) and noticed it missed a case when
operator being "Call"ed is a function.
Adding some code within "Call" condition can generate graph with each function
singled out.
```
elif isinstance(node, tvm.relay.expr.Call):
args = [node_dict[arg] for arg in node.args]
if isinstance(node.op, tvm.relay.Function):
print(f'node_idx: {node_idx},
Call(Function({node_dict[node.op.body]}))')
dot.node(str(node_idx),
f'Call(Function({node_dict[node.op.body]}))')
else:
print(f'node_idx: {node_idx}, Call(op_name={node.op.name},
args={args})')
dot.node(str(node_idx), f'Call(op={node.op.name})')
for arg in args:
dot.edge(str(arg), str(node_idx))
elif isinstance(node, tvm.relay.Function):
print(f'node_idx: {node_idx},
Function(body={node_dict[node.body]})')
dot.node(str(node_idx), f'Function'+str({node_dict[node.body]}))
dot.edge(str(node_dict[node.body]), str(node_idx))
```

---
[Visit
Topic](https://discuss.tvm.ai/t/rfc-visualizing-relay-program-as-graph/4825/15)
to respond.
You are receiving this because you enabled mailing list mode.
To unsubscribe from these emails, [click
here](https://discuss.tvm.ai/email/unsubscribe/7bcc544c68d3e2a08eb015089fecb9db2bf1122c769665014c89432917f27519).