You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mxnet.apache.org by GitBox <gi...@apache.org> on 2019/06/21 00:28:26 UTC

[GitHub] [incubator-mxnet] samskalicky opened a new issue #15296: Graph Executor does not track mutable input dependencies

samskalicky opened a new issue #15296: Graph Executor does not track mutable input dependencies
URL: https://github.com/apache/incubator-mxnet/issues/15296
 
 
   ## Description
   In the Symbol/Module flow, the graph executor does not track mutable input dependencies when setting up the use_vars and mutate_vars arrays here:
   https://github.com/apache/incubator-mxnet/blob/master/src/executor/graph_executor.cc#L1222-L1234
   
   Notice that inputs are only added to use_vars on line 1224, and mutate_vars only contains outputs. 
   
   Compare this to the CachedOp flow in Gluon where we get the mutable inputs here:
   https://github.com/apache/incubator-mxnet/blob/master/src/imperative/imperative_utils.h#L245
   
   and then add all mutable inputs to the write_vars array on line 294 (here read_vars is the same as use_vars, and write_vars is the same as mutate_vars in the graph executor above). 
   
   This means that its possible that write dependencies would not be tracked correctly in the symbol/module flows for operators that use the FMutateInputs attribute. Currently it looks like only BatchNorm uses this. 
   
   ## Test case
   This can be tested using BatchNorm, by creating a symbol graph that only contains batch norm and run with the same running mean and variance many times

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services