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

相关推荐
小小张说故事24 分钟前
Python 的 obj.x 到底按什么顺序找?拆开数据描述符、实例字典和 __getattr__ 那条优先级链
python
用户11481867894841 小时前
水印的实现方式逻辑
前端·python
陈嘿萌1 小时前
ECCV 2026 | CausalDrive:澳门大学×小米汽车,面向自动驾驶的实时因果世界模型
图像处理·人工智能·深度学习·计算机视觉·自动驾驶·学术研究与理论基础
贾公子1 小时前
从单条内容到账号维度——AIGC 风险评分的工程实现
后端·python
七元权3 小时前
FoundationPose 推理全流程解读:从一帧 RGB-D 到 6D 位姿
论文阅读·深度学习·6d姿态估计
木头左3 小时前
【Python】不点浏览器发博客:逆向 CSDN 创作中心接口做 md-publish 技能
python·自动化·api
Tt有了t4 小时前
设计模式速查
java·python·设计模式
deepseek234 小时前
Python日志拖慢请求?QueueHandler排队、丢失与退出实测
python·性能优化·logging·后端开发·queuehandler
用户91294046848424 小时前
Codex 从零到能交付(05):第一次改代码:生成一个文件清单脚本
python
Dmz丶4 小时前
前端转 AI 100 天 Day 38:Token 管理与成本优化——别让 API 账单爆炸
python