在神经网络训练中,argparse的方法可以让改变参数(模型超参、文件位置、GPU等)更加方便。
一、argparse使用步骤
- Step1 导入argparse模块
import argparse
- Step2 实例化 ArgumentParser() 对象
parser = argparse.ArgumentParser(description='Test argparse module.')
- Step3 使用 add_argument() 添加所需参数
parser.add_argument('--image',dest='use_image',action='store_true')
parser.add_argument('--filename',dest='filename',type=str)
parser.add_argument('--uri',dest='rtsp_uri',default=None,type=str)
parser.add_argument('--confidence',dest='conf_th',default=0.3,type=float)
- Step4 使用 parse_args() 解析参数
args = parser.parse_args()
print(args.image)
print(args.filename)
print(args.uri)
print(args.confidence)
二、add_argument() 参数详解
ArgumentParser.add_argument(name or flags...[, action][, nargs][, const][,
default][, type][, choices][, required][, help][, metavar][, dest])
- name or flags: 选项字符串的名字或者列表,例如 foo 或者 -f, --foo.
- action: 命令行遇到参数时的动作,默认值是 ‘store’,可选’store_const’, ‘store_true’, ‘store_false’, ‘append’, ‘appedn_const’, ‘count’, ‘help’, 'version’等.
- nargs: 应该读取的命令行参数个数,可以是具体的数字,或者是?号,当不指定值时对于 Positional argument 使用 default,对于 Optional argument 使用 const;或者是 * 号,表示 0 或多个参数;或者是 + 号表示 1 或多个参数
- const: action 和 nargs 所需要的一个常量值.
- default: 不指定参数时的默认值.
- type: 命令行参数应该被转换成的类型.
- choices: 参数可允许的值的一个容器.
- required: 可选参数是否可以省略(仅可选参数).
- help:参数的简短的帮助信息, 当指定为 argparse.SUPPRESS 时表示不显示该参数的帮助信息.
- metavar: 在 usage 说明中的参数名称,对于必选参数默认就是参数名称,对于可选参数默认是全大写的参数名称.
- dest: 解析后的参数名称,默认情况下,对于可选参数选取最长的名称,中划线转换为下划线.