Current implementation (as of 3/18/2020) only supports combining ops into 
subgraphs generically. does not allow for fine grained control to say which ops 
should go into which subgraphs. Need to modify `supportedOps` API to change the 
`ids` vector from bool (supported or not) to integer (to say which subgraph 
this node should go in to). This will allow for coloring and fine grained 
control of ops in a subgraph. 
https://github.com/apache/incubator-mxnet/blob/07d0b738384cba011ce519bcc41aeeaaafcd22c1/example/extensions/lib_subgraph/subgraph_lib.cc#L179-L181
Will also need to modify custom_subgraph_property.h selector to use these int 
values to define the subgraph instead of just looking for existence of the 
operator name.
https://github.com/apache/incubator-mxnet/blob/41d534be3ffd7b45846f555366230f4e811d8751/src/operator/subgraph/partitioner/custom_subgraph_property.h#L47-L54

Open question:
How do we handle the cases where we want to remove args/aux from the top level 
of the model, migrating those into the subgraph? If we compile a subgraph with 
Args/Aux then those tensor values are effectively frozen in the compiled binary 
so we need to be clear with users that they can no longer be changed in the top 
level model

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/incubator-mxnet/issues/17236#issuecomment-600786482

Reply via email to