leezu commented on a change in pull request #15969: Partitioning Gluon
HybridBlocks
URL: https://github.com/apache/incubator-mxnet/pull/15969#discussion_r374396152
##########
File path: python/mxnet/gluon/block.py
##########
@@ -954,6 +955,22 @@ def _build_cache(self, *args):
unused = ', '.join(list(param_names - set(used_param_names)))
warnings.warn("Parameter %s is not used by any computation. "
"Is this intended?"%unused, stacklevel=4)
+ if self._backend:
+ arg_array = []
+ ctx = args[0].context
+ try:
+ for name in out.list_arguments():
+ if name in data_names.keys():
+ arg_array.append(args[data_names[name]])
+ else:
+ arg_array.append(params.get(name).data())
+
+ except DeferredInitializationError:
Review comment:
DeferredInitializationError is with respect to parameter shapes.
> The input shapes may not be enough to infer shapes through the model.
If the input shapes are not sufficient to infer parameter shapes, forward
will not be possible.
It's correct that dynamic shape operators prevent shape inference of the
complete model.
My concern here is only to handle correctly the case where parameter shape
can be inferred correctly and the PR currently does not. Let's discuss more
about the complete model shape inference.
----------------------------------------------------------------
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:
[email protected]
With regards,
Apache Git Services