jupyter notebook使用argparse傳入list參數(shù)
jupyter notebook其實是可以使用 argparse來調(diào)用參數(shù)的,只要把參數(shù)轉(zhuǎn)為list即可。
不能在jupyter notebook運行的代碼(在shell里運行):parser.parse_args()
能在jupyter notebook運行的代碼:parser.parse_args(arg_list)
只需要兩步:
第一步. 創(chuàng)建一個簡單的配置文件:config.ini
[train] batch_size=32 num_layers=2
第二步. 用configparser類來加載這個文件
用configparser類來加載這個文件,并將配置轉(zhuǎn)換為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, 就轉(zhuǎn)換配置為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,和用命令行執(zhí)行沒有區(qū)別。
? ? args = parser.parse_args(arg_list)
? ? print('args:', args)
?以上代碼可以放到jupyter文件里面直接執(zhí)行或者是放到python文件中用命令行執(zhí)行,如:python main.py --batch_size=200
到此這篇關于jupyter notebook使用argparse傳入list參數(shù)的文章就介紹到這了,更多相關jupyter notebook使用argparse 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
python?命令行參數(shù)模塊argparse的實現(xiàn)
本文主要介紹了python?命令行參數(shù)模塊argparse的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-03-03
Python requests模塊基礎使用方法實例及高級應用(自動登陸,抓取網(wǎng)頁源碼)實例詳解
這篇文章主要介紹了Python requests模塊基礎使用方法實例及高級應用(自動登陸,抓取網(wǎng)頁源碼,Cookies)實例詳解,需要的朋友可以參考下2020-02-02
pytorch關于卷積操作的初始化方式(kaiming_uniform_詳解)
這篇文章主要介紹了pytorch關于卷積操作的初始化方式(kaiming_uniform_詳解),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09
詳解python中的lambda與sorted函數(shù)
這篇文章主要介紹了python中的lambda與sorted函數(shù)的相關資料,幫助大家更好的理解和學習python,感興趣的朋友可以了解下2020-09-09

