学习目标:
Python包argparse的几种参数配置方式
argparse参数介绍
parser = argparse.ArgumentParser(description='Test for cudnn.benchmark')
parser.add_argument(...)
default:没有设置值情况下的默认参数
required: 表示这个参数是否一定需要设置
type:参数类型
choices:参数值只能从几个选项里面选择
help:指定参数的说明信息
dest:设置参数在代码中的变量名 argparse默认的变量名是–或-后面的字符串,但是你也可以通过dest=xxx来设置参数的变量名,然后在代码中用args.xxx来获取参数的值
nargs: 设置参数在使用可以提供的个数
parser.add_argument('-name', nargs=x)
x的取值和含义如下: 值 含义 N 参数的绝对个数(例如:3) ‘?’ 0或1个参数 ‘*’ 0或所有参数 ‘+’ 所有,并且至少一个参数
方式一: 带有缺省值的可选参数
parser.add_argument('--run_num', type=int, default=100, help='number of runs')
含义: 增加参数名为‘run_num’的int类型参数,其缺省值为100, 在运行程序的时候可以显式地给该参数制定参数值,如果不指定则使用默认值。 假设程序文件名为test.py, 且只有一个可选参数,调用命令如下:
python3 test.py --run_num 30
方式二: 必设参数
parser.add_argument('ExpName', type=str, help="unique name for the training")
含义:增加参数‘Expname’’的str类型参数, 运行程序时需要指定。 假设程序文件名为test.py, 且只有一个比选参数,则调用的命令为:
python3 test.py exp_resnet
注: 比设参数前面没有–, 而可选参数前面有–。
方式三: 触发参数
parser.add_argument('--use_gpu', dest='use_gpu', action='store_true', default=False, help='use gpu')
含义:增加参数use_gpu, 触发时取action的值(action='store_true’则为true,action=‘store_false’,则为false,不触发时,看是否有设default,如果有设default则取default的值,否则取与action相反的值。这种参数只能通过命令行的方式来运行程序。 具体:
python3 test.py --use_gpu
python3 test.py
注, dest相当于给参数设置了在代码中的变量名;
|