jupyternotebook使用argparse传入list参数
短信预约 -IT技能 免费直播动态提醒
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类来加载这个文件,并将配置转换为list类型,再将list传入
parser.parse_args()
,即可无缝加入到argparse类里面。
下面是完整代码:
import argparse
import configparser
if __name__ == "__main__":
jupyter = True # 如果不在jupyter notebook中,就改为False.
parser = 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,如果是用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 内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341