当前位置: 首页 > news >正文

秦皇岛做网站成都网站建设网站建设

秦皇岛做网站,成都网站建设网站建设,网站分析欣赏,制作ppt的软件有哪些一、基本介绍 argparse 模块是 Python 内置的用于命令行参数解析的模块,可以通过少数代码中变量或者参数的改变以实现对整个代码项目的操控。对于大型代码项目(如代码超过1000行),十分便捷 argparse 模块可以让人轻松编写用户友好的命令行接口&#xf…

一、基本介绍

argparse 模块是 Python 内置的用于命令行参数解析的模块,可以通过少数代码中变量或者参数的改变以实现对整个代码项目的操控。对于大型代码项目(如代码超过1000行),十分便捷

argparse 模块可以让人轻松编写用户友好的命令行接口,能够帮助程序员为模型定义参数。

简单来说,该模块就是一个“代码型”的操作界面,通过修改集中的参数以实现各种目的

请添加图片描述

上图是yolov5中train.py的一部分argparse 模块。比如我们可以修改488中的const=300,改成const=600。有了argparse 模块,我们并不需要去整个yolov5代码中寻找在哪里去改const这个参数的值,因为yolov5中代码各处加起来有上千上万行。

二、使用方法

import argparse
parser = argparse.ArgumentParser()
parser.add_argument()
parser.parse_args()
  • import argparse表示导入该模块,跟import torch as t类似

  • parser = argparse.ArgumentParser表示创建了一个解析对象(也叫参数解析器),接下来就要向这个对象里添加一些我想要的命令行参数和选项。ArgumentParser()括号内可以为空,也可以写成ArgumentParser(description=“”),双引号内是用来描述该解析器是做什么的,该参数可以为空

  • parser.add_argument表示向parser中添加对象参数信息,这也十分好理解,将add_argument翻译成中文就是这个意思

在pytorch语法中,官方要求的解析命令参数信息如下:

parser.add_argument(name or flags...[, action][, nargs][, const][, default][, type][,choices][, required][, help][, metavar][, dest])

每个参数解释如下:

name: 设定变量或者标签名称

普通参数或者标签(flag)的名称,例如 epochs 或者 -e, --epochs

action: 命令行遇到flags参数时的动作

  • 有6种动作,如下:

    • store:保存参数值,可能会先将参数值转换成另一个数据类型

    • store_true:设定flag参数为true;

    • store_false:设定flag参数为False。这两个用于实现布尔开关

    • store_const:表示赋值为const

    • append :将值保存到一个列表中,如果参数出现重复情况则会保存为多个值

    • append_const :将一个定义在参数规格中的值保存到一个列表中

    • version :打印关于程序的版本信息,然后退出

nargs: 设置参数在使用时可以提供的个数

应该读取的命令行参数个数,可以是具体的数字,或者是?号,当不指定值时对于 Positional argument 使用 default,对于 Optional argument 使用 const;或者是 * 号,表示 0 或多个参数;或者是 + 号表示 1 或多个参数。

const: action 和 nargs 所需要的常量值

default: 没有设置值情况下的默认参数

default表示命令行没有设置该参数的值的时候,程序中需要用什么值来代替这个参数的值。

type: 命令行参数应该被转换成的数据类型

pytorch默认的参数类型是str类型,如果你的程序需要一个整数或者布尔型参数,你需要设置type=inttype=bool

required: 是否为必选参数或可选参数

如果设置了required=True, 则在实际运行的时候不设置该参数的值程序将报错:error: argument --name is required;如果设置了required=False,那么在实际运行时有无该参数并不影响

报错信息:

error: argument --name is required

help: 指定参数的说明信息

help参数的值可以给使用工具的人提供该参数是用来设置什么的说明,这样让使用者知道这个参数是干什么用的

举例如下:

parser.add_argument('-arch', required=True, choices=['alexnet', 'vgg'],help='the architecture of CNN, at this time we only support alexnet and vgg.')

**metavar: 在 usage 说明中的参数名称,**对于必选参数,默认就是参数名称,对于可选参数默认是全大写的参数名称。

dest: 设置参数在代码中的变量名

默认情况下,argparse默认的变量名是---后面的字符串,如parser.add_argument('-name', nargs=x)中的变量名为name,但是我们也可以通过dest=xxx来设置参数的变量名

choices: 参数可允许的值的一个容器

就是参数值可以在哪几个数值里面选择

如果不在规定的几个值里面选择会发生如下报错:

error: argument -arch: invalid choice: 'resnet' (choose from 'alexnet', 'vgg')

count:存储遇到的次数

  • parser.parse_args()表示解析参数

三、具体例子

# 导入库
import argparse# 1. 定义命令行解析器对象
parser = argparse.ArgumentParser(description='Demo of argparse')# 2. 添加命令行参数
parser.add_argument('--epochs', type=int, default=30)
parser.add_argument('--batch', type=int, default=4)# 3. 从命令行中结构化解析参数
args = parser.parse_args()
print(args)
epochs = args.epochs
batch = args.batch
print('show {}  {}'.format(epochs, batch))

输出结果:

Namespace(epochs=30, batch=4)
show 30  4
http://www.yayakq.cn/news/228117/

相关文章:

  • 网站开发框架的主要作用网站建设制作设计推广优化
  • 巢湖市网站建设推广最常用的网站推广方式
  • 一些你不知道的网站保定企业建站程序
  • 网站建设方案策划书ppt模板青岛seo关键词优化公司
  • 专项培训网站建设方案免费网站建站页面
  • 两学一做注册网站做网站上线一般要多久
  • 南宁软件优化网站电影院卖品套餐计划
  • 网站开发工具和平台网站品质
  • 个人网站怎样做超链接网站为什么要服务器
  • 安庆市建设办事处网站丹东振兴区
  • 制作网站费用分类成都有名的建筑公司有哪些
  • 做直播网站需要证书吗国际新闻最新消息今天新闻大事件视频
  • 珠海网站建设专业设计建设银行信用卡在网站激活后如何设置密码
  • 眼镜 商城 网站建设购物平台软件开发
  • 自己做软件的网站宁波怎么做网站排名优化
  • 文网站建设服务费记入什么科目福建网站制作
  • 怎么做网站电影哪些经营范围可以开网站建设费用
  • 顺德移动端网站建设58同城代运营
  • 网站维护协议书dede手机医院网站模板下载
  • 网站界面是什么做的如何做网站布局优化
  • 山东外贸网站建设是什么班级优化大师免费下载
  • 怎么写一个网站程序小程序在哪个网站做
  • 企业电子商务网站有哪些义乌网站建设费用多少
  • 电气毕业设计代做网站虚拟空间wordpress固定链接404
  • 教育门户网站源码重庆网站备案多久
  • 网站开发中用到的英文单词个人如何做网络推广
  • 旅游景点网站设计论文创建网站需要什么
  • 建立个人网站的步骤有哪些做网站失败
  • 南山网站设计训wordpress博客seo优化插件
  • 怎么查看一个网站是不是伪静态朋友做网站网站挣了好多钱