前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Pytorch学习-如何接受命令行参数argparse模块

Pytorch学习-如何接受命令行参数argparse模块

作者头像
AI深度学习求索
发布2018-12-11 17:18:52
5K0
发布2018-12-11 17:18:52
举报
文章被收录于专栏:AI深度学习求索AI深度学习求索

Pytorch学习-如何接受命令行参数argparse模块

命令行解释器argparse模块

使用argparse 模块定义解析命令行参数,命令 行参数其实也是应用在程序中的参数,只是为了更方便他人使用程序而设置。

例如在工程中,文件中有很多参数,自己使用时可以打开文件定义修改,但是让别人使用时,这样一个个打开文件去修改显得太麻烦,argparse模块将所需更改的参数设置在命令行中,用户使用,便不用打开所在文件夹才能更改参数了。

示例:

代码语言:javascript
复制
import argparse
import torch
parser = argparse.ArgumentParser(description='PyTorch Example')
parser.add_argument('--disable-cuda', action='store_true',
 help='Disable CUDA')
args = parser.parse_args()
args.cuda = not args.disable_cuda and torch.cuda.is_available()

解析代码:

(1)导入argparse模块

代码语言:javascript
复制
import argparse

(2)创建ArgumentParser对象

代码语言:javascript
复制
parser = argparse.ArgumentParser(description='PyTorch Example')

ArgumentParser对象中保存着解析命令行参数所必需的信息,description中描述命令行参数的介绍。

(3)添加参数

通过调用add_argument()方法将命令行中的参数保存到ArgumentParser对象中。

代码语言:javascript
复制
parser.add_argument('--disable-cuda', action='store_true',
 help='Disable CUDA')
parser.add_argument('--dataroot', type=str,default='/usr/dataset',
 help='the path of the dataset')

后面再调用parse_args(),将会返回一个包含integers和accumulate两个属性的对象,integers是一个列表,而accumulate可以是sum()函数(如果指定了–sum)或者max()函数。

(4)解析参数

通过parse_args()方法解析参数,返回一个命名空间对象。

代码语言:javascript
复制
args = parser.parse_args()

如果在脚本中调用这个函数,parse_args()不会解析任何参数。ArgumentParser会从sys.argv中自动检测命令行参数。

(5)使用命令行参数args.XX

代码语言:javascript
复制
python XX.py --disable-cuda --dataroot '/usr/dataset/MNIST'

代码内调用:

代码语言:javascript
复制
args.cuda ==True
print(args.dataroot)

大家了解了吗?了解了请给点个赞哦~Thanks♪(・ω・)ノ

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-11-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI深度学习求索 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档