To use argparse module, we should only know a few functions.
1.Creating a parser
parser = argparse.ArgumentParser(description='Head pose estimation using the Hopenet network.')1.1.Function Details
- description: Text to display before the argument help (default: none)
By function:
parser.print_help()we can get:
usage: test2.py [-h] [--gpu GPU_ID] [--data_dir DATA_DIR]
[--filename_list FILENAME_LIST] [--snapshot SNAPSHOT]
[--batch_size BATCH_SIZE] [--save_viz SAVE_VIZ]
[--dataset DATASET]
Head pose estimation using the Hopenet network.
optional arguments:
-h, --help show this help message and exit
--gpu GPU_ID GPU device id to use [0]
--data_dir DATA_DIR Directory path for data.
--filename_list FILENAME_LIST
Path to text file containing relative paths for every
example.
--snapshot SNAPSHOT Name of model snapshot.
--batch_size BATCH_SIZE
Batch size.
--save_viz SAVE_VIZ Save images with pose cube.
--dataset DATASET Dataset type.2.Adding arguments
2.1.1Fucntion Details
parser.add_argument('--gpu', dest='gpu_id', help='GPU device id to use [0]', default=0, type=int)
parser.add_argument('--data_dir', dest='data_dir', help='Directory path for data.', default='', type=str)
parser.add_argument('--filename_list', dest='filename_list', help='Path to text file containing relative paths for every example.', default='', type=str)
parser.add_argument('--snapshot', dest='snapshot', help='Name of model snapshot.', default='', type=str)
parser.add_argument('--batch_size', dest='batch_size', help='Batch size.', default=1, type=int)
parser.add_argument('--save_viz', dest='save_viz', help='Save images with pose cube.', default=False, type=bool)
parser.add_argument('--dataset', dest='dataset', help='Dataset type.', default='AFLW2000', type=str)- name or flags: Either a name or a list of option strings, e.g. foo or -f, --foo.
- dest: The name of the attribute to be added to the object returned by
parse_args(). - help: A brief description of what the argument does.
- default: The value produced if the argument is absent from the command line.
- type: The type to which the command-line argument should be converted.
2.2.2.name or flag
The add_argument() method must know whether an optional argument, like --gpu, or a positional argument, like a list of filenames, is expected. The first arguments passed to add_argument() must therefore be either a series of flags, or a simple argument name. For example, an optional argument could be created like:
parser.add_argument('--gpu', dest='gpu_id', help='GPU device id to use [0]', default=0, type=int)while a positional argument could be created like: "Sorry, I do not have an example."
2.2.3.default
All optional arguments and some positonal arguments may be ommited at the command line. The default keyword argument of add_argument(), whose value defaults to None, specifies what value should be used if the command-line argument is not present. For optional arguments, the default value is used when the option string was not present at the command line:
parser.add_argument('--gpu', dest='gpu_id', help='GPU device id to use [0]', default=0, type=int)2.2.4.type
By default, ArgumentParser objects read command-line arguments in as simple strings. However, quite often the command-line string should instead be interpreted as another type, like a float or int. The type keyword argument of add_argument() allows a necessary type-checking and type conversions to be performed. Common built-in types and functions can be used directly as the value of the type argument.
2.2.5.help
The help value is a string containing a brief description of the argument. When a user requests help, these help descriptions will be displayed with each argument.
2.2.6.dest
dest allows a custom attribute name to be provided:
parser.add_argument('--gpu', dest='gpu_id', help='GPU device id to use [0]', default=0, type=int)3.Parsing arguments
parse_args() will be called with no argument, and the ArgumentParser will automatically determine the command-line arguments from sys.argv.
args = parser.parse_args()After parse_args() method, the command line will be inspected and each argument will be converted to appropriate type which means a simple Namespace object will be built up from attributes parsed out of the command line.
As an event approaches, it is worth considering how details related to festival costumes will affect the complete look. When the final look will be photographed, it helps to assess details related to character costumes together with fit and fabric. To review details related to character costumes before the event, cosplay costume sets with matching accessories offers a useful starting point for practical preparation. To stay comfortable throughout the event, it is useful to check details related to cosplay shoes against the wearer's own needs.