直接指定 argparse 的参数,而不是通过命令行

文章目录

问题

代码中,常常利用 argparse 来解析程序所需要的参数,采取的方式是命令行,如下面这段程序

import argparse

parser = argparse.ArgumentParser()
parser.add_argument("--file", required=True, help="file to upload")
parser.add_argument("--title", help="title", default="Test Title")
parser.add_argument(
    "--description", help="description", default="Test Description")
args = parser.parse_args()

with open(args.file) as f:
    f = f.readlines()

启动程序的方式为:

python train.py \
	  --file='test.txt' \
	  --title='test' \
	  --description='test file'

但这种方式没有办法直接在编辑器里运行,所以需要能够找到一种直接在程序中输入argparse参数的方法,而不是利用命令行。

解决

在程序调用argparse传入参数之前,对该参数赋值。
那么,程序在调用参数时,并不管它是从命令行里来的,还是从程序里赋值的。

args.file = 'test.txt'

with open(args.file) as f:
    f = f.readlines()

参考:
python argparse - pass values WITHOUT command line

在深度学习中,我们通常需要将训练好的模型保存到磁盘上以便后续使用。使用 argparse 库解析命令行参数时,我们可以添加一个模型存储路径参数指定模型的保存路径。 以下是一个使用 argparse 库解析模型存储路径参数的示例代码: ```python import argparse parser = argparse.ArgumentParser(description='PyTorch MNIST Example') parser.add_argument('--model_path', type=str, default='model.pt', metavar='PATH', help='path to save the trained model') args = parser.parse_args() print('Model path:', args.model_path) ``` 在上述代码中,我们使用 `add_argument()` 方法添加了一个名为 `model_path` 的参数,它的类型是 `str`,默认值为 `'model.pt'`,metavar 参数设置为 'PATH',help 参数提供了该参数的帮助信息,即模型存储路径参数 (default: 'model.pt')。我们可以在命令行中使用 `--model_path` 参数指定模型的保存路径,例如: ``` python train.py --model_path models/model_1.pt ``` 在上述命令中,我们将模型保存路径设置为 `models/model_1.pt`。最后,我们使用 `args.model_path` 获取模型存储路径参数的值,并将其打印出来。 使用 argparse 库解析命令行参数时,我们可以根据具体的需求添加不同类型的参数来控制模型的超参数,例如学习率、批次大小、迭代次数等等。同时,我们也可以添加其他类型的参数来控制程序的行为,例如是否使用 GPU、是否进行数据增强等等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值