示例
廢話不多說直接給例子:
import argparse
parser = argparse.ArgumentParser(description='Imbalanced Dataset Example')
parser.add_argument('--data', metavar='DIR', default='./data/', help='path to dataset')
parser.add_argument('--no-sampler', action='store_true', default=False,
help='disables imbalancedSampler')
parser.add_argument('--batch_size', type=int, default=42)
parser.add_argument('--lr', type=float, default=0.1, help='learning rate(default 0.1)')
args = parser.parse_args()
for key in args.__dict__:
print(f"{key}:{args.__dict__[key]}")
輸出結果:
data:./data/
no_sampler:False
batch_size:42
lr:0.1
簡化代碼
一般而言argparse都是寫在main.py里的,但是有時參數設置有很多,main.py就顯得很臃腫,所以可以考慮將參數設置單獨寫在一個文件里。示例如下:
文件結構
Project_name
|____main.py
|____config.py
config.py
import argparse
def parsers():
parser = argparse.ArgumentParser(description='Imbalanced Dataset Example')
parser.add_argument('--data', metavar='DIR', default='./data/', help='path to dataset')
parser.add_argument('--no-sampler', action='store_true', default=False,
help='disables imbalancedSampler')
parser.add_argument('--batch_size', type=int, default=42)
parser.add_argument('--lr', type=float, default=0.1, help='learning rate(default 0.1)')
args = parser.parse_args()
return args
main.py
from config import parsers
if __name__ == '__main__':
args = parsers()
for key in args.__dict__:
print(f"{key}:{args.__dict__[key]}")
輸出結果和上面的一樣一樣的。