跑模型之argparse

前言
本篇作为一个笔记来使用,在github上或者其他地方下载其他地方下载别人的代码阅读时,常常遇到argparse模块,一开始还以为这是就是写了个类,类里面装了很多需要使用到的变量而已,万万没想到还挺有意思。。。。


argparse模块提供了一种方便的方式来编写用户友好的命令行接口。它可以解析命令行参数和选项,并生成帮助和使用信息等
使用流程如下:
导入模块->创建解析器->添加参数->解析参数

实例化ArgumentParser对象

parser = argparse.ArgumentParser() 


nargs

parser.add_argument('--weights', nargs='+', type=str, default=ROOT / 'yolov5s-seg.pt', help='model path(s)') 
在这里argparse模块添加了一个命令行参数--weights,它接受一个或多个字符串类型的值作为参数。
nargs='+'表示这个参数可以接受一个或多个值,例如python  xx.py --weights path1 path2 path3 path4 path5
具体来说,这个参数的格式为--weights value1 value2 value3 ...,其中value1、value2、value3等是任意字符串。如果用户没有提供这个参数,那么它的默认值为ROOT / 'yolov5s-seg.pt',即在根目录下的yolov5s-seg.pt文件。

action

parser.add_argument('--view-img', action='store_true', help='show results') 

action='store_true'表示当命令行中包含--view-img参数时,将该参数的值设置为True,否则为False

action参数指定了当命令行中的某个参数被指定时应该执行的动作。常见的动作包括:
store_const: 将一个常量值存储在变量中。
store_true: 将一个布尔值True存储在变量中。
store_false: 将一个布尔值False存储在变量中。
append: 将一个列表追加到另一个列表中。
append_const: 将一个常量值追加到列表中。
count: 统计参数出现的次数。

parse_args

opt = parser.parse_args() 

使用argparse模块中的parse_args()方法解析命令行参数,并将解析结果存储在opt对象
例如,如果定义了一个名为--input的参数,那么用户在命令行中使用--input /path/to/file.txt这样的格式来指定输入文件的路径时,parse_args()方法就会将/path/to/file.txt这个字符串存储在opt.input属性中。
一旦所有的参数都被解析完毕,parse_args()方法就会返回一个Namespace对象,其中包含了所有参数及其对应的值。可以将这个对象赋值给一个变量,以便在程序中使用这些参数。

在深度学习中,我们通常需要将训练好的模型保存到磁盘上以便后续使用。使用 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、付费专栏及课程。

余额充值