日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

jupyter?notebook使用argparse傳入list參數_python

作者:Bagba? ? 更新時間: 2022-03-30 編程語言

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

原文鏈接:https://blog.csdn.net/bagba/article/details/122304352

欄目分類
最近更新