【深度学习实战(1)】如何使用argparse模块设置自己的训练参数

一、argparse模块用法

1、argparse是一个python模块,用途是:命令行选项、参数和子命令的解释。

2、argparse库下载:pip install argparse

3、使用步骤:

导入argparse模块,并创建解释器

添加所需参数

解析参数

二、代码

cpp 复制代码
import argparse


def add_common_arguments(parser):
    """Add common arguments for training and inference."""
    parser.add_argument('--save_best_weights',
                        default='model_data/best.pth',
                        help="save best weights name.")
    parser.add_argument('--phi', type=str, default='s')
    parser.add_argument('--num_classes', type=int, default=10)

def get_parser_for_training():
    """Return argument parser for training."""
    # -------------------------------------------#
    #   Step 1. 构造解析器 argparse.ArgumentParser()
    # -------------------------------------------#
    parser = argparse.ArgumentParser("Training args")
    # -------------------------------------------#
    #   Step 2. 添加参数 .add_argument()
    # -------------------------------------------#
    parser.add_argument('--train_path',default='/data/train',help="The location of dataset.")
    parser.add_argument('--sync_bn', type=bool,default=False,help='use SyncBatchNorm, only available in DDP mode')
    parser.add_argument('--Cuda', type=bool,default=True)
    parser.add_argument('--fp16', type=bool,default=False)
    parser.add_argument('--num_workers', type=int, default=8,help="Number of workers for data loading.")
    parser.add_argument('--Total_epoch', type=int, default=300,help='Total Epoch')
    parser.add_argument('--Batch_size', type=int, default=64,help='Batch_size')
    # -------------------------------------------#
    #   Step 2. 添加参数 .add_argument()
    # -------------------------------------------#
    add_common_arguments(parser)
    return parser


if __name__=='__main__':
    # -------------------------------------------#
    #   Step 3. 解析参数 .parse_args()
    # -------------------------------------------#
    train_parser = get_parser_for_training()
    train_args = train_parser.parse_args()
    print(train_args)
    # -------------------------------------------#
    #   training args
    # -------------------------------------------#
    print("training data path:",train_args.train_path)
    print("training batch size:",train_args.Batch_size)
    print("Cuda:",train_args.Cuda)
    # -------------------------------------------#
    #   common args
    # -------------------------------------------#
    print("num classes:",train_args.num_classes)
    print("phi:",train_args.phi)
    print("save model path:",train_args.save_best_weights)

运行结果

用命令行查看parser的所有参数选项

用命令行修改parser的特定参数

相关推荐
用户8356290780511 天前
Python 实现 PDF 文件加密与解密方法
后端·python
用户8356290780511 天前
使用 Python 冻结与拆分 Excel 窗格教程
后端·python
你好潘先生1 天前
别再记命令了,用 yeero do 说句人话就能跑脚本,而且不烧 token
服务器·python·命令行
Agent_大师1 天前
WebSocket 行情重连成功,K线缺口不会自动消失
python
荣码1 天前
LLM结构化输出:让AI返回JSON而不是废话,我踩了4个坑
java·python
copyer_xyf1 天前
FastAPI 如何连接 MySQL
后端·python
apocelipes2 天前
常用编程语言和库的正则表达式性能对比
c语言·c++·python·性能优化·golang·开发工具和环境
用户8356290780512 天前
使用 Python 在 PDF 中创建与管理书签
后端·python
MeixianAgent2 天前
Python 回测数据入口怎么验?历史 K 线入库前先做 5 个检查
后端·python
咕白m6252 天前
用 Python 实现一键批量查找与替换 Excel 数据
后端·python