leandron commented on a change in pull request #7366:
URL: https://github.com/apache/tvm/pull/7366#discussion_r568107892
##########
File path: python/tvm/driver/tvmc/common.py
##########
@@ -136,3 +138,46 @@ def tracker_host_port_from_cli(rpc_tracker_str):
logger.info("RPC tracker port: %s", rpc_port)
return rpc_hostname, rpc_port
+
+
+def parse_shape_string(inputs):
+ """Parse an input shape dictionary string to a usable dictionary.
+
+ Parameters
+ ----------
+ inputs: str
+ A string of the form "name:num1xnum2x...xnumN,name2:num1xnum2xnum3"
that indicates
+ the desired shape for specific model inputs.
+
+ Returns
+ -------
+ shape_dict: dict
+ A dictionary mapping input names to their shape for use in relay
frontend converters.
+ """
+ inputs = inputs.replace(" ", "")
+ # Check if the passed input is in the proper format.
+ valid_pattern =
re.compile("(\w+:(\d+(x|X))*(\d)+)(,(\w+:(\d+(x|X))*(\d)+))*")
+ result = re.fullmatch(valid_pattern, inputs)
Review comment:
> See
https://docs.python.org/3/library/argparse.html#fromfile-prefix-chars for
reference
That's really cool @comaniac I didn't know this.
I agree that `data:[-1,3,224,224] data2: [10,10]` syntax looks clearer, IMHO.
----------------------------------------------------------------
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]