【深度学习实战(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的特定参数

相关推荐
动物园猫4 分钟前
人群计数行人检测数据集分享(适用于YOLO系列深度学习检测任务)
人工智能·深度学习·yolo
爱睡懒觉的焦糖玛奇朵7 小时前
【从视频到数据集:焦糖玛奇朵的魔法工具使用说明】
人工智能·python·深度学习·学习·算法·yolo·音视频
yangshicong8 小时前
第11章:结构化输出与数据提取 —— 让 AI 直接返回你想要的数据格式
数据库·人工智能·redis·python·langchain·ai编程
言之。8 小时前
【Python】免费的中文 AI 配音方案
开发语言·人工智能·python
Warson_L8 小时前
python dict key详解
python
天天进步20159 小时前
Python全栈项目:从零手操一个高性能 API 网关
开发语言·python
解局易否结局9 小时前
从架构视角看 ops-transformer:一个解决分层系统设计问题的算子仓库
深度学习·架构·transformer
安生生申10 小时前
使用pygame实现2048
开发语言·python·pygame
徐图图不糊涂11 小时前
搭建简易版的Rag系统
python·pycharm
陈天伟教授11 小时前
图解人工智能(34)深度学习面临的挑战
人工智能·深度学习·神经网络·cnn