参数解析器argparse的理解

Example

import argparse
# 创建参数解析器
# description="Process some integers.": 当查看更多参数信息的时候(-h),会出现对这个函数功能的描述
parser = argparse.ArgumentParser(description="Process some integers.")
# integers:成员变量名
# metavar: 别名
# nargs='*': 表示参数可设置0个或多个;nargs='+':表示参数可设置为1个或N个;nargs='?':表示参数可设置为0个或1个。默认参数为1个
parser.add_argument('integers', metavar='N',   type=int, nargs='+',
                    help="an integer for the accumulator")

# dest="accumulate" : 函数名为accumulate
# action="store_const":当有参数传进来时,仅仅存储参数的值
# const=sum:当命令行使用--sum时,调用sum函数,否则调用max函数
parser.add_argument("--sum", dest="accumulate", action="store_const", const=sum,
                    default=max, help="sum the integers(default: find the max)")
# 参数解析器解析参数
args = parser.parse_args()
# 将args.integers参数传递到args.accumulate()函数
print(args.accumulate(args.integers))

Example 2

# Training settings
parser = argparse.ArgumentParser()
parser.add_argument('--no-cuda', action='store_true', default=False,
                    help='Disables CUDA training.')
parser.add_argument('--fastmode', action='store_true', default=False,
                    help='Validate during training pass.')
parser.add_argument('--seed', type=int, default=42, help='Random seed.')
parser.add_argument('--epochs', type=int, default=200,
                    help='Number of epochs to train.')
parser.add_argument('--lr', type=float, default=0.01,
                    help='Initial learning rate.')
parser.add_argument('--weight_decay', type=float, default=5e-4,
                    help='Weight decay (L2 loss on parameters).')
parser.add_argument('--hidden', type=int, default=16,
                    help='Number of hidden units.')
parser.add_argument('--dropout', type=float, default=0.5,
                    help='Dropout rate (1 - keep probability).')

args = parser.parse_args()
# 需要cuda且cuda可用
args.cuda = not args.no_cuda and torch.cuda.is_available()

np.random.seed(args.seed)
# Sets the seed for generating random numbers. Returns a torch.Generator object.
torch.manual_seed(args.seed)
if args.cuda:
    torch.cuda.manual_seed(args.seed)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值