python的argparse模塊

閱讀論文的時候遇到了argparse模塊,簡單介紹一下它的作用和用法,以便日后學(xué)習(xí)。

argparse模塊是python的一個內(nèi)置模塊,是用來解析命令行參數(shù)的,即傳遞參數(shù)用的。
在使用它的時候可以簡單歸納為以下四個命令:

import argparse
parser = argparse.ArgumentParser()
parser.add_argument()
opt = parser.parse_args()

第一個為導(dǎo)入argparse包;
第二個創(chuàng)建一個ArgumentParser對象,ArgumentParser對象包含將命令行解析成 Python 數(shù)據(jù)類型所需的全部信息;
第三個是通過調(diào)用 add_argument()方法添加參數(shù);
第四個是通過parse_args()方法解析參數(shù).

我們通過下面簡單的例子來看看argoarse該怎能用,add_argument()傳入的第一個參數(shù)是參數(shù)名,一般要在參數(shù)名前加一個--,表明該參數(shù)是可選參數(shù),如果后面要使用該參數(shù),直接調(diào)用args.參數(shù)名即可。

#-*- coding: UTF-8 -*-
import argparse   #步驟一

def parse_args():
    parser = argparse.ArgumentParser(description="parameters")  #步驟二
    parser.add_argument("--n_epochs", type=int, default=200, help="number of epochs of training")  #步驟三
    parser.add_argument("--batch_size", type=int, default=64, help="size of the batches")  #步驟三
    parser.add_argument("--lr", type=float, default=0.0002, help="adam: learning rate")  #步驟三
    args = parser.parse_args()  #步驟四
    return args

if __name__ == '__main__':
    args = parse_args()
    print(args)
    print(args.batch_size)

輸出結(jié)果為:

Namespace(batch_size=64, lr=0.0002, n_epochs=200)
64

使用argparse模塊的好處就是我們在運行該文件時不需要打開文件修改參數(shù),直接在terminal進行修改就行。
例如將上述代碼保存并命名為1.py,我們需要修改學(xué)習(xí)率將它改為0.2,則在terminal中的操作如下:

python 1.py --lr 0.2

輸出結(jié)果為:

Namespace(n_epochs=200, batch_size=64, lr=0.2)
64

可以看到學(xué)習(xí)率已經(jīng)改為了0.2。


Reference:
argparse --- 命令行選項、參數(shù)和子命令解析器

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 我主要想做的功能就是執(zhí)行python腳本時帶上參數(shù),然后執(zhí)行參數(shù)對應(yīng)的功能。 基礎(chǔ)學(xué)習(xí) 官方解讀:https://...
    shangshine8閱讀 533評論 0 1
  • python Argparse模塊的使用 標簽:python 參考: Argparse Tutorial:http...
    初來的雨天閱讀 2,248評論 0 1
  • 一、簡介 argparse是python用于解析命令行參數(shù)和選項的標準模塊,用于代替已經(jīng)過時的optparse模塊...
    _海角_閱讀 33,700評論 1 14
  • 1. 簡介 argparse 模塊主要用于處理 Python 命令行參數(shù)和選項,程序定義好所需參數(shù)后,該模塊會通過...
    秣禾閱讀 1,026評論 0 1
  • Python之Argparse模塊 argparse模塊可以輕松編寫用戶友好的命令行接口。程序定義它需要的參數(shù),然...
    geekboys閱讀 622評論 0 1

友情鏈接更多精彩內(nèi)容