开发者

jupyter notebook使用argparse传入list参数

开发者 https://www.devze.com 2022-12-08 13:24 出处:网络 作者: Bagba
目录第一步. 创建一个简单的配置文件:config.ini第二步. 用configparser类来加载这个文件jupyter notebook其实是可以使用 argparse来调用参数的,只要把参数转为list即可。不能在jupyter notebook运行的代码(在she
目录
  • 第一步. 创建一个简单的配置文件:config.ini
  • 第二步. 用configparser类来加载这个文件

jupyter notebook其实是可以使用 argparse来调用参数的,只要把参数转为list即可。

不能在jupyter notebook运行的代码(在shell里运行):parser.parse_args()

能在jupyter notebook运行的代码:parser.parse_args(arg_list)

只需要两步:

第一步. 创建一个简单的配置文件:config.ini

[train]
batch_size=32
num_layers=2

第二步. 用configparser类来加载这个文件

用configparser类来www.cppcns.com加载这个文件,并将配置转换为list类型,再将list传入www.cppcns.com

parser.parse_args(),即可无缝加入到argparse类里面。

下面是完整代码:

import argparse
import configparser

if __name__ == "__main__":
  jupyter = True # 如果不在jupyter notebook中,就改为False.
 
  www.cppcns.comparser = argparse.ArgumentParser(description='test')
  parser.add_argument('--batch_size', type=int, default=64)
  parser.add_argument('--编程客栈num_layers', type=int, default=2)

  arg_list = None
  if jupyter:
    # load from config.ini,如果是www.cppcns.com用jupyter, 就转换配置为list再传入argparse
    config = configparser.ConfigParser()
    config.read('config.ini')
    # 其实是个字典:
    # print(config['train']['batch_size'])
    arg_list = []
    for k, v in config['train'].items():
      arg_list.append("--"+k)
      arg_list.append(v)

  # 如果不是用jupyter,arg_list就是None,和用命令行执行没有区别。
  args = parser.parse_args(arg_list)
  print('args:', args)

以上代码可以放到jupyter文件里面直接执行或者是放到python文件中用命令行执行,如:python main.py --batch_size=200

到此这篇关于jupyter notebook使用argparse传入list参数的文章就介绍到这了,更多相关jupyter notebook使用argparse 内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号