深度学习理论基础(四)Parser命令行参数模块


  

一、使用背景

  使用命令行运行.py文件时, 可以直接在后面给参数赋值, 而不用打开文件修改变量值。操作更加方便。在无界面调试(没有pycharm工具)时非常方便,不需要经常修改文件中变量的值,只需要通过命令行修改即可。

二、使用方法

1.导入模块包

import argparse

2. 实例化ArgumentParser对象

parser = argparse.ArgumentParser()

3. 添加参数

添加参数常用设置: parser.add_argument('--[参数名]', type=[数据类型], default=[默认值], help=[文字解释, 可省略])

parser.add_argument('--data_path', type=str, default=r'./data/image', help='源数据的目录')
parser.add_argument('--attr_path', type=str, default=r'./data/label.xlsx', help='标签文件的路径')
parser.add_argument('--beta1', type=float, default=0.9, help='动量, 即控制梯度相较上一步变化的幅度, 或者叫梯度移动的衰减率')
parser.add_argument('--beta2', type=float, default=0.999, help='同上')

参数若是文件:default=[默认值]:可以填写文件路径。
参数若是变量:default=[默认值]:可以填写变量的默认值。

4. 封装parser

将上面parser中添加的所有参数封装为参数列表args。

args = parser.parse_args()                 

5. 使用封装列表

import argparse

""" 1.实例化 """
parser = argparse.ArgumentParser()

""" 2.添加参数 """
parser.add_argument('--data_path', type=str, default=r'./data/image', help='源数据的目录')
parser.add_argument('--attr_path', type=str, default=r'./data/label.xlsx', help='标签文件的路径')
parser.add_argument('--beta1', type=float, default=0.9, help='动量, 即控制梯度相较上一步变化的幅度, 或者叫梯度移动的衰减率')
parser.add_argument('--beta2', type=float, default=0.999, help='同上')

""" 3.封装列表 """
args = parser.parse_args()      

""" 4.使用列表 """
if __name__ == '__main__':
	print(args.data_path)    #输出结果:  ./data/image
	print(args.attr_path) 	 #输出结果:  ./data/label.xlsx
	print(args.beta1)        #输出结果:  0.9
	print(args.beta2)        #输出结果:  0.999

6. 命令行输入参数

本程序名为number.py。

使用命令:python number.py --参数名 值 。即可修改程序中变量的值,操作如下:

在这里插入图片描述
若修改多个变量则只需要在后面添加参数即可:python number.py --参数名 值 --参数名 值
在这里插入图片描述

相关推荐

  1. Python命令参数处理:详解argparse模块

    2024-04-05 23:08:01       8 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-05 23:08:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-05 23:08:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-05 23:08:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-05 23:08:01       20 阅读

热门阅读

  1. 谈谈JVM的内存区域

    2024-04-05 23:08:01       15 阅读
  2. opencv-python库 cv2图像二值化详解

    2024-04-05 23:08:01       15 阅读
  3. 基于SpringBoot注入Bean形式的监听(端口)

    2024-04-05 23:08:01       12 阅读
  4. 【洛谷题解】 P1696 [USACO18JAN] Blocked Billboard II B

    2024-04-05 23:08:01       13 阅读
  5. ACWing: 1049 大盗阿福

    2024-04-05 23:08:01       14 阅读
  6. 【CANoe】CAPL_E2E测试-验证报文中的CRC值是否正确

    2024-04-05 23:08:01       14 阅读