python argparse模块详解,argparser python

  python argparse模块详解,argparser python

  本文主要介绍python深度学习标准库使用argparse调整参数的详细讲解。有需要的朋友可以借鉴一下,希望能有所帮助。祝大家进步很大,早日升职加薪。

  00-1010前言使用步骤:常用规则使用配置文件传入超参数argparse中action的可选参数store_true。

  

目录

 

  Argparse是深度学习项目调优中常用的python标准库。使用argparse后,我们在命令行输入的参数可以用这种形式设置Python filename . py-LR1e-4-batch _ size 32来完成常用超级参数的设置。一般可以总结为以下三步。

  

前言

 

  创建ArgumentParser()对象,调用add_argument()方法,添加参数,并使用parse_args()解析参数。下面的内容,我们将通过实际操作来学习如何使用argparse:导入argparse。

  parser=arg parse . argument parser()#创建已解析的对象

  Parser.add_argument() #将您想要关注的命令行参数和选项添加到该对象中。

  Arg=parser.parse_args () #调用parse_args()方法进行解析。

  

使用步骤:

 

  在命令行中输入python demo.py -h或pythondemo.py-help,查看这个python文件的参数描述。arg字典类似于python字典。例如,arg字典命名空间(integers=5 )可以使用arg。提取此参数解析器的参数名。Add _ argument (integers ,type=str,nargs= ,help=传入的数字)。Nargs用于描述传入参数的个数,表示至少传入一个参数, * 表示可以为参数设置零个或一个parser.add _ argument (-n ,-name ,type=str,required=True,default= ,help= name )。Required=true表示必需的参数,-n表示可以使用short选项来使用参数parser . add _ argument(-test _ action ,default= False ,action= store _ True )。触发时Store _ true为真,未触发时为假(test.py,假输出,test.py - test_action,真输出

  

常见规则

 

  为了使代码更加简洁和模块化,可以在config.py中编写关于超参数的操作,然后在train.py或其他文件中导入。具体config.py可以参考以下内容。

  导入argparse

  def get_options(parser=argparse。ArgumentParser()):

  parser.add_argument( - workers ,type=int,default=0,

  help=数据加载工人数量,你最好把它

  您的gpu的4倍’)

  parser . add _ argument(-batch _ size ,type=int,default=4,help=input batch size,default=64 )

  parser.add_argument( - niter ,type=int,default=10,help=要训练的时期数,default=10 )

   parser.add_argument(--lr, type=float, default=3e-5, help=select the learning rate, default=1e-3)

   parser.add_argument(--seed, type=int, default=118, help="random seed")

   parser.add_argument(--cuda, action=store_true, default=True, help=enables cuda)

   parser.add_argument(--checkpoint_path,type=str,default=,

   help=Path to load a previous trained model if not empty (default empty))

   parser.add_argument(--output,action=store_true,default=True,help="shows output")

   opt = parser.parse_args()

   if opt.output:

   print(fnum_workers: {opt.workers})

   print(fbatch_size: {opt.batch_size})

   print(fepochs (niters) : {opt.niter})

   print(flearning rate : {opt.lr})

   print(fmanual_seed: {opt.seed})

   print(fcuda enable: {opt.cuda})

   print(fcheckpoint_path: {opt.checkpoint_path})

   return opt

  if __name__ == __main__:

   opt = get_options()

  

  

$ python config.py

 

  随后在train.py等其他文件,我们就可以使用下面的这样的结构来调用参数。

  

# 导入必要库

 

  

 

  

argparse中action的可选参数store_true

 

  

# test.py

 

  以上面的代码为例,若触发 test_action,则为True, 否则为False:

  

  • $ python test.py,输出为 False

  • $ python test.py --test_action,输出为 True

 

  若在上面的代码中加入default,设为 False 时:

  

parser.add_argument("--test_action", default=False, action=store_true)

 

  

  • $ python test.py,输出为 False

  • $ python test.py --test_action,输出为 True

 

  default 设为 True 时:

  

parser.add_argument("--test_action", default=True, action=store_true)

 

  

  • $ python test.py,输出为 True

  • $ python test.py --test_action,输出为 True

 

  参考:https://www.jb51.net/article/250215.htm

  以上就是python深度学习标准库使用argparse调参的详细内容,更多关于python标准库argparse调参的资料请关注盛行IT软件开发工作室其它相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: