ZhennanQin commented on a change in pull request #12530: Implement mkldnn
convolution fusion and quantization.
URL: https://github.com/apache/incubator-mxnet/pull/12530#discussion_r223959389
##########
File path: src/executor/graph_executor.cc
##########
@@ -1561,15 +1561,32 @@ static nnvm::Symbol PartitionGraph(const nnvm::Symbol&
src,
} else {
CHECK(i1 < arg_names.size());
CHECK_EQ(arg_names[i1], input_names[i]);
- arg_shapes.push_back(in_args[i1].shape());
- arg_dtypes.push_back(in_args[i1].dtype());
- arg_stypes.push_back(in_args[i1].storage_type());
- in_arg_ctxes[i1] = in_args[i1].ctx();
+ arg_shapes.push_back(in_args->at(i1).shape());
+ arg_dtypes.push_back(in_args->at(i1).dtype());
+ arg_stypes.push_back(in_args->at(i1).storage_type());
+ in_arg_ctxes[i1] = in_args->at(i1).ctx();
++i1;
}
}
- return PartitionGraph(src, prop_name, arg_shapes, arg_dtypes, arg_stypes,
- default_ctx, ctx_map, in_arg_ctxes, aux_state_ctxes);
+
+ // setup in_args_map
+ std::unordered_map<std::string, NDArray> in_args_map;
+ for (size_t i = 0; i < in_args->size(); ++i) {
+ in_args_map[arg_names[i]] = in_args->at(i);
Review comment:
@zheng-da Now graph partitioning may change the order of inputs. This is a
basic requirement from graph optimization purpose. For example, if we found
there's a redundant op that doesn't contribute to graph output, shouldn't we
remove it? If the answer is yes, then the input list will be changed.
Besides, current API design provides bad support for inputs with same
name(if you treat the undocumented behavior is a kind of support). We should
fix this anyway.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services