Re: [dmlc/tvm] [Relay][RFC] Resolve cyclic dependency in Closure (#4143)

2019-10-17 Thread 雾雨魔理沙
I also think that we should employ a cycle detector in tvm - this method can only eliminate a certain class of cycle, but there will be more as relay program grow more complex. #3423 -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on

[TVM Discuss] [Development] Potential Issue when Cloning Nodes

2019-10-17 Thread Yao Wang via TVM Discuss
I think you need to create a relay.Function and call with new_args. --- [Visit Topic](http://tracking.discuss.tvm.ai/tracking/click?d=RrWWa6ZnID_g8FliIRahCwQ_WoNDb7NcN3cKg_cQTcd-2-85LLdevpDxXuPmWjg_9OjF8iMLsOsG-Vh8QUtfgmw3jn33dtjuLP4fuZPiEwk8LTXJDCT3gvN2w-NPB8DvayTYHX9Pf5WTIxXK5sSDgLo7uxxhI

[TVM Discuss] [Development] Potential Issue when Cloning Nodes

2019-10-17 Thread Cody H. Yu via TVM Discuss
Here is a simple test with Relay function: copy_out2 = deepcopy(out2) copy_out2.args = new_args f = relay.Function(new_args, copy_out2) print(f) But it seems not working either: v0.0.4 fn (%new_data: Tensor[(1, 3, 224, 224), float32], %new_weights: Tensor[(32, 32, 1, 1

[dmlc/tvm] [Relay][RFC] Resolve cyclic dependency in Closure (#4143)

2019-10-17 Thread 雾雨魔理沙
see #4139 . Currently, relay evaluate a function to a closure. It contain both the code of the function, and a mapping of every free variable inside that function, to the value of the free variable. when a closure is invoked, that mapping is used for the free variable. This is needed because the

[TVM Discuss] [Development] Can customized convolution operator be fused with topi.nn.relu?

2019-10-17 Thread Wuwei Lin via TVM Discuss
You need call traverse_inline in your schedule function, which should be similar to `schedule_conv2d_nchw` --- [Visit Topic](http://tracking.discuss.tvm.ai/tracking/click?d=HAfqW0WEU_lor6ZW857wZyOyMAsmW1aj1uWgF-pZAaGc7CpXi4Zg5tueK7PhYq-5pJbdmXn8wG8ZG7HHibk2M3RJjyE5k8jp7fMWA6eY9fbayCkrmg1gv